Endpoint vs. Network VoIP services
Download
Report
Transcript Endpoint vs. Network VoIP services
Endpoint vs. Network
Services
Henning Schulzrinne
(with Xiaotao Wu)
Columbia University
Siemens ICN Innovation Symposium
Munich – December 16, 2003
Adding value through applications
What are services?
will focus on VoIP
difference most obvious
applies also to video-on-demand
Where can services reside?
Who can create services?
Preventing user service creation
Old service model
small number of well-defined
(named) services, e.g.,
CLASS
call return
caller ID
calling number blocking
call trace
repeat dialing
call block
…
widely used
charged by the month
high initial cost (e.g., for
switch generic)
but pure profit once
amortized
stimulus interface
end system does not know
service
almost no user customization
partially caused by poor UI
hardware model:
push button to get feature
expectation of “killer service”
“content is king”
vertical integration
New service model
Provide protocol and API building blocks
(Mostly) open interfaces
service ingredients
protocol specifications
API specifications
common OS platforms (Symbian, Java,
WinCE/Win32, Palm, Linux)
Works best if very narrow interfaces
IP, HTTP
Posix API
New service model
Don’t expect a single killer service or application
except at large scale: web, email, IM, VoIP (eventually…)
don’t expect the carrier to come up with one
users create their own services
vertical niche applications
requires domain knowledge
encourages experimentation
users not just consumers
risk is borne by those needing service the most
no infrastructure changes required
“connectivity is king”
slicing of service provision
Aside: Internet services
Push services
content delivery
inter-machine
communications
RPC (Corba, web
services, …)
games
asynchronous messaging
streaming media
email
synchronous messaging
SMS, IM
general event delivery
(SIP)
Pull services
content retrieval
ftp gopher web
peer-to-peer
IMAP, POP
IP “hourglass”
email WWW phone...
SMTP HTTP RTP...
TCP UDP…
IP
ethernet PPP…
CSMA async sonet...
copper fiber radio...
Steve Deering,
IETF Aug. 2001
The real Internet hourglass
(slightly simplified)
p2p (port 80)
web
web services
HTTP
TCP
IP
Ethernet
VoIP: What are services?
Call routing services subset of CLASS services
name/number translation
call forward busy/no answer
call forward conditional (time-of-day, call center)
Directory services
white and yellow pages
global and corporate
Media services
terminal, user mobility
media encoding translation for bandwidth
media type conversion: language, speech-to-text
media combining: conferencing
Identity services
identity assertion (“Columbia attests that Joe Smith, an employee, is calling”)
identity hiding (“[email protected] is calling”)
configuration repository
media preferences
address book and speed dial
PSTN vs. Internet Telephony
PSTN
Internet Telephony
end system
Number of lines
or pending calls
is virtually unlimited
Single line,
12 buttons and
hook flash to signal
More (per-user)
processing power than
most network servers
PSTN vs. Internet Telephony
PSTN:
Signaling & Media
Signaling & Media
can be far away
from either user
Internet
Telephone:
Signaling
Signaling
Media
PSTN vs. VoIP
PSTN: only carriers can get full
signaling functionality (SS7)
UNI vs. NNI signaling
VoIP: same signaling, same
functionality
Network vs. end system services
Really two meanings:
services implemented in user agent (instead of proxy)
services implemented in server run by end user (instead of
by carrier or equipment vendor)
Variation on old Centrex vs. PBX argument
business
residential
except that media routing no longer an issue
Often, services require or can use both:
e.g., the history of speed dial
CLASS service: translation in CO
(semi)intelligent end systems: locally, possibly with hotsync to
PC
intelligent end system, but network-synchronized
End system vs. network tradeoffs
Criteria
network
end system
availability
high (backup systems &
power)
lower, but maintain local
services during network outage
bandwidth
high
lower ( large centralized
conferences)
addressing
global IPv4 addresses
often NATs can’t run servers
IPv6 may fix
security
professional maintenance
more visible target
trust third party with
content
update tracking
lower disruption
end-to-end encryption
user
control
protection of shared resources
limit user programmability
full control
processing
high aggregate,
lower per-user
low on residential GW,
unbounded on PCs
End system vs. Network services
– the easier cases
Network services
PSTN gateway
Backup services
multiplexing gain
SS7 access
e.g., no answer from
enterprise due to failure
no permanent
connectivity for
residential users
Large-scale conferences
for residential users
bandwidth availability
End system/user
services
media processing
distinctive ringing
programmable services
user control
but: security
maintenance
Network service: call routing
services
Outsourcing allows temporarily
disconnected end users
Staged service:
carrier proxy
user proxy
basic call
routing
personal
preferences
Peer-to-peer call routing
H(aor) = node
REGISTER
supernode
Network service: identity and
trust management
Identity assertion (notary) services
Anonymity services
best done by larger organization
server certificates
name recognition
recourse
needs to have large user population to provide
effective hiding
Portable services
high availability and universal reachability
Internet service ecology
False either/or choice
See email and web for
precedent
carrier-provided (ISPs)
basic transport service
name portability issues
provide and manage own
infrastructure
only purchase “raw bits”
albeit actively
discouraged
hosting companies =
bandwidth + service
enterprise
home user
shared and dedicated
facilities
but not an ISP in the
traditional sense
service-only companies
web mail
mail forwarding
The vanishing phone company
Old model:
explicit, user-visible signaling dialing, ringing
small number of phone lines, (mostly) each with one E.164
identifier
New model:
session initiation from
IM session no dialing and ringing
game session proximity triggers conversation
event based connect if event occurs
no notion of lines
teenager (or telemarketer…) may have dozens of chat windows open
some identifiers may make no PSTN calls at all
from monthly service calling card-like
any number of identifiers
one per wire or device multiple per person (role-based)
How to prevent user service
creation
The PTT approach
stimulus signaling only
force congruent media
and signaling path
limit vendor choices for
end systems
hidden APIs
baroque interfaces,
subject to change
require new content
restrictive technology
licensing
cell phones not
programmable
restrict to certain cell
phone models (US)
air interface regulation
and licensing
The ISP approach
The WAP approach
The cell phone
approach
The Microsoft approach
port blocking
NATs
restrict upstream
bandwidth
The lawyer approach
patents and trade secrets
Conclusions
VoIP enables, but does not force, end point services
Move service location decision to end user, with
trade-offs in
separation of data and control planes
cost
control
availability
functionality
technical sophistication needed
Carriers and vendors have vital role:
service creation environments
reliable network service
trust and identity
service hosting
Annex: technical background
on service creation
Service location examples
Service
End system
Network (proxy)
Network with media
(UA)
Distinctive ringing
Yes
Can assist
Can assist
Visual call id
Yes
Can assist
Can assist
Call waiting
Yes
No
Yes(*)
CF busy
Yes
Yes(*)
Yes(*)
CF no answer
Yes
Yes
Yes
CF no device
No
Yes
Yes
Location hiding
No
Yes
Yes
Transfer
Yes
No
No
Conference bridge
Yes
No
Yes
Gateway to PSTN
No
No
Yes
Firewall control
No
No
Yes
Voicemail
Yes
No
Yes
(*) = with information provided by end system
Example: VoIP embedded in VR
Network service: service mobility
Network server acts as repository for
user cross-device configuration
address book
caller preferences (media, carrier, …)
authentication information
Devices can update user configuration
Automatically propagates to all other
devices at next opportunity
not just explicit sync’ing (Palm-style)
Example: user-adaptive device
configuration
802.11 signal
strength location
SLP
“all devices that are in the building”
RFC 3082?
device
controller
REGISTER
To: 815cepsr
Contact: alice@cs
PA
HTTP
SUBSCRIBE
to each room
1. discover room URI
2. REGISTER as contact for room URI
tftp
SIP
SUBSCRIBE to configuration
for users currently in rooms
room 815
Service architecture
Programming language model
Service Logic
Programming
Interface
Requests
Requests
SIP Server Function
Responses
Responses
Service creation
Few common service creation styles
extend base language with domain APIs (OO Java)
create domain-specific or domain-tuned language
C-like:
specific: CPL, voiceXML
tuned: PHP
programming: C C++ Java C#
web: PHP (with built-in web abstractions)
For auto-generation (“wizard”):
programming: spread sheets
web: HTML, XML
VoIP, IM, presence: CPL, LESS, voiceXML
Service creation: encouraging reuse
Web: client-side code available
Encourages learning and imitation
PHP, Perl, ASP, …: lots of common libraries
Example: Yahoo calendar
code
Service creation
Promise of faster service creation
traditionally, only vendors (and sometimes carriers)
learn from web models
end user
network
servers
programmer,
carrier
SIP servlets,
sip-cgi
end system
VoiceXML
VoiceXML (voice),
LESS
CPL
Service creation – a comparison
API
servlets
sip-cgi
CPL
languageindependent
no
Java only
yes
own
secure
no
mostly
can be
yes
end user
service
creation
no
yes
power users yes
GUI tools
no
no
no
yes
Multimedia
some
yes
yes
yes
call creation
yes
no
no
no
Example: LESS service generation
Columbia sipc SIP user agent
LESS service creation
CPL example: anonymous call
screening
<cpl>
<incoming>
<address-switch field="origin"
subfield="user">
<address is="anonymous">
<reject status="reject"
reason="I don't accept anonymous calls"
/>
</address>
</address-switch>
</incoming>
</cpl>
Feature interaction
Undesirable interaction of services
Some causes avoidable in Internet
environment:
lack of expressiveness (“what’s the # do here?”)
no prioritization (“call blocking precedes call
forwarding”)
Some issues harder:
distribution of services
routing loops
how to anticipate problems service testing
The impact of regulations
Phone (service) companies are not required any more, but may be
useful
don’t have (many) email companies, either
Regulation should not bias technical and business decisions on in-house
vs. out-sourcing
Avoid conflicts of interest for ISPs that provide phone service:
no port blocking except by user request
traffic neutrality provide differentiated services to all
provide externally routable addresses
distinguish residential / business via application-neutral measures, e.g.,
bandwidth or availability
Goal:
address shortage excuse NAT difficult to have inbound connections
ensure “transparent Internet” + service providers for added value
encourages service innovation
encourages service competition