org.mobicents.slee.resource.sip11.wrappers
Class DialogWrapper

java.lang.Object
  extended by org.mobicents.slee.resource.sip11.wrappers.DialogWrapper
All Implemented Interfaces:
java.io.Serializable, javax.sip.Dialog, net.java.slee.resource.sip.DialogActivity, WrapperSuperInterface

public class DialogWrapper
extends java.lang.Object
implements net.java.slee.resource.sip.DialogActivity, WrapperSuperInterface

See Also:
Serialized Form

Field Summary
protected  java.lang.String autoGeneratedFromTag
           
protected  javax.sip.header.CallIdHeader callIdToReUse
           
static java.util.Set<java.lang.String> dialogCreatingMethods
           
protected  java.util.ArrayList<javax.sip.header.RouteHeader> forkRouteSet
          Used when: forkInitialActivityHandle !=null
protected  org.mobicents.slee.resource.sip11.wrappers.DialogWrapper.DialogForkState forkState
           
protected  javax.sip.address.Address fromAddress
           
protected  java.lang.String initiatingTransctionId
           
protected  java.lang.String lastCancelableTransactionId
           
protected  java.util.concurrent.atomic.AtomicLong localSequenceNumber
           
protected  java.lang.String localToTag
          Represents local ToTag - see comment above
protected static org.apache.log4j.Logger logger
           
protected  java.util.concurrent.ConcurrentHashMap<java.lang.String,javax.sip.ClientTransaction> ongoingClientTransactions
           
protected  java.util.concurrent.ConcurrentHashMap<java.lang.String,javax.sip.ServerTransaction> ongoingServerTransactions
           
protected  SleeSipProviderImpl provider
           
protected  SipResourceAdaptor ra
           
protected  javax.sip.address.SipURI reqeustURI
           
protected  SipActivityHandle sipActivityHandle
           
protected  javax.sip.address.Address toAddress
           
protected  java.util.concurrent.ConcurrentHashMap<java.lang.String,SipActivityHandle> toTag2DialogHandle
          Cotnains activity handles of fork children.
protected  javax.sip.Dialog wrappedDialog
           
 
Constructor Summary
DialogWrapper(javax.sip.Dialog wrappedDialog, SipActivityHandle forkInitialActivityHandle, SleeSipProviderImpl provider, SipResourceAdaptor ra)
           
DialogWrapper(SleeSipProviderImpl provider, SipResourceAdaptor ra)
           
 
Method Summary
 void addOngoingTransaction(ClientTransactionWrapper ctw)
           
 void addOngoingTransaction(ServerTransactionWrapper stw)
           
 void associateServerTransaction(javax.sip.ClientTransaction ct, javax.sip.ServerTransaction st)
           
 void cleanup()
           
 void clearAssociations()
           
 void clearOngoingTransaction()
           
 javax.sip.message.Request createAck(long arg0)
           
 javax.sip.message.Request createPrack(javax.sip.message.Response arg0)
           
 javax.sip.message.Response createReliableProvisionalResponse(int arg0)
           
 javax.sip.message.Request createRequest(javax.sip.message.Request origRequest)
           
 javax.sip.message.Request createRequest(java.lang.String arg0)
           
 javax.sip.message.Response createResponse(javax.sip.ServerTransaction origServerTransaction, javax.sip.message.Response receivedResponse)
           
 void delete()
           
 void doTerminateOnLate2xx(javax.sip.ResponseEvent respEvent)
          Generare 200 and sends BYE if method == 200, possibly this shoudl also terminate subscriptions?
 SipActivityHandle getActivityHandle()
           
 java.lang.Object getApplicationData()
           
 javax.sip.ServerTransaction getAssociatedServerTransaction(javax.sip.ClientTransaction ct)
           
 javax.sip.header.CallIdHeader getCallId()
           
 javax.sip.ClientTransaction getClientTransaction(java.lang.String id)
           
 java.lang.String getDialogId()
           
 javax.sip.Transaction getFirstTransaction()
           
 java.lang.String getInitiatingTransactionId()
           
 javax.sip.address.Address getLocalParty()
           
 long getLocalSeqNumber()
           
 int getLocalSequenceNumber()
           
 java.lang.String getLocalTag()
           
 javax.sip.address.Address getRemoteParty()
           
 long getRemoteSeqNumber()
           
 int getRemoteSequenceNumber()
           
 java.lang.String getRemoteTag()
           
 javax.sip.address.Address getRemoteTarget()
           
 java.util.Iterator getRouteSet()
           
 javax.sip.ServerTransaction getServerTransaction(java.lang.String id)
           
 javax.sip.DialogState getState()
           
 java.lang.Object getWrappedObject()
           
 boolean hasOngoingClientTransaction(java.lang.String branchID)
           
 boolean hasOngoingServerTransaction(java.lang.String branchID)
           
 void incrementLocalSequenceNumber()
           
