HP-UX C SIP Stack Programmer's Guide (Novembery 2007)
88 HP-UX C SIP Stack Programmer’s Guide
Call-leg Forking Support
forked call-leg x' and supplies the 180 message to the new call-
leg for handling. The state of call-leg x' is updated to
PROCEEDING, and its To tag value is updated to 222. Call-
leg x' also sets the forked-1xx-timer.
7. UA C sends a 200 response, with the To tag value of 222. The
proxy forwards this final response to UAC A.
8. UA A maps the 200 response to call-leg x'. Call-leg x' reset the
forked-1xx-timer, creates an ACK transmitter, and uses it to
send an ACK request. The state of call-leg x' is updated to
CONNECTED.
9. UA B sends a 200 response, with the To tag value, 111. The
proxy forwards this final response to UA A.
10. UA A maps the 200 response to call-leg x. Call-leg x sends an
ACK request, and updates the state to CONNECTED.
At this point, the UAC has two connected call-legs, x and x', both of which were
created by a single INVITE request. The application can now use both call-legs
as usual.
Note The SIP Stack can create a forked call-leg only while the original call-leg
exists, since it has to copy the parameters from the original call-leg to the new
forked call-leg. If, for some reason, the original call-leg was terminated, a forked
call-leg will not be created, and the response message will be discarded.
CALL-LEG FORKING
SUPPORT
C
ONFIGURATION
P
ARAMETERS
The call-leg forking-support configuration parameters are as follows:
bEnableForking
Enables the forking feature in the SIP Stack. If this parameter is set to
RV_FALSE, all 1xx and 2xx response messages will be mapped to the original
call-leg. Every 1xx response and first 2xx response will update the call-leg To
tag (the call-leg To tag value will be changed again and again). The 3xx-6xx
response message will be handled as usual.
If this parameter is set to RV_TRUE, a new forked call-leg will be created for
response messages with different To tags. The default value for this parameter is
RV_FALSE.