Title: Holly Voice Platform Overview
1SpeechTEK 2006 Voice Over IP Tutorial
Andrew Hunt, Ph.D. VP Engineering, Holly Connects
2Welcome!
Who are you?
3(No Transcript)
4Timing
- 830am Start
- 1000-1030am Coffee break
- 1200-100pm Lunch
- 230-300pm Coffee break
- 430pm Close
5Agenda
- Welcome Introductions
- Why Voice Over IP?
- Brief History of Telephony
- Digital Voice
- Voice Over IP Basics
- VoIP Protocols
- SIP Session Initiation Protocol
- RTP Real-time Transport Protocol
- Network Issues and Design
- VoIP and Speech Recognition
- VoIP and Mobile Telephony
- Closing
6Objectives
- Informative
- Relevant
- Interesting
- Interactive
7Why Voice Over IP?
8Module Overview
- Why Voice Over IP?
- What is it?
- Cost
- Functionality flexibility
- Mobility
9VoIP Definition
- Definitions
- Voice Over IP is the use of the internet,
intranets and other IP networks for the delivery
of voice conversations - Internet Protocol (IP) is a protocol used for
communicating data across a packet-switched
network (specifically IPv4 or IPv6) - Many VoIP protocols exist focus today on SIP and
related protocols for use in speech recognition
and IVR contexts
10Why VoIP?
- Cost
- Global data traffic exceeded voice traffic in
late 1990s - Telco charges revenue largely from voice
traffic - Migration to shared networks
- Single network for voice and data
- Utilize spare capacity in many data networks
- Inwards-out approach to migration
- Traditional voice carriage costs to business
being driven down by VoIP - Residential advantages
- Free services Skype etc.
- Lower cost services Vonage, Skype etc.
- Regulatory and service capability issues are
evolving
11Why VoIP?
- Functionality and Flexibility
- Virtualization mobility move calls and agents
locally, nationally, globally - Match traditional telephony functions
- Transfers, voice mail, conferencing, redial,
speed-dial, forwarding etc. - Integration with software and internet services
- Availability notification (IM)
- Instant messaging
- Multi-media services video, data files etc.
- Options for traditional and VoIP telephony to
co-exist and migrate steadily
12Why VoIP?
- Mobility
- Make VoIP calls virtually anywhere in the world
- Number portability landline, mobile, internet
- Synchronization of address books and contacts
13Brief History of Telephony
14Module Overview
- Brief History of Telephony
- Telephony switching
- Basic concepts of telephony
- Call establishment
- Circuits
- Switching
- Migrating from analogue to digital
15Telephony Switching and Circuits
Alexander Graham Bell
Thomas Watson
16Telephony Switching and Circuits
- Caller picks up
- Caller dials
- Callee phone rings
- Callee answers
- Circuit established
- Conversation
- Hang-up tear-down
17Telephony Switching and Circuits
Exchange
Exchange
Exchange
Exchange
Exchange
18Telephony Switching and Circuits
PSTN Public Switched Telephony Network
- A-party picks up
- A-party dials
- B-party rings
- B-party answers
- Circuit established
- Conversation
- Hang-up tear-down
19Telephony Switching and Circuits
- Pre-Digital Analogue Era
- 1878 New Haven, Connecticut
- Worlds first commercial telephone exchange
- Built from carriage bolts, handles from teapot
lids and bustle wire - Cost 40 including the furniture
- 1891 Topeka, Kansas
- Almon Strowger, an undertaker, patented the
Strowger switch - Automation of the telephone circuit switching by
decadic pulses - 1950 onwards Crossbar switches
- 1964 Dual Tone Multi-Frequency (DTMF)
introduced
20Telephony Switching and Circuits
- Pre-Digital Analogue Era
- Infrastructure
- Local wiring to each phone
- System of local, regional, national and
international exchanges - Shared connections between exchanges
- Call establishment
- Numbering scheme (many iterations)
- Voice ? decadic pulsing ? DTMF
- Mapping of numbering scheme to the exchanges
(e.g. CAstle22) - Call communication
- Dedicated circuit per call
21Telephony Switching and Circuits
- Digital Era
- Digital started with the core telco networks
- Efficiency on long-distance carriage
- Efficiency of solid state switching technology
- Migrated to local exchanges
- What is digital voice?
22Digital Voice
23Module Overview
- Digital Speech
- Sampling creating digital audio
- CODECs Compression and companding
- Sharing channels Time Division Multiplexing
(TDM) - Standard digital data links E1 T1
24Telephony Packet Switch Network
0101100
0101100
0011100
0011100
1100110
1100110
1101100
1101100
0001100
0001100
PSTN Public Switched Telephony Network
0101100
0101100
0011100
0011100
1100110
1100110
1101100
1101100
0001100
0001100
25Sampling Theory
26Sampling Theory
27Sampling Theory
28Sampling Theory
29Sampling Theory
Time (msec) 0 Value 0
1 29
2 57
3 82
4 102
5 117
6 125
7 126
8 120
9 108
10 89
11 66
12 39
13 9
14 -20
15 -49
16 -75
17 -97
18 -114
19 -124
20 -127
30Sampling Theory Companding
Non-linear sampling ? better noise/error
G.711 µ-law for North America and JapanG.711
A-law for Europe and rest of the world
31Sampling Theory
Measure G.711 Telephony Compact Disc
Sampling rate 8,000 Hz 44,100 Hz
Frequency range Low 3.5kHz (4kHz max) Lower 22 kHz
Sample type 8 bit A-law / µ-lawMono 16-bit linear PCMStereo
Signal-to-noise ratio lt 70dB 96 dB
Data bandwidth 8 kByte/sec 176 kByte/sec
Perceived quality Telephony Great
32Digital Transport
TDM Time Division Multiplex
Packet
Latency
33Digital Transport
- E1
- World (ex. NA and Japan)
- 2.048 Mbit/s full duplex
- 32 time slots 32 channels of 8-bit x 8 kHz
- 1 time slot reserved for framing
- 1 time slot is typically reserved for signalling
- 30 time slots for voice communications
- E3 16 x E1 480 channels
- T1
- North America and Japan
- 1.536 MBit/s full duplex
- 24 time slots 24 channels of 8-bit x 8kHz
34Compression
- Compression of voice and audio
- CODEC COmpression - DECompression
- Reduce bandwidth for the audio signal more
channels on the same transport - Lossless vs. lossy algorithms
- Latency impact
- CPU impact
- Quality impact
- Speech recognition impact
35Sampling Theory
CODEC Characteristics Description
ITU-T G.711 Sample rate 8kHzSample size 8-bit A-law/µ-law Bandwidth 64kbit/s Standard telephony quality with companding
ITU-T G.726 Sample rate 8kHzSample size 2, 3, 4, 5-bitBandwidth 16, 24, 32, 40 kbit/s Adaptive Delta PCM (ADPCM). Supercedes G.721 G.723
ITU-T G.728 Bandwidth 16 kbit/sDelay 5 samples, 0.625 ms LDCELP Low Delay Code Excited Linear Prediction
ITU-T G.729 Bandwidth 8 or 6.4, 11.8 kbit/sDelay 10 ms chunks CS-ACELP Conjugate-Structure Algebraic-Code-Excited Linear Prediction
ITU-T G.722 Sample rate 16kHzSample size 14-bit Bandwidth 32-64kbit/s Standard wideband speech ADPCM codec.Non-telephony CODEC
36Digital Transport
- CODECs can increase channel capacity
- 1 E1/T1 channel 64 kbit/s
- 1 channel of G.711
- 2 channels of G.726 _at_ 32 kbit/s
- 8 channels of G.729 _at_ 8 kbit/s
- 1 T1 24 channels
- 24 channels of G.711
- 48 channels of G.726 _at_ 32 kbit/s
- 196 channels of G.729 _at_ 8 kbit/s
- BUT, CODECs can reduce voice quality
37Digital Transport
- Advanced topics
- Unreliable tone transmission on some CODECs
- DTMF, Fax, Modem etc.
- Use out-of-band communication (more later)
- Silence suppression
- Voice Activity Detection
- Replace by simulated background noise
- e.g. G.729 Annex B
- Comfort noise generator (CNG)
- Played when a communication channel fails
temporarily - Usability Reduces hang-up on temporary outages
38(No Transcript)
39Voice Over IP Basics
40Module Overview
- Voice Over IP Basics
- Internet and intranet for voice communication
- Challenges of the internet protocols
- Quick guide to the internet protocols TCP/IP,
UDP - Applying internet protocols to session management
voice carriage
41Telephony Packet Switch Network
0101100
0101100
0011100
0011100
1100110
1100110
1101100
1101100
0001100
0001100
PSTN Public Switched Telephony Network
0101100
0101100
0011100
0011100
1100110
1100110
1101100
1101100
0001100
0001100
42Voice Over Internet Protocol
0101100
0101100
0011100
0011100
1100110
1100110
1101100
1101100
Intranet OR Internet
0001100
0001100
0101100
0101100
0011100
0011100
1100110
1100110
1101100
1101100
0001100
0001100
43Challenges
- Call establishment protocols
- Connect A-party and B-party
- Perform advanced telephony functions
- Audio transport protocols
- Get the packets from A-to-B / B-to-A on time
- Latency
- Packet loss
- Jitter
- Quality of service
44The Problem
- The internet was not designed to carry real-time
voice traffic!!! (well almost)
45Internet Protocol Suite Stack
Application
DNS, FTP, HTTP, SMTP, SNMP, TELNET, SIP, RTP,
H.323
Layer 4
Transport
Layer 3
TCP, UDP, SCTP, DCCP, IL, RUDP,
Network
Layer 2
IP (IPv4, IPv6)
Link
Layer 1
Ethernet, Wi-Fi, ATM, Frame Relay
46Voice Over Internet Protocol
Application
Internet
Application
47Internet Protocol Suite Stack
Application
Application
Peer-to-peer connection
Transport
Transport
Network
Network
Network
Network
Link
Link
Link
Link
48Internet Protocol Suite Stack
Application
Application
Peer-to-peer connection
0101100
Transport
Transport
Network
Network
Network
Network
0101100
0101100
Link
Link
Link
Link
49Internet Protocol Suite Stack
Application
Application
Peer-to-peer connection
0101100
Transport
Transport
Packet Loss
Network
Network
Network
Network
0101100
0101100
Link
Link
Link
Link
50Internet Protocol Suite Stack
- TCP/IP Transmission Control Protocol
- Transport protocol
- One of the core protocols of the Internet
protocol suite 75 of all traffic - Applications on networked hosts can create
connections to one another using TCP for exchange
of data or packets. - Guarantees reliable and in-order delivery of data
from sender to receiver - Distinguishes data for multiple, concurrent
applications on the same host - TCP supports many of the most popular application
protocols including HTTP (Web), Email and SIP - Send a stream of bytes through a virtual pipe
- Utilizes sequence numbers, acknowledgement,
timeout, retransmission
51Internet Protocol Suite Stack
- TCP/IP for Voice Over IP
- Good for session management
- H.323 / ASN.1 built on TCP/IP
- Sub-optimal for near-realtime audio transport
- Latency
- Jitter
- Aside Utilized for Skype
52Internet Protocol Suite Stack
- UDP User Datagram Protocol
- Transport protocol
- One of the core protocols of the Internet
protocol suite 20 of all traffic - Does not provide the reliability and ordering
guarantees of TCP - Datagrams may arrive out of order or be dropped
by the network - Datagram transmission is stateless in the network
- Lower overhead faster, more efficient, suited
to time-sensitive comms - UDP supports many application protocols including
DNS and RTP
53Internet Protocol Suite Stack
- UDP for Voice Over IP
- OK for session management
- End-parties need reliable communication about
session status - SIP utilises UDP with retry behaviour to
withstand packet loss - UDP offers faster setup time than TCP/IP
- Suited to near-realtime audio transport
- Utilized by RTP
- Better latency than TCP/IP (though not ideal)
- Better jitter than TCP/IP (though not ideal)
- Packet loss causes poorer audio transmission than
TCP/IP
54Internet Protocols for Voice Over IP
- Internet vs. PSTN
- Internet has smart terminals and dumb network
- PSTN has dumb terminals and smart network
- PSTN dedicates virtual connections for audio and
session - Internet normally creates connections on an
as-needed basis - Internet protocols emerging for traffic shaping
suited to telephony - Network tools also emerging for banishing and
punishing telephony
55VoIP Protocols
56Module Overview
- VoIP Protocols
- Overview of the landscape of VoIP protocols
- Major IETF standards SIP, RTP, RTCP
- Major ITU-T standards H.323 family
57VoIP Protocols IETF
Protocol Protocol Description
SIP Session Initiation Protocol Session management on UDP
RTPSRTP Real-time Transport ProtocolSecure RTP Audio/video media delivery on UDP
RTCPSRTCP Real-time Transport Control ProtocolSecure RTCP Out-of-band control protocol for RTP
58VoIP Protocols
- About SIP
- IETF Protocol
- Standard for initiating, modifying, and
terminating a user session that may involves
media elements such as voice, video, instant
messaging etc. - Used widely in telephony environments
- Supported by numerous IVR platforms
- Accepted in 2000 as the signalling protocol of
the IMS architecture - Other uses
- MRCP v2 Media Resource Control Protocol for
Speech Recognition and Text-to-Speech - Microsoft Messenger
59VoIP Protocols ITU-T
Protocol Description
H.323 Umbrella recommendation for audio-visual comms on any packet networkReferences the following specifications
H.225.0 Protocol to describe call signaling, the media (audio and video), the stream packetization, media stream synchronization and control message formats
H.245 Control protocol for multimedia communication with messages and procedures used for opening and closing logical channels for audio, video and data, capability exchange, control and indications
H.235 Describes security in H.323
H.329 Describes dual stream use in videoconferencing, usually one for live video, the other for presentation
60VoIP Protocols
- About H.323
- Based on ISDN Q.931
- Suited to internetworking between IP and ISDN /
QSIG - Similar call model to ISDN
- Used widely in telephony environments
- Telecommunications backbones
- Other uses
- Microsoft NetMeeting
61Todays Focus
62SIP Session Initiation Protocol
63Module Overview
- Session Initiation Protocol
- Components of the SIP architecture
- SIP Messaging
- Standard SIP exchanges
- Ring, hold, answer, transfer, consultative
transfer, conferencing - SIP addresses
- SIP working with RTP for Voice
64SIP Overview
- Session Initiation Protocol (SIP)
- There are many applications of the Internet that
require the creation and management of a session,
where a session is considered an exchange of data
between an association of participants. The
implementation of these applications is
complicated by the practices of participants
users may move between endpoints, they may be
addressable by multiple names, and they may
communicate in several different media -
sometimes simultaneously. Numerous protocols have
been authored that carry various forms of
real-time multimedia session data such as voice,
video, or text messages. The Session Initiation
Protocol (SIP) works in concert with these
protocols by enabling Internet endpoints (called
user agents) to discover one another and to agree
on a characterization of a session they would
like to share. For locating prospective session
participants, and for other functions, SIP
enables the creation of an infrastructure of
network hosts (called proxy servers) to which
user agents can send registrations, invitations
to sessions, and other requests. SIP is an agile,
general-purpose tool for creating, modifying, and
terminating sessions that works independently of
underlying transport protocols and without
dependency on the type of session that is being
established.
65SIP Overview
- Session Initiation Protocol (SIP)
- http//www.ietf.org/rfc/rfc3261.txt
- Protocol developed by the IETF MMUSIC Working
Group (now SIP) - Scope initiate, modify and terminate an
interactive user session that involves voice and
multimedia elements such as video, instant
messaging and games. - SIP 2.0 published as RFC 3261 in 2002
- Initial release of SIP 1.0 as RFC 2543 in 1996
(now obsolete) - SIP enables device-to-device communication with
media communication via other protocols - SDP Session Description Protocol - RFC 2327
(describe media capabilities) - RTP Real-time Transport Protocol - RFC 3550
(transport audio, video, media) - RTCP Real-time Transport Control Protocol - RFC
3550 (control transport of media) - Standard protocols with high level of product
interoperability
66SIP Overview
- Session Initiation Protocol (SIP)
- SIP is an application-layer control protocol in
Internet stack - SIP is an device-to-device, client-server session
signalling protocol - SIP establishes sessions for voice and other
media - Allows integration with others services web,
email, IM - Allows presence and mobility services
67SIP Overview
- Applications of SIP
- SIP can convey arbitrary payload
- Session description
- Instant messages
- Pictures (e.g. picture of the caller)
- Speech recognition control
- Web pages
68SIP Overview Devices
Cisco
BlackBerry
Express Talk
Siemens
xTen
Avaya
69SIP Overview
- Network Devices
- SIP Proxy Server
- Intermediary to relay call signalling
- SIP Redirect Server
- Redirects callers to other servers
- SIP Registrar
- Accept registration requests from users
- Maintains users whereabouts
- SIP IVR
- SIP PBX
70SIP Communications
- SIP Jargon
- User Agent Client Initiates a communication
- User Agent Server Respondent to a communication
- Note device can be both client and server in a
single session - Examples
- Desktop phone is both a client (makes calls) and
server (receives calls)
71SIP Communications
- SIP Addresses
- SIP address can make you globally reachable
- Callees bind to this address using SIP REGISTER
method - Callers use this address to establish real-time
communication with callees - SIP address is a URI address format
- sipandrew.hunt_at_holly-connects.com
- sip0282078218_at_asterisk.holly-connects.com
- sipvoicemail_at_holly-connects.com?subjectwassup
- Can embed in web pages or place on your business
card - Highlighted text is the public identifier
- SIP URI address contents
- Must include host
- May include user name
- May include the port number
- May include others parameters (e.g., transport)
72SIP Communications
- Protocol design
- Similar protocol to HTTP and SMTP
- Transmission via UDP messages
- Human-readable messages
- Simple interaction mechanism
- User Agent A sends a Control Message to User
Agent B - User Agent B sends a Response Code to User
Agent A - Retry in the event of communication failure
73SIP Communications
- SIP Methods (Control Messages)
- INVITE invite a user agent to a session
- ACK acknowledge a communication
- OPTIONS query servers about their capabilities
- REGISTER register with a SIP Registrar
- BYE terminate a session
- CANCEL cancel a session
74SIP Communications
- SIP Response Codes
- 1xx Provisional -- request received, continuing
to process the request - 2xx Success -- the action was successfully
received, understood, and accepted - 200 OK
- 3xx Redirection -- further action required to
complete the request - 4xx Client Error -- the request contains bad
syntax or cannot be fulfilled - 5xx Server Error -- the server failed to fulfil
an apparently valid request - 6xx Global Failure -- the request cannot be
fulfilled at any server
75SIP Communications
- SIP Extensions (selection amongst many)
- INFO carry session-related control information
- RFC 2976
- e.g. ISUP and ISDN signalling messages
- REFER refer the recipient to a new resource
- RFC 3515
- e.g. Call transfer
76SIP Simple Peer-to-Peer Session
B
A
- Simple peer-to-peer SIP session
- Assumptions
- A knows address of B
- A and B can see each other on the network
- Audio communication
- Humans are using A and B
77SIP Simple Peer-to-Peer Session
A
B
User makes a call to B ?
? Play ring-tone to user B
Play ring-tone to user A?
- - - Waiting for answer - - -
? B User answers call
A hears B ?
? B hears A
- - - Call Established - - -
? B hangs up
? B terminates RTP audio
A terminates audio ?
- - - Session Over - - -
78SIP Simple Peer-to-Peer Session
SIP MessagesStatus codesRTP
A
B
User makes a call to B ?
? Play ring-tone to user B
Play ring-tone to user A?
- - - Waiting for answer - - -
? B User answers call
A hears B ?
? B hears A
- - - Call Established - - -
? B hangs up
? B terminates RTP audio
A terminates audio ?
- - - Session Over - - -
79SIP Communications
- SIP Message Example
- INVITE sip0282078101_at_10.0.0.1135077 SIP/2.0
- Via SIP/2.0/UDP 10.0.0.35060
- From ltsip0282078100_at_10.0.0.3gttag40A0C340-2BC
- To ltsip0282078101_at_10.0.0.113gt
- Date Fri, 07 Jul 2006 015855 GMT
- Call-ID FB5F1FE3-C9211DB-B22481EA-DE5FE23A_at_10.0.0
.3 - Supported timer,100rel
- Min-SE 1800
- Cisco-Guid 4217155242-210899419-2988540394-373082
5786 - User-Agent Cisco-SIPGateway/IOS-12.x
- Allow INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK,
COMET, REFER, SUBSCRIBE, NOTIFY, INFO - CSeq 101 INVITE
- Max-Forwards 6
- Remote-Party-ID ltsip0282078100_at_10.0.0.3gtpartyc
allingscreenyesprivacyoff - Timestamp 1152237535
- Contact ltsip0282078100_at_10.0.0.35060gt
- Expires 180
Header
To From
Unique call ID
User agent details
Transmission info
Multi-part media content
SDP removed
80SIP Communications
- SDP Session Description Protocol
- RFC 2327
- Describe media capability of a SIP user agent
Agent Description
v0 oHolly-HVG-4-2 2890844526 2890842809 IN IP4
10.0.0.113 ssip call from the hvg cIN IP4
10.0.0.113 t0 0 maudio 11946 RTP/AVP 8 101 cIN
IP4 10.0.0.113 artpmap0 PCMU/8000 artpmap8
PCMA/8000 artpmap101 telephone-event/8000 afmtp
101 0-16
Agent Address
Audio Capability 1RTP Protocol
G.711 u-law A-law8000Hz
DTMF events 0123456789ABCD
81SIP Communications
- SDP Protocol Structure
- v (protocol version)
- o (owner/creator and session identifier).
- s (session name)
- i (session information)
- u (URI of description)
- e (email address)
- p (phone number)
- c (connection information)
- b (bandwidth information)
- One or more time descriptions
- z (time zone adjustments)
- k (encryption key)
- a (zero or more session attribute lines)
- Zero or more media descriptions
- m (media name and transport address)
- i (media title)
- c (connection information - optional if
included at session-level) - b (bandwidth information)
- k (encryption key)
- a (zero or more media attribute lines)
- Time description
- t (time the session is active)
- r (zero or more repeat times)
- optional
82SIP Registration
Registration Process
A
SIPRegistrar
REGISTER
200 OK
- - - Repeat regularly (5, 60 min) - - -
REGISTER Via IPHost From Andrew Hunt
ltsip0282078218_at_ahunt.holly-connects.comgt To
ltsipasterisk.holly-connects.com5060gt CallID
ltltsomething uniquegtgt Expires 3600
83SIP SIP Session Via a Proxy
B
A
SIP Proxy
User makes a call to B ?
? Play ring-tone to user B
- - - Waiting for answer - - -
Play ring-tone to user A?
? B User answers call
A hears B ?
? B hears A
- - - Call Established - - -
A hangs up ?
A terminates RTP audio ?
? B terminates RTP audio
- - - Session Over - - -
84SIP SIP Proxy Chaining
A
B
85SIP Proxy
- SIP Proxy Function
- Serve as rendezvous point at which callees are
reachable - Perform routing function
- Select the next hop or hops when chaining
- Forking try multiple destinations in parallel or
sequence - Avoid loops when chaining
- Available capabilities
- Programmable routing decisions tables
- Least-cost routing
- Firewall traversal
- Direct certain calls to PSTN via gateway (e.g.
911, local calls)
86SIP Session Via a PBX
A
B
SIP PBX(e.g. Asterisk)
User makes a call to B ?
100 TRYING
? Play ring-tone to user B
- - - Waiting for answer - - -
Play ring-tone to user A?
? B User answers call
A hears B ?
- - - Call Established - - -
? B hangs up
? B terminates RTP audio
A terminates RTP audio ?
- - - Session Over - - -
87SIP Session Via a PBX with Redirect (Direct
Audio Link)
A
B
SIP PBX(e.g. Asterisk)
- - - Call Established - - -
- - - Call Continues - - -
? B hangs up
? B terminates RTP audio
A terminates RTP audio ?
- - - Session Over - - -
88SIP-TDM Gateway
- Translate signalling messages
- To/From traditional telephony and VoIP
- e.g. ISUP ?? SIP/RTP
- Support heterogeneous environments
- Staged migration to VoIP
- Numerous gateway products available
TDM/ISDN
SIP/RTP
PSTN
IP
VoIPGateway
89SIP-TDM Gateway
PSTN
IP
Signalling gateway
ISDN
Media Gateway Controller
SIP
Media Gateway
RTP
TDM
90SIP-TDM Gateway
TDM-VoIPBridge
SIP UA
User makes a call ?
? Phone rings
Play ring-tone ?
? Pick-up
- - - Call in Progress - - -
Hang up ?
Terminates RTP audio ?
? Terminates RTP audio
- - - Session Over - - -
91SIP Sending Auxiliary Information
A
User makes a call ?
INVITE sip0282078101_at_10.0.0.1135077
SIP/2.0 ltltSIP header goes heregtgt Content-type
multipart/mixed boundary"gc0p4Jq0M2Yt08jU534c0p"
MIME-version 1.0 This is a multi-part message
in MIME format. --gc0p4Jq0M2Yt08jU534c0p Content-T
ype application/sdp Content-Length 235 ltltSDP
header goes heregtgt--gc0p4Jq0M2Yt08jU534c0p Conten
t-type image/jpeg PGh0bWwCiAgPGhlYWQCiAgPC9o
ZWFkPgogIDxib2R5PgogI CAgPHAVGhpcyBpcyB0aGUgYm9ke
SBvZiB0aGUgbWVzc2Fn ZS48L3ACiAgPC9ib2R5Pgo8L2h0bW
wCg --gc0p4Jq0M2Yt08jU534c0p
92SIP Failed Establishment
A
B
?
User makes a call to B ?
?
Timeout ?
- - - Retries - - -
?
Timeout ?
Timeout ?
B gives up ?
93RTP Real-time Transport Protocol
94Module Overview
- RTP Real-time Transport Protocol
- Really real-time?
- RTP session overview
- RTP packets
- RTP and network transmission
95Real-time Transport Protocol
- Standard for real-time transport over IP networks
- Streaming audio and video
- Utilised in SIP/RTP and H.323
- Adopted by 3GPP for next generation cellular
telephony - Widespread use in streaming QuickTime, Real,
Microsoft - RTP assumes
- Network is dumb and imperfect, end-points are
smart - Network may exhibit delays, jitter, packet loss
etc. - Real-time Transport Protocol is NOT REAL-TIME
- No end-to-end protocol, including RTP, can ensure
in-time delivery. This would require the support
of lower layers (switches, routers etc.) - RTP provides functionality suited for carrying
real-time content, e.g., a timestamp and control
mechanisms for synchronizing different streams
with timing properties
96Real-time Transport Protocol
- One RTP session transmits one media type
- Audio / voice
- Video
- Multi-media requires multiple RTP sessions
- RTP session
- Implements a particular RTP profile
- Includes an RTP data flow
- Transports a single media type according to one
or more payload formats - e.g. audio in G.711 format
- Includes an RTP control protocol flow
- Providing reception quality feedback, user
information, etc. - Associates
- Source and destination IP addresses
- A pair of UDP ports one for RTP, one for RTCP
97Real-time Transport Protocol
Time of last payload sample
Detect packet loss
Supports mixinge.g. for audio conferencing
Media Content
98Real-time Transport Protocol
Packet loss
Source
Out-of-order recovery
Network
Destination
Late packet loss
Buffer
Playback
99Network Issues and Design
100Module Overview
- Network Issues and Design
- Quality of Service
- Packet loss, Latency, Jitter
- Managing Quality of Service
- Network quality
- MPLS
- Silence suppression
- Local vs. long distance
- Network design
- Firewalls NAT STUN
101Quality of Service
- QoS Definition
- Probability of the network meeting a given
traffic contract - Informally refers to the probability of a packet
succeeding in passing between two points in the
network within its desired latency period
102Quality of Service
- What can go wrong as packets go from A to B?
- Dropped packets routers might fail to deliver
(drop) some packets if they arrive when their
buffers are full. Some, none, or all of the
packets might be dropped, depending on the state
of the network, and it is impossible to determine
what happened in advance. - Delay it may take a long time for a packet to
get from A to B because it gets held up in
long queues or takes a less direct route to avoid
congestion - Jitter packets from source will reach the
destination with different delays, sometimes by
taking different routes - Out-of-order delivery different packets may take
different routes with enough difference in delay
to change the order of arrival - Error sometimes packets are misdirected, or
combined together, or corrupted, while en route
103Quality of Service
104Quality of Service
- QoS issues can have a major impact on real-time
media streaming - Packet loss
- Missing packet replaced by silence
- Jitter out-of-order
- Abrupt and unwanted variation in packet arrival
timing - Arrival of packets out-of-order
Packet loss
Jitter
Original
105Quality of Service
- Measure QoS on routers and end-points
- QoS tends to degrade with network size and
congestion - Managing Quality of Service
- Generously over-provision a network expensive
and does not scale - Reserve network resources e.g. RSVP Resource
Reservation Protocol - DiffServ Differentiated services for bulk flows
(e.g. packets from a university) - Multi-Protocol Label Switching (MPLS) emulates
some properties of a circuit-switched network
over a packet-switched network. - Traffic shaping control computer network traffic
to optimize or guarantee performance, low
latency, and/or bandwidth. Traffic shaping deals
with concepts of classification, queue
disciplines, enforcing policies, congestion
management, quality of service (QoS), and
fairness. - Silence suppression
106Quality of Service
- QoS on Local Network
- QoS generally not a major issue in single-site
deployments - Dedicate separate switches for voice and data
traffic - Provide redundant networks for voice and data
traffic - Gigabit Ethernet
- Monitor QoS
- Alarm network outages
107Firewalls
- Network Address Translation (NAT) re-writing the
source and/or destination addresses of IP packets
as they pass through a router or firewall - Aka network masquerading or IP-masquerading
- Firewalls use NAT to enable multiple hosts on a
private network to access the Internet using a
single public IP address - Common in home and SOHO routers
- SDP addresses are not translated by NAT
- STUN (Simple Traversal of UDP over NATs, RFC
3489) - Network protocol allowing clients behind NAT to
find its (a) public address, (b) the type of NAT
and (c) the internet side port associated by the
NAT with a particular local port. - Info is used to set up UDP communication between
two machines both behind NAT routers
108VoIP and Speech Recognition
109Module Overview
- VoIP and Speech Recognition
- MRCP v1 v2
- Impact of CODECs
- Network issues packet loss, latency
110MRCP Media Resource Control Protocol
- MRCP v1
- IETF protocol
- Client control of speech resources
- Speech recognition
- Text-to-speech
- MRCP structure is similar to HTTP and SIP
- Request by client in headerbody format
- Response by server
- Media delivery typically via RTP
- Widely supported by VoiceXML Platforms
- Leverages existing W3C standards for speech
recognition and TTS markeup
111MRCP Media Resource Control Protocol
- MRCP v2
- IETF protocol to supersede MRCP v1
- Broader client control of speech resources
- Adds speaker verification and speaker
identification - Adds recording
- Utilizes SIPSDP to establish the media pipe
112VoIP and Speech Recognition
- Speech Recognition and CODECs
- Lossless CODECs do not affect speech recognition
accuracy - No loss of information
- Lossy CODECs can affect speech recognition
accuracy - Greater compression tends to cause great
degration - Speech recognizers are generally very reliable
with widely deployed CODECs - Mobile telephony has extensive compression
- Speech recognition trained explicitly for mobile
performance - DSR Aurora Distributed Speech Recognition
- CODEC specialized for the requirements of speech
recognition - Promoted for mobile carrier usage
113VoIP and Speech Recognition
- Speech Recognition and Latency
- Speech recognition not as sensitive to latency as
humans - Late packet is better than no packet
- Speech recognizers have extensive buffers for
non-real-time processing - Note excessive latency (gt1sec) can cause caller
perceived service issues
Speech Recognizer
RTP
Result
Buffer
114VoIP and Speech Recognition
- Speech Recognition and Packet Loss
- Speech recognition are sensitive to packet loss
- ASR can use packet loss information to minimize
error reduction
Speech Recognizer
RTP
Result
Buffer
115VoIP and Mobile Telephony
116Module Overview
- VoIP and Mobile Telephony
- Analog mobile
- Digital mobile
- 3G and SIP
- IMS IP Multi-Media Subsystem Architecture
117Mobile Telephony
- Analog Mobile
- Experimental systems from 1920s
- 1G 1st Generation
- AMPS Advanced Mobile Phone Services
- Analog transmission
- 1978 Trial in Chicago
- 1979 Commercial launch in Japan
- 1981 Commercial launch in Sweden, Norway,
Denmark, Finland - 1983 Commercial launch in Chicago
- Issues limited capacity, fraud, subscriber
volume
118Mobile Telephony
- 2G 2nd Generation Mobile
- Objectives achieved
- Digital technology
- Increased capacity
- Greater security against fraud
- Global roaming
- Advanced services
- Lower power smaller handsets longer battery
life - Many standards evolved (examples)
- GSM Pan-European standard that spread globally
- CDMA Americas and parts of Asia (aka PCS)
- PDC Japan
- Limitations
- Optimized for voice not suited to data
119Mobile Telephony
- 2.5G Stepping Stone from 2G to 3G
- 2G system with both packet switching (for data)
and circuit switching (for voice) - 2.5G is a marketing term not a standard
- Objectives achieved
- Re-use of much 2G infrastructure (GSM CDMA)
- Data rate of 144 kbit/sec or better
- Used for sending photos and much more
120Mobile Telephony
- 3G 3rd Generation Mobile
- Combines high-speed mobile access with Internet
Protocol (IP) based services - Covers range of network technologies
- WCDMA, CDMA2000, UMTS, EDGE
- Data rate 384kbps for mobile systems and 2Mbps
for stationary systems - Enables video, TV, images, music, games, location
services
121Mobile Telephony
- 3GPP 3rd Generation Mobile
- Collaboration agreement (Dec-98) between ETSI
(Europe), ARIB/TTC (Japan), CCSA (China), ATIS
(North America) and TTA (South Korea). - Goal global 3G specification within the scope of
the ITU's IMT-2000 project - 3GPP specifications are based on evolved GSM
specifications - Now generally known as the UMTS system
- Introduced IMS
122Mobile Telephony
- IMS IP Multi-Media Sub-System
- Emerged in 3GPP Release 5 with following
enhancements - Principles
- Access independence work with fixed, mobile or
wireless networks - Different network architectures implement on
operator-selected architectures - Terminal and user mobility provides terminal
mobility (roaming) - Extensive IP-based services offer just about any
IP-based service. VoIP, push-to-talk over
cellular (POC), multiparty gaming, video
conferencing, messaging, community services,
presence information, content sharing
123Mobile Telephony
- IMS is Built on SIP
- 3GPP Variant of SIP
- Application servers for SIP session management
- Caller ID, call waiting, call forwarding,
transfer, call blocking, interception,
announcements, conferencing, voice-mail, SMS - CSCF Call Session Control Function and other
functions by SIP - Media Resource Function (MRF) SIP end-point with
IVR-like functionality - TDM-VoIP gateways to bridge to fixed and mobile
telephony - Whos in control?
- TDM dumb terminals, smart network
- Internet VoIP smart terminals, dumb network
- IMS dumb/smart terminals, smart network
124Closing
125Module Objectives
126Further Information
- Web sites
- IETF http//www.ietf.org/html.charters/sip-charte
r.html - SIP Tutorial http//www.iptel.org/sip/siptutorial
.pdf - SIP Home Page http//www.cs.columbia.edu/sip/
- SIP Forum http//www.sipforum.org/
- Asterisk PBX http//www.asterisk.org/
- VoIP Wiki Reference http//www.voip-info.org/wiki
/ - SIP Knowledge http//www.sipknowledge.com/SIP_RFC
.htm - SIP FAQ http//www.sipknowledge.com/faq_main.htm
- SIP Tech Portal http//www.tech-invite.com/
127Thank you!!!