HP-UX C SIP Stack Programmer's Guide (Novembery 2007)
Event Notification 251
Subscription State Machine
NOTIFIER STATE
M
ACHINE
Figure 12-4 Notifier State Machine
SUBSCRIBE rcvd
send
Notify(active)
(user command)
Send
Notify(terminated)
(user command)
200 on
Notify rcvd
or
Notify timeout
SubsRespondReject()/
send 3xx-6xx
Notify timeout
or
SubsTerminate()
Notify timeout
or
SubsTerminate()
UNSUBS rcvd/
send 400
on refresh
SendNotify(terminated)
(user command)
(*)SubsTerminate()
(*)Calling to SubsTerminate() changes notifier state to Subs-Terminated at any state of subscription
(**)Moving to Subs-Unsubscribe-Rcvd state is possible from Subs-Active, Subs-Pending, Subs-Refresh-Rcvd
and Subs-Activated.
UNSUBS
rcvd(**)
SubsTerminated()
or
Notify timeout
SubsRespondReject()
SUBS IDLE
SUBS RCVD
SUBS PENDING
SUBS
ACTIVATED
SUBS
TERMINATING
SendNotify(terminated)
SubsRespondPending()/
Send 202
SUBS ACTIVE
2xx rcvd on
Notify(active)
SendNotify(terminated)/
user command
SUBS REFRESH
RCVD
SUBS
UNSUBSCRIBED
RCVD
State according to
Table 2-2 below
Send
Notify(pending)
refresh
rcvd
SubsAccept()
update timer
or
SubsReject()
SubsRespondAccept()/
send 200
SubsAccept()
SUBS
TERMINATED