Ubiquitous Programmable Internet Telephony Services - PowerPoint PPT Presentation

1 / 59
About This Presentation
Title:

Ubiquitous Programmable Internet Telephony Services

Description:

Ubiquitous SIP-based ubiquitous computing. Programmable ... less.xsl. configuration. editor. service.html. translate.cgi. service_foo.less. address is=$var ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 60
Provided by: xiao3
Category:

less

Transcript and Presenter's Notes

Title: Ubiquitous Programmable Internet Telephony Services


1
Ubiquitous Programmable Internet Telephony
Services
Thesis defense
  • Xiaotao Wu
  • Internet Real Time Laboratory

2
Overview
  • Where to put services
  • Services
  • Ubiquitous SIP-based ubiquitous computing
  • Programmable CPL, LESS and FI handling
  • Rich existing services and new services
  • Smart Feature learning
  • Implementations
  • Other works

3
  • Where to put services
  • Services
  • Ubiquitous
  • Programmable
  • Rich
  • Smart
  • Implementations
  • Other works

4
Services can be everywhere
End users server
End devices
Proxy server
B2BUA
User agents in the network
5
Where to put services
6
Peer-to-peer v.s. master/slave
  • Pickup call

MGCP Megaco
notification triggered INVITE
MGC
7
  • Where to put services
  • Services
  • Ubiquitous
  • Programmable
  • Rich
  • Smart
  • Implementations
  • Other works

8
Ubiquitous computing using SIP
  • What is ubiquitous computing
  • Enhance computer use by making many computers
    available throughout the physical environment,
    but making them effectively invisible to the
    user.

-- Mark Weiser
whats available
where are we
how to control
automate the control
send media to Tom
use the devices in room 123 to talk to Tom
Tom
Bob can use devices in 123
room 123
Bob
I am in room 123
video display microphone video camera
whats available in room 123?
NOSSDAV03 IEEE Communications
Service location server
9
System Architecture
SIP Home domain Registrar and AAA server
Location Server
Wireless triangulation
Local domain SIP server
NOTIFY
SLP DA
GPS
Location Sensing
Resource Discovery
BlueTooth
Resource Control
Call Control
DHCP
SLP SA
INVITE
10
Room conf
Location agent
Device GW
SLinke
Proxy LS
Bob
Trigger an action
X10
sipconf_pingtel for audio
iButton reader
SLP DA
RFID reader
SLP SA
Resource discovery
Tracking
Location-basedServices in our lab
IEEE CCNC05
11
Location-basedServices in our lab
Room conf
Location agent
Device GW
SLinke
Bob is in conf
Turn on light
Proxy LS
Bob
X10
You are In conf
sipconf_pingtel for audio
Whatsavailable
Turn on confs light
iButton reader
SLP DA
RFID reader
sipconf
SLP SA
Guard communication behavior
Talk to alocation
Location
NOTIFY
IEEE CCNC05
12
Location in Emergency Services
ALI Server
DHCP Server
verified
TCP Socket
civil
DHCP Inform
Telephone
location
MAC Address
DNS Server
Number
Location
HTTP SOAP
DNS Query
SIP Proxy
Info
geo location
civil location
PSAP
PSAP
Info
Info
civil location

geo location
sip

sos
_at_
domain
911
w
/
location or
112
w
/
out location
IP Network
Internet
SIP Proxy
POTS
/
Wireless
Network
Emergency Call Center
Prototype Architecture
Call Flow
IEEE ICCCN05
13
Program location-based services
ltincominggt ltLOCwhere-switch type"civil"gt
ltLOCwhere country"USA" A1"New York"
A3"New York" A6"West 120th" HNO"450"
LOC"Room 563"gt ltlocation
url"sipbob-office_at_example.com"gt
ltredirect/gt lt/locationgt lt/LOCwheregt
ltotherwisegt ltlocation url"sipbob-mobile_at_e
xample.com"gt ltredirect/gt
lt/locationgt lt/otherwisegt lt/LOCwhere-switchgt
lt/incominggt
14
  • Where to put services
  • Services
  • Ubiquitous
  • Programmable
  • Rich
  • Smart
  • Implementations
  • Other works

15
Easy service creation
  • 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.
Vibrate my device
A decision tree to represent a rule set
If the call is from my boss
YES
YES
If I am in a conference
For an incoming call
NO
Reject the call
CPL and LESS
16
Timer triggered outgoing call
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • ltless xmlns"urnietfparamsxmlnsless
  • xmlnsIM"urnietfparamsxmlnslessim
  • xmlnsxsi" xsischemaLocation"gt
  • lttimer dtstart"20050307T110000Z"gt
  • ltstatus-switch uri"sipbob_at_example.com"
  • status-name"presenc
    e"gt
  • ltstatus is"open"gt
  • ltlocation url"sipbob_at_example.com"gt
  • ltcallgt
  • ltbusygt
  • ltlocation url"sipbob_at_example.com"gt
  • ltIMsendmsggt
  • Hi, please call me back. I am in
    office
  • lt/IMsendmsggt
  • lt/locationgt
  • .

