OpenSig ‘99 1 8/20/2014 Programming IP Telephony Services with the Call Processing Language (CPL) and CGI Jonathan Rosenberg Bell Laboratories October.

Slides:



Advertisements
Similar presentations
Charles Consel 1, Fabien Latry 1, and Julien Mercadal 1 IPTComm – July Phoenix Research Group INRIA / LaBRI Staging Telephony.
Advertisements

Copyright © 2003 Pearson Education, Inc. Slide 7-1 The Web Wizards Guide to PHP by David Lash.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 9 Using Perl for CGI Programming.
U N L E A S H I N G A S E R V I C E S R E N A I S S A N C E WCF The Future of the Internet - What Will Tomorrow Bring?
SIP, Presence and Instant Messaging
SIP, Firewalls and NATs Oh My!. SIP Summit SIP, Firewalls and NATs, Oh My! Getting SIP Through Firewalls Firewalls Typically.
Presence and IM as SIP Services Jonathan Rosenberg Chief Scientist.
Fall IM 2000 Evfolution of Presence Based Networks Evolution of Presence Based Networks Jonathan Rosenberg Chief Scientist.
An Application Component Architecture for SIP Jonathan Rosenberg Chief Scientist.
Fall IM2000 Industry Perspective Presence: The Best Thing that Ever Happened to Voice Jonathan Rosenberg Chief Scientist.
SIP and Services 1 Blindsiders May 99 Lucent Technologies - Proprietary SIP A Platform for Providing Integrated Services Jonathan Rosenberg Bell Laboratories.
SIP and Instant Messaging. SIP Summit SIP and Instant Messaging What Does Presence Have to Do With SIP? How to Deliver.
IMPP Update: SIP. Spring PIM 2001 IMPP Update SIMPLE Group SIMPLE = SIP for Instant Messaging Leveraging Extensions BoF Session Held.
SIP Servlets. SIP Summit SIP Servlets Problem Statement Want to enable construction of a wide variety of IP telephony.
dynamicsoft Inc. Proprietary VON Developers Conference 1/19/00 C O N N E C T I N G T H E W O R L D W I T H A P P L I C A T I O N S.
Fall IM 2000 Introduction to SIP Jonathan Rosenberg Chief Scientist.
SIP and Other IETF Standards Update Jonathan Rosenberg Chief Scientist.
IM May 23-25, 2000 Evolution of IP Based Presence Services Evolution of IP-Based Presence Services Jonathan Rosenberg Chief.
IM May 24, 2000 Introduction to SIP Jonathan Rosenberg Chief Scientist.
SIP: Ready to Deploy Jonathan Rosenberg Chief Scientist.
Internet Telecom Expo September 20, 2000 SIP vs. H.323 SIP vs. H.323 Will the Real IP Telephony Please Stand Up? Jonathan Rosenberg.
VON Europe /19/00 SIP and the Future of VON Protocols SIP and the Future of VON Protocols: Presence and IM Jonathan Rosenberg.
Fall VoN 2000 SIP for IP Communications Jonathan Rosenberg Chief Scientist.
Insert Tradeshow or Event Name -- Date Insert Presentation Title Trends in Instant Messaging and Telephony Jonathan Rosenberg Chief.
1 IEEE Media Independent Handoff Overview of services and scenarios for 3GPP2 Stefano M. Faccin Liaison officer to 3GPP2.
Delivery Methods forIPP Event Notifications 1 Internet Printing Protocol (IPP) Delivery Methods for IPP Event Notifications.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Virtual Office by Velocity Telephone, Inc. Trade Secret - Property of Velocity Telephone, Inc.
1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
1 IP Telephony (VoIP) CSI4118 Fall Introduction (1) A recent application of Internet technology – Voice over IP (VoIP): Transmission of voice.
Configuration management
1 The phone in the cloud Utilizing resources hosted anywhere Claes Nilsson.
© 2005 Avaya Inc. All rights reserved. A Client-Side Architecture for Supporting Pervasive Enterprise Communications Amogh Kavimandan, Reinhard Klemm,
Application Server Based on SoftSwitch
Yunling Wang VoIP Security COMS 4995 Nov 24, 2008 XCAP The Extensible Markup Language (XML) Configuration Access Protocol (XCAP)
© 2005 AT&T, All Rights Reserved. 11 July 2005 AT&T Enhanced VPN Services Performance Reporting and Web Tools Presenter : Sam Levine x111.
Johan Garcia Karlstads Universitet Datavetenskap 1 Datakommunikation II Signaling/Voice over IP / SIP Based on material from Henning Schulzrinne, Columbia.
Feature Interaction Handling in LESS Xiaotao Wu and Henning Schulzrinne Internet Real Time Laboratory.
31242/32549 Advanced Internet Programming Advanced Java Programming
Executional Architecture
Building Applications Using SIP Scott Hoffpauir Vice President, Engineering Fall 1999 VON, Atlanta.
Presenter: James Huang Date: Sept. 29,  HTTP and WWW  Bottle Web Framework  Request Routing  Sending Static Files  Handling HTML  HTTP Errors.
© Copyright 2000 Applications of SIP. Michael Doyle Slide 2VON Atlanta 2000 Applications of SIP SIP and VoDSL SIP and WAP SIP and MS Windows Examples.
1 XML Web Services Practical Implementations Bob Steemson Product Architect iSOFT plc.
IP Communications Services Redefining Communications Teresa Hastings Director WorldCom SIP Services Conference – April 18-20, 2001.
Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 1 Advanced services with SIP.
Session Initiation Protocol (SIP) By: Zhixin Chen.
A Generic Event Notification System Using XML and SIP Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University
 3G is the third generation of tele standards and technology for mobile networking, superseding 2.5G. It is based on the International Telecommunication.
