HP-UX C SIP Stack Programmer's Guide (Novembery 2007)
Working with Transmitters 217
Transmitter API
RvSipTransmitterTerminate()
Terminates a transmitter and frees all transmitter-allocated resources. The
transmitter will assume the TERMINATED state.
Remark: The application is responsible for terminating the transmitter. The
SIP Stack will never terminate transmitters that were created by the application.
In case of an a-synchronic failure, the transmitter will move to the
MSG_SEND_FAILURE with a reason that indicates the nature of this failure. It
is up to the application to terminate the transmitter at this point.
EVENTS The Transmitter API supplies several events in the form of callback functions, to
which your application may listen and react. To listen to an event, your
application should pass the event handler pointer to the transmitter when it is
created. When an event occurs, the transmitter calls the event handler function
using the pointer.
The following events are supplied with the Transmitter API:
RvSipTransmitterStateChangedEv()
Notifies the application of a transmitter state change. Each phase of the message
sending process of the transmitter is represented by a state and the application is
notified through the RvSipTransmitterStateChangedEv() callback. For each
state change, the new state is supplied with the reason for the new state, and the
message when valid. An additional parameter, pExtraInfo, will hold specific
state information.
Most of the states are informative only. The final message sending states
(MSG_SENT and MSG_SEND_FAILURE) indicate that the application should
now terminate the transmitter.
Remark: Currently the pExtraInfo parameter is used only in the
NEW_CONN_IN_USE state.
RvSipTransmitterOtherURLAddressFoundEv()
Notifies the application that a message needs to be sent and the destination
address is a URL type that is currently not supported by the SIP Stack (for
example a tel URL). The application must convert the URL to a SIP URL for the
message to be sent.