17
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 ICC03 RFC3880
18
LESS elements
trigger
an incoming call
19
LESS elements
20
LESS elements
  • Triggers
  • incoming incoming call handling
  • outgoing user invoked outgoing call
  • timer timer triggered actions
  • UIcommand user interaction commands
  • IMmessage incoming instant messaging
  • Eventsubscription incoming subscription
  • Eventnotification incoming notification

21
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)
  • Eventevent-switch check values in event
    notifications
  • LOCwhere-switch check users physical location
    information (remote or local user)
  • LOCwhere-relation-switch check relative
    physical locations between two people

22
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 email
  • log log request handling process
  • Mediamediaupdate update media attributes
  • Midcalltransfer transfer a call
  • Midcallmerge merge multiple calls
  • UIalert alert user
  • UIgetinput get user input
  • IMsendmsg send an instant message
  • Eventapprove approve subscription
  • Eventdeny deny event subscription
  • Eventdefer defer the decision on event
    subscription
  • Eventsubscribe send subscription out
  • Eventnotify send notification out
  • Queueenqueue put a call and its context into a
    queue
  • Queuedequeue get a call and its context from a
    queue

23
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
  • Mediamedia provide media attributes

24
Automatic Call Back (ACB)
  • ltless xmlns"urnietfparamsxmlnsless
  • xmlnsEvent"urnietfparamsxmlnslessevent
  • xmlnsQueue"urnietfparamsxmlnslessqueue
  • xmlnsxsi.
  • xsischemaLocation"gt
  • ltincominggt
  • ltstatus-switch
  • status-nameactivitygt
  • ltstatus ison-the-phone"gt
  • ltreject reasonbusygt
  • ltnextgt
  • ltQueueenqueue
  • queue"callback"/gt
  • lt/nextgt
  • lt/rejectgt
  • lt/statusgt
  • lt/status-switchgt
  • lt/incominggt

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
25
Automatic Call Back (ACB) (cont.)
A event notification for myself
ltEventnotificationgt ltaddress-switch
field"origin"gt ltaddress uri"agent.uri"gt
ltEventevent-switchgt
ltEventevent packagepresence"
nameactivity" isnormal"gt
ltQueuedequeue
queue"callback"gt ltQueuesuccessgt
ltcall/gt
lt/Queuesuccessgt lt/Queuedequeuegt
lt/Eventeventgt lt/Eventevent-switchgt
lt/addressgt lt/address-switchgt
lt/Eventnotificationgt lt/lessgt
I am available
Dequeue and make a call
26
(No Transcript)
27
lt?xml version"1.0"?gt ltlessgt ltincominggt
ltaddress-switch field"origin"gt ltaddress
is"siphgs_at_cs.columbia.edu"gt ltaccept/gt
lt/addressgt ltotherwisegt
ltlocation url"sipfoo_at_example.com"gt
ltredirect/gt lt/locationgt
lt/otherwisegt lt/address-switchgt
lt/incominggt lt/lessgt
28
(No Transcript)
29
LESS script customization
LESS editor
less.xsl
service.less (template)
xslif
address isvar
XSLT
configuration editor
service.html
translate.cgi
service_foo.less
30
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?
  • Whats the impact on feature interaction handling

31
Easy feature interaction analysis
  • Tree merging

Incoming call
Incoming call
Incoming call
If time is between 1000AM and 1100AM
If address is hgs
If address is hgs
If time is between 1000AM and 1100AM


accept
accept
accept
reject
Forward to conf
Forward to conf
reject
Take actions from both scripts. Simply setting
precedence rules cannot work.
ICFI05 (FIW)
32
Easy 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

33
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

34
Pre-condition and expected results
35
Action conflict table
- no interaction, A attribute conflict, C
action conflict, E enabling, R resource
competition
36
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

37
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

38
  • Where to put services
  • Services
  • Ubiquitous
  • Programmable
  • Rich
  • Smart
  • Implementations
  • Other works

39
Rich signaling information
  • Rich signaling information
  • SIP headers
  • Caller preference and callee capabilities
  • MIME contents
  • Event notification
  • Other means
  • Web calendar, Directory services

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

41
  • Where to put services
  • Services
  • Ubiquitous
  • Programmable
  • Rich
  • Smart
  • Implementations
  • Other works

42
Definition
  • 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 ICC05
