This fragment implements a Back-to-back User Agent, going through the
following steps:
Starts from idle, i.e. no SIP calls.
Receives INVITE on BoxPort of the box.
If receives error final response on UAC side, terminates at FAILURE state.
If receives CANCEL on UAS side before dialog is established, terminates at CANCELLED state.
If SIP dialogs are successfully established, after both dialogs are terminated by BYE, terminates at END state.
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.
B2buaSafeFSM(FeatureBox box,
java.util.Properties servletProps,
javax.servlet.ServletContext context)
Used when this FSM is specified as machineClassName by EChartsSipServlet