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

Working with Call-legs (Dialogs) 51
Call-leg API
RvSipCallLegMsgToSendEv()
The call-leg calls this event whenever a call-leg related message is ready to be
sent. You can use this callback for changing or examining a message before it is
sent to the remote party. The address resolution process will start only after this
callback returns.
Note You must not terminate the call-leg from this event.
RvSipCallLegFinalDestResolvedEv
Indicates that the call-leg is about to send a message after the destination
address was resolved. This callback supplies the final message and the
transaction that is responsible for sending this message. Changes in the message
at this stage will not effect the destination address. When this callback is called,
the application can query the transaction about the destination address using the
RvSipTransactionGetCurrentDestAddress() function. If the application wishes,
it can update the sent-by part of the top-most Via header. The application must
not update the branch parameter.
Note To change the destination address resolved from the message, the
application must use the Transmitter API. The application should first get the
transmitter from the transaction using the RvSipTransactionGetTransmitter() API
function. In can then manipulate the DNS list and the current destination address
of the transmitter before the message is sent.
RvSipCallLegMsgReceivedEv()
The call-leg calls this event whenever a call-leg related message has been
received and is about to be processed. You can use this callback to examine
incoming messages.
Note You must not terminate the call-leg from this event.
RvSipCallLegPrackStateChangedEv()
Notifies the application of a call-leg PRACK event. The PRACK state indicates
the status of a PRACK process. By default, this callback is only a notification to
the application and no response is expected for the different states. When
configuring the SIP Stack to work in a manual PRACK mode, the application is