HP-UX C SIP Stack Programmer's Guide (Novembery 2007)
Working with Register-Clients 135
Register-Client State Machine
new state. For example, upon receipt of an UNAUTHENTICATED state
notification, your application can use the RvSipRegClientAuthenticate() to re-
send the registration request with authentication information.
RvSipRegClientMsgToSendEv()
The register-client calls this event whenever a register-client related message is
ready to be sent. You can use this callback for changing or examining a message
before it is sent.
RvSipRegClientMsgReceivedEv()
The register-client calls this event whenever a register-client related message
has been received and is about to be processed. You can use this callback to
examine incoming messages.
RvSipRegClientFinalDestResolvedEv()
Indicates that the register-client 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 current destination address of the
transmitter before the message is sent.
REGISTER-CLIENT
S
TATE MACHINE
The Register-Client state machine represents the state of the registration
process. The RvSipRegClientStateChangedEv() callback reports register-client
state changes and state change reasons. The state change reason indicates how
the register-client reached the new state. Some of the register-client states are
basic and common to most registration scenarios. Advanced register-client
states depend on SIP Stack configuration.
The register-client associates with the basic states described below.