69
Ubiquitous Programmable Ubiquitous Programmable Internet Telephony End Internet Telephony End System Services System Services Xiaotao Wu Internet Real Time Laboratory Thesis defense 02/06/2007

Ubiquitous Programmable Internet Telephony End System Services

  • Upload
    yule

  • View
    26

  • Download
    0

Embed Size (px)

DESCRIPTION

Ubiquitous Programmable Internet Telephony End System Services. Thesis defense 02/06/2007. Xiaotao Wu Internet Real Time Laboratory. Overview. Communication services and where to run the services End system services Programmable – Service creation Analyzable – Feature interaction handling - PowerPoint PPT Presentation

Citation preview

Page 1: Ubiquitous Programmable Internet Telephony End System Services

Ubiquitous Programmable Ubiquitous Programmable Internet Telephony End System Internet Telephony End System

ServicesServices

Xiaotao WuInternet Real Time Laboratory

Thesis defense02/06/2007

Page 2: Ubiquitous Programmable Internet Telephony End System Services

2

OverviewOverview Communication services and where

to run the services End system services

Programmable – Service creation Analyzable – Feature interaction handling Intelligent – Feature learning Ubiquitous – Context-based services

Implementations Other work

Page 3: Ubiquitous Programmable Internet Telephony End System Services

3

Services and where to run services I analyzed the difference between end system

services and services in the network (IPTS’00)

End system services Programmable Analyzable Intelligent Ubiquitous

Implementations Other work

Page 4: Ubiquitous Programmable Internet Telephony End System Services

4

Where to run services?Where to run services?

Internet

Page 5: Ubiquitous Programmable Internet Telephony End System Services

5

Run services on end Run services on end systemssystems

End devices

End servers

Net UAs Proxy Back-to-back user agent

Number of users

Single Single/trusted users

Multiple Multiple Multiple

Call states Yes Yes Yes No Yes

Media Yes Yes/no Yes No Yes/no

Number of devices

Single Multiple Single Multiple Multiple

User interaction

Direct Indirect* Indirect Indirect Indirect

Managing End user End user Admin. Admin. Admin.

IPTS ‘00

Page 6: Ubiquitous Programmable Internet Telephony End System Services

6

Services and where to run services End system services

Programmable I defined a language for end system service creation.

(ICC’03, RFC3880) Analyzable Intelligent Ubiquitous

Implementations Other work

Page 7: Ubiquitous Programmable Internet Telephony End System Services

7

End system service End system service programmingprogramming

What do we need? A language and a tool

End system service creation language Easy to understand Automatic service creation Portable

Create once, run on different devices Easy to manage

Facilitate feature interaction handling CPL, CCXML, APPEL, SPL…

Page 8: Ubiquitous Programmable Internet Telephony End System Services

8

How to represent services?How to represent services?

ECA (event – condition – action)Natural thinking of a decision making – a policy/rule set

When I am in a conference, I will vibrate my device for my boss’s calls and reject all the other calls.

Using decision trees to represent policy/rule sets(O(logN) execution time)

For an incoming call

If I am in a conference

Vibratemy device

Rejectthe call

YES

YES

NO

If the call is from my boss

Page 9: Ubiquitous Programmable Internet Telephony End System Services

9

Use LESS effort to create more Use LESS effort to create more servicesservices

LESS: Language for End System Services CPL: Call Processing Language (Jonathan, Henning, and

myself) Simplicity

Four kinds of elements: trigger, switch, action, modifier Tree-like structure, easy for feature interaction analysis

Safety 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 Extensibility

not just new elements, but can apply existing algorithmsIEEE ICC’03RFC3880

Page 10: Ubiquitous Programmable Internet Telephony End System Services

10

LESS elementsLESS elementstrigger an incoming call

switch

check the caller

switchcheck time

switch

check priority

action

redirect

action

accept

action

reject

modifier

to Bob

= ≠

= ≠ ≠

Page 11: Ubiquitous Programmable Internet Telephony End System Services

11

CUTE (Columbia University CUTE (Columbia University Telecommunication service Telecommunication service Editor)Editor)

Page 12: Ubiquitous Programmable Internet Telephony End System Services

12

Use CUTE to create services

0%

20%

40%

60%

80%

100%

Overall Group 1 Group 2 Group 3

Group

Perc

enta

ge o

fpa

rtic

ipan

ts

Other

Don't know how

Some difficulties

Easily

Very comfortable

Survey on end user service Survey on end user service creationcreation

Group1: IRT members, Group2: CS undergraduates, Group3: Other people85% would like to create their own services,

