VoIP Technology Overview
Ai-Chun Pang Grad. Ins. of Networking and Multimedia Dept. of Comp. Sci. and Info. Engr. National Taiwan University Outline
RTP ( Real-Time Transport Protocol)/RTCP ( RT P Control Protocol) SIP ( Session Initiation Protocol) MGCP ( Media Gateway Control Protocol)/MEGACO (Me dia Ga teway Co ntrol Protocol) SIGTRAN ( Sig naling Tran sport) Softswitch
2 Voice over UDP, not TCP
Speech Small packets, 10 – 40 ms Occasional packet loss is not a catastrophe. Delay-sensitive TCP: connection set-up, ack, retransmit → delays 5 % packet loss is acceptable if evenly spaced Resource management and reservation techniques (bandwidth and buffer size) A managed IP network Advanced voice-coding techniques In-sequence delivery UDP was not designed for voice traffic
3 Real-Time Transport Protocol
RTP: A Transport Protocol for Real-Time Applications RFC 1889 RTP – Real-Time Transport Protocol UDP Packets may be lost or out-of-sequence RTP over UDP A sequence number A time stamp for synchronized play-out Does not solve the QoS problems; simply provides additional information
4 RTP Control Protocol
RTCP A companion protocol with RTP Exchange messages between session users Quality feedback Number of lost packets, delay, inter-arrival jitter… RTCP is implicitly open when an RTP session is open E.g., RTP/RTCP uses UDP port 5004/5005 Timing of RTCP packets The control traffic should be limited to a small fraction of the session bandwidth.
5 Timing of RTCP Packets
The control traffic should be limited to a small fraction of the session bandwidth. RFC 1889 provides an algorithm for calculating the interval between RTCP Packets. The following main characteristics are included. The interval > 5 seconds 0.5 – 1.5 times the calculated interval A dynamic adaptation for the interval based on the RTCP packet size
6 Introduction to SIP
A powerful alternative to H.323 More flexible, simpler Easier to implement advanced features Better suited to the support of intelligent user devices A part of IETF multimedia data and control architecture
7 The Popularity of SIP
Originally Developed in the MMUSIC (Multiparty Multimedia Session Control) A separate SIP working group RFC 2543 Many developers The latest version: RFC 3261 SIP + MGCP/MEGACO The VoIP signaling in the future “bake-off” Various vendors come together and test their products against each other to ensure that they have implemented the specification correctly to ensure compatibility with other implementations
8 SIP Architecture
A signaling protocol The setup, modification, and tear-down of multimedia sessions SIP + SDP (Session Description Protocol) Describe the session characteristics Separate signaling and media streams
9 SIP Addressing
SIP URLs (Uniform Resource Locators) user@host sip:[email protected] sip:[email protected]
10 SIP Network Entities [1/4]
User Agents A SIP-enabled telephone User agent client (calling party) User agent server (called party) Servers Proxy Server Redirect Server Location Server (Registrar)
11 Proxy Server
Can be used for call forwarding, time-of-day routing, or follow-me services
12 Redirect Server
Map the destination address to zero or more new addresses
13 Registrar
Accepts SIP REGISTER requests Indicating that the user is at a particular address Personal/User mobility Typically combined with a proxy or redirect server
14 SIP Architecture
SIP Request SIP Response RTP Media Stream
Proxy Server Redirect Server Location Server
Proxy Server Proxy Server
User Agent Client(Caller)
User Agent Server(Callee) 15 SIP Call Establishment
It is simple, which contains a number of interim responses.
16 Overview of SIP Messaging Syntax
Text-based Similar to HTTP Disadvantage – more bandwidth consumption SIP messages message = start-line *message-header CRLF [message-body] start-line = request-line | status-line Request-line specifies the type of request The response line indicates the success or failure of a given request.
17 Overview of SIP Messaging Syntax
Message headers Additional information of the request or response E.g., The originator and recipient Retry-after header Subject header Message body Describe the type of session The most common structure for the message body is SDP (Session Description Protocol). Could include an ISDN User Part message Examined only at the two ends
18 SIP Requests [1/2]
Method SP Request-URI SP SIP-version CRLF Request-URI The address of the destination Methods INVITE, ACK, OPTIONS, BYE, CANCLE, REGISTER INVITE Initiate a session Information of the calling and called parties The type of media ~IAM (initial address message) of ISUP ACK only when receiving the final response
19 SIP Requests [2/2]
BYE Terminate a session Can be issued by either the calling or called party OPTIONS Query capabilities
A particular type of supported media CANCEL Terminate a pending request E.g., an INVITE did not receive a final response REGISTER Log in and register the address with a SIP server “all SIP servers” – multicast address (224.0.1.175) Can register with multiple servers Can have several registrations with one server
20 An Example of SIP Request
SIP Request Message Description INVITE sip:[email protected] SIP/2.0 Method type, request URI and SIP version Call-ID:[email protected] Globally unique ID for this call Content-Type:application/sdp The body type, an SDP message CSeq: 1 INVITE Command Sequence number and type From: User originating the request sip:[email protected];tag=c8-f3-1-4-5-3efad To:sip:[email protected] User being invited into the call Via: SIP/2.0/UDP 140.96.200.1:8080 IP Address and port of previous hop Blank line separates header from body v=0 SDP Version o=smayer 280932498 IN IP4 140.96.200.1 Owner/creator and session identifier s=Incoming phone call from acer The name of the session p=+886 3 5914494 Phone number of caller c=IN IP4 140.96.102.100 Connection information m=audio 492837 RTP/AVP 0 Media name and transport address
21 SIP Responses
SIP Version SP Status Code SP Reason-Phrase CRLF Reason-Phrase A textual description of the outcome Could be presented to the user status code A three-digit number 1XX Informational 2XX Success (only code 200 is defined) 3XX Redirection 4XX Request Failure 5XX Server Failure 6XX Global Failure All responses, except for 1XX, are considered as final responses Should be ACKed
22 An Example of SIP Response
SIP/2.0 200 OK Via : SIP/2.0/UDP sippo.example.se Via : SIP/2.0/UDP science.fiction.com From : Fingal
23 Invitation for SIP Proxy Server
itri.org.tw
location server
csie.nctu.edu.tw
[email protected] honda (2) (4) INVITE (1) INVITE honda@AUDI (3) AUDI [email protected] honda@AUDI
(6) 200 OK (5) 200 OK BMW BENZ (5) (7) ACK [email protected] (8) ACK honda@AUDI honda@AUDI RTP Stream
24 The Telephone Network [1/2]
SS7 Signaling Service Service + ISUP Messages Control Data INAP/TCAP Messages Point Point Signal Transfer Control Layer Point
Intelligent Transport Layer Peripheral
Class 4 Class 5 Tandem Switch End Office Switch
Circuit Switched Network
25 Reference: CCL/ITRI The Telephone Network [2/2]
5 Basic Components in Intelligent Networks SSP/Service Switching Point switching , signaling, routing, service invocation STP/Signal Transfer Point SCP SCP SDPSDP signaling, routing TCAP messages
IP SCP/Service Control Point IP STP STPSTP STP service logic execution
SSP SSP SDP/Service Data Point SSP ISUP messages SSP subscriber data storage, access Voice IP/Intelligent Peripheral resources such as customized voice announcement, voice recognition, DTMF digit collection
26 Why MGCP/MEGACO
Voice over IP Lower cost of network implementation Integration of voice and data applications New service features Reduced bandwidth Replacing all traditional circuit-switched networks is not feasible. VoIP and circuit-switching networks must coexist. Interoperation Seamless interworking
27 Separation of Media and Call Control [1/3]
Gateways Interworking To make the VoIP network appear to the circuit switched network as a native circuit-switched system and vice versa Signaling path and media path are different in VoIP systems. Media – directly (end-to-end) Signaling – through H.323 gatekeepers (or SIP proxies) SS7, Signaling System 7 The logical separation of signaling and media
28 Separation of Media and Call Control [2/3]
A network gateway has two related but separate functions. Signaling conversion The call-control entities use signaling to communicate . Media conversion A slave function (mastered by call-control entities)
29 Separation of Media and Call Control [3/3]
Advantages of Separation Media conversion close to the traffic source and sink The call-handling functions is centralized. A call agent (media gateway controller - MGC) can control multiple gateways. New features can be added more quickly. The first protocol is MGCP RFC 2705, IETF To be succeeded by MEGACO/H.248 Has be included in several product developments MEGACO/H.248 IETF and ITU-T Study Group 16 RFC 3015 is now the official version.
30 MGCP
A master-slave protocol Call agents (MGCs) control the operation of MGs Call-control intelligence Call-related signaling MGs Do what the CA instructs A line or trunk on circuit-switched side An RTP port on the IP side Types of Media Gateway Trunking Gateway to CO/Switches Residential Gateway to PSTN Phones Access Gateway Communication between call agents Likely to be the SIP
31 Network Architecture
SS7 Network Internet Signaling SCP (SS7) MGCP/ SIGTRAN Gateway Call MEGACO STP Agent MGCP/ MEGACO
Trunking Residential GatewayTrunking RTP GatewayResidential CO GatewayTrunking GatewayResidential Switch Gateway Gateway
32 MGCP Connection Establishment
33 Endpoints, Connections and Calls
Endpoints Sources or sinks of media Trunk interfaces POTS line interfaces Announcement endpoint Connections Allocation of IP resources to an endpoint An ad hoc relationship is established from a circuited- switched line and an RTP port on the IP side. A single endpoint can have several connections A call A group of connections
34 The Function of MGCP
The primary function of MGCP is to enable The connections to be created The session descriptions to be exchanged between the connections
35 H323 (SIP) vs. MGCP(MEGACO)
PSTN SS7 CA SG MGCP GK GW TN GK GW TN PSTN CO TGW RGW H.323
MCU TN TN MCU TN TN RTP
GW : Gateway GK : Gatekeeper CA : Call Agent TN : Terminal TGW : Trunking Gateway MCU : Multipoint Control Unit RGW : Residential Gateway SG : Singling Gateway
36 Reference: CCL/ITRI Relation with H.323 Standards
SS7/ISUP Signaling Internet (SS7) Gateway SIGTRAN Gatekeeper
CO Call H.225/RAS Switch Agent H.225/Q931 H.245 Terminal MGCP or Trunking Gateway Gateway RTP
37 Reference: CCL/ITRI Signaling Transport
Addressing the issues regarding the transport of signaling within IP networks The issues related to signaling performance within IP networks and the interworking with PSTN Issues discussed in SIGTRAN Address translation How can we deploy an SS7 application (e.g., ISUP) that expects certain services from lower layers such as MTP when lower layers do not exist in the IP network? For transport layer, the ISUP message must be carried in the IP network with the same speed and reliability as in the SS7. UDP x TCP x
38 SIGTRAN Architecture
Signaling over standard IP uses a common transport protocol that ensures reliable signaling delivery. Stream Control Transmission Protocol (SCTP) An adaptation layer is used to support specific primitives as required by a particular signaling application. The standard SS7 applications (e.g., ISUP) do not realize that the underlying transport is IP.
39 Why not use TCP and UDP?
UDP Unreliable transmission Lack of congestion and flow controls TCP TCP provides both reliable data transfer and strict order- of-transmission, but SS7 may not need ordering. TCP will cause delay for supporting order-of-transmission. Head-of-line blocking The limited scope of TCP sockets complicates the task of data transmission using multi-homed hosts. TCP is relatively vulnerable to DoS attack, such as SYN attacks.
40 SCTP
To offer the fast transmission and reliability required for signaling carrying. SCTP provides a number of functions that are critical for telephony signaling transport. It can potentially benefit other applications needing transport with additional performance and reliability. SCTP must meet the Functional Requirements of SIGTRAN.
41 What Supported By Using SCTP?
To ensure reliable, error-free, in-sequence delivery of user messages (optional). To support fast delivery of messages and avoid head-of- line blocking. To support network-level fault tolerance that is critical for carrier-grade network performance by using multi-home hosts. To provide protection against DoS attack by using 4-way handshake and cookie.
42 An Example of SIGTRAN
SS7 Protocol Stack OSI Layers SIGTRAN Protocol Stack
INAP MAP Application INAP MAP
Presentation TCAP ISUP Session TCAP ISUP
SCCP Transport SCCP
SCN S ignaling Adaptation Network (SSA) MTP Data Link Common Signaling Transport (CST) Physical IP
43 Softswitch Overview
Providing open layered architecture
Circuit-Switched Soft-Switched Services, Applications & Features P (Management, Provisioning and R Services & Back Office) O Applications P Open Protocols APIs R Call Control I & Switching Softswitch Call Control E T Open Protocols APIs A Transport Hardware R Transport Hardware Y
• Solutions are based on open standards • Solutions in a proprietary box • Open standards enable lower cost for • Little room for innovation innovation
44 Reference: CCL/ITRI Softswitch Architecture
Softswitch: Emulating Circuit Switching in Software
IN/SCP PSTN SS7 Network STP PSTN Local Switch Local Switch
SG IP Network SG
MGC MGC
Trunk Trunk Gateway Gateway RTP Streams
9000 Personalized VoIP Service System IP Phone Application Server 45 Reference: CCL/ITRI