FEATURE DISAMBIGUATION

Similar documents
FROM ARCHITECTURE TO REQUIREMENTS* : A TELECOMMUNICATIONS*

From Architecture to Requirements: A Success Story

MODULARITY IN DISTRIBUTED FEATURE COMPOSITION

EXPERIENCE WITH COMPONENT-BASED DEVELOPMENT OF A TELECOMMUNICATION SERVICE

The Session Initiation Protocol

SIP Compliance APPENDIX

FORMAL METHODS IN NETWORKING COMPUTER SCIENCE 598D, SPRING 2010 PRINCETON UNIVERSITY LIGHTWEIGHT MODELING IN PROMELA/SPIN AND ALLOY

IP Office Release 7.0 IP Office Essential Edition - Quick Version Embedded Voic User Guide

The search being performed may take a significant time so a forking proxy must send a 100 Trying response.

C O N TA C T !!!!!! Portfolio Summary. for more information July, 2014

IPsec NAT Transparency

Table of Contents. Cisco How NAT Works

Overview of the Session Initiation Protocol

P2PSIP Draft Charter. Dean Willis March 2006

IP Office Intuity Mailbox Mode User Guide

Information About SIP Compliance with RFC 3261

Page 2 Skype Connect Requirements Guide

A Standards Based Software Environment for Providing SIP Application Composition

Spectrum Enterprise SIP Trunking Service Mitel 3300/MCD/MiVoice IP PBX Configuration Guide

Telephone Answering: The system answers the telephone for you when you are either on the phone or away from your desk.

Spectrum Enterprise SIP Trunking Service Mitel 3300/MCD/MiVoice v7.0 SP1PR1 IP PBX Configuration Guide

CATI Scenario and Architecture

Cisco Unity Express Windows and Menus

Service Managed Gateway TM. Configuring IPSec VPN

PPreferredID = "P-Preferred-Identity" HCOLON PPreferredID-value. *(COMMA PPreferredID-value)

An IMS testbed for SIP applications

IP Office. IP Office Mailbox Mode User Guide Issue 11b - (15 May 2010)

IPsec NAT Transparency

All-IP Core Network Multimedia Domain

Collaborate App for Android Smartphones

Oracle. Sales Cloud Using Sales for Outlook. Release 13 (update 18A)

Requirements Engineering. Establishing what the customer requires from a software system. Requirements Engineering. What is a Requirement?

Deploying, Configuring, and Administering Microsoft Lync Server 2010 (MS 10533A)

REQUESTING EMERGENCY SERVICES. MDS AMIBA TERMS OF SERVICE Welcome to MDS AMIBA Broadband Phone Service. THESE TERMS AND CONDITIONS STATE IMPORTANT

Request for Comments: 4083 Category: Informational May 2005

Introduction to Cryptoeconomics

TELEPHONE USER GUIDE

Voic to (including Voic )

Avaya CallPilot Mini Message Networking User Guide

Independent Submission. March 2010

ProxyCap Help. Table of contents. Configuring ProxyCap Proxy Labs

IP Office 6.1 Embedded Voic Mailbox User Guide

TDS managedip Hosted Android User Guide for managedip UC

Avanti 3020 and Avanti 3015D telephone sets

Sonus Networks engaged Miercom to evaluate the call handling

Thirty one Problems in the Semantics of UML 1.3 Dynamics

AT&T Voice DNA Voic Quick reference guide

silhouette Voice mail getting started guide Release 4.0 Final

Compliance with RFC 3261

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming

11:1 Anonymous Internet Access Method for Wireless Systems

Avaya Aura Call Center Elite Documentation Roadmap

babytel Voic Reference Guide

Call Pilot Auto-Attendant

3GPP TS V8.7.0 ( )

TSC (Total Solution Communications Ltd)

Journal of Information, Control and Management Systems, Vol. X, (200X), No.X SIP OVER NAT. Pavel Segeč

Calling/Connected Line Identification Presentation on Yealink IP Phones

Service Provider PAT Port Allocation Enhancement for RTP and RTCP

RTP model.txt 5/8/2011

Voice Mail Users Guide

Collaborate App for Android Tablets

Fishnet Assignment 1: Distance Vector Routing Due: May 13, 2002.

User guide for All Types of Telephone Sets

Cisco ATA 191 Analog Telephone Adapter Overview

VoIP Telephone Features & Voic Unity Voice Mail Training Manual

Callback Assist InterOp with Avaya Aura Contact Center. Application Note

Oracle Communications WebRTC Session Controller

4.2 IMS Service Creation

End User Guide Cloud PBX

Manage User Features

Microsoft Office Communicator 2007 R2 Getting Started Guide. Published: December 2008

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