90% like to use CUTE to create services90% can correctly create service-1, 65% srv-2, 80% srv-3, 65% easy to understand LESS code

Page 13: Ubiquitous Programmable Internet Telephony End System Services

13

Services and where to run services End system services

Programmable Analyzable

I defined an algorithm handling feature interactions (FI) for LESS. ICFI’05, JCN)

Intelligent Ubiquitous

Implementations Other work

Page 14: Ubiquitous Programmable Internet Telephony End System Services

14

ring

ring

What is FI and how to handle What is FI and how to handle it?it?

Tree merging

+ =If time is between

10:00AM and 11:00AMIf address is hgs

Forward to conf

Incoming call Incoming call

Incoming call

If time is between 10:00AM and 11:00AM

If address is hgs

rejectForward to conf

rejectaccept

Take actions from both scripts. Simply setting precedence rules cannot work.

Page 15: Ubiquitous Programmable Internet Telephony End System Services

15

FI handling for LESSFI handling for LESS

Action conflict tables Services conflict only if their actions

conflict Tree merging algorithm

Detect and help to resolve Resolve conflicts

ICFI’05 (FIW)JCN

Page 16: Ubiquitous Programmable Internet Telephony End System Services

16

Pre-condition and expected Pre-condition and expected resultsresults

pre-condition expected 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.

Page 17: Ubiquitous Programmable Internet Telephony End System Services

17

Action conflict tableAction conflict tableaccept reject redirec

tcall

accept A(media) C C R

reject C A(reason) C -

redirect

C C A(target) -

call R - - A(target)

-: no interaction, A: attribute conflict, C: action conflict,E: enabling, R: resource competition

Page 18: Ubiquitous Programmable Internet Telephony End System Services

18

Tree merging (overall)Tree merging (overall)

set base-rule-set emptyforeach 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

conflicting-free rule set

Page 19: Ubiquitous Programmable Internet Telephony End System Services

19

Tree merging (merging)Tree merging (merging)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}

Ahmed Layouni from Univ. of Ottwa verified my work by using a model-checking tool

Page 20: Ubiquitous Programmable Internet Telephony End System Services

20

Resolving interactionsResolving interactionscondition

decision

options withlower risks

Page 21: Ubiquitous Programmable Internet Telephony End System Services

21

Services and where to run services End system services

Programmable Analyzable Intelligent

I proposed a method for automatic service creation.(ICC’05)

Ubiquitous Implementations Other work

Page 22: Ubiquitous Programmable Internet Telephony End System Services

22

No idea about services?No idea about services? Learning burden caused by new

services What and how Help, not bypass

Causal relationship between call information and call decisions SIP headers Different information sources Examples

Spam filtering, calendar-based services

Page 23: Ubiquitous Programmable Internet Telephony End System Services

23

What What (learn from)(learn from), what, what (generate) (generate), how, how Users’ communication history –

LESS decision trees – decision tree induction

find switches that can best partition actions

Algorithm Incremental Prune Quality measurement

30*3+10*2+7=117 30*2+3*2+10*3+4*3=108

Page 24: Ubiquitous Programmable Internet Telephony End System Services

24

Incremental Tree InductionIncremental Tree Induction Incremental

Incorporating Transposition

Virtual prune Direct metrics

Expected number of tests Leaf counts Minimum description length Expected misclassication cost

address=a1

time=t1 time=t1

B DCA

Y N

Y N Y N

time=t1

address=a1 address=a1

A DCB

Y N

Y N Y N

Page 25: Ubiquitous Programmable Internet Telephony End System Services

25

Simulation

40 servicesEach for 300 calls80% match10% different way10% mismatch

Page 26: Ubiquitous Programmable Internet Telephony End System Services

26

PerformancePerformance

Fast vs. incremental (20 samples) training

IBM ThinkPad, Linux 1GHz PIII Mobile256MB memory

Page 27: Ubiquitous Programmable Internet Telephony End System Services

27

How to handle service risks?How to handle service risks? Identify

Lose connection: reject, redirect, transfer, accept on wrong branch Lose privacy: accept, call, notify Lose money: accept, transfer to higher rate endpoint Lose attention: alert, accept, appliance control

Analyze Possibility: number of occurrence in the decision tree Impact: (connection, privacy) > money > attention, customizable

Resolve Change communication methods Change communication targets Reduce overall risk: avoiding high impact risks, though may cause

low impact risks Contingency plan

Backup

Page 28: Ubiquitous Programmable Internet Telephony End System Services

28

Services and where to run services End system services

Programmable Analyzable Intelligent Ubiquitous

