org.echarts.servlet.sip.machines
Class B2buaSafeFSM

java.lang.Object
  extended by org.echarts.Machine
      extended by org.echarts.StateMachine
          extended by org.echarts.TransitionMachine
              extended by org.echarts.servlet.sip.machines.B2buaSafeFSM
All Implemented Interfaces:
java.io.Serializable


public class B2buaSafeFSM
extends TransitionMachine

This fragment implements a Back-to-back User Agent, going through the following steps:

Note that there are two protocol lavel race conditions related to the initial INVITE transactions and CANCEL. See the underlying B2buaInviteFSM for details.

This machine uses optional RequestModifier object to change Request-URI for outgoing INVITE.

In ACTIVE state, INFO messages are passed transparently between caller and callee.

See Also:
Serialized Form

Nested Class Summary
 class B2buaSafeFSM.ACTIVE
           
 
Field Summary
 
Constructor Summary
B2buaSafeFSM(FeatureBox box, java.util.Properties servletProps, javax.servlet.ServletContext context)
          Used when this FSM is specified as machineClassName by EChartsSipServlet
B2buaSafeFSM(FeatureBox box, SipPort caller, SipPort callee, RequestModifier reqModifier)
          Used when this FSM is invoked by a parent FSM.
 
Method Summary
 Bye getReceivedBye()
           
 
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 org.echarts.Machine
getDefaultMachineDebugging, getDefaultMachineDebuggingGlobalStateOutput, getDefaultMachineMonitor, getDefaultMachineMonitorFilter, getDefaultMachineMonitoring, getMachineDebugging, getMachineDebuggingGlobalStateOutput, getMachineID, getMachineIndex, getMachineMonitor, getMachineMonitoring, getParentMachine, getRootMachine, getSystemDebugging, getSystemMonitoring, putEvent, setDebugging, setDefaultMachineDebugging, setDefaultMachineDebuggingGlobalStateOutput, setDefaultMachineMonitor, setDefaultMachineMonitorFilter, setDefaultMachineMonitoring, setMachineDebuggingGlobalStateOutput, setSystemDebugging, setSystemMonitoring, statePathString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail
Constructor Detail

B2buaSafeFSM

public B2buaSafeFSM(FeatureBox box,
                    SipPort caller,
                    SipPort callee,
                    RequestModifier reqModifier)
             throws java.lang.Exception
Used when this FSM is invoked by a parent FSM.

Throws:
java.lang.Exception

B2buaSafeFSM

public B2buaSafeFSM(FeatureBox box,
                    java.util.Properties servletProps,
                    javax.servlet.ServletContext context)
             throws java.lang.Exception
Used when this FSM is specified as machineClassName by EChartsSipServlet

Throws:
java.lang.Exception
Method Detail

getReceivedBye

public Bye getReceivedBye()