protected  boolean isInForkedActions()
           
 boolean isSecure()
           
 boolean isServer()
           
 boolean processIncomingResponse(javax.sip.ResponseEvent respEvent)
          Does response processing in dialog
 void removeOngoingTransaction(ClientTransactionWrapper ctw)
           
 void removeOngoingTransaction(ServerTransactionWrapper stw)
           
 void removeOngoingTransaction(SuperTransactionWrapper stw)
           
 void sendAck(javax.sip.message.Request arg0)
           
 javax.sip.ClientTransaction sendCancel()
           
 void sendReliableProvisionalResponse(javax.sip.message.Response arg0)
           
 void sendRequest(javax.sip.ClientTransaction ctw)
           
 javax.sip.ClientTransaction sendRequest(javax.sip.message.Request request)
           
 void setApplicationData(java.lang.Object arg0)
           
 void setCallIdToReUse(javax.sip.header.CallIdHeader callIdToReUse)
           
 void setFromAddress(javax.sip.address.Address fromAddress)
           
 void setToAddress(javax.sip.address.Address toAddress)
           
 void terminateOnBye(boolean arg0)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

dialogCreatingMethods

public static final java.util.Set<java.lang.String> dialogCreatingMethods

wrappedDialog

protected javax.sip.Dialog wrappedDialog

sipActivityHandle

protected SipActivityHandle sipActivityHandle

initiatingTransctionId

protected java.lang.String initiatingTransctionId

ra

protected SipResourceAdaptor ra

ongoingClientTransactions

protected java.util.concurrent.ConcurrentHashMap<java.lang.String,javax.sip.ClientTransaction> ongoingClientTransactions

ongoingServerTransactions

protected java.util.concurrent.ConcurrentHashMap<java.lang.String,javax.sip.ServerTransaction> ongoingServerTransactions

lastCancelableTransactionId

protected java.lang.String lastCancelableTransactionId

provider

protected SleeSipProviderImpl provider

logger

protected static final org.apache.log4j.Logger logger

forkState

protected org.mobicents.slee.resource.sip11.wrappers.DialogWrapper.DialogForkState forkState

forkRouteSet

protected java.util.ArrayList<javax.sip.header.RouteHeader> forkRouteSet
Used when: forkInitialActivityHandle !=null


localToTag

protected java.lang.String localToTag
Represents local ToTag - see comment above


reqeustURI

protected javax.sip.address.SipURI reqeustURI

localSequenceNumber

protected java.util.concurrent.atomic.AtomicLong localSequenceNumber

toTag2DialogHandle

protected java.util.concurrent.ConcurrentHashMap<java.lang.String,SipActivityHandle> toTag2DialogHandle
Cotnains activity handles of fork children.


fromAddress

protected javax.sip.address.Address fromAddress

toAddress

protected javax.sip.address.Address toAddress

callIdToReUse

protected javax.sip.header.CallIdHeader callIdToReUse

autoGeneratedFromTag

protected java.lang.String autoGeneratedFromTag
Constructor Detail

DialogWrapper

public DialogWrapper(SleeSipProviderImpl provider,
                     SipResourceAdaptor ra)

DialogWrapper

public DialogWrapper(javax.sip.Dialog wrappedDialog,
                     SipActivityHandle forkInitialActivityHandle,
                     SleeSipProviderImpl provider,
                     SipResourceAdaptor ra)
Method Detail

cleanup

public void cleanup()
Specified by:
cleanup in interface WrapperSuperInterface

getClientTransaction

public javax.sip.ClientTransaction getClientTransaction(java.lang.String id)

