Feature Interaction Handling in LESS Xiaotao Wu and Henning Schulzrinne Internet Real Time Laboratory.

Slides:



Advertisements
Similar presentations
SIP, Presence and Instant Messaging
Advertisements

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.
SIP and Instant Messaging. SIP Summit SIP and Instant Messaging What Does Presence Have to Do With SIP? How to Deliver.
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.
Pune, India, 13 – 15 December 2010 ITU-T Kaleidoscope 2010 Beyond the Internet? - Innovations for future networks and services Klemen Peternel Luka Zebec,
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.
Johan Garcia Karlstads Universitet Datavetenskap 1 Datakommunikation II Signaling/Voice over IP / SIP Based on material from Henning Schulzrinne, Columbia.
July 13, 2006SIPPING WG IETF 66Slide # 1 ETSI TISPAN call completion services (draft-poetzl-sipping-call-completion-00) Roland
Putting Mobile Services into ContextDynamic Context-aware Personalisation for Smart Services S. Gallacher, E. Papadopoulou, N.K.Taylor, M.H.Williams Heriot-Watt.
W3C Workshop on Web Services Mark Nottingham
1Proprietary and Confidential AirVantage API – Getting started David SCIAMMA – June 13th 2014.
ESI Phone System Training Adcom/Valentine Systems
Packetizer ® Copyright © 2009 H.325 Overview Paul E. Jones Rapporteur, Q12/16 H.325 Experts Group April 7,
Using Presence Information to Develop Converged Telecom Services Standards and Challenges Parijat Garg Computer Science, IIT Bombay.
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
Network Administration Procedures Tools –Ping –SNMP –Ethereal –Graphs 10 commandments for PC security.
Microsoft ® Lync ™ 2010 Attendant Training. Objectives This training course covers the following Microsoft Lync 2010 Attendant features: Using the Contacts.
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
ORBIT NSF site visit - July 14, Location-based Services & data propagation in ORBIT Henning Schulzrinne Dept. of Computer Science.
Presence Vishal Kumar Singh and Henning Schulzrinne Feb 10, 2006.
Responding to an Everbridge Notification
8/6/2015Auto Attendants 1 Smarter Communications.
Microsoft ® Lync ™ 2010 Review IM/Presence Basics.
2 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. July 2013 OPENTOUCH CONVERSATION FOR IPHONE R1.3 PRODUCT PRESENTATION.
Omer Boyaci, Victoria Beltran and Henning Schulzrinne IBM Service Science Workshop May 2010.
Packetizer ® Copyright © 2008 H.325 Beyond Today’s Second Generation Systems Paul E. Jones Rapporteur, ITU-T Q12/16 1.
Code : STM#360 Samsung Electronics Co., Ltd. Introduction to OfficeServ UMS Distribution EnglishED01.
© 2008 Cisco Systems, Inc. All rights reserved.CIPT1 v6.0—5-1 Implementing Media Resources, Features, and Applications Integrating Cisco Unified Communications.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Integrating VoiceXML with SIP services
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.
Sympa Mailing List Server
Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling) protocol.
Internet2 spring meeting1 Making the phone not ring Henning Schulzrinne Department of Computer Science Columbia University Internet2.
BRIAN WYKA.  Web-based project manager  Ideal for small company  Portal for employees to interact with each other  A way for administrators to monitor.
Use Cases 7/09. lnot part of the system lrepresents roles a user can play lrepresents a human, a machine or another system lactively exchanges information.
Ubiquitous Programmable Internet Telephony End System Services Xiaotao Wu Internet Real Time Laboratory Thesis defense 02/06/2007.
OCRI Partnership Conference Series - Ottawa, Presence Services: A Look at the Future Tom Gray Luigi Logrippo Pinetel Université du Québec.
HandsFree Profile (HFP) 통신연구소 S/W Team 이상제.
The Switchvox Extend API
Presented By Team Netgeeks SIP Session Initiation Protocol.
SIPPING - IETF 62 - Minneapolis (March 2005) LESS effort, more services Xiaotao Wu Henning Schulzrinne Dept. of Computer Science Columbia University.
Countermeasures of Spam over Internet Telephony in SIP.edu Campuses with MySQL and LDAP Support Speaker: Chang-Yu Wu Adviser: Dr. Quincy Wu School: National.
VoN September ‘98 1 9/17/98 VoN Standards Update Jonathan Rosenberg Bell Laboratories September 17, 1998.
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.
ORBIT: Location- based services Henning Schulzrinne Columbia University.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Ubiquitous Programmable Internet Telephony Services Xiaotao Wu Internet Real Time Laboratory Thesis defense.
SIPc, a Multi-function SIP User Agent Xiaotao Wu and Henning Schulzrinne.
IP Telephony (VoIP).
SIP for Grid networks Franco Callegati, Aldo Campi, Walter Cerroni
Deploying IP Telephony
SAMMS Secure Authorized Monitored Messaging System
Where should services reside in Internet Telephony Systems?
LESS effort, more services
Programmable End System Services Using SIP
Making the phone not ring Henning Schulzrinne Department of Computer Science Columbia University Internet2 spring meeting May 3, 2005.
Internet Real-Time Laboratory demonstration
Policy enforcement and filtering for geospatial information
Presentation transcript:

Feature Interaction Handling in LESS Xiaotao Wu and Henning Schulzrinne Internet Real Time Laboratory

2 Overview End system services CPL and LESS Feature interaction handling in CPL/LESS Action conflict table Tree merging More than call control services Open issues

3 Where to put services End devicesEnd serversNet UAsProxyB2BUA Number of users SingleSingle/trust ed users Multiple Call/dialog states Yes NoYes MediaYesYes/noYesNoYes/no Number of entities SingleMultipleSingleMultiple Direct interaction YesNo/yesNo Admin.End user Admin. Store services in the network, though they may get executed in end systems Keep the peer-to-peer architecture, avoid the master/slave architecture

4 CPL and LESS CPL: Call Processing Language LESS: Language for End System Services Simple Four kinds of elements: trigger, switch, action, modifier Tree-like structure, easy for 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 Portability Handle user interactions and media operations Beyond call control presence, IM, Web, location IEEE ICC’03 RFC3880

5 Tree-like structure Using a tree-like structure to represent communication services Natural thinking of call decision making – a rule set For an incoming call, if I am in a conference, I will reject all the calls that are not from my boss. A decision tree to represent a rule set For an incoming call If I am in a conference If the call is from my boss Vibrate my device Reject the call YES NO CPL and LESS

6 Timer triggered outgoing call <less xmlns="urn:ietf:params:xml:ns:less “ xmlns:IM="urn:ietf:params:xml:ns:less:im “ xmlns:xsi= “… " xsi:schemaLocation= “… "> <status-switch status-name="presence"> Hi, please call me back. I am in office …………….

7 LESS elements 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

8 LESS elements (cont.) 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

9 LESS elements (Cont.) 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 log: log request handling process Media:mediaupdate: update media attributes Midcall:transfer: transfer a call 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

10 LESS elements (Cont.) Two smaller concepts might be simpler and more flexible than one more powerful but complicated concept 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

11 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=“……"> <status-switch status-name=“activity”> <Queue:enqueue queue="callback"/> 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 Use Event and Queue extension If I am on-the-phone Reject and enqueue

12 <Event:event package=“presence" name=“activity" is=“normal"> <Queue:dequeue queue="callback"> A event notification for myself I am available Dequeue and make a call Automatic Call Back (ACB) (cont.)

13

14

15

16 LESS script customization xsl:if LESS editor service.less (template) XSLT less.xsl configuration editor service.html translate.cgi service_foo.less address is=$var

17 accept Feature interaction analysis Tree merging + = If time is between 10:00AM and 11:00AM If address is hgs Forward to conf Incoming call If time is between 10:00AM and 11:00AM If address is hgs reject Forward to conf reject accept Take actions from both scripts. Simply setting precedence rules cannot work.

18 Feature interaction analysis 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

19 Related work of CPL FI handling Related work Syntax correct, semantic warnings e.g., parent switch and child switch mutually exclusive Translate to formal languages to check FI with other complex services

20 Pre-condition and expected results pre-conditionexpected results accept The call setup is pending. The audio device is available. The call setup is finalize. The communication session is setup. The audio device is occupied. reject The call setup is pending.The call setup is finalized. redirect The call setup is pending.The call setup is finalized on the current end system. call The audio device is available.If the callee side accepts the call, a communication session is setup and audio device is occupied.

21 Action conflict table acceptrejectredirectcall accept A(media)CCR reject CA(reason)C- redirect CCA(target)- call R--A(target) -: no interaction, A: attribute conflict, C: action conflict, (C): avoidable conflict, E: enabling, R: resource competition

22 Tree merging set base-rule-set empty foreach LESS-tree { convert the LESS-tree into a rule set foreach rule in the rule set { normalize the rule } merge the normalized rule set into base-rule-set } convert base-rule-set into a decision tree

23 Tree merging (cont.) if (two rules have different triggers) { no rule conflict except timer trigger } else if actions in two rules do not conflict { no rule conflict } else if no overlap between rule path in two rules { no rule conflict } else { two rules conflict with each other, return the rule path overlap and action conflict information prompt to the script owner to judge }

24 Rich signaling information can help to solve feature interactions Rich signaling information SIP headers Caller preference and callee capabilities MIME contents Event notification Other means Web calendar, Directory services

25 More than just call control services Interact with existing Internet services web SLP SAP IM presence location networked appliance control directory service calendar service conferencing Not named services, but programmable services Programmable conferencing services

26 Open issues Can we use LESS for B2BUA? ‘lookup’ from database coordinate multiple sessions multi-user feature interaction handling Loop and user-defined variables needed? Based on our exercises, no But, what about unknown new services? Convert loop to a high-level abstraction? What’s the impact on feature interaction handling

27 Some links LESS: Service examples: repository/reports/reports-2004/cucs pdfhttp:// repository/reports/reports-2004/cucs pdf Feature interaction handling: ~xiaotaow/rer/Research/Paper/fiw.pdfhttp:// ~xiaotaow/rer/Research/Paper/fiw.pdf SIPc: CINEMA:

28 Acknowledgements Dr. Henning Schulzrinne This project is supported by the funding from SIPQuest Thank you!