HP-UX C SIP Stack Programmer's Guide (Novembery 2007)
Working with Transmitters 221
Transmitter State Machine
RVSIP_TRANSMITTER_STATE_MSG_SENT
Indicates that the message was sent successfully to the remote party. This state
does not supply the message. The message is most likely destructed when this
state is reached. This state is also an indication that the application should now
terminate the transmitter that has completed all its tasks and cannot be used any
longer.
RVSIP_TRANSMITTER_STATE_MSG_SEND_FAILURE
Indicates that an error occurred and the transmitter will not be able to send the
message. The state change reason indicates the type of failure. The following
reasons are associated with this state:
RVSIP_TRANSMITTER_REASON_UNDEFINED—a
general error caused the failure.
RVSIP_TRANSMITTER_REASON_NETWORK_ERROR—
a network error occurred while trying to send the request or
during the DNS procedure.
RVSIP_TRANSMITTER_REASON_CONNECTION_ERROR
—An error occurred on the connection that was used to send the
message.
RVSIP_TRANSMITTER_REASON_OUT_OF_RESOURCES -
The message cannot be sent because of a lack of resources.
In the message send failure, the application can do one of two things:
Terminate the transmitter using the
RvSipTransmitterTerminate() function.
Send the message again to the next address in the DNS list by
calling the RvSipTransmitterSendMessage() function. This
option is available only if the enhanced DNS feature is enabled.
Remark: The MSG_SEND_FAILURE state is the way the transmitter notifies
the application of errors that are caused by incoming events, such as connection
events or results received from the DNS server. If the error happens in the
context of the API function call, the API function will return an error. In this
case, the transmitter will not move to the MSG_SEND_FAILURE state.
However, network errors will always cause the transmitter to assume the
MSG_SEND_FAILURE state.