Joint work on several related projects – a ubiquitous computing architecture, location-based services, SIP 911(Nossdav’03, IEEE Communications, CCNC’05, ICCCN’05)

Implementations Other work

Page 29: Ubiquitous Programmable Internet Telephony End System Services

29

-- Mark Weiser

Ubiquitous computing using Ubiquitous computing using SIPSIP

What is ubiquitous computing Enhance computer use by making many computers

available throughout the physical environment, but making them effectively invisible to the user.

where are we

what’s available

how to controlautomate the control

Front deskService location server

room 123

what’s availablein room 123?

video displaymicrophonevideo camera

Bob I am in room 123

Bob can usedevices in 123

use the devicesin room 123 totalk to Tom

Tom

send mediato Tom

Page 30: Ubiquitous Programmable Internet Telephony End System Services

30

System ArchitectureSystem Architecture

LocationSensing

ResourceDiscovery

ResourceControl

CallControl

GPS

BlueTooth

DHCP

Wireless triangulation

NOTIFY

PUBLISH

REGISTER

REGISTER

SIP Home domainRegistrar and AAA serverLocation

Server

Local domainSIP server

SLP DA

INVITE

SLP SA

SLP query

result

NOSSDAV03IEEE Communications

Stylianos, Stefan, Henning, myself

Page 31: Ubiquitous Programmable Internet Telephony End System Services

31

Room confLocation agent

Bob

RFID readeriButtonreader

ProxyLS

Bob is in conf

NOTIFYLocation

You areIn conf

SLP DA

SLP SA

Device GWSLinke

X10

Turn onconf’s light

Turn on light

What’savailable

sip:conf_pingtelfor audio

sip:conf

Tracking

Triggeran action

Resourcediscovery

IEEE CCNC’05

Location-basedLocation-basedServices in our Services in our lablab

Ron ,Matthew,Kundan, and myself

Page 32: Ubiquitous Programmable Internet Telephony End System Services

32

Location-basedLocation-basedServices in our Services in our lablab

Location agent

Bob

RFID readeriButtonreader

ProxyLS

Bob is in conf

NOTIFYLocation

You areIn conf

SLP DA

SLP SA

Device GWSLinke

X10

Turn onconf’s light

Turn on light

What’savailable

sip:conf_pingtelfor audio

sip:conf

INVITE sip:anyone_roomconf

Guard communicatio

n behavior

‘Talk’ to alocation

Room conf

IEEE CCNC’05

Page 33: Ubiquitous Programmable Internet Telephony End System Services

33

Where to put services End system services

Programmable Analyzable Intelligent Ubiquitous

Implementations SIPc – multi-function integration (MMNS’04)

Other work

Page 34: Ubiquitous Programmable Internet Telephony End System Services

34

ImplementationsImplementations

Page 35: Ubiquitous Programmable Internet Telephony End System Services

35

Page 36: Ubiquitous Programmable Internet Telephony End System Services

36

Function overviewFunction overview

SIPMultimediacall control

Real time streaming

Location sensing

Network appliance control

Floorcontrol

SIP for presence

SAPInstantmessage

SIP CGI engine

LESS/CPLengine

Third party call control

Emergency handling

Service LocationDetection (SLP)

audio

video

whiteboard

desktopsharing

locationsensors

Email clients

RTP: RFC 1889SDP: RFC 2327RTSP: RFC 2326

SIP Event Arch.: RFC 3265 RFC3903

SAP: RFC 2974SIP: RFC 3261

SLP: RFC 2608

CPL, SIP 3PCC,SIP Device ControlGEOPRIV location format, SIP for IM

Web browsers

MMNS’04

Page 37: Ubiquitous Programmable Internet Telephony End System Services

37

Call

SIP

SDPRTP

Session broadcasting SAP

RTSP

SIP eventnotification

Locationsensing

Emergency handling

Location tracking

Device controlir/x10

MapLynx

Messagewaitingindication

Voicemailhandling

Presencenotification

Conferencingfloor control

Servicedetection

SLP

Instantmessaging

xcon

Function sharingFunction sharing

Page 38: Ubiquitous Programmable Internet Telephony End System Services

38

SDP

SAP

RTP

RTP

RTP

RTSP

SIP

SIP

SIP

location

SLP3pccSIP DO

SLPSIP

NOTIFY

MESSAGE

DO

SIP

location

location

Function interactionFunction interaction

Page 39: Ubiquitous Programmable Internet Telephony End System Services

39

Where to put services End system services

Programmable Analyzable Intelligent Ubiquitous

Implementations Other work