IP Multimedia Subsystem Part 5 Marek Średniawa

Next Paradigm for Decentralized Apps. Table of Contents 1. Introduction 1. Color Spectrum Overview 3. Two-tier Architecture of Color Spectrum 4

3300 IP Communications Platform

28 Deploying IN Services in a Mobile Environment

IP Office Platform. Using Voic Pro in Intuity Mode Issue 10a - (16 January 2015)

Zultys Advanced Communicator ZAC 2.0 User Manual

Request for Comments: 3764 Category: Standards Track April enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record

ECMA st Edition / December Corporate Telecommunication Networks - Signalling Interworking between QSIG and SIP - Call Transfer

Cox Business VoiceManager SM User Reference Guide

IP Office Release 9.0

Spectrum Enterprise SIP Trunking Service SIPfoundry sipxecs Firmware IP PBX Configuration Guide

Cisco Expressway Session Classification

NGN: Carriers and Vendors Must Take Security Seriously

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

WWW Applications for an Internet Integrated Service Architecture

No required additional monthly fees just use the wireless minutes and data from your existing plan.

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

Describe the EdgeMarc s VoIP Survivability facility; how it works and how it is configured.

Cisco Expressway Options with Cisco Meeting Server and/or Microsoft Infrastructure

AMERICAN NATIONAL STANDARD

Managing Service Capability and Service Feature Interactions in the IMS of UMTS

changing the way you share your world Call Management Services User Guide

FORMAL METHODS IN NETWORKING COMPUTER SCIENCE 598D, SPRING 2010 PRINCETON UNIVERSITY LIGHTWEIGHT MODELING IN PROMELA/SPIN AND ALLOY

Nortel CallPilot Multimedia Messaging User Guide

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf

Avaya 3100 Mobile Communicator - Web UI User Guide. Avaya 3100 Mobile Communicator Release 3.1

Privacy Policy First National Real Estate Ireson Real Estate Pty Ltd ACN

Transcription:

FEATURE DISAMBIGUATION "Call Forwarding is a mechanism, not a feature." Pamela Zave AT&T Laboratories Research Florham Park, New Jersey, USA pamela@research.att.com

FEATURE AMBIGUITY A and B are addresses A subscribes to Call Forwarding a call to A is forwarded to B WHAT IS THE PURPOSE OF THIS FUNCTION? IT COULD BE... to reach person A at a device B near his expected location to reach a group A by reaching a representative B of the group to conceal from the caller, behind the alias A, the true identity B of the callee to redirect the call to B, which should have been dialed instead of A because A cannot be reached, to reach B, an emergency backup for A to use device B as a component of a virtual, multimedia device A because A cannot be reached, to connect the caller with a voice-mail resource B

AMBIGUITY AND FEATURE INTERACTION AMBIGUITY MAKES IT IMPOSSIBLE TO MANAGE FEATURE INTERACTIONS (TO MAKE FEATURES INTERACT IN THE CORRECT WAYS)... A... BECAUSE IT IS IMPOSSIBLE TO DETERMINE WHICH INTERACTIONS ARE THE CORRECT ONES Call Forwarding Voice Mail forward unavailable whose Voice Mail should treat the failure? B Voice Mail it depends on the purpose of the forwarding! to reach person A at a device B near his expected location (B is a cellphone, Voice Mail is triggered whenever device is unavailable) to reach group A by reaching a representative B of the group to redirect the call to B, which should have been dialed instead of A covers many possibilities; for example, A is on vacation and B is A's substitute because A cannot be reached, to reach B, an emergency backup for A Voice Mail of A Voice Mail of B

AMBIGUITY AND GLOBAL REQUIREMENTS BY CONCEALING PURPOSES RATHER THAN EMPHASIZING THEM WE MISS MANY OPPORTUNITIES TO UNDERSTAND GLOBAL REQUIREMENTS FOR TELECOMMUNICATION SERVICES Requirements are here, not here, telecommunication network and they concern: what goals do users have? how can telecommunication functions help achieve them? what worries do users have? what guarantees would reassure them? current networks make no global guarantees about privacy, security, predictability, etc. this situation may not be acceptable to the public forever

