SlideShare a Scribd company logo
1 of 31
Download to read offline
Introduction to SIP
Stanley Wu (吳建澄)
skyeyester@gmail.com
Dec. 12, 2015
Outline
• Introduction
• SIP Signaling
• Request/Response
• SIP Logical Entities
• Basic Call Flow
• SIP Message Syntax Overview
• Start Line
• Message Header
• SIP Correlated Protocols
• SIP Signaling and VoIP analysis using a Wireshark
Packet Analyzer
2
Introduction
• Session Initiation Protocol (SIP)
• SIP enable Internet Endpoints (Clients) to discover
and establish a session between each other
 A signaling protocol (application-layer control protocol)
 For creating, modifying, and terminating sessions
 Separate signaling and media streams
 All kind of real-time multimedia types, such as voice, video
or text messages
3
SIP Signaling
• SIP Message
• SIP is a text-based protocol and uses the UTF-8 charset.
• A SIP signaling is either a request message from a client to a
server, or a response message from a server to a client.
• Request: A SIP message sent from a client to a server, for the purpose
of invoking a particular operation.
• Response: A SIP message sent from a server to a client, for indicating
the status of a request sent from the client to the server.
• SIP Addressing (URI)
• E-mail like
• user@host
• sip:Alice@taipei.com
4
Client Server
Request
Response
SIP Logical Entities
• User Agent (UA): An endpoint
– User Agent Client (UAC): sends requests, receives responses
– User Agent Server (UAS): receives requests, sends responses
• Proxy server: A network host that proxies requests and
responses,
– i.e., acts as a UAC and as a UAS.
• Redirect server: a UAS that redirects request to other
servers.
• Back-to-back User Agent: a UAS linked to a UAC
– Acts as a UAS and as a UAC linked by some application logic
5
UAC UAS
Request
Response
Response
Request
Proxy
Request
Response
Response
Request
B2BUA
Request Method
6
Name Message Capability
INVITE The user is begin invited to participate in a session.
ACK The client has received a final response to an INVITE.
OPTIONS The server is begin queried as to its capabilities.
BYE The user terminated the session.
CANCEL It cancels a pending request (not completed request).
REGISTER It conveys the user’s location information to a SIP server.
Request Method (cont.)
7
Name Message Capability
SUBSCRIBE installs a subscription for a resource
NOTIFY informs about changes in the state of the resource
MESSAGE delivers an Instant Message
INFO used to transport mid-session information
PUBLISH publication of presence information
UPDATE changes the media description (e.g. SDP) in an existing
session
REFER used for call transfer, call diversion, etc.
PRACK acknowledges a provisional response for an INVITE request
Response Code
8
Serial Number Status Code Message Capability
1xx Provisional
request received, continuing to process the request,
e.g. 100 Trying
2xx Success
the action was successfully received, understood,
and accepted, e.g. 200 OK
3xx Redirection
further action needs to be taken in order to
complete the request, e.g. 302 Moved Temporarily
4xx Client Error
the request contains bad syntax or cannot be
fulfilled at this server, e.g. 486 Busy Here
5xx Server Error
the server failed to fulfill an apparently valid request,
e.g. 501 Not Implemented
6xx Global Failure
the request cannot be fulfilled at any
server, e.g. 604 Does Not Exist Anywhere
Basic Call Flow (Register)
9
401 Unauthorized
Authentication challenge
nonce="dcd98b7102dd2f0e8b
11d0f600bfb0c093"
SIP Phone
Register
401 Unauthorized
Register
200 OK
SIP Server
Basic Call Flow (Answer)
10
RTP
Caller
Alice’s softphone
Callee
Bob’s SIP phone
TWCompany.com
proxy
EUCompany.com
proxy
INVITE 1
INVITE 2
100: Trying 3
INVITE 4
100: Trying 5
180: Ringing 6
180: Ringing 7
180: Ringing 8 200: OK 9
200: OK 10
200: OK 11
ACK 12
BYE 13
200: OK 14
Bob is alerted
Bob accepts the call
Bob hang up the call
Basic Call Flow (Busy)
11
Caller
Alice’s softphone
Callee
Bob’s SIP phone
TWCompany.com
proxy
EUCompany.com
proxy
INVITE 1
INVITE 2
100: Trying 3
INVITE 4
100: Trying 5
486: Busy6
486: Busy8
486: Busy10
ACK 7
ACK 9
ACK 11
Basic Call Flow (Cancel)
12
Caller
Alice’s softphone
Callee
Bob’s SIP phone
TWCompany.com
proxy
EUCompany.com
proxy
INVITE 1
INVITE 2
100: Trying 3 INVITE 4
100: Trying 5
180: Ringing 6
180: Ringing 7
180: Ringing 8
200: OK 10
CANCEL9
200: OK 10
CANCEL9
200: OK 10
CANCEL9
487: RT 11
ACK 12
487: RT 11
ACK 12
487: RT 11
ACK 12
Bob is alerted
Alice cancels the call
PS: Request Terminated (RT)
SIP Message Syntax Overview
• Text-based
– Use the UTF-8 charset (RFC 2279)
– Syntax similar to HTTP/1.1 (RFC 2616)
generic-message = start-line
*message-header
CRLF
[message-body]
Start Line
Request-Line = Method SP Request-URI SP SIP-Version CRLF
Status-Line = SIP-Version SP Status-Code SP Reason-Phrase CRLF
Ex: INVITE sip:Alice@TWCompany.com SIP/2.0
Ex: SIP/2.0 200 OK
start-line = Request-line | Status-line
Message Header
• General Header
– Be applied to both request and response messages
• Entity Header
– Define information about the message body
• Request Header
– Allow the client to pass additional information about the request
• Response Header
– Allow the server to pass additional information about the
response
message-header = ( general-header
| request-header
| response-header
| entity-header)
Message Header (cont.)
Request Message Format
17
Parameter line
Headers
Request Message Example
• INVITE
18
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
(Alice's SDP not shown)
Request-URI
Request Message Example (cont.)
• The attribute mechanism “a=“ is the primary means for extending SDP and
tailoring it to particular applications or media.
• An example SDP description is:
• v=0
• o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5
• s=SDP Seminar
• i=A Seminar on the session description protocol
• u=http://www.example.com/seminars/sdp.pdf
• e=j.doe@example.com (Jane Doe)
• c=IN IP4 224.2.17.12/127
• t=2873397496 2873404696
• a=recvonly
• m=audio 49170 RTP/AVP 0
• m=video 51372 RTP/AVP 99
• a=rtpmap:99 h263-1998/90000
19
Session description
v= (protocol version)
o= (originator and session identifier)
s= (session name)
i=* (session information)
u=* (URI of description)
e=* (email address)
p=* (phone number)
c=* (connection information -- not required if included in all media)
b=* (zero or more bandwidth information lines)
One or more time descriptions ("t=" and "r=" lines; see below)
z=* (time zone adjustments)
k=* (encryption key)
a=* (zero or more session attribute lines)
Zero or more media descriptions
Time description
t= (time the session is active)
r=* (zero or more repeat times)
Media description, if present
m= (media name and transport address)
i=* (media title)
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)
Response Message Format
20
Parameter line
Headers
Response Message Example
• 200 OK
21
SIP/2.0 200 OK
Via: SIP/2.0/UDP TWCompany.com:5060;branch=z9hG4bK8542.1
Via: SIP/2.0/UDP 140.113.102.103:5060;branch=z9hG4bK45a35h76
To: Alice <sip:alice.t@TWCompany.com>;tag=24019385
From: Bob <sip:bob.t@EUCompany.com>;tag=312345
Call-ID: 105637921@100.101.102.103
CSeq: 1 INVITE
Contact: sip:alice@140.201.202.203
Content-Type: application/sdp
Content-Length: 173
v=0
o= Alice 2452772446 2452772446 IN IP4 200.201.202.203
s=SIP Call
c=IN IP4 200.201.202.203
t=0 0
m=audio 56321 RTP/AVP 0
a=rtpmap:0 PCMU/8000
SIP Correlated Protocols
• Media information
– SDP (Session Description Protocol) is responsible
for setting the media attribute.
For example, setting the session port (port) and encoding
(codec)
RTP (Real-time Transport Protocol)is the voice in
a call or the video in a video call.
SRTP(Secure RTP) Since RTP can be intercepted
and decoded easily by any network capture. SRTP
uses AES as encryption to protect the voice
22
Session Description Protocol (SDP)
• SDP is a session description protocol for
multimedia sessions
• SDP is used to describe the set of media streams,
codecs, and other media related parameters
supported by either party.
• All SIP implementations MUST support SDP,
although they can support other bodies
• Used by other protocols than SIP: RTSP, SAP, etc.
• SDP was initially developed to support multicast
sessions in the Internet. Gradually tailored for SIP
purposes.
23
SDP Format
• Each field in the SDP message falls into one of the
following categories:
• Session name
• Time the session is active
• Media in the session and information required to
receive the media
• Information about bandwidth
• Contact info for the responsible person
• Fields in SDP messages have the format <field
code>=<value>. The field code is always a single
letter.
24
SDP Format (mandatory fields)
25
Field Meaning Format
v= protocol
version
v=0
o= session
owner and
identifier
o=<username> <session id> <version> <network type> <address type> <address>
In our example message above, the field was: o=root 1821 1821 IN IP4 10.10.1.99 ("IN" stands for Internet, "IP4" means IP
version 4 address)
s= session
name
s=<session name>
In our example, this was just: s=session
t= time the
session is
active
t=<start time> <stop time>
Even though this is a mandatory field in SDP, it is not very meaningful for SIP — it is not easy to predict the duration of a call.
Usually, both values are the same. In our example, we have just "t=0 0". The times are decimal Network Time Protocol values (in
seconds since the year 1900). In applications other than SIP, the SDP message can contain several "t= " lines, specifying
additional periods of time when the session will be active.
m= media type,
format, and
transport
address
m=<media> <port> <transport> <format list>
In our example message, this is:
m=audio 11424 RTP/AVP 0 8 101
The <media> is either "audio" or "video" (if the call contained both audio and video, there would be two "m=" lines). The <port>
should always be even (the even port is used by RTP and the next odd port by RTCP).
<transport> is usually "RTP/AVP", denoting the RTP protocol with the profile for "Audio and Video Conferences with Minimal
Control" (seeRFC3551).
Under the AVP, the code 0 denotes G.711 uLaw, 8 stands for G.711 ALaw, 3 denotes the GSM codec, and for example the
G.729 codec is denoted by 18. These codes appear in the <format list> part, and their order denotes the codec preferences of the
given user agent. In our example, G.711 uLaw (code 0) is the most preferred codec and G.711 ALaw is the second most
preferred. The codes not specified in the AVP can be introduced on a dynamic basis which is the case of the code 101 in our
example message.
SDP Format (optional fields)
26
Field Meaning Format
c= connection
information
c=<network type> <address type> <connection address>
In our example message, the field is as follows:
c=IN IP4 10.10.1.99
This field is "semi-optional". It must appear either at the session level (like in our example) where it is valid for the entire session,
or it must be included as a part of the "m=" field (after the <format list> part).
i= session
information
i=<textual description>
The session information may appear at the session level or within the "m=" field (like the "c=" field above).
k= encryption
key
k=<method>:<encryption key> or k=<method>
This parameter may appear at the session level or within the "m=" field.
a= session
attributes
a=<attribute> or a=<attribute><value>
The SDP message may contain zero or several session attributes. There's quite a number of possible attributes and we will look at
them below. Like the other optional fields in this table, "a=" may appear either at the session level or within the "m=" field. The
session-level option is the usual one as is the case in our example message.
Attribute Format and Description
rtpmap a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding parameters>]
This attribute is called "rtpmap" because it defines a mapping from RTP payload codes (which are used in the <format list> in the "m="
field) to a codec name, clock rate, and other encoding parameters. The "rtpmap" field must be used for dynamic payload types (i.e.
types that are not predefined in the AVP profile) but it is quite common to use it even for the types that are already defined in the AVP
profile. In our example message, one of the "rtpmap" attributes is "a=rtpmap:0 PCMU/8000"
sendrecv a=sendrecv
This attribute means that we are going to both send and receive media. This is the option you will see with SIP, the other options
("sendonly", "recvonly", "inactive", "broadcast") would be highly unusual for a phone call.
ptime a=ptime:<packet time>
This parameter describes the length of time (in milliseconds) carried in one RTP packed.
fmtp a=fmtp:<format> <format specific parameters>
This option allows to define parameters that are specific for a given format code. SDP does not need to understand the parameters, it
only transports them.
Development Log Tool
• Wireshark
27
Development Log Tool
• Real-time view sip packet
28
Development Log Tool
• SIP Conversation Analysis
29
Development Log Tool
• SIP Conversation Analysis
30
Reference
• Session Initiation Protocol (RFC 3261)
• Session Initiation Protocol Basic Call Flow Examples
(RFC 3665)
• The SIP INFO Method (RFC 2976)
• The Session Initiation Protocol Refer Method (RFC 3515)
• Session Description Protocol (SDP) (RFC 3264, 4566)
• Transport Protocol for Real-Time Applications (RTP)
(RFC 3550)
• The Secure Real-time Transport Protocol (SRTP) (RFC
3711)
• Wireshark
31

