SIP (Session Initiation Protocol)
-
Upload
khnog -
Category
Technology
-
view
182 -
download
3
Transcript of SIP (Session Initiation Protocol)
SIP (Session initiation protocol)RFC 3261 https://www.ietf.org/rfc/rfc3261.txt
Alexey KOVRIZHNYKH
Traditional telephony challenges´ Capacity, 1xE1=2Mbps=30-31 calls (depending on signaling)
´ Lower diversity, a need to have end-to-end links. Low portability for end-users
´ Cost
E1 E1
What is IP telephony?Transfer of audio and/or video over IP from one endpoint to another
´ Capacity, 1xE1=2Mbps=124 calls (depending on settings)
´ Full diversity of IP networks
´ Lower cost
SIP architecture´ SIP signaling
´ RTP (real-time transport protocol) – transports the voice and video over IP networks.
´ RTCP (real-time control protocol) – monitors transmission statistics and quality of service (QoS). Uses ~5% of RTP
´ SDP (session description protocol) – negotiates technical data for RTP
SIP (session initiation protocol)
´ By default uses UDP port 5060
´ Carries signaling messages´ Register
´ Invite
´ Trying (100)
´ Ok (200)
´ Ack
´ Ringing (180)
´ Session progress (183)
´ Bye
´ Etc
RTP (real-time transport protocol)
´ Audio and video runs separately
´ Mostly use unprivileged UDP ports (1024 to 65535)
´ The audio payload formats include G.711, G.723, G.726, G.729, GSM and other codecs
´ The video payload formats include H.261, H.263, H.264, MPEG-4 etc
SDP (session description protocol)It’s a protocol that describes the media of a session.
Session descriptionv= (protocol version number, currently only 0)o= (originator and session identifier : username, id, version number, network address)s= (session name : mandatory with at least one UTF-8-encoded character)c=* (connection information—not required if included in all media)b=* (zero or more bandwidth information lines)Media description (if present)m= (media name and transport address, and set of codecs)i=* (media title or information field)c=* (connection information — optional if included at session level)b=* (zero or more bandwidth information lines)k=* (encryption key)a=* (zero or more media attribute lines — overriding the Session attribute lines, with codec and sampling rate)
[Request]v=0o=Makara 2890844526 2890844526 IN IP4 10.120.42.3s= KHNOGc=IN IP4 10.120.42.3m=audio 49170 RTP/AVP 0 8 97 (Real-time protocol, Audio-video profile)a=rtpmap:0 PCMU/8000a=rtpmap:8 PCMA/8000a=rtpmap:97 iLBC/8000m=video 51372 RTP/AVP 31 32 a=rtpmap:31 H261/90000a=rtpmap:32 MPV/90000
[Answer]v=0o=Vibol 2808844564 2808844564 IN IP4 10.120.32.12s=KHNOGc=IN IP4 10.120.32.12m=audio 49174 RTP/AVP 0a=rtpmap:0 PCMU/8000m=video 49170 RTP/AVP 32a=rtpmap:32 MPV/90000
Packetization period
Packetization period (cont’d)
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
20ms
50 packets*20ms/packet=1000ms=1s
Voice codecs
IP overhead=Eth(14)+IP(20)+UDP(8)+RTP(12) = 54 bytesETH=src_mac(6)+dst_mac(6)+ether_type(2)=14 bytes
Codec G.711(PCM) G.711(PCM) G.729r8 G.729r8 G.711(PCM) G.729r8Codecbw,Kbit/s 64 64 8 8 64 8Codecbw,bit/s 64000 64000 8000 8000 64000 8000Codecbw,bytes/s 8000 8000 1000 1000 8000 1000Packetization,ms 20 30 20 40 20 500PPS(packetpersecond) 50 33 50 25 2 2Packetsize,bytes 160 240 20 40 4000 500IPoverhead,bytes 54 54 54 54 54 54TotalIPpacketsize,bytes 214 294 74 94 4054 554Bandwithontheline,Kbps 85.6 78.4 29.6 18.8 64.864 8.864Callsfittinginto1xE1(2048Kbps) 24 26 69 109 32 231
PCM=Pulse code modulation, coming from traditional phone system
MOS (mean opinion score)MOS=5 for a face to face talk• zero loss• zero delay • zero compression• zero processing delay
Signaling sample
VoIP related features´ VAD (voice activity detection) to not transfer packets if no voice
´ CNG (comfort noise generation) to create a background noise in the phone
´ ALG (application layer gateway) to support NAT
´ RTP header compression
Sample call
Sample call
#11110.0.111.2/30
#22210.0.222.2/30
Wiresharksniffer
SPANport Console
10.0.111.1/30 10.0.222.1/30
Signaling,SIP+SDP,UDP5060Voice,RTP
UDPrandomport