Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Porting VoIP Applications to DCCP Speaker: Jia-Yu Wang Adviser: Quincy Wu School: National Chi Nan University.

Similar presentations


Presentation on theme: "1 Porting VoIP Applications to DCCP Speaker: Jia-Yu Wang Adviser: Quincy Wu School: National Chi Nan University."— Presentation transcript:

1 1 Porting VoIP Applications to DCCP Speaker: Jia-Yu Wang Adviser: Quincy Wu School: National Chi Nan University

2 2 Outline Introduction Linphone  The architecture of Linphone  Linphone original Function call  Porting Linphone to DCCP  Implementing DCCP Function call Implementation Conclusion Reference

3 3 Introduction Datagram Congestion Control Protocol (RFC 4340) TCPUDPDCCP ReliableYesNo Connection-OrientedYesNoYes Congestion ControlYesNoYes Sequence NumberYesNoYes

4 4 Introduction (Cont.) Unreliable  No re-transmissions Reliable handshakes for connection setup and teardown Modular congestion control  Can detect congestion and take avoiding action  Different algorithms can be selected – CCID TCP-like ( CCID2) TCP Friendly Rate Control ( CCID3) Packet sequence numbers

5 5 Introduction (Cont.) DCCP Applications  Video streaming  Audio streaming  IP Telephony

6 6 SIP (Session Initiation Protocol) ClientServer

7 7 RTP (Real-time Transport Protocol) over DCCP RTP UDP IP Data link layer Physical layer DCCP Network layer Transport layer Application layer

8 8 DCCP Connection

9 9 Linphone Linphone is an internet phone Linphone complies to the SIP protocol Linphone is free-software (or open-source), you can download and redistribute it freely

10 10 The architecture of Linphone

11 11 Linphone original Function call 1.Create socket and RTP session 2.Set RTP session 3.Receive and Send RTP packets

12 12 Porting Linphone to DCCP Create 2 RTP Session  DCCP connection is uni-directional Connection-Oriented  Receiver socket need to use Blocking for accept  Receiver socket need to accept the establishment of waiting for sender socket connect Set socket parameters  Socket parameters need to use DCCP protocol

13 13 Implementing DCCP Function call oRTP/rtpsession_inet.c create_and_bind_recv() SOCK_DCCP=6; SOL_DCCP=269; DCCP_SOCKOPT_PACKET_SIZE=1; DCCP_SOCKOPT_SERVICE=2; IPPROTO_DCCP=33; socket(ai_family, SOCK_DCCP, IPPROTO_DCCP); setsockopt(sock,SOL_DCCP,DCCP_SOCKOPT_PACKET_SIZE, (char*)&pkt_size,sizeof(pkt_size)); setsockopt(sock,SOL_DCCP,DCCP_SOCKOPT_SERVICE,(char*)&pkt_size,sizeof(pkt_size));

14 14 Implementing DCCP Function call (Cont.)

15 15 Implementing DCCP Function call (Cont.)

16 16 Implementation

17 17 Experimental Result IPERF to generate the TCP flow oRTP to generate DCCP (CCID2) flow and UDP flow Bandwidth : 10Mb/s, Total Time : 30 seconds. Repeating test : 100 TCP7.74 Mbit/s DCCP2.02 Mbit/s TCP0.10 Mbit/s UDP9.66 Mbit/s

18 18 Conclusion Implementing RTP over DCCP Porting Linphone to DCCP

19 19 Reference Datagram Congestion Control Protocol (RFC 4340) CCID2-TCP-like Congestion Control (RFC 4341) CCID3-TCP-Friendly Rate Control (TFRC) (RFC4342) RTP and the Datagram Congestion Control Protocol (DCCP)  draft-ietf-dccp-rtp-07.txt draft-ietf-dccp-rtp-07.txt Linphone  http://www.linphone.org/index.php/eng http://www.linphone.org/index.php/eng


Download ppt "1 Porting VoIP Applications to DCCP Speaker: Jia-Yu Wang Adviser: Quincy Wu School: National Chi Nan University."

Similar presentations


Ads by Google