More Related Content

What's hot

Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...ALTANAI BISHT
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation ProtocolMatt Bynum
 
ims registration call flow procedure volte sip
ims registration call flow procedure volte sipims registration call flow procedure volte sip
ims registration call flow procedure volte sipVikas Shokeen
 
Introduction into SIP protocol
Introduction into SIP protocolIntroduction into SIP protocol
Introduction into SIP protocolMichal Hrncirik
 
Ccna Commands In 10 Minutes
Ccna Commands In 10 MinutesCcna Commands In 10 Minutes
Ccna Commands In 10 MinutesCCNAResources
 
Sip trunking - future of tomorrow communications
Sip trunking  -  future of tomorrow communicationsSip trunking  -  future of tomorrow communications
Sip trunking - future of tomorrow communicationsRanjit Patel
 
Diameter Presentation
Diameter PresentationDiameter Presentation
Diameter PresentationBeny Haddad
 
Session initiation protocol SIP
Session initiation protocol SIPSession initiation protocol SIP
Session initiation protocol SIPLaraib Khan
 
SDP (Session Description Protocol)
SDP (Session Description Protocol)SDP (Session Description Protocol)
SDP (Session Description Protocol)Buşra Deniz, CSM
 
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...Vikas Shokeen
 
RTSP Analysis Wireshark
RTSP Analysis WiresharkRTSP Analysis Wireshark
RTSP Analysis WiresharkYoss Cohen
 
