1 / 25

A Generic Event Notification System Using XML and SIP

A Generic Event Notification System Using XML and SIP. Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University {knarig,hgs}@cs.columbia.edu September 12, 2003 NYMAN Workshop. Overview. Basics of SIP (Session Initiation Protocol)

mayes
Download Presentation

A Generic Event Notification System Using XML and SIP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Generic Event Notification System Using XML and SIP Knarig Arabshian and Henning Schulzrinne Department of Computer ScienceColumbia University {knarig,hgs}@cs.columbia.edu September 12, 2003 NYMAN Workshop

  2. Overview • Basics of SIP (Session Initiation Protocol) • Details of SIP event notification architecture • Incorporating XML • Benefits • Conclusions

  3. What is SIP? • SIP is part of the IETF standards and is modeled upon other Internet protocols such as SMTP (Simple Mail Transfer Protocol for e-mail) and HTTP (Hypertext Transfer Protocol for www) • SIP is also being used in Microsoft Messenger in Windows XP • A session could be a simple two-way telephone call or it could be a collaborative multimedia conference session. • Different services are possible • Internet telephony • Instant Messaging with buddy lists • Event notification • Device control

  4. What is SIP? • Two Components within SIP: User Agent and the SIP Network Server. • User Agent is the end system component for the call • The User agent can be both a User Agent Client (UAC) and a User Agent Server (UAS) • The client element initiates the calls and the server element answers the calls. • SIP Server is the network device that handles the signaling associated with multiple calls.

  5. What is SIP? • Main function of the SIP servers is to provide name resolution and user location • Caller is unlikely to know the IP address or host name of the called party • Caller will dial an email-like address or a telephone number associated with the called party. • A SIP proxy server receives requests, determines where to send these, and passes them onto the next server (using next hop routing principals).

  6. Basic call setup • E-mail like identifier: <sip:alice@home.com> • Alice’s phone registers with home.com • Bob dials alice@home.com; Phone does DNS REGISTER home.com SIP/2.0 To: sip:alice@home.com Contact: sip:alice@m2.home.com … Registrar alice office.com DNS lookup sip.udp.home.com Resolve to m2.home.com m2.home.com bob home.com alice@home.com => alice@m2.home.com

  7. Basic call setup • Phone sends INVITE; acts as User Agent Client • Server can proxy the call to current location INVITE sip:alice@m2.home.com … To: sip:alice@home.com From: “Bob” <sip:bob@office.com> … INVITE sip:alice@home.com … To: sip:alice@home.com From: “Bob” <sip:bob@office.com> … c=IN IP4 128.59.19.60 m=audio 8000 RTP/AVP 0 5 8 alice office.com m2.home.com bob home.com Proxy User agent client

  8. Basic call setup • Alice’s phone rings; acts as a User Agent Server • When Alice picks up, call is accepted and bob’s phone sends ACK to complete the setup SIP/2.0 180 Ringing SIP/2.0 200 OK … c=IN IP4 135.180.144.32 m=audio 9000 RTP/AVP 0 8 office.com alice pc4.home.com m2.home.com bob home.com Proxy User agent server

  9. Basic call setup • Encoded audio packets sent over RTP office.com alice bob home.com

  10. Basic call setup • When either party hangs up BYE is sent office.com alice BYE sip:bob@office.com bob home.com

  11. Columbia SIP user agent (sipc) • Media • Audio, video, text, white board • Screen sharing • Shared web browsing • Advanced • Presence, instant messaging • Conference control • Emergency notification and handling • Device control

  12. Subscribe/Notify • SIP has also been extended to generate event notifications and instant messages • Users subscribe to an event with the SUBSCRIBE method and receive notifications via NOTIFY • This feature can be used for creating medical event monitoring systems

  13. Subscribe Request • Resembles that of a SIP INVITE • Must have one “Event” header in the header field which will specify the type of event it is subscribing to • Must also contain an “Expires” header which defines the duration of the subscription • Subscriptions to multiple events requires multiple subscribe messages to be sent to the notifier • To unsubscribe, it sends a SUBSCRIBE message with the ”Expires” field set to zero

  14. Subscribe Request • Can contain optional message body in SUBSCRIBE request • Further details of notification • methods of alerting (alarm, IM Messages, telephone calls) • Filtering of sub-events • Standardized grammar to automate the processing of the SUBSCRIBE request in the Notification Server • If message body is not present then Subscriber will expect the default method of alert

  15. Notify Request • The “Event” header will indicate the type of notification it is • The message body of the NOTIFY message will include specific instructions on the alert methods. • Notification server receives the subscription, adds the subscriber to the particular event list and then generates NOTIFY requests accordingly

  16. SERVER (NOTIFIER) CLIENT (SUBSCRIBER) SUBSCRIBE sip:alerts@domain.com SIP/2.0Event: sosExpires: 86400 From: sip:alice@example.comTo: sip:alerts@domain.com SIP/2.0 202 Accepted From: sip:alice@example.comExpires: 86400 NOTIFY sip:alerts@domain.com SIP/2.0Event: sosTo: sip:alice@example.comFrom: sip:alerts@domain.com

  17. Incorporating XML • XML (Extensible Markup Language) is “metalanguage”, which is a language used for describing other languages • An XML schema is an XML language that defines various data types found in the XML document • Popular in web-related programming • Good choice for interoperability within many different types of institutional systems.

  18. XML Messages and SIP • XML messages may be used for representing • schemas used for automatic GUI generation and configuration of sub-events • a filter for events subscribed to • specification of alerting methods • performing remote procedure calls (SOAP)

  19. Detailed overview of architecture 3) Sipc contacts notification server and gets list of emergency events user can subscribe to 2) Generic emergency address: emergenycy@state.ny.us is added to sipc 1) Event generators publish their events to notification server Fire sos@leonia.nj.us Notification server (sipd) Earthquake 5) Sipc gets XML schema reference from notification server that will generate a form which queries for the event’s properties. Sipc then updates its subscription to the notification server with the filtered expressions 4) User subscribes to event it wants to be notified of

  20. Detailed overview of architecture 3)Sipc will process SOAP body and invoke the procedure call—such as flashing of lights 1) Fire occurs and event generator notifies sipd 2) Sipd will process parameters of the fire and send a NOTIFY to sipc including SOAP body Fire Emergency@state.ny.us Notification server (sipd) Earthquake

  21. XML Schemas <?xml version="1.0" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="Fire"> <xs:sequence> <xs:element name="location" type="string"/> <xs:element name="severity" type="string"/></xs:sequence> </xs:complexType> </xs:schema>

  22. Message Flow Runs on separate host Runs on separate host 1) SIP SUBSCRIBE message requesting possible events 2) 302 Redirect message with body listing all the events 3) SUBSCRIBE message with body containing an XML filter (ie. Fire) SIPC SIPD 4) 200 OK 5) 302 Redirect message with a reference to the XML Schema for event Fire 6) GUI generated with XML Schema and user selects the filtered values. Updated SUBSCRIBE sent to server with filtered values in XML format in SIP message body 7) 200 OK

  23. GUI Screens Generated

  24. Benefits • Device Neutrality • Generic in its Application • More Information • Automated Action

  25. Conclusion and Future Work • SIP is a signaling protocol that supports SUBSCRIBE/NOTIFY methods • Incorporating XML in SIP event notification allows the system to be generic in its application

More Related