43
Motivation
  • Causal relationship between call information and
    call decisions
  • SIP headers
  • Other Internet services
  • Learning burden caused by new services
  • Not named services, but programmable services
  • What and how
  • Examples
  • Spam filtering, calendar-based services
  • Service risks
  • Lose connectivity, lose privacy,

44
Design
  • Using decision tree induction for learning
  • In CPL/LESS terms find switches that can best
    partition actions
  • What algorithm
  • Incremental
  • Prune
  • Quality measurement

3031027117 3023210343108
45
Incremental Tree Induction
  • Incremental
  • Incorporating
  • Transposition
  • Virtual prune
  • Direct metrics
  • Expected number of tests
  • Leaf counts
  • Minimum description length
  • Expected misclassication cost

46
40 services Each for 300 calls 80 match 10
different way 10 mismatch
Simulation
47
Performance
IBM ThinkPad, Linux 1GHz PIII Mobile 256MB memory
Fast vs. incremental (20 samples) training
48
Performance
IBM ThinkPad, Linux 1GHz PIII Mobile 256MB memory
20 vs. 250 incremental samples
49
Integration
  • Gather information
  • Transaction history
  • Calendar
  • Location sensing
  • Idle time
  • Communication activities
  • Timestamp
  • Alert users
  • Service risk management

50
Service risk management
  • 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, switch attributes
  • Impact (connection, privacy) gt money gt
    attention, customizable
  • Overall risk avoiding high impact risks, though
    may cause low impact risks
  • Resolve
  • Change communication methods
  • Transfer
  • Reduce overall risk
  • Contingency plan
  • Backup

51
  • Where to put services
  • Services
  • Ubiquitous
  • Programmable
  • Rich
  • Smart
  • Implementations
  • Other works

52
Implementations
53
(No Transcript)
54
Function overview
Email clients
Real time streaming
Network appliance control
Third party call control
Web browsers
Emergency handling
audio
SIP CGI engine
SIP Multimedia call control
video
Instant message
SAP
location sensors
Location sensing
white board
Floor control
SIP for presence
LESS/CPL engine
Service Location Detection (SLP)
desktop sharing
SAP RFC 2974
SIP RFC 3261
CPL, SIP 3PCC, SIP Device Control GEOPRIV
location format, SIP for IM
SDP RFC 2327
RTSP RFC 2326
RTP RFC 1889
SLP RFC 2608
SIP Event Arch. RFC 3265 RFC3903
MMNS04
55
Function reuse
Conferencing floor control
Device control
Presence notification
ir/x10
xcon
Location tracking
SIP event notification
Service detection
Message waiting indication
Location sensing
SIP
SLP
Voicemail handling
Call
Emergency handling
SDP
RTP
MapLynx
RTSP
Instant messaging
Session broadcasting
SAP
56
Function interaction
SIP
SLP
DO
SLP
SAP
3pcc SIP DO
SIP
location
SDP
location
RTP
RTP
SIP
SIP
SIP
NOTIFY
location
MESSAGE
RTP
RTSP
57
Other work
  • Building Box project (ATT Labs Research)
  • Conferencing floor control
  • Networked appliance control
  • Shared web browsing
  • Joined some other projects (CINEMA, SIP 911,
    session mobility, project for FAA, )

58
Conclusion
  • Services are more distributed in Internet
    telephony. We need techniques specifically for
    end system service creation
  • LESS is designed for end system services
  • Easy to build SCE
  • Easy to analyze
  • Enable feature learning
  • Different information and different functions
    converged at end systems and will introduce many
    new services, e.g., location-based services.

59
Some 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
  • Ubiquitous Computing http//www1.cs.columbia.edu/
    xiaotaow/ rer/Research/Paper/ieeecomm_inhome.pdf
  • Service examples http//www.cs.columbia.edu/libr
    ary/TR-repository/reports/reports-2004/cucs-048-04
    .pdf
  • Feature interaction handling http//www.cs.columb
    ia.edu/ xiaotaow/rer/Research/Paper/fiw.pdf
  • Service learning http//www.cs.columbia.edu/xiao
    taow/rer /Research/Paper/icc2005.pdf

60
Acknowledgements
  • Dr. Henning Schulzrinne
  • SIPQuest
  • Colleagues in IRT lab
  • Colleagues in ATT Labs Research

Thank you!
61
Decision tree induction
  • Entropy -S P log2P
  • 30 rejects, 17 accepts-30/47log2(30/47)-17/47l
    og2(17/47) 0.944087
  • Split on callerBob-30/33log2(30/33)-3/33log2(
    3/33)-14/14log2(14/14) 0.439497
  • Information gain entropy change after splitting
  • Information gain on the splitting is 0.50459

62
Decision 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
Write a Comment
User Comments (0)
About PowerShow.com