12/05/2000CS590F, Purdue University1 Sip Implementation Protocol Presented By: Sanjay Agrawal Sambhrama Mundkur.
Internet Telephony Helen J. Wang Network Reading Group, Jan 27, 99 Acknowledgement: Jimmy, Bhaskar.
SIP Programming : SIP has texture encoding feature. [1] SIP allows third parties or user to program SIP follows HTTP programming model.
Agenda Introduction to 3GPP Introduction to SIP IP Multimedia Subsystem Service Routing in IMS Implementation Conclusions.
Appendix A Implementing Unified Messaging. Appendix Overview Overview of Telephony Introducing Unified Messaging Configuring Unified Messaging.
1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.
Iptel not telip 1 03/19/99 Internet Telephony: not Telephony over Internet Jonathan Rosenberg Bell Laboratories Spring VoN 99.
03/09/2003Helsinki University of Technology1 Overview of Thesis Topic Presented By: Zhao Xuetao.
Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling) protocol.
VoN September ‘98 1 9/17/98 VoN Standards Update Jonathan Rosenberg Bell Laboratories September 17, 1998.
Toshiba Confidential 1 Presented by: Philipe BC Da’Silva SESSION INITIATION PROTOCOL.
Project Objectives A multi-function programmable SIP user agent for multimedia communications, such as audio, video, white board, desktop sharing, shared.
Copyright © 2002 Pearson Education, Inc. Slide 3-1 Internet II A consortium of more than 180 universities, government agencies, and private businesses.
Postech DP&NM Lab Session Initiation Protocol (SIP) Date: Seongcheol Hong DP&NM Lab., Dept. of CSE, POSTECH Date: Seongcheol.
SIPc, a Multi-function SIP User Agent Xiaotao Wu and Henning Schulzrinne.
SIP wg Items Jonathan Rosenberg dynamicsoft Caller Preferences: Changes Discussion of Redirects –Previous draft only proxy –Nothing different for redirect.
SIP Programming : SIP has texture encoding feature.[1]
IP Telephony (VoIP).
Internet Multimedia Conferencing: What now?
Session Initiation Protocol (SIP)
Presentation transcript:

OpenSig ‘99 1 8/20/2014 Programming IP Telephony Services with the Call Processing Language (CPL) and CGI Jonathan Rosenberg Bell Laboratories October 15, 1999

OpenSig ‘99 2 8/20/2014 Services, services, services! IP telephony cost benefits to consumer declining Must be differentiators –higher quality? –ease of use - UI –new services and features Key is new services –integration services , web, presence, IM, chat part of telephony –control services allow parameters to be defined by consumer –presentation services new look and feel for old friends

OpenSig ‘99 3 8/20/2014 Web Integration I IWR - Interactive Web Response –user calls a number –web page “answers” –use hyperlinks instead of keypresses to navigate much easier than voice –final link makes phone call –VXML for non-PC access SIP Accept headers for MIME negotiations! INVITE redirection Web Page IWR Service

OpenSig ‘99 4 8/20/2014 Web Integration II Web Agents –A calls B –B is not home –After N rings, A gets web page instead possibly dynamically created for caller –Web page lists alternate contact information and times –cell phone after 5pm – for non-urgent stuff URL for recording voic mailto URL for sending

OpenSig ‘99 5 8/20/2014 Web Integration III Shared Web Talking –“web” another form of media stream - like audio and video –Users can talk and simultaneously browse web Show each other pages Discuss stocks Read the paper Web Caller ID –When A calls B, B’s homepage appears in A’s browser –“homepage” dynamically generated for B perhaps

OpenSig ‘99 6 8/20/ not good for interactive communications Great for notification related services! –Type of information unbounded Notification possibilities –call information call attempts –subscriber information monthly bill –Messaging s contain URLs to streaming media controls

OpenSig ‘99 7 8/20/2014 Presence ICQ concept –“buddy lists” and subscriptions –know who is online –normally for instant messages Big idea: Users can subscribe to each other, and learn: –when they pick up and hang up the phone –when they are available to talk or not –when they are in the office or not chair sensor! –when the cell-phone is on or not Presence propagates information about a users willingness, ability, and desire to communicate using a variety of mediums

