A Generic Event Notification System Using XML and SIP - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

A Generic Event Notification System Using XML and SIP

Description:

Incorporating XML in SIP event notification allows the system to be generic ... Future work includes incorporating all the different types of events supported ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 27
Provided by: knarigar
Category:

less

Transcript and Presenter's Notes

Title: A Generic Event Notification System Using XML and SIP


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

2
Event Notification
  • Event notification can be applied to many
    different systems
  • SIP has been extended to support event
    notification
  • Various types of event notification systems using
    subscribe/notify
  • Presence/Instant Messaging
  • Emergency Notification
  • Conference control

3
Overview
  • What is SIP (Session Initiation Protocol)?
  • Details of SIP event notification architecture
  • Incorporating XML
  • Benefits
  • Conclusions

4
What is SIP?
  • The Session Initiation Protocol (SIP) is a
    signaling protocol used for establishing sessions
    in an IP network.
  • 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
  • Event notification
  • Device control

5
What is SIP?
  • Two Components within SIP User Agent and the SIP
    Network Server.
  • User Agent
  • end system component for the call
  • can be both a User Agent Client (UAC) and a User
    Agent Server (UAS)
  • client element initiates the calls and the server
    element answers the calls.

6
What is SIP?
  • SIP Network Server
  • Network device that handles the signaling
    associated with multiple calls.
  • 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.
  • Receives requests, determines where to send
    these, and passes them onto the next server
    (using next hop routing principals).

7
Basic call setup
  • E-mail like identifier ltsipalice_at_home.comgt
  • Alices phone registers with home.com
  • Bob dials alice_at_home.com Local server does DNS

REGISTER home.com SIP/2.0 To sipalice_at_home.com C
ontact sipalice_at_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_at_home.com gt alice_at_m2.home.com
8
Basic call setup
  • Phone sends INVITE acts as User Agent Client
  • Server can proxy the call to current location

INVITE sipalice_at_m2.home.com To
sipalice_at_home.com From Bob ltsipbob_at_office.com
gt
INVITE sipalice_at_home.com To
sipalice_at_home.com From Bob ltsipbob_at_office.com
gt cIN IP4 128.59.19.60 maudio 8000 RTP/AVP 0
5 8
alice
office.com
m2.home.com
bob
home.com
Proxy
User agent client
9
Basic call setup
  • Alices phone rings acts as a User Agent Server
  • When Alice picks up, call is accepted and Bobs
    phone sends ACK to complete the setup

SIP/2.0 180 Ringing
SIP/2.0 200 OK cIN IP4 135.180.144.32 maudio
9000 RTP/AVP 0 8
office.com
alice
pc4.home.com
m2.home.com
bob
home.com
Proxy
User agent server
10
Basic call setup
  • Encoded audio packets sent over RTP

office.com
alice
bob
home.com
11
Basic call setup
  • When either party hangs up BYE is sent

office.com
alice
BYE sipbob_at_office.com
bob
home.com
12
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

13
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 various event
    notification systems

14
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

15
Subscribe Request
  • Can contain optional message body in SUBSCRIBE
    request
  • Further details of notification
  • 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

16
Notify Request
  • Notification server receives the subscription,
    adds the subscriber to the particular event list
    and then generates NOTIFY requests accordingly
  • The Event header will indicate the type of
    notification it is
  • The message body of the NOTIFY message may
    include a remote procedure call or other details
    of notification.

17
SERVER (NOTIFIER)
CLIENT (SUBSCRIBER)
SUBSCRIBE sipalerts_at_domain.com SIP/2.0Event
sosExpires 86400 From sipalice_at_example.comTo
sipalerts_at_domain.com
SIP/2.0 202 Accepted From sipalice_at_example.com
Expires 86400
NOTIFY sipalerts_at_domain.com SIP/2.0Event
sosTo sipalice_at_example.comFrom
sipalerts_at_domain.com
18
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.

19
XML Messages and SIP
  • XML messages may be used for representing
  • schemas used for automatic GUI generation and
    configuration of sub-events
  • lt?xml version"1.0" ?gt ltxsschema
    xmlnsxs"http//www.w3.org/2001/XMLSchema"gt
  • ltxscomplexType name"Fire"gt
  • ltxssequencegt
  • ltxselement
    name"location" type"string"/gt
  • ltxselement
    name"severity" type"string"/gt
    lt/xssequencegt
  • lt/xscomplexTypegt
  • lt/xsschemagt
  • a filter for events subscribed to
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • ltev-filter-set xmlns"urnietfparamsxmlnssimpl
    e-winfo-filter"gt
  • ltev-filter id Fire"gt
  • lttriggergt
  • ltchanged changed-byForest Hills, NY
    //_at_location lt/changedgt
  • ltchanged changed-by Severe //_at_severity
    lt/changedgt
  • lt/triggergt
  • lt/ev-filtergt

20
  • performing remote procedure calls (SOAP)
  • lt?xml version'1.0'?gtltSOAP-ENVEnvelope
    xmlnsxsi"http//www.w3.org/1999/XMLSchema-instan
    ce" xmlnsSOAP-ENV"http//schemas.xmlsoap.org/soa
    p/envelope/" xmlnsSOAP-ENC"http//schemas.xmlsoa
    p.org/soap/encoding/" SOAP-ENVencodingStyle"http
    //schemas.xmlsoap.org/soap/encoding/"
    xmlnsxsd"http//www.w3.org/1999/XMLSchema"gt
    ltSOAP-ENVBodygt ltFiregt ltlocation
    xsitype"xsdstring"gtFlushing, NYlt/locationgt
    ltseverity xsitype"xsdstring"gtseverelt/sev
    eritygt lt/Firegt
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

21
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 for event (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
22
GUI Screens Generated
23
Detailed overview of architecture
3) Sipc contacts notification server and gets
list of emergency events user can subscribe to
2) Generic emergency address sos_at_ny.ny.us is
added to sipc
1) Event generators publish their events to
notification server
Fire
sos_at_.ny.ny.us Notification server (sipd)
Earthquake
5) Sipc gets XML schema reference from
notification server that will generate a form
which queries for the events 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
24
Detailed overview of architecture
3)Sipc will process SOAP body and invoke the
procedure callsuch 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_at_ny.ny.us Notification server (sipd)
Earthquake
25
Benefits Why SIP and XML?
  • Device Neutrality
  • SIP-based end systems, ranging from IP telephones
    to 3G wireless handsets
  • More Information
  • Video conferencing, text messaging
  • Automated Action
  • Device control using the SIP DO method
  • Generic in its Application
  • Using XML schemas and messages allows for variety
    of event notification systems

26
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
  • Currently implementing emergency notification
  • Future work includes incorporating all the
    different types of events supported in sipc in
    one generic event notification module
Write a Comment
User Comments (0)
About PowerShow.com