IMS ENUM and DNS Mechanism
IMS ENUM and DNS MechanismIMS ENUM and DNS Mechanism
IMS ENUM and DNS MechanismKent Loh
 
Introduction to SIP(Session Initiation Protocol)
Introduction to SIP(Session Initiation Protocol)Introduction to SIP(Session Initiation Protocol)
Introduction to SIP(Session Initiation Protocol)William Lee
 

What's hot (20)

Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
 
Ims conference-call
Ims conference-callIms conference-call
Ims conference-call
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation Protocol
 
SIP - The Basics
SIP - The BasicsSIP - The Basics
SIP - The Basics
 
ims registration call flow procedure volte sip
ims registration call flow procedure volte sipims registration call flow procedure volte sip
ims registration call flow procedure volte sip
 
Introduction into SIP protocol
Introduction into SIP protocolIntroduction into SIP protocol
Introduction into SIP protocol
 
Ccna Commands In 10 Minutes
Ccna Commands In 10 MinutesCcna Commands In 10 Minutes
Ccna Commands In 10 Minutes
 
IMS + VoLTE Overview
IMS + VoLTE OverviewIMS + VoLTE Overview
IMS + VoLTE Overview
 
DHCP & DNS
DHCP & DNSDHCP & DNS
DHCP & DNS
 
