sip tutorial signaling & network control 7 th semester
TRANSCRIPT
SIP Tutorial
Signaling & Network Control 7th Semester
2
Why packet switching? Why SIP?
0
10
20
30
40
50
60
70
80
90
100
1980 1985 1987 1990 1995 2000 2001
electromechanalogdigital
Technology evolution of PSTN
3
Session Initiation Protocol Overview• Application Layer Signaling Protocol• Used to establish, modify, and terminate multimedia
sessions• Part of Internet Multimedia Architecture• Can use UDP, TCP, TLS, SCTP, etc.• Based on HTTP (Web)
– Similar text-based structure– Uses URIs (Uniform Resource Indicators)
• Applications include (but not limited to):– Voice, video, gaming, instant messaging, presence, call
control, etc.• SIP sessions involve one or more participants and can
use unicast or multicast communication.
SIP entities
• User Agent User Agent Client User Agent Server
• Proxy Server• Redirect server• Registrar
5
SIP Elements – User Agents
Outbound Proxy Server
Inbound Proxy Server
Capable of sending and receiving SIP requests.
UAC – User Agent Client UAS – User Agent Server
End Devices SIP phone PC/laptop with
SIP Client PDA mobile phone
PSTN Gatewaysare a type of User Agent
SIP
SIP
SIP
DNS Server
DNS
Location Server
User Agent BUser Agent A
Media (RTP)
SIP
6
SIP Elements – Proxy Servers
Outbound Proxy Server
Inbound Proxy Server
Forward or “proxy” requests on behalf of User Agents
Consult databases: DNS Location Server
Types: Stateless Transaction
Stateful Call Stateful
No media capabilities Ignore SDP.
Normally bypassed once dialog established, but can Record-Route to stay in path.
SIP
SIP
SIP
DNS Server
DNS
Location Server
User Agent BUser Agent A
Media (RTP)
SIP
7
SIP Elements – Other Servers
Outbound Proxy Server
Inbound Proxy Server
Location Server
Database of locations of SIP User Agents
Queried by Proxies in routing
Updated by User Agents by Registration
DNS Server
SRV (Service) Records used to locate Inbound Proxy Servers
SIP
SIP
SIP
DNS Server
DNS
Location Server
User Agent BUser Agent A
Media (RTP)
SIP
8
SIP Client and Server• SIP Elements are either
– User Agents (end devices that initiate and terminate media sessions)
– Servers (that assist in session setup)• Proxies: Decides next hop and forwards request• Registrars: Accepts REGISTER requests from clients• Redirect servers : Sends address of next hop back to client
– SIP Gateways:• To PSTN for telephony interworking• To H.323 for IP Telephony interworking
• A User Agent acts as a– Client when it initiates a request (UAC)– Server when it responds to a request (UAS)
9
SIP AddressingUses Internet URLs
– Uniform Resource Locators– Supports both Internet and PSTN addresses– General form is name@domain– To complete a call, needs to be resolved down to
User@Host– Examples:
sip:J.T. Kirk <[email protected]>
sip:[email protected];user=phone
sip:[email protected];phone-context=VNET
10
SIP Requests and ResponsesSIP Responses use a
numerical code and a “reason phrase”
Classes:
1xx Informational2xx Success3xx Redirection4xx Client Error5xx Server Error6xx Global Failure
Example: 404 Not Found
SIP Request types are called “methods”
Methods in base spec:
INVITEACKOPTIONSCANCELBYEREGISTER
11
Related Protocol: RTP• RTP – Real-time Transport Protocol
Used to transport media packets over IP RTP adds a bit-oriented header containing:
name of media sourcetimestampcodec typesequence number
Defined by H. Schulzrinne et al, RFC 1889. Profiles defined by RFC 1890. RTCP for exchange of participant and quality reports.
SIP Call Setup Attempt Scenario
12
Outbound Proxy Server
Inbound Proxy Server
1. INVITE Contact: A SDP A
DNS Server Location Server
1. A “dials” SIP AOR URI sip:[email protected]. User Agent A sends INVITE to outbound Proxy Server.
2. Outbound Proxy sends 100 Trying response.
2. 100 Trying
User Agent B (Not Signed In)
User Agent A
SIP Call Setup Attempt Scenario
13
Outbound Proxy Server
Inbound Proxy Server
1. INVITE Contact: A SDP A
DNS Server Location Server
3. Outbound Proxy does DNS query to find proxy server for mci.com domain
4. DNS responds with IP address of mci.com Proxy Server
3. DNS Query: mci.com?
2. 100 Trying
4. Response: 1.2.3.4
User Agent B (Not Signed In)
User Agent A
SIP Call Setup Attempt Scenario
14
Outbound Proxy Server
Inbound Proxy Server
DNS Server Location Server
5. Outbound Proxy sends INVITE to Inbound Proxy Server.
6. Inbound Proxy sends 100 Trying response.
3. DNS Query: mci.com?
2. 100 Trying
4. Response: 1.2.3.4
6. 100 Trying
User Agent B (Not Signed In)
User Agent A
1. INVITE Contact: A SDP A
5. INVITE Contact: A SDP A
SIP Call Setup Attempt Scenario
15
Outbound Proxy Server
Inbound Proxy Server
DNS Server Location Server
7. Inbound Proxy consults Location Server.
8. Location Server responds with “Not Signed In.”
3. DNS Query: mci.com?
2. 100 Trying
4. Response: 1.2.3.4
6. 100 Trying
7. LS Query: B? 8. Response: Not Signed In
User Agent B (Not Signed In)
User Agent A
1. INVITE Contact: A SDP A
5. INVITE Contact: A SDP A
SIP Call Setup Attempt Scenario
16
Outbound Proxy Server
Inbound Proxy Server
DNS Server Location Server
9. Inbound Proxy sends 480 Temporarily Unavailable response.
10. Outbound Proxy sends ACK response.
3. DNS Query: mci.com?
2. 100 Trying
4. Response: 1.2.3.4
6. 100 Trying
7. LS Query: B? 8. Response: Not Signed
In
9. 480 Temporarily Unavailable
10. ACK
User Agent B (Not Signed In)
User Agent A
1. INVITE Contact: A SDP A
5. INVITE Contact: A SDP A
SIP Call Setup Attempt Scenario
17
Outbound Proxy Server
Inbound Proxy Server
DNS Server Location Server
11. Outbound Proxy forwards 480 response to A.
12. A sends ACK response.
3. DNS Query: mci.com?
2. 100 Trying
4. Response: 1.2.3.4
6. 100 Trying
7. LS Query: B? 8. Response: Not Signed
In
9. 480 Temporarily Unavailable
11. 480 Temporarily Unavailable
10. ACK
12. ACK
User Agent B (Not Signed In)
User Agent A
1. INVITE Contact: A SDP A
5. INVITE Contact: A SDP A
SIP Presence Example
18
Outbound Proxy Server
Inbound Proxy Server
1. SUBSCRIBE
DNS ServerPresence Server
1. A wants to be informed when B signs on, so sends a SUBSCRIBE
2. Outbound Proxy forwards to Inbound Proxy
3. Inbound Proxy forwards to B’s Presence Server
2. SUBSCRIBE
3. SUBSCRIBE
User Agent B (Not Signed In)
User Agent A
SIP Presence Example
19
Outbound Proxy Server
Inbound Proxy Server
1. SUBSCRIBE
DNS ServerPresence Server
4. Presence Server authorizes subscription by sending a 200 OK.
5. & 6. 200 OK proxied back to A.
6. 200 OK
2. SUBSCRIBE
5. 200 OK
3. SUBSCRIBE 4. 200 OK
User Agent B (Not Signed In)
User Agent A
SIP Presence Example
20
Outbound Proxy Server
Inbound Proxy Server
DNS ServerPresence Server
7. Presence Server sends NOTIFY containing current presence status of B (Not Signed In).
8. and 9. NOTIFY is proxied back to A.
10. A acknowledges receipt of notification with 200 OK.
11. & 12. 200 OK is proxied back to B’s Presence Server.
10. 200 OK
11. 200 OK
7. NOTIFY <Not Signed In> 12. 200 OK
User Agent B (Not Signed In)
User Agent A
8. NOTIFY <Not Signed In>
9. NOTIFY <Not Signed In>
SIP Registration Example
21
Outbound Proxy Server
Outbound Proxy Server
DNS ServerLocation Server
2. Update database:B = [email protected]
1. REGISTER Contact: [email protected]
1. B signs on to his SIP Phone which sends a REGISTER message containing the FQDN URI of B’s User Agent.
2. Database update is sent to the Location Server
User Agent BUser Agent A
SIP Registration Example
22
Outbound Proxy Server
Outbound Proxy Server
DNS ServerLocation Server
2. Update database:B = [email protected] 3. OK
1. REGISTER Contact: [email protected]
4. 200 OK Contact: [email protected]
3. Location Server database update is confirmed.
4. Registration is confirmed with a 200 OK response.
User Agent BUser Agent A
SIP Presence Example
23
Outbound Proxy Server
Inbound Proxy Server
DNS ServerPresence Server
13. Presence Server learns of B’s new status from the Location Server and sends a NOTIFY containing new status of B (Signed In).
14. & 15. NOTIFY is proxied back to A.
16. A acknowledges receipt of notification with 200 OK.
17. & 18. 200 OK is proxied back to Presence Server.
16. 200 OK
17. 200 OK
18. 200 OK
User Agent BUser Agent A
13. NOTIFY <Signed In>
14. NOTIFY <Signed In>
15. NOTIFY <Signed In>
SIP Instant Message Scenario
24
Outbound Proxy Server
Inbound Proxy Server
1. MESSAGE <Can you talk now?>
DNS Server Location Server1. A sends an Instant
Message to B saying “Can you talk now?” in a MESSAGE request.
2., 3. & 4. MESSAGE request is proxied, Location Server queried.
5. Inbound Proxy forwards MESSAGE to B.
6. User Agent B responds with 200 OK.
7. & 8. 200 OK is proxied back to A.
8. 200 OK
7. 200 OK
3. LS Query: B? 4. Response: sip:[email protected]
6. 200 OK
User Agent BUser Agent A
2. MESSAGE <Can you talk now?>
5. MESSAGE <Can you talk now?>
SIP Instant Message Scenario
25
Inbound Proxy Server
Outbound Proxy Server
Location Server DNS Server1. B sends an Instant
Message to A saying “Sure.” in a MESSAGE sent to A’s AOR URI.
2. & 3. DNS Server is queried.
4. Outbound Proxy forwards MESSAGE to Inbound Server.
5. & 6. Location Server is queried.
7. Inbound Proxy forwards to A.
8. User Agent A responds with 200 OK.
9. & 10. 200 OK is proxied back to B.
8. 200 OK
9. 200 OK
10. 200 OK
5. LS Query: A? 6. Response: sip:[email protected]
2. DNS Query: globalipcom.com?
3. Response: 5.6.7.8
User Agent BUser Agent A
7. MESSAGE <Sure.>
4. MESSAGE <Sure.>
1. MESSAGE <Sure.>
SIP Call Setup Attempt Scenario
26
Outbound Proxy Server
Inbound Proxy Server
DNS Server Location Server
1. to 5. A retries INVITE to B which routes through two Proxy Servers.
6. Location Server responds with the FQDN SIP URI of B’s SIP Phone.
7. Inbound Proxy Server forwards INVITE to B’s SIP Phone.
2. 100 Trying
4. 100 Trying
5. LS Query: B 6. Response: sip:[email protected]
User Agent BUser Agent A
1. INVITE Contact: A SDP A
3. INVITE Contact: A SDP A
7. INVITE Contact: A SDP A
SIP Call Setup Scenario
27
Outbound Proxy Server
Inbound Proxy Server
10. 180 Ringing
DNS Server Location Server
8. User Agent B alerts B and sends 180 Ringing response.
9. & 10. 180 Ringing is proxied back to A.
9. 180 Ringing
8. 180 Ringing
User Agent BUser Agent A
SIP Call Setup Scenario
28
Outbound Proxy Server
Inbound Proxy Server
10. 180 Ringing
DNS Server Location Server
11. B accepts call and User Agent B sends 200 OK response.
12. & 13. 200 OK is proxied back to A.
9. 180 Ringing
8. 180 Ringing
User Agent BUser Agent A
11. 200 OK Contact: B SDP B
12. 200 OK Contact: B SDP B
13. 200 OK Contact: B SDP B
SIP Call Setup Scenario
29
Outbound Proxy Server
Inbound Proxy Server
10. 180 Ringing
DNS Server Location Server
14. ACK is sent by A to confirm setup call bypassing proxies.
Media session begins between A and B!
9. 180 Ringing
8. 180 Ringing
14. ACK
Media (RTP)
User Agent BUser Agent A
11. 200 OK Contact: B SDP B
12. 200 OK Contact: B SDP B
13. 200 OK Contact: B SDP B
SIP Call Hold (re-INVITE)
30
Outbound Proxy Server
Inbound Proxy Server
DNS Server Location Server
15. B places A on hold by sending a re-INVITE.
16. A accepts with a 200 OK.
17. B sends ACK to A.
No media between A and B.15. INVITE
SDP a=sendonly
17. ACK User Agent BUser Agent A
16. 200 OK SDP A
SIP Call Transfer Scenario
31
20. NOTIFY <100 Trying>
21. 200 OK
Outbound Proxy Server
Inbound Proxy Server
DNS Server Location Server
18. B transfers A to C using REFER.
19. Transfer is accepted by A with 202 Accepted response.
20. Notification of trying transfer is sent to B in NOTIFY.
21. B sends 200 OK response to NOTIFY
18 REFER Refer-To: sip:[email protected]
19. 202 Accepted
User Agent BUser Agent A
SIP Call Transfer Scenario
32
Outbound Proxy Server
Inbound Proxy Server
DNS Server Location Server
1. to 5. A sends new INVITE to C which routes through two Proxy Servers.
6. Location Server responds with the FQDN SIP URI of C’s SIP Phone.
7. Inbound Proxy Server forwards INVITE to C’s SIP Phone.
2. 100 Trying
4. 100 Trying
5. LS Query: C? 6. Response: sip:[email protected]
User Agent BUser Agent A
User Agent C
1. INVITE Contact: A Ref-By: B SDP A
3. INVITE Contact: A Ref-By: B SDP A
7. INVITE Contact: A Ref-By: B SDP A
SIP Call Transfer Scenario
33
Outbound Proxy Server
Inbound Proxy Server
10. 180 Ringing
DNS Server Location Server
8. User Agent C alerts C and sends 180 Ringing response.
9. & 10. 180 Ringing is proxied back to A.
11. C accepts call and sends 200 OK response.
12. & 13. 200 OK is proxied back to A.
14. ACK is sent by A to confirm setup call.
Media session between A and C begins.
9. 180 Ringing
8. 180 Ringing
14. ACK
User Agent CMedia (RTP)
User Agent B
User Agent A
11. 200 OK Contact: C SDP C
12. 200 OK Contact: C SDP C
13. 200 OK Contact: C SDP C
SIP Call Transfer Scenario
34
Outbound Proxy Server
Inbound Proxy Server
DNS Server Location Server
20. Notification of successful transfer is sent to B in NOTIFY.
21. B sends 200 OK response to NOTIFY
22. B hangs up by sending a BYE.
23. 200 OK response to BYE is sent.
20. NOTIFY <200 OK>
21. 200 OK
22. BYE
23. 200 OK User Agent BUser Agent A
SIP Session Establishment and Call Termination
From the RADVISION whitepaper on SIP
Media Stream
Call Proxying
From the RADVISION whitepaper on SIP
SIP Call Redirection
From the RADVISION whitepaper on SIP
38
SIP Requests
SIP Requests (Messages) defined as:– Method SP Request-URI SP SIP-Version CRLF (SP=Space,
CRLF=Carriage Return and Line Feed)
– Example: INVITE sip:[email protected] SIP/2.0
Method Description
INVITE A session is being requested to be setup using a specified media
ACK Message from client to indicate that a successful response to an INVITE has been received
OPTIONS A Query to a server about its capabilities
BYE A call is being released by either party
CANCEL Cancels any pending requests. Usually sent to a Proxy Server to cancel searches
REGISTER Used by client to register a particular address with the SIP server
39
SIP Requests Example
Required Headers (fields):
– Via: Shows route taken by request.– Call-ID: unique identifier generated by
client.– CSeq: Command Sequence number
• generated by client• Incremented for each successive request
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP host.wcom.com:5060From: Alan Johnston <sip:[email protected]>To: Jean Luc Picard <sip:[email protected]>Call-ID: [email protected]: 1 INVITE
}Uniquely identify this session request
40
SIP Responses
SIP Responses defined as (HTTP-style):– SIP-Version SP Status-Code SP Reason-Phrase CRLF
(SP=Space, CRLF=Carriage Return and Line Feed)– Example: SIP/2.0 404 Not Found– First digit gives Class of response:
Description Examples
1xx Informational – Request received, continuing to process request.
180 Ringing 181 Call is Being Forwarded
2xx Success – Action was successfully received, understood and accepted.
200 OK
3xx Redirection – Further action needs to be taken in order to complete the request.
300 Multiple Choices 302 Moved Temporarily
4xx Client Error – Request contains bad syntax or cannot be fulfilled at this server.
401 Unauthorized 408 Request Timeout
5xx Server Error – Server failed to fulfill an apparently valid request.
503 Service Unavailable 505 Version Not Suported
6xx Global Failure – Request is invalid at any server. 600 Busy Everywhere 603 Decline
41
SIP Responses: 1xx-3xx
SIP Response Code Brief Description100 Trying Request received and action is being taken180 Ringing UA received INVITE and is alerting user181 Call Is Being Forwarded Used by proxy to indicate call is being forwarded182 Queued Called party unavailable, call queued183 Session Progress Used in early media and QoS setup200 OK Request successful300 Multiple Choices Address resolved to several choices 301 Moved Permanently User can no longer be found at Req-URI address302 Moved Temporarily Temporarily cannot find user at Req-URI address305 Use Proxy Resource MUST be accessed through proxy.380 Alternative Service Call not successful. Alternatives possible.
42
SIP Responses: 4xxSIP Response Code Brief Description
400 Bad Request Request not understood due to malformed syntax401 Unauthorized Request requires user authentication402 Payment Required Reserved for future use403 Forbidden UAS understood request and refuses to fulfill it404 Not Found UAS finds that user doesn't exist in the domain 405 Method Not Allowed Method is understood but not allowed406 Not Acceptable Response content not allowed by Accept header407 Proxy Authentication Required Client must first authenticate itself with proxy408 Request Timeout UAS could not produce response in time410 Gone UAS resource unavailable; no forwarding addr.413 Request Entity Too Large Request contains body longer than UAS accepts414 Request-URI Too Long Req-URI longer than server is willing to interpret415 Unsupported Media Type Format of the body not supported by UAS416 Unsupported URI Scheme Scheme of URI unknown to server420 Bad Extension UAS not understand protocol extension 421 Extension Required UAS needs particular extension process request423 Registration Too Brief Contact header field expiration time too small480 Temporarily Unavailable UAS contacted successfully but user unavailable481 Call/Transaction Does Not Exist UAS Rx request not matching any existing dialog 482 Loop Detected UAS has detected a loop483 Too Many Hops UAS received request containing Max-Forwards=0484 Address Incomplete UAS Rx request with incomplete Request-URI 485 Ambiguous The Request-URI was ambiguous486 Busy Here UAS contacted successfully but user busy487 Request Terminated Request terminated by a BYE or CANCEL request488 Not Acceptable Here Same as 606 but only applies to addressed entity491 Request Pending UAS Rx req. & have pending req. for same dialog
493 Undecipherable UAS Rx request with encrypted MIME body & not have decryption key
43
SIP Responses: 5xx-6xx
SIP Reponse Code Brief Description500 Server Internal Error UAS unexpected condition & cannot fulfill request501 Not Implemented UAS not support functionality to fulfill the request502 Bad Gateway UAS Rx invalid response from a downstream server503 Service Unavailable UAS can't process due to overload or maintenance504 Server Time-out UAS not Rx response from external server505 Version Not Supported UAS not support SIP version in request513 Message Too Large Message length exceeded UAS capabilities600 Busy Everywhere End systems contacted, user busy at all of them603 Decline End systems contacted, user explicitly decline604 Does Not Exist Anywhere UAS has information Req-URI user not exist606 Not Acceptable Some aspects of Session Desc. not acceptable
44
SIP Responses Example
Required Headers:
– Via, From, To, Call-ID, and CSeq are copied exactly from Request.
– To and From are NOT swapped!
SIP/2.0 200 OKVia: SIP/2.0/UDP host.wcom.com:5060From: Alan Johnston <sip:[email protected]>To: Jean Luc Picard <sip:[email protected]>Call-ID: [email protected]: 1 INVITE
45
SIP Headers - Partial ListHeader Description Examples
Accept Indicates acceptable formats. Accept: application/ sdp Accept: currency/ dollars
Authorization Contains encryption information Authorization: pgp info…
Call-ID Used to uniquely identify a particular session or registration messages. Should have randomness to ensure overall global uniqueness.
Call-ID: [email protected] Call-ID: Jan-01-1999-1510- [email protected] i: [email protected]
Contact Alternative SIP URL for more direct message routing.
Contact: W. Riker, Acting Captain <[email protected]> Contact: [email protected]; expires=3600 m: [email protected]
Content-Length Octet count in message body. Content-Length: 285
Content-Type Content type of message body Content-Type: application/ sdp c: application/ h.323
CSeq Command Sequence number – used to distinguish different requests during the same session.
CSeq: 1 INVITE CSeq: 1000 INVITE CSeq: 4325 BYE CSeq: 1 REGISTER
Encryption Encryption information. Encryption: pgp info…
Expires Used to indicate when the message content is no longer valid. Can be a number of seconds or a date and time.
Expires: 60 Expires: Thu, 07 Jan 1999 17:00 CST
46
SIP Headers - Continued
From Required field containing the originating SIP URL. Can also include a display name.
From: Dana Scully <sip:[email protected]> From: sip:[email protected]; tag=1234567 f: sip: [email protected]
Max-Forwards Count decremented by each server forwarding the message. When goes to zero, server sends a 483 Too Many Hops response.
Max-Forwards: 10
Priority Can specify message priority Priority: normal Priority: emergency
Record-Route Added to a request by a proxy that needs to be in the path of future messages.
Record Route: sip.mci.com
Require Indicates options necessary for the session. Require: local.telephony
Response-Key Contains PGP key for encrypted response expected.
Response-Key: pgp info…
Retry-After Indicates when the resource may be available. Can be a number of seconds or a date and time.
Retry-After: 3600 Retry-After: Sat, 01 Jan 2000 00:01 GMT
47
SIP Headers - Continued
Route Determines the route taken by a message.
Route: orinoco.brooks.net
Subject Can be used to indicate nature of call.
Subject: More about SIP s: You’d better answer!
To Required field containing the recipient SIP URL. May contain a display name.
To: Fox Mulder <sip:[email protected]> To: sip:[email protected]; tag=314 t: sip:[email protected]; tag=52
Unsupported Lists features not supported by server.
Unsupported: tcap.telephony
Via Used to show the path taken by the request.
Via: SIP/ 2.0/ UDP sip.mfs.com Via: SIP/ 2.0/ TCP uunet.com v: SIP/ 2.0/ UDP 192.168.1.1
Warning Contains a code and text to warn about a problem
Warning: 331 Unicast not available
48
Via Headers and Routing
• Via headers are used for routing SIP messages
• Requests– Request initiator puts address in Via header– Servers check Via with sender’s address,
then add own address, then forward. (if different, add “received” parameter)
• Responses– Response initiator copies request Via
headers.– Servers check Via with own address, then
forward to next Via address
49
SIP Firewall Considerations
• Firewall Problem– Can block SIP packets– Can change IP addresses of packets
• TCP can be used instead of UDP• Record-Route can be used:
– ensures Firewall proxy stays in path• A Firewall proxy adds Record-Route
header– Clients and Servers copy Record-Route and
put in Route header for all messages
50
SIP Message Body
• Message body can be any protocol• Most implementations:
– SDP - Session Description Protocol– RFC 2327 4/98 by Handley and Jacobson
• http://www.ietf.org/rfc/rfc2327.txt– Used to specify info about a multi-media
session. – SDP fields have a required order– For RTP - Real Time Protocol Sessions:
• RTP Audio/Video Profile (RTP/AVP) payload descriptions are often used
51
Authentication & Encryption• SIP supports a variety of approaches:
– end to end encryption– hop by hop encryption
• Proxies can require authentication:– Responds to INVITEs with 407 Proxy-Authentication Required
– Client re-INVITEs with Proxy-Authorization header.
• SIP Users can require authentication:– Responds to INVITEs with 401 Unathorized– Client re-INVITEs with Authorization
header
SIP Mobility Support
SIP RedirectServer
SIP ProxyServerForeign
Network
MobileHost
HomeNetwork
CorrespondingHost
1 23
6
4
5
1 INVITE
2 302 moved temporarily
3, 4 INVITE
5, 6 OK
7 Data
Global: Wire and wireless
No tunneling required
No change to routing
7
53
SIP Mobility
Pre-call mobility• Mobile host (MH) can find SIP server via multicast REGISTER• MH acquires IP address via DHCP• MH updates home SIP server
Mid-call mobility• MH->CH: New INVITE with Contact and updated SDP• Re-registers with home registrar
54
SIP Summary
• SIP is:– Relatively easy to implement– Gaining vendor and carrier acceptance– Very flexible in service creation– Extensible and scaleable– Appearing in products right now
• SIP is not:– Going to make PSTN interworking easy– Going to solve all IP Telephony issues
(QoS)
Comparison with H.323
• H.323 is another signaling protocol for real-time, interactive• H.323 is a complete, vertically integrated suite of protocols for multimedia
conferencing: signaling, registration, admission control, transport and codecs.
• SIP is a single component. Works with RTP, but does not mandate it. Can be combined with other protocols and services.
• H.323 comes from the ITU (telephony).• SIP comes from IETF: Borrows much of its concepts from HTTP. SIP has a
Web flavor, whereas H.323 has a telephony flavor. • SIP uses the KISS principle: Keep it simple stupid.
SIP/SS7 MSC Call Flow