WHAT CAN BE DONE ABOUT FEATURE AMBIGUITY? RELY ON USER PREFERENCES TO DETERMINE CORRECT FEATURE INTERACTIONS it is very unrealistic to expect users to understand the consequences of various preferences (we don't understand them ourselves!) respecting the preferences of individual users will never resolve goal conflicts between users, which are very important in the real world GRIFFETH & VELTHUIJSEN SOLUTION: AGENTS NEGOTIATING BASED ON POLICIES A SIMPLE APPROACH: first noted in [Griffeth & Velthuijsen 94]? associate features with purposes, not with mechanisms such as call forwarding understand what concrete or abstract entity an address represents leads to more features and more addresses, but this causes no insurmountable problems NEXT: an illustration of the potential of this simple approach more details on Friday!

FORMAL MODEL: REQUEST CHAINS A TELECOMMUNICATION NETWORK CONNECTS DEVICES BY CREATING REQUEST CHAINS all feature modules are optional src=s1 trg=t2 source feature module s1 src=s2 trg=t2 SOURCE REGION source feature module s2 the formal model concerns the application of features, not module identity (two modules could be parts of a whole, there could be many instances of a module) TARGET REGION src=s2 trg=t2 target feature module t2 src=s2 trg=t1 target feature module t1 a request can set up a persistent signaling channel; all signals related to the request travel on this channel; media is controlled logically (but not physically) by these signals a feature module performs address translation when it continues a request chain, changing its source or target address in the continuation src=s2 trg=t1 interface module s1 interface module t1 any part of a signaling channel can be torn down at any time

FORMAL MODEL: ROUTING ALGORITHM mode=src src=s mode=trg trg=t INITIATING MODULE module s CONTINUING MODULE src unchanged src changed trg unchanged trg changed mode=src src=s mode=trg src=s mode=src src=s' mode=end trg=t mode=trg trg=t' FM NETWORK ROUTER if (mode==src) then if (src has SFM m) then route to m else {mode:=trg; restart routing} if (mode==trg) then if (trg has TFM m) then route to m else {mode:= end; restart routing} else (mode==end) if (trg has IM m) then route to m else route to error module IM chain is initiated by a feature module two continuations of chain FM FM FM FM IM chain ends at feature module There is a bit of solution in this formulation of the problem, but it is similar enough to all telecommunication protocols.

ADDRESS-TRANSLATION FUNCTIONS WHAT FUNCTIONS ARE BEING PERFORMED? WHY ARE THEY BEING PERFORMED? ON WHOSE BEHALF ARE THEY BEING PERFORMED? SOURCE REGION TARGET REGION source source target src=c1 feature src=a1 feature src=a1... feature module module trg=a2 module c1 a1 a2 trg=c2 if a1 and a2 identify: groups mobile entities roles then the source translation is: affiliation: affiliate the caller with the group positioning: position the mobile entity at the location of the calling device assumption: assume the role for the caller and the target translation is: representation: find a representative of the group location: find the location of the mobile entity resolution: translate the role to the entity playing the role

ORGANIZATION OF ADDRESSES EACH ADDRESS HAS ONE OR MORE OWNERS an owner has rights and responsibilities an owner knows the authentication secret ADDRESSES MUST BE CATEGORIZED ACCORDING TO WHAT THEY IDENTIFY OR REPRESENT for example: device person group role and combinations thereof ADDRESS CATEGORIES MUST BE PARTIALLY ORDERED BY "ABSTRACTION" by definition: a group is more abstract than a person representing the group a person is more abstract than a device where he is located a public role is more abstract than a private identity THE PRIMARY PURPOSE OF ADDRESS TRANSLATION IS TO CHANGE LEVEL OF ABSTRACTION in the source region, source addresses become successively more abstract in the target region, target addresses become successively more concrete

INTERACTION: IDENTIFICATION PEOPLE AND FEATURE MODULES USE ADDRESSES TO IDENTIFY THE PARTIES WITH WHOM THEY ARE COMMUNICATING A FEATURE THAT PERFORMS ADDRESS TRANSLATION INTERACTS WITH OTHER FEATURES BY AFFECTING THE IDENTIFICATION INFORMATION THEY RECEIVE These principles balance conflicting goals: PRIVACY A person should be able to conceal a more private address that he owns behind a more public address that he owns. AUTHENTICITY A person should not be able to pose as an owner of an address he does not own. r1 hides d1 as source IM d1 d1 is not observable d2 is not observable upstream downstream src src =d1 SFM =r1 SFM TFM TFM d1 r1 trg r2 trg d2 =r2 =d2 r2 hides d2 as target trg =d2 IM d2 d1 r1 authentication dialogues r2 d2

INTERACTION: CONTACT PEOPLE AND FEATURE MODULES USE ADDRESSES TO CONTACT THE PARTIES WITH WHOM THEY WISH TO COMMUNICATE A FEATURE THAT PERFORMS ADDRESS TRANSLATION INTERACTS WITH OTHER FEATURES BY AFFECTING THE CONTACT INFORMATION THEY RECEIVE REVERSIBILITY A target feature module or callee should be able to call the source address of a request chain and and thereby target the entity that initiated it. this is the most abstract source address, not the caller device feature modules in the target region do not change the src address src=s src=s src=s TFM TFM IM REPRODUCIBILITY A feature module or person should be able to call the same entity twice and be connected to the same representative of that entity. conflicts with mobility and the freedom of representation functions

INTERACTION: INVOCATION THE ADDRESSES IN A REQUEST CHAIN DETERMINE WHICH FEATURE MODULES ARE IN THE CHAIN BOUNDEDNESS The numbers of source and target feature modules in a chain should be bounded. leads to A FEATURE THAT PERFORMS ADDRESS TRANSLATION INTERACTS WITH OTHER FEATURES BY AFFECTING WHICH FEATURES ARE INVOKED MONOTONICITY In a region, the feature modules of more concrete addresses should be closer to the outer end of the region than feature modules of more abstract addresses. concrete SOURCE REGION abstract abstract TARGET REGION concrete each feature module knows where the more abstract and more concrete features are features can be prioritized and coordinated (e.g., by token passing) without knowledge of other features

RELATION TO REQUIREMENTS AND ARCHITECTURE THE PRINCIPLES OF PRIVACY, AUTHENTICITY, REVERSIBILITY, AND BOUNDEDNESS ARE "PROTO-REQUIREMENTS" Privacy: A person should be able to conceal a more private address that he owns behind a more public address that he owns. vague, informal THE ARCHITECTURE IS FORMALLY DEFINED, STRESSES MODULARITY AND EXTENSIBILITY modules can be added easily each module is context-independent formalized in terms of request chains we know what concealment is (observable by module = observable by owner of module's address) THERE ARE CONSTRAINTS AND RESULTING PROPERTIES THAT ARE PRECISE AND FORMAL; THEY SATISFY THE PRINCIPLES IN A WAY THAT IS SIMPLE, MODULAR, AND EXTENSIBLE Source Privacy: If s1 is a source address in a request chain, and if s1 has a source feature module that changes the source address to s2 in this chain, then s1 is not observable as a source downstream of this module. there are no true requirements, satisfiable by systems with any architecture,......but this architecture is very valuable,......and we are beginning to understand something about goals and global guarantees

PROTOCOL AMBIGUITY PROTOCOL: any mechanism for interaction among features and services (includes, but is not limited to, what we usually call "protocols") PROTOCOL AMBIGUITY: the overloading that arises because there are an infinite number of things that features might say to each other, yet a protocol only allows them to say a fixed set of things PROTOCOL AMBIGUITY IS A MUCH HARDER PROBLEM THAN FEATURE AMBIGUITY we can add features and addresses unilaterally and arbitrarily a protocol is for communication a protocol extension is a global change THE SESSION INITIATION PROTOCOL (SIP) TAKES THE "MAXIMAL" APPROACH TO THIS PROBLEM there are 50 response codes (message subtypes) there are 44 possible header fields in spite of all this, there are obvious things (e.g., produce ringback in a click-to-dial situation) you can't do with SIP a header field can contain at least 9 parameters the standard is 269 pages

THE SIP DISCLAIMER Every time I say, "You can't do X with SIP" someone says, "Of course you can. Company Y achieves X by.... " "You can't do X with SIP" is an abbreviation for: My team of SIP experts says that the ability to do X is not included in the common consensus of what SIP is. Our evidence consists of: publicly available writings on SIP attending IETF meetings testing and using SIP-based equipment from several vendors Although we expect X to be built into a telecommunication protocol, when we need to do X in a SIP context, we have to build a special work-around.

PROTOCOL COMPARISON: RECOMMENDED USE OF SIP SIP server for C "looking for A" "A can currently be reached at B" SIP server for A remainder of communication is between these servers or the endpoints the direct communication between C and B is prized for its efficiency, BUT no mid-call features of A can apply "looking for B" additional fields say: whether move is temporary or permanent if temporary, how long it will last what else will be needed? what about race conditions? what about unexpected changes? SIP server for B because of signaling/media separation, it would be possible to route signaling through A without routing media through A

PROTOCOL COMPARISON: DISTRIBUTED FEATURE COMPOSITION (DFC) DFC features for C target = A DFC features for A SIGNALING FOR A CALL TO A PASSES THROUGH THE FEATURE MODULE OF A, AND REMAINS THERE THROUGHOUT THE DURATION OF THE CALL there is nothing in the protocol about delegating responsibility for A, so the protocol is simpler and has more closure because responsibility for A is centralized, there are no update or synchronization problems concerning the state of A features of A can apply at any time because of optimizations in the DFC implementation, media need not pass through the module for A DFC features for B target = B

CONCLUSIONS FEATURE AMBIGUITY "Call Forwarding is a mechanism, not a feature." PROTOCOL AMBIGUITY this is a really hard problem the DFC example gives us a hint (about allocating responsibility), but we still have plenty of unsolved problems with DFC