Sip trunking - future of tomorrow communications
Sip trunking  -  future of tomorrow communicationsSip trunking  -  future of tomorrow communications
Sip trunking - future of tomorrow communications
 
Diameter Presentation
Diameter PresentationDiameter Presentation
Diameter Presentation
 
Session initiation protocol SIP
Session initiation protocol SIPSession initiation protocol SIP
Session initiation protocol SIP
 
SDP (Session Description Protocol)
SDP (Session Description Protocol)SDP (Session Description Protocol)
SDP (Session Description Protocol)
 
IMS ENUM & DNS Mechanism
IMS ENUM & DNS MechanismIMS ENUM & DNS Mechanism
IMS ENUM & DNS Mechanism
 
Volte Introduction
Volte IntroductionVolte Introduction
Volte Introduction
 
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
 
RTSP Analysis Wireshark
RTSP Analysis WiresharkRTSP Analysis Wireshark
RTSP Analysis Wireshark
 
Introduction to Diameter Protocol - Part1
Introduction to Diameter Protocol - Part1Introduction to Diameter Protocol - Part1
Introduction to Diameter Protocol - Part1
 
IMS ENUM and DNS Mechanism
IMS ENUM and DNS MechanismIMS ENUM and DNS Mechanism
IMS ENUM and DNS Mechanism
 
Introduction to SIP(Session Initiation Protocol)
Introduction to SIP(Session Initiation Protocol)Introduction to SIP(Session Initiation Protocol)
Introduction to SIP(Session Initiation Protocol)
 

