2. Overview
General introduction of Sip
Sip transaction and dialog
Presence architecture
Sip Events architecture and behavior
Security considerations
3. SIP Introduction
Sip user agent and sip network server
Client initiates a call and server routes the
call
Server is responsible for name resolution
and user location
Sip proxy receives calls and send it to its
destination or next hop.
5. Sip Methods
Invite is for session request
Ack confirms a request
Cancel is to end a pending request
Bye to end a session
Register to keep track of user location
6. Sip Return Code
Sip has http like return code
100 trying
180 ringing
200 Ok
302 moved permanently
401 unauthorized
503 service unavailable
603 declined
7. Sip Transaction and Dialog
Transaction occurs between a client and a server
and comprises all messages from the first request
sent from the client to the server up to a final
response sent from the server to the client.
Dialog is a peer-to-peer SIP relationship between
two UAs that persists for some time. A dialog is
identified by a Call-ID, a local tag and a remote
tag.
9. Presence
Presence is user’s reachability and willingness to
communicate its current status information
User subscribe to an event and receive notification
Presence user agent
Presence agent
Presence server
Watcher
11. Presence Overview
Subscribe request
Presence agent should authenticate and send
acknowledgement
State changes should be notified to
subscriber
Ability to refresh and terminate subscription
Presence agent should be able to allow or
terminate subscription
13. Sip Events Introduction
Sip was initially introduced as a signaling
protocol
Lack of method to emulate constant
communication and update status between
entity
Three more method was introduced namely
Publish , Subscribe and Notify
16. Description of Subscribe
Subscription Duration
Identification of subscribe event or event
classes
Optional accept header.
17. Subscriber Actions
Requesting a subscription.
Refreshing subscription.
Unsubscribing.
Confirmation of subscription.
18. Description of Notify
Event headers
Message body
Check for valid event type
Ensure local authentication and
authorization.
Notification should sent after removal of
subscription.
19. Notifier Responds
Initial subscribe transaction processing.
489 bad event.
• Confirmation of subscription
creation/refreshing.
• Authentication/Authorization of subscribe
request.
403 forbidden, 603 declined.
20. Description of Publish
Publishes event state
Create, modify and remove state
Event publication agent
Event state compositor
Duration of any event is well defined
21. Processing Publish Request
Event state compositor keeps track of state
for each Address-of-record
Esc inspects request uri
Esc examines event header
Esc process expires header field
Esc stores the event state in the body of the
message
31. Summery
Presence is a way to have sustained stateful
communication
Sip serves well for presence requirements
Sip presence deployment must confirm
security measurements