getInitiatingTransactionId

public java.lang.String getInitiatingTransactionId()

getServerTransaction

public javax.sip.ServerTransaction getServerTransaction(java.lang.String id)

createAck

public javax.sip.message.Request createAck(long arg0)
                                    throws javax.sip.InvalidArgumentException,
                                           javax.sip.SipException
Specified by:
createAck in interface javax.sip.Dialog
Throws:
javax.sip.InvalidArgumentException
javax.sip.SipException

createPrack

public javax.sip.message.Request createPrack(javax.sip.message.Response arg0)
                                      throws javax.sip.DialogDoesNotExistException,
                                             javax.sip.SipException
Specified by:
createPrack in interface javax.sip.Dialog
Throws:
javax.sip.DialogDoesNotExistException
javax.sip.SipException

createReliableProvisionalResponse

public javax.sip.message.Response createReliableProvisionalResponse(int arg0)
                                                             throws javax.sip.InvalidArgumentException,
                                                                    javax.sip.SipException
Specified by:
createReliableProvisionalResponse in interface javax.sip.Dialog
Throws:
javax.sip.InvalidArgumentException
javax.sip.SipException

delete

public void delete()
Specified by:
delete in interface javax.sip.Dialog

getApplicationData

public java.lang.Object getApplicationData()
Specified by:
getApplicationData in interface javax.sip.Dialog

getCallId

public javax.sip.header.CallIdHeader getCallId()
Specified by:
getCallId in interface javax.sip.Dialog

getDialogId

public java.lang.String getDialogId()
Specified by:
getDialogId in interface javax.sip.Dialog

getFirstTransaction

public javax.sip.Transaction getFirstTransaction()
Specified by:
getFirstTransaction in interface javax.sip.Dialog

getLocalParty

public javax.sip.address.Address getLocalParty()
Specified by:
getLocalParty in interface javax.sip.Dialog

getRemoteParty

public javax.sip.address.Address getRemoteParty()
Specified by:
getRemoteParty in interface javax.sip.Dialog

getRemoteTarget

public javax.sip.address.Address getRemoteTarget()
Specified by:
getRemoteTarget in interface javax.sip.Dialog

getLocalSeqNumber

public long getLocalSeqNumber()
Specified by:
getLocalSeqNumber in interface javax.sip.Dialog

getLocalSequenceNumber

public int getLocalSequenceNumber()
Specified by:
getLocalSequenceNumber in interface javax.sip.Dialog

getLocalTag

public java.lang.String getLocalTag()
Specified by:
getLocalTag in interface javax.sip.Dialog

getRemoteSeqNumber

public long getRemoteSeqNumber()
Specified by:
getRemoteSeqNumber in interface javax.sip.Dialog

getRemoteSequenceNumber

public int getRemoteSequenceNumber()
Specified by:
getRemoteSequenceNumber in interface javax.sip.Dialog

getRemoteTag

public java.lang.String getRemoteTag()
Specified by:
getRemoteTag in interface javax.sip.Dialog

getRouteSet

public java.util.Iterator getRouteSet()
Specified by:
getRouteSet in interface javax.sip.Dialog

getState

public javax.sip.DialogState getState()
Specified by:
getState in interface javax.sip.Dialog

incrementLocalSequenceNumber

public void incrementLocalSequenceNumber()
Specified by:
incrementLocalSequenceNumber in interface javax.sip.Dialog

isSecure

public boolean isSecure()
Specified by:
isSecure in interface javax.sip.Dialog

isServer

public boolean isServer()
Specified by:
isServer in interface javax.sip.Dialog

sendAck

public void sendAck(javax.sip.message.Request arg0)
             throws javax.sip.SipException
Specified by:
sendAck in interface javax.sip.Dialog
Throws:
javax.sip.SipException

sendReliableProvisionalResponse

public void sendReliableProvisionalResponse(javax.sip.message.Response arg0)
                                     throws javax.sip.SipException
Specified by:
sendReliableProvisionalResponse in interface javax.sip.Dialog
Throws:
javax.sip.SipException

setApplicationData

public void setApplicationData(java.lang.Object arg0)
Specified by:
setApplicationData in interface javax.sip.Dialog

terminateOnBye

public void terminateOnBye(boolean arg0)
                    throws javax.sip.SipException
