Download presentation
Presentation is loading. Please wait.
Published byHomer Lawson Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.