org.echarts.servlet.sip.machines
Class ThirdPartyCCFlow1FSM
java.lang.Object
org.echarts.Machine
org.echarts.StateMachine
org.echarts.TransitionMachine
org.echarts.servlet.sip.machines.ThirdPartyCCFlow1FSM
All Implemented Interfaces: java.io.Serializable
public class ThirdPartyCCFlow1FSM extends TransitionMachine
Uses third-party call control to set up a call between two far parties.
See constructor for parameters.
This fragment uses RFC 3725 Third Party Call Control (3pcc)
call establishment flow I to establish a call between two
parties.
A Controller B
|(1) INVITE no SDP | |
|<------------------| |
|(2) 200 offer1 | |
|------------------>| |
| |(3) INVITE offer1 |
| |------------------>|
| |(4) 200 OK answer1 |
| |<------------------|
| |(5) ACK |
| |------------------>|
|(6) ACK answer1 | |
|<------------------| |
|(7) RTP | |
|.......................................|
See Also: Serialized Form
Constructor Summary
ThirdPartyCCFlow1FSM (SipFactory factory,
SipPort caller,
SipPort callee,
java.lang.String callerSipURI,
java.lang.String calleeSipURI,
int firstPartyTimeoutMsec,
boolean isEarlyMedia,
java.lang.String uid)
First calls callerSipURI on caller SipPort, then on success calls calleeSipURI on calleeSipPort.
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.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
TRANSPARENT
public TransparentFSM TRANSPARENT
ThirdPartyCCFlow1FSM
public ThirdPartyCCFlow1FSM (SipFactory factory,
SipPort caller,
SipPort callee,
java.lang.String callerSipURI,
java.lang.String calleeSipURI,
int firstPartyTimeoutMsec,
boolean isEarlyMedia,
java.lang.String uid)
throws java.lang.Exception
First calls callerSipURI on caller SipPort, then on success calls calleeSipURI on calleeSipPort.
Parameters: callerSipURI
- SIP URI of first party. This will be the Request-URI of INVITE sent out on caller SipPort.calleeSipURI
- SIP URI of second party. This will be the Request-URI of INVITE sent out on callee SipPort.firstPartyTimeoutMsec
- Wait for this duration for first party to answer before abandoning call (-1 means no timeout)isEarlyMedia
- If true, early media on call to second party (i.e. SDP in provision response to the INVITE) causes ACK to be sent to first party.
Throws:
java.lang.Exception