Beruflich Dokumente
Kultur Dokumente
Methods
INVITE : Establishes a session
OPTIONS : Communicates information about the capabilities of the calling and receiving SIP phones
Methods extension
Responses
1xx informational responses, such as 180, which means ringing 200 - 699 final response
2xx success responses, such as 200 OK 3xx redirection responses
Responses
4xx request failures 5xx server errors 6xx global failures
Transaction
Transaction a request and all responses old type hash To, From,RURI, CSeq
Dialog
Dialog
Call-ID, From tag, To tag
Registration
Registration
- bundling of user URI and device URI (From and Contact) - Expires is a time period of registration (Expires=0 , cancellation)
Redirection
10
SIP message
11
SDP
v = Version number (ignored by SIP) o = Session Origin used by SIP s = Subject c = 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)
Miroslav Voznak, lecture on SIP 12
INVITE
INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: 142 (SDP part)
the first line contains : method name: INVITE Request-URI (next hope is sip:bob@biloxi.com) SIP version number: SIP/2.0
13
SIP via
INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP proxy.stockholm.se:5060;branch=82.1 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> 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
14
Dialog (Call-leg)
INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> 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
15
CSeq
INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> 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
16
Contact
INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: 142
doesnt insert Record-Route field than next transctions can be routed directly field Contact is also stated in response 200 OK
17
Content-Type describes the type of body (SDP) Content-Length includes the size of content (in bytes), the value 0 means without content
18
Max Forwards
INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com:5060;branch=z9hG4bK776asdhds Max-Forwards: 30 To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> 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
19
20
Tagging
in the case of forking there would be difficult to resolve who answered UAS adds a tag into the response
To: sip:bob@macrosoft.com;tag=a48s
Response routing
the reguests are routed according to Request URI (RURI)
and the responses according to field Via
22
Forking
the first 200 OK confirmed by ACK
23
Record 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
24
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
25
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
26
Call Setup
27
28
29
30
Presence
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
31
Subscribe a Notify
32
Instant Messaging
Method MESSAGE is used for IM text is in body of message request Message doesnt create a dialog
33
NAT
Issue: clients behind NAT insert private IP into signaling in SIP fields Via, From, Contact and SDP c-line (contact)
34
NAT
Solution: an intervention on application layer ALG (Application Layer Gateway), ALG works together with NAT and makes rewriting in application layer
35
NAT 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
36
37