Page 40: Ubiquitous Programmable Internet Telephony End System Services

40

Other workOther work

Building Box project (AT&T Labs Research) Conferencing floor control (RFC4376) Networked appliance control Shared web browsing Distributed conferencing and MOC

integration (Avaya Labs Research) Joined several other projects (CINEMA, SIP

911, session mobility, FAA pilot training)

Page 41: Ubiquitous Programmable Internet Telephony End System Services

41

SummarySummary I defined LESS and built CUTE. I also conducted a survey on

end system service creation. The survey shows LESS and CUTE are good for end system service creation.

I developed an algorithm to handle feature interactions in LESS. The algorithm is easy to implement and can detect and help to resolve feature interactions in LESS.

I proposed to use decision tree induction to automatically create services for end users and defined ways to handle service risks. Automatic service creation can help users to create their desired services.

I investigated how to perform ubiquitous communication and location-based services in end systems. The ubiquitous communication architecture we proposed is scalable and can use off-the-shelf hardware and software for communication.

I implemented a SIP user agent, SIPc, and integrated my research result into SIPc. Multi-function integration in SIPc shows that convergence and multi-function interaction can bring new communication services.

Page 42: Ubiquitous Programmable Internet Telephony End System Services

42

Some linksSome links SIPc: http://www.cs.columbia.edu/IRT/sipc CINEMA: http://www.cs.columbia.edu/IRT/cinema LESS: http://www.ietf.org/internet-drafts/draft-wu-iptel-less-00.txt CUTE: http://www.cs.columbia.edu/~xiaotaow/cute Ubiquitous Computing: http://www1.cs.columbia.edu/~xiaotaow/

rer/Research/Paper/ieeecomm_inhome.pdf 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 Service learning: http://www.cs.columbia.edu/~xiaotaow/rer

/Research/Paper/icc2005.pdf

Page 43: Ubiquitous Programmable Internet Telephony End System Services

43

AcknowledgementsAcknowledgements

Mentor: Dr. Henning Schulzrinne All the thesis committee members People in IRT and the CS Department Colleagues in AT&T Labs Research

and Avaya Labs Research SIPQuest

Page 44: Ubiquitous Programmable Internet Telephony End System Services

44

Page 45: Ubiquitous Programmable Internet Telephony End System Services

45

End-to-end v.s. master/slaveEnd-to-end v.s. master/slave Pickup call

D1 D2

D3

C

D1 D2

D3

C

notificationtriggeredINVITE

MGC

MGCPMegaco

Page 46: Ubiquitous Programmable Internet Telephony End System Services

46

Timer Timer triggered triggered outgoing calloutgoing 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:[email protected]" status-name="presence"> <status is="open"> <location url="sip:[email protected]"> <call> <busy> <location url="sip:[email protected]"> <IM:sendmsg> Hi, please call me back. I am in office </IM:sendmsg> </location>…………….

Page 47: Ubiquitous Programmable Internet Telephony End System Services

47

LESS elements (triggers)LESS elements (triggers)

Triggers incoming: incoming call handling outgoing: user invoked outgoing call timer: timer triggered actions UI:command: user interaction commands IM:message: incoming instant messaging Event:subscription: incoming subscription Event:notification: incoming notification

Page 48: Ubiquitous Programmable Internet Telephony End System Services

48

LESS elements (switches)LESS elements (switches) 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

Page 49: Ubiquitous Programmable Internet Telephony End System Services

49

LESS elements (actions)LESS elements (actions) 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

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

Page 50: Ubiquitous Programmable Internet Telephony End System Services

50

LESS elements (modifiers)LESS elements (modifiers) 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

Page 51: Ubiquitous Programmable Internet Telephony End System Services

51

Page 52: Ubiquitous Programmable Internet Telephony End System Services

52

LESS script customizationLESS script customization

xsl:if

LESS editor

service.less(template)

XSLT

less.xsl

configurationeditor

service.html

translate.cgi

service_foo.less

address is=$var

Page 53: Ubiquitous Programmable Internet Telephony End System Services

53

LESS elementsLESS elements

Page 54: Ubiquitous Programmable Internet Telephony End System Services

54

