|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.echarts.Machine org.echarts.StateMachine org.echarts.TransitionMachine org.echarts.servlet.sip.machines.B2buaFSM
public class B2buaFSM
Back-to-back User Agent machine Receives INVITE on BoxPort. Uses optional RequestModifier object to change Request-URI for outgoing INVITE. In CONNECTED state, INFO messages are passed transparently between caller and callee. Similar to the RI/TCK sample B2BUA application (version 1.0.9), there are two unhandled protocol level race conditions: 1) CANCEL to callee and 200 OK to INVITE from callee crossed: (RFC3261 sec 15) Because the container has already sent 487 to caller, the application should send ACK then BYE to callee to terminate the callee side. 2) CANCEL from caller and 200 OK to INVITE to caller crossed: (JSR116 sec 7.2.3) In the case where container receives CANCEL before application tries to send 200 OK to INVITE to caller side, the send() will throw IllegalStateException. This exception should be caught, and the application sends ACK then BYE to callee side to terminate the callee side dialog. See TODO items in this file for places where additional handling should be added.
Field Summary | |
---|---|
TransparentFSM |
CONNECTED
|
static java.lang.String |
FAILURE_RESPONSE
|
static java.lang.String |
PENDING_REQUEST
|
SipServletRequest |
pendingAck
Pending ACK message to be sent on receipt of success response. |
static java.lang.String |
SUCCESS_RESPONSE
|
Constructor Summary | |
---|---|
B2buaFSM(FeatureBox box,
java.util.Properties servletProps,
javax.servlet.ServletContext context)
Used when this FSM is specified as machineClassName by EChartsSipServlet. |
|
B2buaFSM(FeatureBox box,
SipPort caller,
SipPort callee)
Used when this FSM is invoked by a parent FSM. |
|
B2buaFSM(FeatureBox box,
SipPort caller,
SipPort callee,
RequestModifier reqModifier)
Used when this FSM is invoked by a parent FSM. |
Method Summary | |
---|---|
SipServletResponse |
getFailureResponse()
Get received failure response to original INVTE. |
SipServletRequest |
getPendingRequest()
Get any pending request that may have been sent. |
SipServletResponse |
getSuccessResponse()
Get received success response to original INVTE. |
Methods inherited from class org.echarts.TransitionMachine |
---|
addMessagelessTransition, addMessageTransition, globalStateString, globalStateString, initializeMessagelessTransitions, initializeMessageTransitions, initializeRoot, localStateString, localStateString, removePort, run, run, runNoQueueing |
Methods inherited from class org.echarts.StateMachine |
---|
setMachineDebugging, setMachineMonitor, setMachineMonitoring |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String PENDING_REQUEST
public static final java.lang.String SUCCESS_RESPONSE
public static final java.lang.String FAILURE_RESPONSE
public SipServletRequest pendingAck
public TransparentFSM CONNECTED
Constructor Detail |
---|
public B2buaFSM(FeatureBox box, SipPort caller, SipPort callee) throws java.lang.Exception
box
- FeatureBox which contains this Machinecaller
- SipPort to be associated with incoming callcallee
- SipPort to be associated with outgoing call
java.lang.Exception
public B2buaFSM(FeatureBox box, SipPort caller, SipPort callee, RequestModifier reqModifier) throws java.lang.Exception
box
- FeatureBox which contains this Machinecaller
- SipPort to be associated with incoming callcallee
- SipPort to be associated with outgoing callreqModifier
- contains code for modifying initial request as it is relayed; may be null.
java.lang.Exception
public B2buaFSM(FeatureBox box, java.util.Properties servletProps, javax.servlet.ServletContext context) throws java.lang.Exception
java.lang.Exception
Method Detail |
---|
public SipServletRequest getPendingRequest()
public SipServletResponse getSuccessResponse()
public SipServletResponse getFailureResponse()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |