Download - The State of SIP Application Development
![Page 1: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/1.jpg)
![Page 2: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/2.jpg)
The State of SIP Application Development
Brian SchwarzVP – EngineeringRedSky Technologies, Inc.
![Page 3: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/3.jpg)
3
Agenda
• What is a SIP Application?• Survey of standards applying to presence and
location• Case study – A SIP Application that supports
NG911 (SIP calls with location)• Challenges we encountered and how we resolved
these
![Page 4: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/4.jpg)
4
What is a SIP Application?
• Leverages the capabilities of SIP, but provides value-added services beyond the delivery of the call
• Examples:– Call Recording– Unified Communications (UC)– UC with presence and location– Call Center control
![Page 5: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/5.jpg)
5
RedSky’s SIP Application
• Receives a SIP call without any location data• Uses the content of the SIP INVITE to determine
the location of the calling device• Adds location information either by reference
(through a URI) or by value (in a PIDF-LO) to the SIP INVITE
• Sends the call out, now with embedded location data that can be used to route the call to the appropriate PSAP (911 call center)
![Page 6: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/6.jpg)
6
Presence Standards
• SIMPLE (SIP Extensions for Presence)– Supported by Microsoft (and others)– http://www.ietf.org/html.charters/simple-charter.html– Tight integration with SIP, so presence additions are
“seamless” to the existing voice protocols
• XMPP (Jabber)– Supported by Google (and others)– http://www.xmpp.org– Better for “chat only” messaging
![Page 7: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/7.jpg)
7
Location Standards• MLP
– Mobile Location Protocol– Widely used in existing mobile wireless infrastructure– Supported by OMG (Object Management Group)– XML-based, only allows geo-coded location
• HELD/PIDF-LO– “HTTP Enabled Location Delivery” & “Presence
Information Data Format-Location Object”– Supported by the IETF (Internet Engineering Task
Force)– Allows geo-located and civic addressing schemes
![Page 8: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/8.jpg)
8
Case Study – NG911
PSAP A
Softswitch / IP-PBX
2A B C1 3
54 6
87 9
0 #
D E F
G H I J K L M N O
P Q R T U V W X YZS
SIP call w/o location data
RedSky LIS (Network Discovery& B2BUA)
SIP phone(s)
2A B C1 3
54 6
87 9
0 #
D E F
G H I J K L M N O
P Q R T U V W X YZS
PSAP phone
SIP call with in-band location data
LoST Server
Emergency Services Routing Proxy (ESRP)
SIP call with in-band location data
SIP call w/o location data
P2P SIP
PSAP B
2A B C1 3
54 6
87 9
0 #
D E F
G H I J K L M N O
P Q R T U V W X YZS
PSAP phone
![Page 9: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/9.jpg)
9
Challenges to SIP Apps: B2BUA vs Proxy
• Proxy is simpler to develop and test than a B2BUA• “Real” function of the RedSky LIS is as a proxy –
we’re not changing the original SIP content• Only way to implement additions to the INVITE
body is through a B2BUA• The B2BUA takes on additional requirements in
terms of callback routing– Standards say that the FROM address out of the B2BUA
should be the address of the B2BUA. How do we route a dropped call back to the originating device?
![Page 10: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/10.jpg)
10
Challenge: Choosing the right SIP stack• Roll your own
– Longer development time and interop requirements– “Flexibility” in implementing the standards with regard to
content
• Open Source (i.e. JAIN)– Better development time, but still requires “app”
infrastructure
• SipServlets (i.e. GlassFish, BEA)– Fast development, focusing only on the application
content– Reduced control over the SIP content
![Page 11: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/11.jpg)
11
Challenge: SIP capabilities abstract data
• SIP abstracts the actual device making the call– Location Determination – loss of MAC address
• Port-level discovery uses SNMP queries to the BRIDGE MIB on network switches, matching the MAC address to a port
• SIP doesn’t communicate the MAC address – how to do port-level discovery?
– Shared line• Multiple devices can share the same SIP URI• When dialing 911 – which device made the call?
![Page 12: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/12.jpg)
12
Challenge: SIP Data
• Even if SIP entities (i.e. clients, proxies and B2BUAs) can interoperate, the content of the SIP data can be crucial to an application
• Requires careful design of the data content within the SIP messaging to ensure the application will function properly
![Page 13: The State of SIP Application Development](https://reader035.vdocument.in/reader035/viewer/2022062314/56814616550346895db32282/html5/thumbnails/13.jpg)
13
Questions?