Title: VoIP Using SIP/RTP
1VoIP Using SIP/RTP
- by
- George Fu, UCCS
- CS 522 Semester Project
- Fall 2004
2Two Parts of the Project
- Understand VOIP
- Implement SIP and RTP
3Voice To/From IP
Analog
Voice
CODEC Analog to Digital
Compress
Create Voice Datagram
Add Header (RTP, UDP, IP, etc)
Digital
4Telephone-to-PC
5ISO Reference Model and VoIP Standards
6SIP Session Initiation Protocol
- Its a signaling protocol proposed by IETF.
- Establish sessions.
- SIP is a text-based, peer-to-peer protocol that
runs on the Session Layer. - SIP Address Format (resembles mailto URL format)
- siphenrys_at_mci.com
- sip 1-972-555-1234_at_mci.com userphone
- Integrated heavily w/ Internet technologies such
as web (http), email messaging services, and
directory services (DNS). - Location Independent and hence opted for Mobile
Networks.
7SIP Architecture
- Major Entities
- User Agent
- Intermediate Server
- Proxy Server
- Redirect Server
- SIP Registrar
- Gateway
8SIP Messages Methods and Responses
SIP components communicate by exchanging SIP
messages
- SIP Methods
- INVITE Initiates a call by inviting user to
participate in session. - ACK - Confirms that the client has received a
final response to an INVITE request. - BYE - Indicates termination of the call.
- CANCEL - Cancels a pending request.
- REGISTER Registers the user agent.
- OPTIONS Used to query the capabilities of a
server. - INFO Used to carry out-of-bound information,
such as DTMF digits.
- SIP Responses
- 1xx - Informational Messages.
- 2xx - Successful Responses.
- 3xx - Redirection Responses.
- 4xx - Request Failure Responses.
- 5xx - Server Failure Responses.
- 6xx - Global Failures Responses.
9Example of SIP message
- INVITE sipbob_at_domain.com SIP/2.0
- Via SIP/2.0/UDP 166.34.27.44
- From sipalice_at_mci.com
- To sipbob_at_domain.com
- Call-ID a2e3a_at_mci.com
- Content-Type application/sdp
- Content-Length 885
- cIN IP4 166.34.27.44
- maudio 38060 RTP/AVP 0
- HTTP message syntax
- sdp session description protocol
- Call-ID is unique for every call.
10Overview of RTP
- Provides end-to-end delivery services for
real-time traffic interactive audio and video. - Payload identification, sequence numbering,
time-stamping and delivery monitoring. - Runs on top of UDP, and less often, TCP.
- RTP does not guarantee delivery or prevent
out-of-order delivery.
11PC-to-PC
12Call to a known Computer
- Alices SIP invite message indicates her port
number IP address. Indicates encoding that
Alice prefers to receive (PCM ulaw) - Bobs 200 OK message indicates his port number,
IP address preferred encoding (GSM) - SIP messages can be sent over TCP or UDP here
sent over RTP/UDP. - Default SIP port number is 5060.
13(No Transcript)
14Future Work
Delay For high quality voice, one way latency must not be greater than 150ms. Delay greater than 50ms leads to echo and talker overlap.
Jitter Variation in inter-packet arrival time. The solution to this problem is to introduce jitter buffers.
Packet Loss Loss in excess of 5-10 causes significant degradation in voice quality.
Re-ordering Packets may arrive out of order and this leads to garbled speech.
Speech Coding PCM, PCM uLaw, ADPCM, LPC, LD-CELP, GSM
15References
- U. Black, Voice over IP, 2nd ed., Prentice Hall,
2002 - J. Davidson and J. Peters, Voice over IP
Fundamentals, Cisco Press, 2000 - Douskalis, IP Telephony. The Integration of
Robust IP Services, Prentice Hall, 2000. - H. Liu and P. Mouchtaris, Voice over IP
Signaling H.323 and Beyond, IEEE Comm. Mag.,
October 2000, pp. 142-148 - H. Schulzrinne and J. Rosenberg, The Session
Initiation Protocol Internet-Centric Signaling,
IEEE Commun. Mag., Oct. 2000, pp. 134-141. - RFC 1889 H. Schulzrinne et al, RTP A Transport
Protocol for Real-Time Applications - http//www.itpapers.com/techguide/voiceip.pdf
- http//www.cs.columbia.edu/sip/