Download presentation
Presentation is loading. Please wait.
1
Programmable End System Services Using SIP
Xiaotao Wu, Henning Schulzrinne 2nd New York Metro Area Networking Workshop September 3rd, 2002
2
Today’s Endpoints Processing ability Graphical rendering
Storage capacity Converged information Varied platforms Phones PCs PDAs
3
SIP promotes end system services
Two SIP UAs can talk to each other directly. Service-related information is explicitly contained in SIP headers. The simplicity of SIP makes it easier for end system to perform services.
4
SIP endpoints are more than IP-based POTS phones
5
SIP service interfaces
<?xml version="1.0" ?> <!DOCTYPE cpl PUBLIC "-//IETF//DTD RFCxxxx CPL 1.0//EN" "cpl.dtd"> <cpl> <incoming> <address-switch field="origin" subfield="user"> <address is="anonymous"> <reject status="reject" reason="I don't accept anonymous calls" /> </address> </address-switch> </incoming> </cpl> @ECHO OFF IF GOTO BLOCK GOTO EXIT :BLOCK echo SIP/ Busy :EXIT CPL SIP CGI SIP Servlet public boolean doInvite(SipRequest req) { SipResponse res = req.createResponse(); res.setStatus(486); res.send(); return true; }
7
#! /usr/bin/env perl -w # Reject messages whose 'From:' matches by # responding with 486 Busy, redirect the others to voic print "SIP/ Wait\n\n"; if (defined $ENV{SIP_FROM} && $ENV{SIP_FROM} =~ { print "SIP/ Don't disturb, I am working\n\n"; } else { print "SIP/ Redirect\n"; print "Contact: }
8
Describe end system services
Users pay for a bad service because they do not understand why it is not good Techniques for network services are not good for end system services.
9
Network Services v.s. End System Services
10
Network Services v.s. End System Services
End System Service Language Network services End system services Developer Experienced developers Non-programmers Media and other end system applications Indirect control Direct control User interaction Indirect Direct
11
End system service languages
Simple and easy to understand by non-programmers Platform neutral Express user interactions Control media and other end system applications Extensible to accommodate new services Restricted to certain class of services, not necessarily Turing-complete
12
Endpoint Service Markup Language (ESML)
XML based language Platform and underlying programming language neutral Readable by non-programmers Defined as an XML schema Derivation of new types Pre-defined types Tree-like structure Use packages to group events and actions
13
ESML example <esml name="online_call"
require="generic presence ui"> <notification status="online" priority="0.5"> <address-switch field="origin"> <address <call /> <alert sound=“foo.au" text="Calling /> </address> </address-switch> </notifying> </esml>
14
ESML packages SIP user agent SIP im email web Device agent x10 vcr
Presence agent presence Basic user agent Generic Media UI calendar conference
15
Extend ‘general’ to ‘sip’
<xs:schema targetNamespace="esml:sip" xmlns:sip="esml:sip" xmlns:generic="esml:generic" <xs:complexType name="IncomingType"> <xs:complexContent> <xs:extension base="generic:IncomingType"> <xs:attribute name="priority" type="PriorityType"/> </xs:extension> </xs:complexContent> </xs:complexType>
16
ESML Service Creation
17
Compare to other languages
CPL SCML CCXML CPML, TML, CallXML
18
Conclusion and future work
Service partition between end system services and network services Feature interaction
19
Thank you! The End.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.