Similar to INTRO TO SIP

Sinnreich Henry Johnston Alan Pt 1
Sinnreich Henry Johnston Alan   Pt 1Sinnreich Henry Johnston Alan   Pt 1
Sinnreich Henry Johnston Alan Pt 1Carl Ford
 
Apple Facetime Protocol
Apple Facetime ProtocolApple Facetime Protocol
Apple Facetime Protocolkshitijmehta23
 
The ssca® sip training program course outline
The ssca® sip training program   course outlineThe ssca® sip training program   course outline
The ssca® sip training program course outlineswap3731
 
Introduction to VoIP using SIP
Introduction to VoIP using SIPIntroduction to VoIP using SIP
Introduction to VoIP using SIPKundan Singh
 
1 VoIP Overview[1]
1 VoIP Overview[1]1 VoIP Overview[1]
1 VoIP Overview[1]William Giba
 
LinuxCon North America: SIPPing from the Open Source Well
LinuxCon North America: SIPPing from the Open Source WellLinuxCon North America: SIPPing from the Open Source Well
LinuxCon North America: SIPPing from the Open Source WellMatt Bynum
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip OverviewMayank Vora
 
1 Vo I P Overview
1  Vo I P  Overview1  Vo I P  Overview
1 Vo I P OverviewMayank Vora
 
BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.Sumutiu Marius
 
CCIE Collaboration Lecture Chapter 4.4 voice gateway cucm sip overview
CCIE Collaboration Lecture Chapter 4.4 voice gateway   cucm sip overviewCCIE Collaboration Lecture Chapter 4.4 voice gateway   cucm sip overview
CCIE Collaboration Lecture Chapter 4.4 voice gateway cucm sip overviewFaisal Khan
 
Sinnreich Henry Johnston Alan Pt 3
Sinnreich Henry Johnston Alan   Pt 3Sinnreich Henry Johnston Alan   Pt 3
Sinnreich Henry Johnston Alan Pt 3Carl Ford
 

Similar to INTRO TO SIP (20)

Sip crash course
Sip crash courseSip crash course
Sip crash course
 
Sinnreich Henry Johnston Alan Pt 1
Sinnreich Henry Johnston Alan   Pt 1Sinnreich Henry Johnston Alan   Pt 1
Sinnreich Henry Johnston Alan Pt 1
 
lect21-Layer5.ppt
lect21-Layer5.pptlect21-Layer5.ppt
lect21-Layer5.ppt
 
Apple Facetime Protocol
Apple Facetime ProtocolApple Facetime Protocol
Apple Facetime Protocol
 
VOIP
VOIPVOIP
VOIP
 
The ssca® sip training program course outline
The ssca® sip training program   course outlineThe ssca® sip training program   course outline
The ssca® sip training program course outline
 
Sip summary
Sip summarySip summary
Sip summary
 
Introduction To SIP
Introduction  To  SIPIntroduction  To  SIP
Introduction To SIP
 
Fact sheet sip v1
Fact sheet   sip v1Fact sheet   sip v1
Fact sheet sip v1
 
Introduction to VoIP using SIP
Introduction to VoIP using SIPIntroduction to VoIP using SIP
Introduction to VoIP using SIP
 
1 VoIP Overview[1]
1 VoIP Overview[1]1 VoIP Overview[1]
1 VoIP Overview[1]
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip Overview
 
LinuxCon North America: SIPPing from the Open Source Well
LinuxCon North America: SIPPing from the Open Source WellLinuxCon North America: SIPPing from the Open Source Well
LinuxCon North America: SIPPing from the Open Source Well
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip Overview
 
1 Vo I P Overview
1  Vo I P  Overview1  Vo I P  Overview
1 Vo I P Overview
 
SIP for geeks
SIP for geeksSIP for geeks
SIP for geeks
 
BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.
 
Sip
SipSip
Sip
 
CCIE Collaboration Lecture Chapter 4.4 voice gateway cucm sip overview
CCIE Collaboration Lecture Chapter 4.4 voice gateway   cucm sip overviewCCIE Collaboration Lecture Chapter 4.4 voice gateway   cucm sip overview
CCIE Collaboration Lecture Chapter 4.4 voice gateway cucm sip overview
 
Sinnreich Henry Johnston Alan Pt 3
Sinnreich Henry Johnston Alan   Pt 3Sinnreich Henry Johnston Alan   Pt 3
Sinnreich Henry Johnston Alan Pt 3
 

