Interface OutgoingSipResponse

  • All Superinterfaces:
    SipMessage, SipResponse

    public interface OutgoingSipResponse
    extends SipResponse
    A SIP response that has been created by a service, in response to a previous IncomingSipRequest.

    UAS services do not need to specify a To-tag or Contact header when sending a dialog-creating response. These will be generated by the RA when the response is sent. The RA-generated Contact header will ensure that subsequent requests on the dialog will be routed back to the service correctly.

    If an application is proxying an initial request and decides to send it's own responses, the behaviour is described in the javadoc for Proxy.

    • Method Detail

      • sendReliably

        void sendReliably()
                   throws IOException,
                          Rel100Exception
        Send a provisional response reliably using RFC 3262 procedures.

        This method will automatically populate the RSeq and Require headers. The UAS must be prepared to subsequently receive PRACKs acknowledging this reliable provisional response, and it must respond to PRACKs with "200 OK".

        Sending a reliable provisional response automatically creates a new early dialog if one does not already exist.

        Throws:
        IOException - if an I/O error occurs
        Rel100Exception - if any of the following conditions are true:
        • the response is not a provisional response in the range 101-199
        • the initial request has already been proxied using IncomingSipRequest.getProxy()
        • the initial request did not indicate support for the "100rel" extension using a Supported or Require header
        IllegalStateException - if the UAS is still awaiting the PRACK for the first reliable provisional response, or the session is not in a valid state for sending reliable responses (ie. the call setup has finished)