public interface OCSleeSipProvider extends SleeSipProvider
SleeSipProvider
interface.Modifier and Type | Method and Description |
---|---|
void |
closeInboundFlow(String flowID)
Closes an inbound flow (a persistent connection as per draft-ietf-sip-outbound-03).
|
String |
getNewBranch()
Get a new branch string, for use in Via headers in new requests.
|
DialogActivity |
getNewDialog(Address from,
Address to,
String callID,
String localTag)
Creates a new client dialog using the given local and remote party addresses.
|
DialogActivity |
getNewDialog(DialogActivity incomingDialog,
String callID,
String localTag)
Creates a new client dialog based on the parameters of an incoming server dialog,
on which a dialog-initiating request has been received.
|
String |
getNewTag()
Get a new randomly generated tag string, required for dialog-creating requests
and responses.
|
int |
getNodeID()
Gets the Node ID of the local Rhino node.
|
OCHeaderFactory |
getOCHeaderFactory()
Get the OC-specific HeaderFactory interface
|
X509CRL |
getTLSCRL()
Get the CRL used by TLS connections.
|
DialogBuilder.Unconfigured |
newDialogBuilder()
Get a new dialog builder, which is used to configure
various dialog options and then create a new
DialogActivity . |
boolean |
rejectIfBelowMinSE(ServerTransaction inviteST,
int minSE)
Convenience method that checks an incoming INVITE's Session-Expires header (if present)
and, if the Session-Expires value is below the specified minimum, sends a 422 error response
providing the desired minimum value (Min-SE).
|
DialogActivity |
retryInitialSessionRefresh(ClientTransaction failedInviteTxn,
Response response422)
Convenience method to simplify retrying dialog setup after a 422 (Session Interval Too Small) response was received.
|
void |
setTLSCRL(X509CRL crl)
Set the CRL used by TLS connections.
|
acceptCancel, forwardForkedResponse, getAddressFactory, getHeaderFactory, getLocalSipURI, getLocalVia, getMessageFactory, getNewDialog, getNewDialog, isLocalHostname, isLocalSipURI
addListeningPoint, addSipListener, getListeningPoint, getListeningPoint, getListeningPoints, getNewCallId, getNewClientTransaction, getNewDialog, getNewServerTransaction, getSipStack, removeListeningPoint, removeSipListener, sendRequest, sendResponse, setAutomaticDialogSupportEnabled, setListeningPoint
OCHeaderFactory getOCHeaderFactory()
String getNewTag()
String getNewBranch()
DialogActivity getNewDialog(DialogActivity incomingDialog, String callID, String localTag) throws SipException
The local and remote address parameters are copied from the original dialog. The RA will generate a local Contact address to be used in outgoing requests.
This method provides a simple way to create the outgoing leg of a B2BUA application.
An application using this method should then call DialogActivity.createRequest(javax.sip.message.Request)
and DialogActivity.sendRequest(javax.sip.message.Request)
to copy the dialog-initiating
request and forward it out on the new dialog.
incomingDialog
- the original server dialog, on which a dialog-initiating request has
been received.callID
- a string that will be used as the Call-ID of the new dialog.
If null
, the RA entity use the same Call-ID as the incoming dialog.localTag
- a string that will be used as the local-tag in the new dialog.
If null
, the RA entity will generate a new tag, so that the dialog has
a unique dialog ID.DialogActivity
.SipException
- if unable to create the new dialog.DialogActivity getNewDialog(Address from, Address to, String callID, String localTag) throws SipException
The RA Entity will generate the Contact address. After creating
the new dialog, the application can then create and send the initial request using
Dialog.createRequest(String)
and DialogActivity.sendRequest(javax.sip.message.Request)
.
This is a convenience method for client (UAC) applications, so that they can easily
create new dialogs.
from
- the local party address for the new dialog.to
- the remote party address for the new dialog.callID
- a string that will be used as the Call-ID of the new dialog.
If null
, the RA entity will generate a new Call-ID.localTag
- a string that will be used as the local-tag in the new dialog.
If null
, the RA entity will generate a new tag, so that the dialog has
a unique dialog ID.DialogActivity
.SipException
- if unable to create the dialog.DialogBuilder.Unconfigured newDialogBuilder()
DialogActivity
.
This is an alternative to the getNewDialog(...) variants.DialogBuilder.Unconfigured
builder
object. One of the methods on the builder must be called to specify what type
of dialog is being created.void setTLSCRL(X509CRL crl) throws NullPointerException
crl
- the X509CRL
to use.NullPointerException
- if crl was null.X509CRL getTLSCRL()
X509CRL
in use, null if a CRL is not loaded.void closeInboundFlow(String flowID)
flowID
- the unique flow-id for the connection. This value is generated by the
stack and will have been seen by the application in the
X-Flow-ID
header in requests
received on the flow.int getNodeID()
boolean rejectIfBelowMinSE(ServerTransaction inviteST, int minSE)
inviteST
- the ServerTransaction
of an INVITE request. May be an initial
or re-INVITE request.minSE
- the minimum session expiry value allowed by the application, in seconds. May not
be less than 90 seconds.IllegalArgumentException
- if the server transaction is not an INVITE request, or if the
minSE value is below 90 seconds.DialogActivity retryInitialSessionRefresh(ClientTransaction failedInviteTxn, Response response422) throws SipException
Once the new dialog is created, the initial request can be recreated with the new session timer parameters
using DialogActivity.createRequest(javax.sip.message.Request)
or Dialog.createRequest(String)
,
then sent out using DialogActivity.sendRequest(javax.sip.message.Request)
or Dialog.sendRequest(javax.sip.ClientTransaction)
failedInviteTxn
- the previous INVITE client transactionresponse422
- the 422 responseDialogActivity
that uses the session timer options given in the responseSipException
- if unable to create the new dialog.