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 previousIncomingSipRequest
.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
.
-
-
Field Summary
-
Fields inherited from interface org.jainslee.resources.sip.SipResponse
SC_ACCEPTED, SC_ADDRESS_INCOMPLETE, SC_ALTERNATIVE_SERVICE, SC_AMBIGUOUS, SC_BAD_EXTENSION, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_BUSY_EVERYWHERE, SC_BUSY_HERE, SC_CALL_BEING_FORWARDED, SC_CALL_LEG_DONE, SC_CALL_QUEUED, SC_DECLINE, SC_DOES_NOT_EXIT_ANYWHERE, SC_EXTENSION_REQUIRED, SC_FORBIDDEN, SC_GONE, SC_INTERVAL_TOO_BRIEF, SC_LOOP_DETECTED, SC_MESSAGE_TOO_LARGE, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NOT_ACCEPTABLE, SC_NOT_ACCEPTABLE_ANYWHERE, SC_NOT_ACCEPTABLE_HERE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_OK, SC_PAYMENT_REQUIRED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_PENDING, SC_REQUEST_TERMINATED, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_RINGING, SC_SERVER_INTERNAL_ERROR, SC_SERVER_TIMEOUT, SC_SERVICE_UNAVAILABLE, SC_SESSION_PROGRESS, SC_TEMPORARLY_UNAVAILABLE, SC_TOO_MANY_HOPS, SC_TRYING, SC_UNAUTHORIZED, SC_UNDECIPHERABLE, SC_UNSUPPORTED_MEDIA_TYPE, SC_UNSUPPORTED_URI_SCHEME, SC_USE_PROXY, SC_VERSION_NOT_SUPPORTED
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IncomingSipRequest
getRequest()
void
send()
void
sendReliably()
Send a provisional response reliably using RFC 3262 procedures.-
Methods inherited from interface org.jainslee.resources.sip.SipMessage
addAcceptLanguage, addAddressHeader, addHeader, addHeaderGeneric, addParameterableHeader, getAcceptLanguage, getAcceptLanguages, getAddressHeader, getAddressHeaders, getCallId, getCharacterEncoding, getContent, getContentLanguage, getContentLength, getContentType, getExpires, getFrom, getHeader, getHeaderGeneric, getHeaderNames, getHeaders, getHeadersGeneric, getLocalAddr, getLocalPort, getMethod, getParameterableHeader, getParameterableHeaders, getProtocol, getRawContent, getRemoteAddr, getRemotePort, getRemoteUser, getSequenceNumber, getSession, getSession, getTo, getTransport, getUserPrincipal, isCommitted, isExtensionRequired, isExtensionSupported, isSecure, isUserInRole, removeHeader, setAcceptLanguage, setAddressHeader, setCharacterEncoding, setContent, setContentLanguage, setContentType, setExpires, setHeader, setHeaderGeneric, setParameterableHeader
-
Methods inherited from interface org.jainslee.resources.sip.SipResponse
getReasonPhrase, getStatus, setStatus, setStatus
-
-
-
-
Method Detail
-
getRequest
IncomingSipRequest getRequest()
- Specified by:
getRequest
in interfaceSipResponse
-
send
void send() throws IOException
- Throws:
IOException
-
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 occursRel100Exception
- 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)
-
-