LESS effort, more services

Slides:



Advertisements
Similar presentations
August 2, 2005SIPPING WG IETF 63 ETSI TISPAN ISDN simulation services Roland Jesske Denis Alexeitsev Miguel Garcia-Martin.
Advertisements

SIP, Presence and Instant Messaging
Fall IM 2000 Evfolution of Presence Based Networks Evolution of Presence Based Networks Jonathan Rosenberg Chief Scientist.
SIP and Instant Messaging. SIP Summit SIP and Instant Messaging What Does Presence Have to Do With SIP? How to Deliver.
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.
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.
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.
Unified Communications (UC) Quick Reference Guide USING YOUR UC CLIENT This guide is designed to provide you with a quick overview of the Unified Communications.
Feature Interaction Handling in LESS Xiaotao Wu and Henning Schulzrinne Internet Real Time Laboratory.
1 CAMEL in GPRS prepaid service
ESI Phone System Training Adcom/Valentine Systems
Lab Telemàtica II: VoIP 2008/2009 Anna Sfairopoulou Page 1 Advanced services with SIP.
A Generic Event Notification System Using XML and SIP Knarig Arabshian and Henning Schulzrinne Department of Computer Science Columbia University
An Introduction to SIP Moshe Sambol Services Research Lab November 18, 1998.
Presence Vishal Kumar Singh and Henning Schulzrinne Feb 10, 2006.
Microsoft ® Lync ™ 2010 Review IM/Presence Basics.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Marlon Dumas marlon.dumas ät ut . ee
ClearPath Hosted MVP Web Portal 1. Log In Page Users are able to access the Web Portal by using their assigned user name and password. Access Web Browser.
Omer Boyaci, Victoria Beltran and Henning Schulzrinne IBM Service Science Workshop May 2010.
Internet Distribution device Routing Agent device Internal events CSTA mapper Adapt an existing client or craft a specific client Detect client internal.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
1 Detecting Script-to-Script Interactions in Call Processing Language Masahide Nakamura, Ken-ichi Matsumoto, Grad. School of Information Science, Nara.
Integrating VoiceXML with SIP services
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.
B2BUA – A New Type of SIP Server Name: Stephen Cipolli Title: System Architect Date: Feb. 12, 2004.
Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling) protocol.
Ubiquitous Programmable Internet Telephony End System Services Xiaotao Wu Internet Real Time Laboratory Thesis defense 02/06/2007.
SIPPING - IETF 62 - Minneapolis (March 2005) LESS effort, more services Xiaotao Wu Henning Schulzrinne Dept. of Computer Science Columbia University.
VoN September ‘98 1 9/17/98 VoN Standards Update Jonathan Rosenberg Bell Laboratories September 17, 1998.
ESERL Feature Interaction Management in Parlay/OSA Using Composition Constraints and Configuration Rules Alessandro (Alex) De Marco, Ferhat Khendek Dept.
Service Creation Model and Framework Focus: control, redirection services Challenges: –Simplicity, user-friendliness –Flexibility –Robustness (e.g., feature.
A Policy Architecture for Enhancing and Controlling Features Stephan Reiff-Marganiec Kenneth J Turner University of Stirling.
Project Objectives A multi-function programmable SIP user agent for multimedia communications, such as audio, video, white board, desktop sharing, shared.
The mandate of this working group is to facilitate effective service interoperability utilizing SIP in heterogeneous network environments as noted below.
Marlon Dumas University of Tartu
SIP Events: Changes and Open Issues IETF 50 / SIP Working Group Adam Roach
Ubiquitous Programmable Internet Telephony Services Xiaotao Wu Internet Real Time Laboratory Thesis defense.
7-May-02SIP/SIPPING Interim Meeting1 Application Interaction Requirements Draft-culpepper-app-interact-reqs-01.txt.
SIPc, a Multi-function SIP User Agent Xiaotao Wu and Henning Schulzrinne.
ECRIT - IETF 62 (March 2005) - Minneapolis 1 Requirements for Emergency Calling draft-schulzrinne-sipping-emergency-req-01 draft-ietf-sipping-sos-01 Henning.
1 Implementation of IMS-based S-CSCF with Presence Service Jenq-Muh Hsu and Yi-Han Lin National Chung Cheng University Department of Computer Science &
IETF61 (November 2004) SIMPLE1 Data model and RPID Henning Schulzrinne Columbia University.
SIP Programming : SIP has texture encoding feature.[1]
Virtual Office Queueing and Virtual Contact Center for: 2016 Strategic Account Manager: Sales Engineer: Bob Kundra.
Graphical Data Engineering
TensorFlow– A system for large-scale machine learning
IP Telephony (VoIP).
SIX MONTHS INDUSTRIAL TRAINING REPORT
Agenda and Status SIP Working Group
Session Initiation Protocol (SIP)
Jong Yul Kim, Wonsang Song, and Henning Schulzrinne
Where should services reside in Internet Telephony Systems?
Subject Name: Digital Switching Systems Subject Code:10EC82 Prepared By: Aparna.P, Farha Kowser Department: Electronics and Communication Date:
Programmable End System Services Using SIP
Call Manager - Quick Reference Guide
Marlon Dumas marlon.dumas ät ut . ee
call completion services
User to User Key Signaling Protocols
Event Notification in SIP SUBSCRIBE and NOTIFY and an example service
SIP Session Policies Volker Hilt
Simple, Flexible and Easy-to-Scale Cloud PBX Solution
SIP Basics Workshop Dennis Baron July 20, 2005.
Henning Schulzrinne Columbia University
Policy enforcement and filtering for geospatial information
Presentation transcript:

LESS effort, more services Xiaotao Wu Henning Schulzrinne Dept. of Computer Science Columbia University SIPPING - IETF 62 - Minneapolis (March 2005)

The Language for End System Services (LESS) Simple Based on CPL: enhancement and extension Four kinds of elements: trigger, switch, action, modifier Tree-like structure simplifies feature interaction analysis Safe Type safety: XML-based, no user defined variables Control flow safety: tree-like structure without back-reference No direct memory access Default behavior for every tree branch Handle user interactions and media operations Beyond call control presence, IM, Web, mid-call handling, location Separate modifier from action parameters: two smaller concepts might be simpler and more flexible than one more powerful but complicated concept. SIPPING - IETF 62 - Minneapolis (March 2005)

SIPPING - IETF 62 - Minneapolis (March 2005) Supported services Services in ITU Q.1211 ABD, ACB, CFC, CHA, QUE, CRG, OCS, … Services in 5ESS switches Attendant camp-on, Automatic recall, … Services in CSTA Phase III defined as signaling actions in LESS, e.g., mediaupdate Location-based services location-switch Event-based services approve, deny, subscribe, notify Mid-call handling transfer, update media attributes Call queuing Other Internet services - mail, send IM Abbreviated dialing (ABD), Automatic Callback (ACB) Call forwarding on busy/don’t answer (CFC) Call hold with announcement (CHA) Call queueing (QUE) Customized ringing (CRG) Originating call screening (OCS) SIPPING - IETF 62 - Minneapolis (March 2005)

SIPPING - IETF 62 - Minneapolis (March 2005) LESS triggers incoming: incoming call handling timer: timer triggered actions UI:command: user interaction commands IM:message: incoming instant messaging Event:subscription: incoming subscription Event:notification: incoming notification Pre-defined variables: System information: system.bandwidth User information: user.presence user.activity, user.mood, user.location, user.language Agent information: agent.number-of-calls agent.media-capabilities Trigger information: trigger.origin trigger.destination trigger.timestamp Action information: action.last-action-result Any action will have a ‘next’ output for sequential follow-up actions <xs:complexType name="ActionType" abstract="true" mixed="true"> <xs:all> <xs:element name="next" minOccurs="0"> <xs:complexType> <xs:group ref="Node"/> </xs:complexType> </xs:element> </xs:all> SIPPING - IETF 62 - Minneapolis (March 2005)

SIPPING - IETF 62 - Minneapolis (March 2005) LESS switches time-switch: make decisions based on time address-switch: make decisions based on caller, callee priority-switch: make decisions based on call priority string-switch: make decisions based on subject, … language-switch: make decisions based on languages status-switch: make decisions based on users’ status (remote user or local user, status includes presence, activity, mood, …, as listed in RPID) Event:event-switch: check values in event notifications LOC:where-switch: check users’ physical location information (remote or local user) LOC:where-relation-switch: check relative physical locations between two people SIPPING - IETF 62 - Minneapolis (March 2005)

SIPPING - IETF 62 - Minneapolis (March 2005) LESS actions accept: accept an incoming call reject: reject an incoming call redirect: redirect an incoming call authenticate: authenticate an incoming request call: make an outgoing call terminate: disconnect a call wait: wait for a certain time before next action mail: send email log: log request handling process Media:mediaupdate: update media attributes Midcall:transfer: transfer a call SIPPING - IETF 62 - Minneapolis (March 2005)

SIPPING - IETF 62 - Minneapolis (March 2005) LESS actions Midcall:merge: merge multiple calls UI:alert: alert user UI:getinput: get user input IM:sendmsg: send an instant message Event:approve: approve subscription Event:deny: deny event subscription Event:defer: defer the decision on event subscription Event:subscribe: send subscription out Event:notify: send notification out Queue:enqueue: put a call and its context into a queue Queue:dequeue: get a call and its context from a queue SIPPING - IETF 62 - Minneapolis (March 2005)

SIPPING - IETF 62 - Minneapolis (March 2005) LESS modifiers location: to which a request to be directed lookup: lookup locations from a source remove-location: remove locations from location set Media:media: provide media attributes SIPPING - IETF 62 - Minneapolis (March 2005)

Timer triggered outgoing call <?xml version="1.0" encoding="UTF-8"?> <less xmlns="urn:ietf:params:xml:ns:less“ xmlns:IM="urn:ietf:params:xml:ns:less:im“ xmlns:xsi=“…" xsi:schemaLocation=“…"> <timer dtstart="20050307T110000Z"> <status-switch uri="sip:bob@example.com" status-name="presence"> <status is="open"> <location url="sip:bob@example.com"> <call> <busy> <IM:sendmsg> Hi, please call me back. I am in office </IM:sendmsg> </location> ……………. SIPPING - IETF 62 - Minneapolis (March 2005)

Automatic Call Back (ACB) <less xmlns="urn:ietf:params:xml:ns:less“ xmlns:Event="urn:ietf:params:xml:ns:less:event“ xmlns:Queue="urn:ietf:params:xml:ns:less:queue“ xmlns:xsi=“….“ xsi:schemaLocation=“……"> <incoming> <status-switch status-name=“activity”> <status is=“on-the-phone"> <reject reason=“busy”> <next> <Queue:enqueue queue="callback"/> </next> </reject> </status> </status-switch> </incoming> Use Event and Queue extension In ITU Q.1211 “This feature allows the called party to automatically call back the calling party of the last call directed to the called party.” Check my activity for an incoming call If I am on-the-phone Reject and enqueue SIPPING - IETF 62 - Minneapolis (March 2005)

Automatic Call Back (ACB) (cont.) A event notification for myself <Event:notification> <address-switch field="origin"> <address uri="{agent.uri}"> <Event:event-switch> <Event:event package=“presence" name=“activity" is=“normal"> <Queue:dequeue queue="callback"> <Queue:success> <call/> </Queue:success> </Queue:dequeue> </Event:event> </Event:event-switch> </address> </address-switch> </Event:notification> </less> I am available Dequeue and make a call SIPPING - IETF 62 - Minneapolis (March 2005)

Feature Interaction handling Syntax correct, semantic warnings e.g., parent switch and child switch mutually exclusive By-product of modularity Focusing on current needs when creating services FI handling between multiple CPL/LESS scripts Action conflict tables Tree merging algorithm Multi-component feature interactions e.g., parallel forking with all end systems automatically accept an incoming call – need to check presence Translate to formal languages (e.g., LOTOS) to check FI with other complex services Semantic warnings: <address-switch field=“origin”> <address subdomain-of=“cs.columbia.edu”> <address is=“foo@nyu.edu”> …… Action conflict tables: check pre-condition and expected results of all actions, with defined execution order check the interactions between action A and action B, we first check the situation where A is performed before B. The checking consists of two parts: one is to check whether action A’s result changes or conflicts with the pre-condition of action B, the other is to check whether action B’s result changes the expected result of action A. We then check the interactions with a different execution order with action B performed first and do the same checking. Tree merging algorithm: check switch overlap and merge two trees the leave nodes are actions, based on action conflict table, check feature interactions if there are feature interactions, report to users about the condition (overlap between switches) feature interactions may happen SIPPING - IETF 62 - Minneapolis (March 2005)

SIPPING - IETF 62 - Minneapolis (March 2005) Open issues Can we use LESS for B2BUA? lookup from database coordinate multiple sessions multi-user feature interaction handling No loop and no user-defined variables is sufficient for commonly used services? Based on our exercises, yes But, what about unknown new services? What’s the impact on feature interaction handling SIPPING - IETF 62 - Minneapolis (March 2005)

SIPPING - IETF 62 - Minneapolis (March 2005) Some links Spec: http://www.ietf.org/internet-drafts/draft-wu-iptel-less-00.txt Service examples: http://www.cs.columbia.edu/~library/TR-repository/reports/reports-2004/cucs-048-04.pdf Feature interaction handling: http://www.cs.columbia.edu/~xiaotaow/rer/Research/Paper/fiw.pdf Computer Networks (Elsevier), Volume 45, Issue 5 SIPPING - IETF 62 - Minneapolis (March 2005)