OpenSig ‘99 8 8/20/2014 Example Presence Service Phone status subscription –A subscribes to B’s phone –When B’s phone state changes hook state willingness to talk –Notification sent to A , instant message, presence notification –A can then call B unsubscribe to B SUBSCRIBE hangup NOTIFY Presence server

OpenSig ‘99 9 8/20/2014 Challenge - Service Programmability Where do services live? What controls do the programs have? When can the program execute controls? What information are the programs provided? What resources do the programs have access to? Who can create the programs? How are the programs instantiated?

OpenSig ‘ /20/2014 Session Initiation Protocol Invite user to sessions Basic signaling and session description (SDP) Allows to search for the user to be invited –Mobility –Redirect/proxy –Multicast SIP Client SIP Redirect Server SIP Proxy SIP Client (User Agent Server) Location Service Request Response

OpenSig ‘ /20/2014 Location of logic SIP User Agents –trust issues –heterogeneity of platforms –always on problem SIP servers –natural place for routing, screening, pre- call services External devices to SIP servers –SCP/SSP model in IN safety, load balancing, good for third parties latency issues in IP –what replaces INAP? DIAMETER? COPS? MGCP+? SIP (same syntax, wrong semantics)

OpenSig ‘ /20/2014 Nature of Control High Level –“forward”, “reject”, “redirect” –common to all SP Medium Level –controlled device abstracted to a model –call models in IN –control = goto state N Lowest level –full control - send message X Not a single answer! –Fundamental tradeoffs: simplicity vs. flexibility safety vs. flexibility

OpenSig ‘ /20/2014 Nature of Information Highest level –“new call from Joe to Bob” –can be SP independent Medium level –state machine transitions + basic data (caller, callee, etc.) Lowest level –Full messages Same tradeoffs...

OpenSig ‘ /20/2014 Who can write them? Creator determines tradeoff operating point Three principals –Administrator –Third party provider –End user Lines can be blurry Real operating point depends largely on trust

OpenSig ‘ /20/2014 Other issues Access to resources –What else can program do besides control –General purpose program - anything –Java script - lots, but not everything –configuration script - very limited How does it get there? –Linked in (API model) server must be taken down, recompiled not clean –separate process (CGI) –data read in (servlet model)

OpenSig ‘ /20/2014 Solution I:SIP CGI Benefits of CGI as a basis –programming language independence –full control over headers/messages –leverage existing tools –SIP similar to HTTP What’s different from HTTP CGI –persistence model –multiple actions per script output –response naming –request naming

OpenSig ‘ /20/2014 Persistence Model Transaction more complex than request-response –proxying –provisional responses Many points during transaction where script might execute “points” = message arrivals Script reinvoked on message arrivals State maintained by cookie –opaque to server –passed from script to server and back on reinvocation Reinvocation points controllable (triggers)

OpenSig ‘ /20/2014 Multiple Actions Many actions possible –new request –proxy request –create response –return response –default Each action looks like a message in script output –parser reuse Multiplex actions using SIP message multiplexing rules

OpenSig ‘ /20/2014 Response Naming Wish to return a response received during previous invocation Server names responses Tell server to return named response –script need not store message

OpenSig ‘ /20/2014 Request Naming Multiple requests proxied (forking) When response comes, script wants to match response to request Can use branch-id, but complex Solution: request-token Passed back to script when response comes Not same as response token: multiple responses per request a b c 2 a b c

OpenSig ‘ /20/2014 Message Merging When script outputs response or proxied request –server computes default resp/request –header fields are merged with script output Merging –header in script replaces header in message –header in script with no value deletes header in message Simplifies life –Script ignores Via’s, MaxForwards, etc.

OpenSig ‘ /20/2014 Example Output INVITE SIP/2.0 To: From: Call-ID: 10 Cseq: 0 INVITE Content-Length: 0 PROXY_REQUEST_TO SIP/2.0 Max-Forwards: SIP/ Ringing User CGI_SCRIPT_COOKIE aoi988ans0naa SIP/2.0

OpenSig ‘ /20/2014 Status Draft 1 submitted to IETF Dec98, draft 2 May 21, 1999 No wg to do it –likely we will submit as informational Two known implementations

OpenSig ‘ /20/2014 Solution II: CPL Call Processing Language –targeted for end user service creation –controls at high level –information available at high level –Describes basic service Model: SIB’s from IN –service = DAG –Two types of nodes action nodes: outputs = results decision nodes: ouputs = possible values –Safety –Bounds on compute time

OpenSig ‘ /20/2014 Example DAG String Switch field = “From” Proxy to Proxy to voic Proxy to otherwise No answer Busy No answer Call

OpenSig ‘ /20/2014 Representation Use XML –links = subtags –parameters = attributes –extensibility mechanisms useful –easy transport –generation/parsing by tools GUI for creation <location link=“vm”>

OpenSig ‘ /20/2014 Conclusion Services key Programmability serious problem Two solutions proposed: –SIP CGI –CPL