Example: Automatic Call Back Example: Automatic Call Back (ACB)(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>

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-phoneReject and enqueue

Page 55: Ubiquitous Programmable Internet Telephony End System Services

55

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

A event notification for myself

I am available

Dequeue and make a call

Automatic Call Back (ACB) Automatic Call Back (ACB) (cont.)(cont.)

Page 56: Ubiquitous Programmable Internet Telephony End System Services

56

Page 57: Ubiquitous Programmable Internet Telephony End System Services

57

<?xml version="1.0"?><less> <incoming> <address-switch field="origin"> <address is="sip:[email protected]"> <accept/> </address> <otherwise> <location url="sip:[email protected]"> <redirect/> </location> </otherwise> </address-switch> </incoming></less>

Page 58: Ubiquitous Programmable Internet Telephony End System Services

58

Rich signaling informationRich signaling information

Rich signaling information SIP headers Caller preference and callee capabilities MIME contents Event notification Other means

Web calendar, Directory services

Page 59: Ubiquitous Programmable Internet Telephony End System Services

59

Rich servicesRich services Be able to handle services in PSTN networks

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

Emergency provide location information

New services Interact with existing Internet services

web, email, SLP, SAP, IM, presence, location, networked appliance control, directory service, calendar service, conferencing

Not named services, but programmable services Programmable conferencing services

Page 60: Ubiquitous Programmable Internet Telephony End System Services

60

DefinitionDefinition

What is service learning Automatically generate user desired

services Help users, not bypass users Services on both proxy servers and end

systems What is service risk management

Risk caused by automation How to reduce the overall risks

IEEE ICC’05

Page 61: Ubiquitous Programmable Internet Telephony End System Services

61

Decision tree inductionDecision tree induction Entropy: -Σ P log2P

30 rejects, 17 accepts-30/47*log2(30/47)-17/47*log2(17/47) = 0.944087

Split on caller=Bob-30/33*log2(30/33)-3/33*log2(3/33)-14/14*log2(14/14) = 0.439497

Information gain: entropy change after splitting Information gain on the splitting is 0.50459

Page 62: Ubiquitous Programmable Internet Telephony End System Services

62

Decision tree inductionDecision tree induction

Find the splitting that can get the largest information gain

Repeat for all sub-trees until no more information gain

Noisy data and prune Splitting causes higher error

Page 63: Ubiquitous Programmable Internet Telephony End System Services

63

Why not just a service creation Why not just a service creation tooltool

Portability Java and scripting languages are also “portable”

“I am happy to see a piece of technology that works so well that I’m free to ignore its inner details.” Maybe not some complicated work

”I also want to have the low-level innards visible, controllable when possible, and modifiable by anyone who’s willing and able to do that work.” Lower the bar for understanding the low-level

innards

Page 64: Ubiquitous Programmable Internet Telephony End System Services

64

Open issuesOpen issues

Can we use LESS for B2BUA? coordinate multiple sessions multi-user feature interaction handling

Loop and user-defined variables needed? Based on my exercises, no But, what about unknown new services? Convert loop to a high-level abstraction? What’s the impact on feature interaction

handling

Page 65: Ubiquitous Programmable Internet Telephony End System Services

65

Location in Emergency Services

Emergency Call Center

Call Flow Prototype Architecture

SIP Proxy

SIP Proxy

Internet

ALI ServerDHCP Server

DNS Server

911112

sip:sos@domainw/location or w/out location

geo location

POTS/Wireless Network

IP Network

911

IP Gateway

sip:sos@domainwithout location

Envinsa Server

sip:psap@domainwith location

location

GeoLynx Display

DHCP InformMAC Address

Location Info

TCP Socket Telephone Number

PSAP Info

HTTP SOAPgeo location

verifiedcivil

location

civil location**

PSAP Info

DNS Querycivil location

IEEE ICCCN’05

Henning,Anshuman,Matthew,Amrita,Jong Yul,Wonsang,and myself

Page 66: Ubiquitous Programmable Internet Telephony End System Services

66

Program location-based Program location-based servicesservices<incoming> <LOC:where-switch type="civil"> <LOC:where country="USA" A1="New York" A3="New York" A6="West 120th" HNO="450" LOC="Room 563"> <location url="sip:[email protected]"> <redirect/> </location> </LOC:where> <otherwise> <location url="sip:[email protected]"> <redirect/> </location> </otherwise> </LOC:where-switch></incoming>

Page 67: Ubiquitous Programmable Internet Telephony End System Services

67

Related work on CPL FI Related work on CPL FI handlinghandling

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

Page 68: Ubiquitous Programmable Internet Telephony End System Services

68

PerformancePerformance

20 vs. 250 incremental samples

IBM ThinkPad, Linux 1GHz PIII Mobile256MB memory

Page 69: Ubiquitous Programmable Internet Telephony End System Services

69

IntegrationIntegration Gather information

SIP transaction history Calendar Location sensing Idle time User activities Timestamp

Alert users Service risk management