HP-UX C SIP Stack Programmer's Guide (Novembery 2007)
Event Notification 253
Subscription State Machine
Figure 12-5 NOTIFY flow
Figure 12-6 illustrates a special case in which a notification failed to send the
request message (transaction timeout, network error, or a 503 response was
received). In this case the notification is not terminated, and the application can
re-send the NOTIFY request to the next IP address on the transaction DNS list.
For more information, see the Working with DNS chapter.
Subscriber
Application
Subscriber
Stack
Notifier
Stack
Notifier
Application
NOTIFY
NotifyEv(NOTIFY_RCVD)
NotifyAccept (*)
200(*)
Notify Send
NotifyEv(2XX_RCVD(*))
NotifyEv(TERMINATED)
Create Notify
NotifyEv(TERMINATED)
* This flow is also accurate for any non-2xx on NOTIFY, except 503.
NotifyEv indicates the correct staus according to the response code.
NotifyCreatedEv()