Specified by:
terminateOnBye in interface javax.sip.Dialog
Throws:
javax.sip.SipException

getActivityHandle

public SipActivityHandle getActivityHandle()
Specified by:
getActivityHandle in interface WrapperSuperInterface

getWrappedObject

public java.lang.Object getWrappedObject()

hasOngoingServerTransaction

public boolean hasOngoingServerTransaction(java.lang.String branchID)

hasOngoingClientTransaction

public boolean hasOngoingClientTransaction(java.lang.String branchID)

addOngoingTransaction

public void addOngoingTransaction(ServerTransactionWrapper stw)

addOngoingTransaction

public void addOngoingTransaction(ClientTransactionWrapper ctw)

removeOngoingTransaction

public void removeOngoingTransaction(ClientTransactionWrapper ctw)

removeOngoingTransaction

public void removeOngoingTransaction(ServerTransactionWrapper stw)

removeOngoingTransaction

public void removeOngoingTransaction(SuperTransactionWrapper stw)

clearOngoingTransaction

public void clearOngoingTransaction()

clearAssociations

public void clearAssociations()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

sendCancel

public javax.sip.ClientTransaction sendCancel()
                                       throws javax.sip.SipException
Specified by:
sendCancel in interface net.java.slee.resource.sip.DialogActivity
Throws:
javax.sip.SipException

associateServerTransaction

public void associateServerTransaction(javax.sip.ClientTransaction ct,
                                       javax.sip.ServerTransaction st)
Specified by:
associateServerTransaction in interface net.java.slee.resource.sip.DialogActivity

createRequest

public javax.sip.message.Request createRequest(java.lang.String arg0)
                                        throws javax.sip.SipException
Specified by:
createRequest in interface javax.sip.Dialog
Throws:
javax.sip.SipException

createRequest

public javax.sip.message.Request createRequest(javax.sip.message.Request origRequest)
                                        throws javax.sip.SipException
Specified by:
createRequest in interface net.java.slee.resource.sip.DialogActivity
Throws:
javax.sip.SipException

sendRequest

public javax.sip.ClientTransaction sendRequest(javax.sip.message.Request request)
                                        throws javax.sip.SipException,
                                               javax.sip.TransactionUnavailableException
Specified by:
sendRequest in interface net.java.slee.resource.sip.DialogActivity
Throws:
javax.sip.SipException
javax.sip.TransactionUnavailableException

sendRequest

public void sendRequest(javax.sip.ClientTransaction ctw)
                 throws javax.sip.TransactionDoesNotExistException,
                        javax.sip.SipException
Specified by:
sendRequest in interface javax.sip.Dialog
Throws:
javax.sip.TransactionDoesNotExistException
javax.sip.SipException

createResponse

public javax.sip.message.Response createResponse(javax.sip.ServerTransaction origServerTransaction,
                                                 javax.sip.message.Response receivedResponse)
                                          throws javax.sip.SipException
Specified by:
createResponse in interface net.java.slee.resource.sip.DialogActivity
Throws:
javax.sip.SipException

getAssociatedServerTransaction

public javax.sip.ServerTransaction getAssociatedServerTransaction(javax.sip.ClientTransaction ct)
Specified by:
getAssociatedServerTransaction in interface net.java.slee.resource.sip.DialogActivity

setFromAddress

public void setFromAddress(javax.sip.address.Address fromAddress)

setToAddress

public void setToAddress(javax.sip.address.Address toAddress)

setCallIdToReUse

public void setCallIdToReUse(javax.sip.header.CallIdHeader callIdToReUse)

processIncomingResponse

public boolean processIncomingResponse(javax.sip.ResponseEvent respEvent)
Does response processing in dialog

Parameters:
respEvent -
Returns:
  • true - if DialogWrapper finished processing and RA doesnt have to take any action
  • false - DialogWrapper did nothing, ra should triger regular logic

doTerminateOnLate2xx

public void doTerminateOnLate2xx(javax.sip.ResponseEvent respEvent)
Generare 200 and sends BYE if method == 200, possibly this shoudl also terminate subscriptions?

Parameters:
respEvent -

isInForkedActions

protected boolean isInForkedActions()


Copyright © 2009. All Rights Reserved.