1 / 13

SIP/RTP/RTCP Implementation

SIP/RTP/RTCP Implementation. by George Fu, UCCS CS 525 Semester Project Fall 2006. Two Parts of the Project. Understand SIP, RTP and RTCP Implement SIP, RTP and RTCP. Voice To/From IP. Analog. Voice. CODEC: Analog to Digital. Compress. Create Voice Datagram. Add Header

petra
Download Presentation

SIP/RTP/RTCP Implementation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SIP/RTP/RTCP Implementation by George Fu, UCCS CS 525 Semester Project Fall 2006

  2. Two Parts of the Project • Understand SIP, RTP and RTCP • Implement SIP, RTP and RTCP

  3. Voice To/From IP Analog Voice CODEC: Analog to Digital Compress Create Voice Datagram Add Header (RTP, UDP, IP, etc) Digital

  4. ISO Protocol layer Protocols and standards Presentation Codecs / Applications Session H.323 / SIP / MGCP Transport RTP / TCP / UDP Network IP Link FR, ATM, Ethernet, PPP, etc. ISO Reference Model and VoIP Standards

  5. 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. SIP Messages – Methods and Responses SIP components communicate by exchanging SIP messages:

  6. Example of SIP message INVITE sip:bob@domain.com SIP/2.0 Via: SIP/2.0/UDP 166.34.27.44 From: sip:alice@mci.com To: sip:bob@domain.com Call-ID: a2e3a@mci.com Content-Type: application/sdp Content-Length: 885 c=IN IP4 166.34.27.44 m=audio 38060 RTP/AVP 0 • HTTP message syntax • sdp = session description protocol • Call-ID is unique for every call.

  7. PC-to-PC

  8. Call to a known Computer • Alice’s SIP invite message indicates her port number & IP address. Indicates encoding that Alice prefers to receive (PCM ulaw) • Bob’s 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.

  9. Implementation • Open All the Sockets in the Main Thread sip_send_socket = socket (AF_INET, SOCK_DGRAM, 0); rtp_send_socket = socket (AF_INET, SOCK_DGRAM, 0); rtcp_send_socket = socket (AF_INET, SOCK_DGRAM, 0); sip_receive_socket = socket (AF_INET, SOCK_DGRAM, 0); rtp_receive_socket = socket (AF_INET, SOCK_DGRAM, 0); rtcp_receive_socket = socket (AF_INET, SOCK_DGRAM, 0);

  10. Implementation • Separate Thread for RTP and RTCP pthread_create(&child, NULL, send_RTP_RTCP, NULL); • Use Select System Call to Make SIP/RTP/RTCP/User Commands Send and Receive all Work Simultaneously

  11. Demo

  12. Future Work

  13. References • 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/

More Related