HP-UX C SIP Stack Programmer's Guide (Novembery 2007)

Working with Call-legs (Dialogs) 49
Call-leg API
RvSipCallLegSendPrackResponse()
When the SIP Stack is configured to work in a manual PRACK mode, the
application is responsible for responding to any PRACK request that is received
for a previously-sent reliable provisional response. When a PRACK request is
received, the call-leg PRACK state machine assumes the PRACK_RCVD state.
You should then call the RvSipCallLegSendPrackResponse() function to send a
response to the PRACK request. The call-leg PRACK state machine will then
assume the PRACK_FINAL_RESPONSE_SENT state.
E
NHANCED
FUNCTIONALITY
The following API functions provide enhanced functionality.
RvSipCallLegUseFirstRouteForInitialRequest()
Sometimes an application may want to use a pre-loaded Route list, when
sending an initial INVITE request. The application can do this with the
following actions:
1. Add the route headers to the outbound message.
2. Call the RvSipCallLegUseFirstRouteForInitialRequest()
function. Calling this function notifies the Stack that it should
take the outbound message Route list into consideration, while
calculating the remote target.
RvSipCallLegSetRejectStatusCodeOnCreation()
You can use this function synchronously from the RvSipCallLegCreatedEv()
callback to instruct the Stack to automatically reject the INVITE request that
created this call-leg. In this function you should supply the reject status code.
The call-leg will be destructed automatically when the
RvSipCallLegCreatedEv() returns and the transaction will be responsible for
rejecting the request. You will not get any further callbacks that relate to this
call-leg. (You will not get the RvSipCallLegMsgToSendEv() for the reject
response message, or the Terminated state for the call-leg.)
Remarks:
This function should not be used for rejecting a request in a
normal scenario. For this, you should use the
RvSipCallLegReject() function. You should use this function
only if your application is incapable of handling this new call-
leg at all, for example, in when an application is in an out-of-
resource situation.