|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectgov.nist.javax.sip.stack.SIPDialog
public class SIPDialog
Tracks dialogs. A dialog is a peer to peer association of communicating SIP entities. For INVITE transactions, a Dialog is created when a success message is received (i.e. a response that has a To tag). The SIP Protocol stores enough state in the message structure to extract a dialog identifier that can be used to retrieve this structure from the SipStack.
| 入れ子のクラスの概要 | |
|---|---|
class |
SIPDialog.DialogTimerTask
|
| フィールドの概要 | |
|---|---|
static int |
COMPLETED_STATE
|
static int |
CONFIRMED_STATE
|
static int |
EARLY_STATE
|
static int |
TERMINATED_STATE
|
| メソッドの概要 | |
|---|---|
void |
ackReceived(SIPRequest sipRequest)
Mark that the dialog has seen an ACK. |
void |
addRoute(SIPMessage sipMessage)
Extract the route information from this SIP Message and add the relevant information to the route set. |
void |
addTransaction(SIPTransaction transaction)
Add a transaction record to the dialog. |
void |
clearPending()
Clear any pending request flag. |
javax.sip.message.Request |
createRequest(java.lang.String method)
Creates a new Request message based on the dialog creating request. |
void |
delete()
This method will release all resources associated with this dialog that are tracked by the Provider. |
java.lang.Object |
getApplicationData()
Get ptr to opaque application data. |
javax.sip.header.CallIdHeader |
getCallId()
Returns the Call-ID for this SipSession. |
java.lang.String |
getDialogId()
Get the id for this dialog. |
javax.sip.Transaction |
getFirstTransaction()
Get the transaction that created this dialog. |
SIPServerTransaction |
getInviteTransaction()
Get the INVITE transaction (null if no invite transaction). |
SIPRequest |
getLastAck()
Get the last ACK for this transaction. |
SIPTransaction |
getLastTransaction()
Get the last transaction from the dialog. |
javax.sip.address.Address |
getLocalParty()
Get the local Address for this dialog. |
int |
getLocalSequenceNumber()
Get the local sequence number (for cseq assignment of outgoing requests within this dialog). |
java.lang.String |
getLocalTag()
Get local identifier for the dialog. |
HopImpl |
getNextHop()
Get the next hop to which requests in the dialog will be routed to. |
javax.sip.address.Address |
getRemoteParty()
Returns the Address identifying the remote party. |
int |
getRemoteSequenceNumber()
Get the remote sequence number (for cseq assignment of outgoing requests within this dialog). |
java.lang.String |
getRemoteTag()
Get peer identifier identifier for the dialog. |
javax.sip.address.Address |
getRemoteTarget()
Returns the Address identifying the remote target. |
java.util.Iterator |
getRouteSet()
Gets the route set for the dialog. |
javax.sip.DialogState |
getState()
Returns the current state of the dialogue. |
boolean |
hasPending()
Return true if this has a pending request |
void |
incrementLocalSequenceNumber()
Increment the local CSeq # for the dialog. |
boolean |
isAckSeen()
Return true if the dialog has already seen the ack. |
boolean |
isClientDialog()
Return true if this is a client dialog. |
boolean |
isInviteDialog()
|
boolean |
isRequestConsumable(SIPRequest dialogRequest)
Return true if this request can be consumed by the dialog. |
boolean |
isSecure()
Returns true if this Dialog is secure i.e. if the request arrived over TLS, and the Request-URI contained a SIPS URI, the "secure" flag is set to TRUE. |
boolean |
isServer()
Return true if is server. |
boolean |
isTerminated()
return true if the record is done. |
void |
printDebugInfo()
Debugging print for the dialog. |
void |
processPending()
Process the pending request. |
void |
requestConsumed()
Updates the next consumable seqno and notifies the pending thread if there are any queued requests. |
void |
resendAck()
Resend the last ack. |
void |
sendAck(javax.sip.message.Request request)
Sends ACK Request to the remote party of this Dialogue. |
void |
sendRequest(javax.sip.ClientTransaction clientTransactionId)
Sends a Request to the remote party of this dialog. |
void |
setApplicationData(java.lang.Object applicationData)
Set ptr to app data. |
void |
setDefaultRoute(Route defaultRoute)
Set the default route (the default next hop for the proxy or the proxy address for the user agent). |
void |
setDialogId(java.lang.String dialogId)
Set the dialog identifier. |
void |
setLocalTag(java.lang.String mytag)
Set local tag for the transaction. |
void |
setRemoteTag(java.lang.String hisTag)
Set the remote tag. |
void |
setStack(SIPTransactionStack sipStack)
Set the stack address. |
void |
setState(int state)
Set the state for this dialog. |
void |
setUser(java.lang.String user)
Set the user name for the default route. |
| クラス java.lang.Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final int EARLY_STATE
public static final int CONFIRMED_STATE
public static final int COMPLETED_STATE
public static final int TERMINATED_STATE
| メソッドの詳細 |
|---|
public boolean isTerminated()
PendingRecord 内の isTerminatedpublic void setApplicationData(java.lang.Object applicationData)
javax.sip.Dialog 内の setApplicationDatapublic java.lang.Object getApplicationData()
javax.sip.Dialog 内の getApplicationDatapublic void requestConsumed()
public boolean isRequestConsumable(SIPRequest dialogRequest)
dialogRequest - is the request to check with the dialog.
public HopImpl getNextHop()
throws javax.sip.SipException
javax.sip.SipExceptionpublic boolean isClientDialog()
public void setState(int state)
state - is the state to set for the dialog.public void printDebugInfo()
public void ackReceived(SIPRequest sipRequest)
public boolean isAckSeen()
public SIPRequest getLastAck()
public javax.sip.Transaction getFirstTransaction()
javax.sip.Dialog 内の getFirstTransactionpublic java.util.Iterator getRouteSet()
Requests within a dialog MAY contain Record-Route and Contact header fields. However, these requests do not cause the dialog's route set to be modified.
The User Agent Client uses the remote target and route set to build the Request-URI and Route header field of the request.
javax.sip.Dialog 内の getRouteSetpublic void setStack(SIPTransactionStack sipStack)
sipStack - the address of the SIP stack.public void setDefaultRoute(Route defaultRoute)
defaultRoute - is the default route to set.public void setUser(java.lang.String user)
user - is the user name to set for the default route.public void addRoute(SIPMessage sipMessage)
sipMessage - is the SIP message for which we want to add the route.public void setDialogId(java.lang.String dialogId)
public boolean isServer()
javax.sip.Dialog 内の isServerpublic java.lang.String getDialogId()
javax.sip.Dialog 内の getDialogIdpublic void addTransaction(SIPTransaction transaction)
transaction - is the transaction to add to the dialog.public void setRemoteTag(java.lang.String hisTag)
hisTag - is the remote tag to set.public SIPTransaction getLastTransaction()
public SIPServerTransaction getInviteTransaction()
public void incrementLocalSequenceNumber()
javax.sip.Dialog 内の incrementLocalSequenceNumberpublic int getRemoteSequenceNumber()
javax.sip.Dialog 内の getRemoteSequenceNumberpublic int getLocalSequenceNumber()
javax.sip.Dialog 内の getLocalSequenceNumberpublic java.lang.String getLocalTag()
javax.sip.Dialog 内の getLocalTagpublic java.lang.String getRemoteTag()
javax.sip.Dialog 内の getRemoteTagpublic void setLocalTag(java.lang.String mytag)
mytag - is the tag to use in From headers client transactions that
belong to this dialog and for generating To tags for Server
transaction requests that belong to this dialog.public void delete()
javax.sip.Dialog 内の deletepublic javax.sip.header.CallIdHeader getCallId()
javax.sip.Dialog 内の getCallIdpublic javax.sip.address.Address getLocalParty()
javax.sip.Dialog 内の getLocalPartypublic javax.sip.address.Address getRemoteParty()
This is the value of the From header of recieved responses in this dialogue when acting as an User Agent Server.
javax.sip.Dialog 内の getRemotePartypublic javax.sip.address.Address getRemoteTarget()
This is the value of the Contact header of recieved Requests or refresh Requests in this dialogue when acting as an User Agent Server. Bug fix sent in by Steve Crossley.
javax.sip.Dialog 内の getRemoteTargetpublic javax.sip.DialogState getState()
javax.sip.Dialog 内の getStateDialogStatepublic boolean isSecure()
javax.sip.Dialog 内の isSecuretrue if this dialogue was established using a sips
URI over TLS, and false otherwise.
public void sendAck(javax.sip.message.Request request)
throws javax.sip.SipException
javax.sip.Dialog 内の sendAckrequest - the new ACK Request message to send.
javax.sip.SipException - if implementation cannot send the ACK Request for any other
reason
public javax.sip.message.Request createRequest(java.lang.String method)
throws javax.sip.SipException
javax.sip.Dialog 内の createRequestmethod - the string value that determines if the request to be created.
javax.sip.SipException - if the Dialog is not yet established.
public void sendRequest(javax.sip.ClientTransaction clientTransactionId)
throws javax.sip.TransactionDoesNotExistException,
javax.sip.SipException
This methods will set the From and the To tags for the outgoing request and also set the correct sequence number to the outgoing Request and associate the client transaction with this dialog. Note that any tags assigned by the user will be over-written by this method.
The User Agent must not send a BYE on a confirmed INVITE until it has received an ACK for its 2xx response or until the server transaction timeout is received.
When the retransmissionFilter is true, that is the
SipProvider takes care of all retransmissions for the application, and
the SipProvider can not deliver the Request after multiple retransmits
the SipListener will be notified with a TimeoutEventwhen the
transaction expires.
javax.sip.Dialog 内の sendRequestclientTransactionId - the new ClientTransaction object identifying this transaction,
this clientTransaction should be requested from
SipProvider.getNewClientTransaction
javax.sip.TransactionDoesNotExistException - if the serverTransaction does not correspond to any existing
server transaction.
javax.sip.SipException - if implementation cannot send the Request for any reason.
public void resendAck()
throws javax.sip.SipException
javax.sip.SipExceptionpublic boolean isInviteDialog()
public void clearPending()
PendingRecord の記述:
PendingRecord 内の clearPendingpublic boolean hasPending()
PendingRecord の記述:
PendingRecord 内の hasPendingpublic void processPending()
PendingRecord の記述:
PendingRecord 内の processPending
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||