Recently uploaded

VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Standkumarajju5765
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.CarlotaBedoya1
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...Neha Pandey
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...tanu pandey
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)Delhi Call girls
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 

Recently uploaded (20)

VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 

INTRO TO SIP

  • 1. Introduction to SIP Stanley Wu (吳建澄) skyeyester@gmail.com Dec. 12, 2015
  • 2. Outline • Introduction • SIP Signaling • Request/Response • SIP Logical Entities • Basic Call Flow • SIP Message Syntax Overview • Start Line • Message Header • SIP Correlated Protocols • SIP Signaling and VoIP analysis using a Wireshark Packet Analyzer 2
  • 3. Introduction • Session Initiation Protocol (SIP) • SIP enable Internet Endpoints (Clients) to discover and establish a session between each other  A signaling protocol (application-layer control protocol)  For creating, modifying, and terminating sessions  Separate signaling and media streams  All kind of real-time multimedia types, such as voice, video or text messages 3
  • 4. SIP Signaling • SIP Message • SIP is a text-based protocol and uses the UTF-8 charset. • A SIP signaling is either a request message from a client to a server, or a response message from a server to a client. • Request: A SIP message sent from a client to a server, for the purpose of invoking a particular operation. • Response: A SIP message sent from a server to a client, for indicating the status of a request sent from the client to the server. • SIP Addressing (URI) • E-mail like • user@host • sip:Alice@taipei.com 4 Client Server Request Response
  • 5. SIP Logical Entities • User Agent (UA): An endpoint – User Agent Client (UAC): sends requests, receives responses – User Agent Server (UAS): receives requests, sends responses • Proxy server: A network host that proxies requests and responses, – i.e., acts as a UAC and as a UAS. • Redirect server: a UAS that redirects request to other servers. • Back-to-back User Agent: a UAS linked to a UAC – Acts as a UAS and as a UAC linked by some application logic 5 UAC UAS Request Response Response Request Proxy Request Response Response Request B2BUA
  • 6. Request Method 6 Name Message Capability INVITE The user is begin invited to participate in a session. ACK The client has received a final response to an INVITE. OPTIONS The server is begin queried as to its capabilities. BYE The user terminated the session. CANCEL It cancels a pending request (not completed request). REGISTER It conveys the user’s location information to a SIP server.
  • 7. Request Method (cont.) 7 Name Message Capability SUBSCRIBE installs a subscription for a resource NOTIFY informs about changes in the state of the resource MESSAGE delivers an Instant Message INFO used to transport mid-session information PUBLISH publication of presence information UPDATE changes the media description (e.g. SDP) in an existing session REFER used for call transfer, call diversion, etc. PRACK acknowledges a provisional response for an INVITE request
  • 8. Response Code 8 Serial Number Status Code Message Capability 1xx Provisional request received, continuing to process the request, e.g. 100 Trying 2xx Success the action was successfully received, understood, and accepted, e.g. 200 OK 3xx Redirection further action needs to be taken in order to complete the request, e.g. 302 Moved Temporarily 4xx Client Error the request contains bad syntax or cannot be fulfilled at this server, e.g. 486 Busy Here 5xx Server Error the server failed to fulfill an apparently valid request, e.g. 501 Not Implemented 6xx Global Failure the request cannot be fulfilled at any server, e.g. 604 Does Not Exist Anywhere
  • 9. Basic Call Flow (Register) 9 401 Unauthorized Authentication challenge nonce="dcd98b7102dd2f0e8b 11d0f600bfb0c093" SIP Phone Register 401 Unauthorized Register 200 OK SIP Server
  • 10. Basic Call Flow (Answer) 10 RTP Caller Alice’s softphone Callee Bob’s SIP phone TWCompany.com proxy EUCompany.com proxy INVITE 1 INVITE 2 100: Trying 3 INVITE 4 100: Trying 5 180: Ringing 6 180: Ringing 7 180: Ringing 8 200: OK 9 200: OK 10 200: OK 11 ACK 12 BYE 13 200: OK 14 Bob is alerted Bob accepts the call Bob hang up the call
  • 11. Basic Call Flow (Busy) 11 Caller Alice’s softphone Callee Bob’s SIP phone TWCompany.com proxy EUCompany.com proxy INVITE 1 INVITE 2 100: Trying 3 INVITE 4 100: Trying 5 486: Busy6 486: Busy8 486: Busy10 ACK 7 ACK 9 ACK 11
  • 12. Basic Call Flow (Cancel) 12 Caller Alice’s softphone Callee Bob’s SIP phone TWCompany.com proxy EUCompany.com proxy INVITE 1 INVITE 2 100: Trying 3 INVITE 4 100: Trying 5 180: Ringing 6 180: Ringing 7 180: Ringing 8 200: OK 10 CANCEL9 200: OK 10 CANCEL9 200: OK 10 CANCEL9 487: RT 11 ACK 12 487: RT 11 ACK 12 487: RT 11 ACK 12 Bob is alerted Alice cancels the call PS: Request Terminated (RT)
  • 13. SIP Message Syntax Overview • Text-based – Use the UTF-8 charset (RFC 2279) – Syntax similar to HTTP/1.1 (RFC 2616) generic-message = start-line *message-header CRLF [message-body]
  • 14. Start Line Request-Line = Method SP Request-URI SP SIP-Version CRLF Status-Line = SIP-Version SP Status-Code SP Reason-Phrase CRLF Ex: INVITE sip:Alice@TWCompany.com SIP/2.0 Ex: SIP/2.0 200 OK start-line = Request-line | Status-line
  • 15. Message Header • General Header – Be applied to both request and response messages • Entity Header – Define information about the message body • Request Header – Allow the client to pass additional information about the request • Response Header – Allow the server to pass additional information about the response message-header = ( general-header | request-header | response-header | entity-header)
  • 18. Request Message Example • INVITE 18 INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds Max-Forwards: 70 To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710@pc33.atlanta.com CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: 142 (Alice's SDP not shown) Request-URI
  • 19. Request Message Example (cont.) • The attribute mechanism “a=“ is the primary means for extending SDP and tailoring it to particular applications or media. • An example SDP description is: • v=0 • o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5 • s=SDP Seminar • i=A Seminar on the session description protocol • u=http://www.example.com/seminars/sdp.pdf • e=j.doe@example.com (Jane Doe) • c=IN IP4 224.2.17.12/127 • t=2873397496 2873404696 • a=recvonly • m=audio 49170 RTP/AVP 0 • m=video 51372 RTP/AVP 99 • a=rtpmap:99 h263-1998/90000 19 Session description v= (protocol version) o= (originator and session identifier) s= (session name) i=* (session information) u=* (URI of description) e=* (email address) p=* (phone number) c=* (connection information -- not required if included in all media) b=* (zero or more bandwidth information lines) One or more time descriptions ("t=" and "r=" lines; see below) z=* (time zone adjustments) k=* (encryption key) a=* (zero or more session attribute lines) Zero or more media descriptions Time description t= (time the session is active) r=* (zero or more repeat times) Media description, if present m= (media name and transport address) i=* (media title) 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)
  • 21. Response Message Example • 200 OK 21 SIP/2.0 200 OK Via: SIP/2.0/UDP TWCompany.com:5060;branch=z9hG4bK8542.1 Via: SIP/2.0/UDP 140.113.102.103:5060;branch=z9hG4bK45a35h76 To: Alice <sip:alice.t@TWCompany.com>;tag=24019385 From: Bob <sip:bob.t@EUCompany.com>;tag=312345 Call-ID: 105637921@100.101.102.103 CSeq: 1 INVITE Contact: sip:alice@140.201.202.203 Content-Type: application/sdp Content-Length: 173 v=0 o= Alice 2452772446 2452772446 IN IP4 200.201.202.203 s=SIP Call c=IN IP4 200.201.202.203 t=0 0 m=audio 56321 RTP/AVP 0 a=rtpmap:0 PCMU/8000
  • 22. SIP Correlated Protocols • Media information – SDP (Session Description Protocol) is responsible for setting the media attribute. For example, setting the session port (port) and encoding (codec) RTP (Real-time Transport Protocol)is the voice in a call or the video in a video call. SRTP(Secure RTP) Since RTP can be intercepted and decoded easily by any network capture. SRTP uses AES as encryption to protect the voice 22
  • 23. Session Description Protocol (SDP) • SDP is a session description protocol for multimedia sessions • SDP is used to describe the set of media streams, codecs, and other media related parameters supported by either party. • All SIP implementations MUST support SDP, although they can support other bodies • Used by other protocols than SIP: RTSP, SAP, etc. • SDP was initially developed to support multicast sessions in the Internet. Gradually tailored for SIP purposes. 23
  • 24. SDP Format • Each field in the SDP message falls into one of the following categories: • Session name • Time the session is active • Media in the session and information required to receive the media • Information about bandwidth • Contact info for the responsible person • Fields in SDP messages have the format <field code>=<value>. The field code is always a single letter. 24
  • 25. SDP Format (mandatory fields) 25 Field Meaning Format v= protocol version v=0 o= session owner and identifier o=<username> <session id> <version> <network type> <address type> <address> In our example message above, the field was: o=root 1821 1821 IN IP4 10.10.1.99 ("IN" stands for Internet, "IP4" means IP version 4 address) s= session name s=<session name> In our example, this was just: s=session t= time the session is active t=<start time> <stop time> Even though this is a mandatory field in SDP, it is not very meaningful for SIP — it is not easy to predict the duration of a call. Usually, both values are the same. In our example, we have just "t=0 0". The times are decimal Network Time Protocol values (in seconds since the year 1900). In applications other than SIP, the SDP message can contain several "t= " lines, specifying additional periods of time when the session will be active. m= media type, format, and transport address m=<media> <port> <transport> <format list> In our example message, this is: m=audio 11424 RTP/AVP 0 8 101 The <media> is either "audio" or "video" (if the call contained both audio and video, there would be two "m=" lines). The <port> should always be even (the even port is used by RTP and the next odd port by RTCP). <transport> is usually "RTP/AVP", denoting the RTP protocol with the profile for "Audio and Video Conferences with Minimal Control" (seeRFC3551). Under the AVP, the code 0 denotes G.711 uLaw, 8 stands for G.711 ALaw, 3 denotes the GSM codec, and for example the G.729 codec is denoted by 18. These codes appear in the <format list> part, and their order denotes the codec preferences of the given user agent. In our example, G.711 uLaw (code 0) is the most preferred codec and G.711 ALaw is the second most preferred. The codes not specified in the AVP can be introduced on a dynamic basis which is the case of the code 101 in our example message.
  • 26. SDP Format (optional fields) 26 Field Meaning Format c= connection information c=<network type> <address type> <connection address> In our example message, the field is as follows: c=IN IP4 10.10.1.99 This field is "semi-optional". It must appear either at the session level (like in our example) where it is valid for the entire session, or it must be included as a part of the "m=" field (after the <format list> part). i= session information i=<textual description> The session information may appear at the session level or within the "m=" field (like the "c=" field above). k= encryption key k=<method>:<encryption key> or k=<method> This parameter may appear at the session level or within the "m=" field. a= session attributes a=<attribute> or a=<attribute><value> The SDP message may contain zero or several session attributes. There's quite a number of possible attributes and we will look at them below. Like the other optional fields in this table, "a=" may appear either at the session level or within the "m=" field. The session-level option is the usual one as is the case in our example message. Attribute Format and Description rtpmap a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding parameters>] This attribute is called "rtpmap" because it defines a mapping from RTP payload codes (which are used in the <format list> in the "m=" field) to a codec name, clock rate, and other encoding parameters. The "rtpmap" field must be used for dynamic payload types (i.e. types that are not predefined in the AVP profile) but it is quite common to use it even for the types that are already defined in the AVP profile. In our example message, one of the "rtpmap" attributes is "a=rtpmap:0 PCMU/8000" sendrecv a=sendrecv This attribute means that we are going to both send and receive media. This is the option you will see with SIP, the other options ("sendonly", "recvonly", "inactive", "broadcast") would be highly unusual for a phone call. ptime a=ptime:<packet time> This parameter describes the length of time (in milliseconds) carried in one RTP packed. fmtp a=fmtp:<format> <format specific parameters> This option allows to define parameters that are specific for a given format code. SDP does not need to understand the parameters, it only transports them.
  • 27. Development Log Tool • Wireshark 27
  • 28. Development Log Tool • Real-time view sip packet 28
  • 29. Development Log Tool • SIP Conversation Analysis 29
  • 30. Development Log Tool • SIP Conversation Analysis 30
  • 31. Reference • Session Initiation Protocol (RFC 3261) • Session Initiation Protocol Basic Call Flow Examples (RFC 3665) • The SIP INFO Method (RFC 2976) • The Session Initiation Protocol Refer Method (RFC 3515) • Session Description Protocol (SDP) (RFC 3264, 4566) • Transport Protocol for Real-Time Applications (RTP) (RFC 3550) • The Secure Real-time Transport Protocol (SRTP) (RFC 3711) • Wireshark 31