Title: Snmek 1
1454-319/1 Voice over IP
Lecture No.9 SIP - requests and responses,
header fields and extensions
Miroslav Voznák VB - Technical University of
Ostrava Department of Telecommunications Faculty
of Electrical Engineering and Computer
Science 17. listopadu 15, 708 33 Ostrava
Poruba mailtomiroslav.voznak_at_vsb.cz
http//homel.vsb.cz/voz29
2Methods
- INVITE Establishes a session
- ACK Confirms an INVITE request, 3-way
hand-shaking - BYE Ends a established session
- CANCEL Cancels establishing of a session
- REGISTER Communicates user location (host name,
IP) - OPTIONS Communicates information about the
capabilities of the calling and receiving SIP
phones
3Methods extension
4Responses
- 1xx informational responses, such as 180, which
means ringing - 200 - 699 final response
- 2xx success responses, such as 200 OK
- 3xx redirection responses
5Responses
- 4xx request failures
- 5xx server errors
- 6xx global failures
6Transaction
- Transaction
- a request and all responses
- old type hash To, From,RURI, CSeq
- new parameter branch in Via
- z9hG4bK is beginning of a string branch (new way
of transaction determination)
7Dialog
- Dialog
- Call-ID, From tag, To tag
- CSeq identifies a transaction in dialog
8Registration
9Registration
- bundling of user URI and device URI (From and
Contact) - Expires is a time period of registration
(Expires0 , cancellation)
10Redirection
11SIP message
12Session Description Protocol
- v0
- oja 987504994 987504994 IN IP4 1.2.3.4
- sHovor 1
- cIN IP4 1.2.3.4
- t3196493794 3196497394
- maudio 10000 RTP/AVP 0 22
- artpmap0 aplication/g711
- artpmap22 aplication/g723.1
- SDP v Version number (ignored by SIP)o
Session Origin used by SIPs Subjectc
Connection Data (IN internet, IP4 IPv4, IP
Address)t Time (ignored by SIP)m Media
(type, port, RTP/AVP Profile)a Attribute
(profile, codec, sampling rate)
13INVITE
- INVITE sipbob_at_biloxi.com SIP/2.0
- Via SIP/2.0/UDP pc33.atlanta.com5060branchz9hG
4bK776asdhds - To Bob ltsipbob_at_biloxi.comgt
- From Alice ltsipalice_at_atlanta.comgttag1928301774
- Call-ID a84b4c76e66710
- CSeq 314159 INVITE
- Contact ltsipalice_at_pc33.atlanta.comgt
- Content-Type application/sdp
- Content-Length 142
- (SDP part)
- the first line contains
- method name INVITE
- Request-URI (next hope is sipbob_at_biloxi.com)
- SIP version number SIP/2.0
14SIP via
- INVITE sipbob_at_biloxi.com SIP/2.0
- Via SIP/2.0/UDP proxy.stockholm.se5060branch82
.1 - Via SIP/2.0/UDP pc33.atlanta.com5060branchz9hG
4bK776asdhds - To Bob ltsipbob_at_biloxi.comgt
- From Alice ltsipalice_at_atlanta.comgttag1928301774
- Call-ID a84b4c76e66710
- CSeq 314159 INVITE
- Contact ltsipalice_at_pc33.atlanta.comgt
- Content-Type application/sdp
- Content-Length 142
- (SDP part)
- Via field
- insterted records point to the used route,
Proxy servers insert next records - response should use the same route as a request
- branch enables to detect the loops
15Dialog (Call-leg)
- INVITE sipbob_at_biloxi.com SIP/2.0
- Via SIP/2.0/UDP pc33.atlanta.com5060branchz9hG
4bK776asdhds - To Bob ltsipbob_at_biloxi.comgt
- From Alice ltsipalice_at_atlanta.comgttag1928301774
- Call-ID a84b4c76e66710
- CSeq 314159 INVITE
- Contact ltsipalice_at_pc33.atlanta.comgt
- Content-Type application/sdp
- Content-Length 142
- (SDP part)
- Dialog the same information during the same
call-leg are in the records - To , From a Call-ID
- To a From specifies logical address of
endpoints of connection - Call-ID unique identifier during the dialog
16CSeq
- INVITE sipbob_at_biloxi.com SIP/2.0
- Via SIP/2.0/UDP pc33.atlanta.com5060branchz9hG
4bK776asdhds - To Bob ltsipbob_at_biloxi.comgt
- From Alice ltsipalice_at_atlanta.comgttag1928301774
- Call-ID a84b4c76e66710
- CSeq 314159 INVITE
- Contact ltsipalice_at_pc33.atlanta.comgt
- Content-Type application/sdp
- Content-Length 142
- (SDP part)
- CSeq
- every new request increments CSeq
- repeated request has the sameCSeq
- all responses regarding the one request has the
same CSeq
17Contact
- INVITE sipbob_at_biloxi.com SIP/2.0
- Via SIP/2.0/UDP pc33.atlanta.com5060branchz9hG
4bK776asdhds - To Bob ltsipbob_at_biloxi.comgt
- From Alice ltsipalice_at_atlanta.comgttag1928301774
- Call-ID a84b4c76e66710
- CSeq 314159 INVITE
- Contact ltsipalice_at_pc33.atlanta.comgt
- Content-Type application/sdp
- Content-Length 142
- Contact
- contains SIP URI for direct communication, if SIP
Proxy doesnt insert Record-Route field than next
transctions can be routed directly - field Contact is also stated in response 200 OK
18Content type, Length
- INVITE sipbob_at_biloxi.com SIP/2.0
- Via SIP/2.0/UDP pc33.atlanta.com5060branchz9hG
4bK776asdhds - To Bob ltsipbob_at_biloxi.comgt
- From Alice ltsipalice_at_atlanta.comgttag1928301774
- Call-ID a84b4c76e66710
- CSeq 314159 INVITE
- Contact ltsipalice_at_pc33.atlanta.comgt
- Content-Type application/sdp
- Content-Length 142
- Content-Type describes the type of body (SDP)
- Content-Length includes the size of content (in
bytes), the value 0 means without content
19Max Forwards
- INVITE sipbob_at_biloxi.com SIP/2.0
- Via SIP/2.0/UDP pc33.atlanta.com5060branchz9hG
4bK776asdhds - Max-Forwards 30
- To Bob ltsipbob_at_biloxi.comgt
- From Alice ltsipalice_at_atlanta.comgttag1928301774
- Call-ID a84b4c76e66710
- CSeq 314159 INVITE
- Contact ltsipalice_at_pc33.atlanta.comgt
- Content-Type application/sdp
- Content-Length 142
- Max-Forwards
- decreases with every forwarded request at the
Proxy - if its value is 0 than is sent 483 Too Many
Hops - stateless Proxy detects a loop by field
Max-Forwards
20INVITE and response 200 OK
21Tagging
- in the case of forking there would be difficult
to resolve who answered - UAS adds a tag into the response
- To sipbob_at_macrosoft.comtaga48s
- next request contains tag inserted into field To
22Response routing
- the reguests are routed according to Request URI
(RURI) - and the responses according to field Via
23Forking the first 200 OK confirmed by ACK
the rest obtains 487 Cancelled INVITE
24Record Routing- Record route field is inserted
by SIP Proxy not only into the header of method
(request) but into the final response as well-
a next transaction is routed via the elements
stated in the record route
25 SIP trapezoid- Outbound Proxy has to find a
SIP Proxy which is able to serve the request-
SIP Proxy serves one or more domains (multidomain
Proxy)- destination SIP Proxy can be find via
DNS (SRV record in DNS resolves serving SIP
Proxy) or by static mapping
26 ENUM- SIP addressing is based on SIP URI-
the number (E.164) can be resolved via DNS
wherein NAPTR record contains a regular
expression which is applied to ENUM query and the
result of this operation is SIP URI (or a list of
URIs)- SIP URI contains a host (users
domain), via SRV record is resolved serving SIP
Proxy- IP address of SIP proxy is resolved via
A record in DNS
27Call Setup
28Termination of established session - Bye
29and establishing session Cancel- two requests
INVITE and CANCEL open two transactions
30 SIP and PSTN Interworking
31Presence
UA gets status and presence information which
corresponds to users of server Users are
subscribed to users presence NOTIFY is sent on
an event (a change of the state) SUBCRIBE
creates a dialog wherein the NOTIFY is sent on a
change of the state
32Subscribe a Notify
33Instant Messaging
- Method MESSAGE is used for IM
- text is in body of message
- request Message doesnt create a dialog
34NAT
- Issue clients behind NAT insert private IP into
signaling in SIP fields Via, From, Contact and
SDP c-line (contact)
35NAT
- Solution an intervention on application layer
ALG (Application Layer Gateway), ALG works
together with NAT and makes rewriting in
application layer
36NAT support
- STUN, TURN, ICE help on the Client Side (these
protocols help to find out public IP) - Session Border Controller (SBC) help on the
Provider Side, clients behind NAT communicate
through a border device - SIP Proxy with s Media Relay support (RTP Proxy)
in order to ensure signaling and media routing on
the same IP
37Thank you for your attentionmiroslav.voznak_at_vsb.
cz