HP-UX C SIP Stack Programmer's Guide (Novembery 2007)
Event Notification 249
Subscription State Machine
SUBSCRIBER STATE
M
ACHINE
Figure 12-3 Subscriber State Machine
Subscribe()/
Send SUBSCRIBE
(user command)
2xx rcvd /
Set noNotify timer
Notify(active) rcvd/
send 200
release noNotify timer
202 rcvd
4xx-6x x rcvd or
timeout
NoNotify
timer
expired
Notify(terminated) rcvd/
send 200
non 2xx rcvd
(not 481)
481 rcvd
or
Notify(terminated) rcvd/
send 200
2xx rcvd/
set noNotify timer
NOTE Sending a non-2xx response on a Notify request does not influence the state machine.
A Notify request influences the state machine only if it is responded to with 2xx.
(*)Moving to state SubsUnsubscribing is possible from state Subs-Pending, Subs-Active an Subs-2xx-Rcvd
SUBS IDLE
SUBS
REDIRECTED
SUBS SENT
SUBS
UNAUTH
SUBS 2xx
RCVD
SUBS NOTIFY
RCVD
Notify(active or
pending) rcvd/
send 200
SUBS ACTIVE
SUBS
REFRESHING
SUBS
UNSUBSCRIBING
SUBS
PENDING
SUBS
TERMINATED
SUBS
UNSUBSCRIBE 2xx
RCVD
3xx rcvd
Subscribe()
Send SUBSCRIBE
(user command)
401/407rcvd
Subscribe()
Send SUBSCRIBE
(user command)
Notify(pending) rcvd/
send 200
release noNotify timer
Notify(active) rcvd/
send 200
Notify(terminated) rcvd/
send 200
Unsubscribe()/
Send UNSUBS
(*)
481 rcvd
or
Notify(terminated) rcvd/
send 200
NoNotify timer expired
or
Notify(terminated) rcvd/
send 200
200 rcvd
Refresh()/
Send SUBSCRIBE
response
(not 481)
rcvd
Notify(active) rcvd/
send 200
State according to
Table 2-1
below