cscu9yh / itnp2b – telecoms systems•note: indeed sdp is a data format rather than a protocol. dr...
TRANSCRIPT
SIP 1 1
CSCU9YH / ITNP2B –Telecoms Systems
SIP I Components
SIP
• SIP = Session Initiation Protocol• Establishes, modifies, terminates multimedia sessions– Add parties– Add, remove, change media
• SIP is independent of the type of multimedia session handled
• SIP is also independent of the mechanisms used to describe that session
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SIP 1 2
Example
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
Would you like to join this session?
Session description
I would like to talk to
Laura and Carol.
Session Descriptions: SDP• SDP = Session Description Protocol• Specifies how the information necessary to describe a
s session should be encoded• No transport mechanisms• No parameter negotiation• Simply some information about a session• Text-based• Type = Value• Session-level and media-level information
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SIP 1 3
SDP
• Media to use (codec, sampling rate)• Media destination (IP address and port number)• Session name and purpose• Times the session is active• Contact information• Note: indeed SDP is a data format rather than a
protocol.
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SDP example• v=0• o=Bob 28908044538 289080890 IN IP4 193.175.132.118• s=SIP lecture• i=The first lecture on SIP• u=http://www.cs.stir.ac.uk• [email protected]• c=IN IP4 126.16.69.4• t=28908044900 28908045000• a=recvonly• m=audio 49170 RTP/AVP 0• a=rtpmap:0 PCMU/8000• m=video 51372 RTP/AVP 31• a=rtpmap:31 H261/90000
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SIP 1 4
Session Establishment Progress
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
Bob Laura
I will call Laura
Would you like to join a voice session?
Laura is being alerted. Here phone is ringing.
Laura is willing to join the session. She has picked up the phone.
User Mobility• Where should the session invitation been delivered too?• User needs to be located.• User may be at different IP addresses (PCs)• SIP URLs• Users need to register• Proxy or Redirect mode
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
eagle.cs.stir.ac.uk
SIP server atcs.stir.ac.uk
I am ”Tip” I will be reachable at [email protected]
SIP 1 5
SIP entities
• User Agents• Redirect Servers• Proxy Servers• Registrars
• Looking at each one in turn …
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
User Agents
• SIP entity which interacts with the user• User interface– Special computer program– SIP phone– SIP for appliances
• Not all devices need to interact with the user directly (answering machines)
• Sessions are delivered to UA• User Agent Server, User Agent Client
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SIP 1 6
Forking Proxy Server
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SIP server atcompany.com
iptel.org
(1) Invitation for SIP: [email protected]
(4) Invitation forSIP: [email protected]
(2) Invitation for SIP: [email protected]
(3) I’m busy
(5) I’m available
Registrars and Location Servers• Registrars– SIP server accepting registrations– Usually co-located with a redirect server or a proxy server
• Location Server– Strictly, are not SIP entities– Stores and returns possible locations for users– Make use of Registrars or other databases– Most registrars upload information to a location server
upon receipt– Communication is not SIP
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SIP 1 7
Proxy and location servers
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SIP server (registrar and proxy) at [email protected] [email protected]
(1) Invitation for SIP: [email protected]
(2) Where is reachableSIP: [email protected]
Location server
(3) Try [email protected]
(4) Invitation for SIP: [email protected]
Overall Architecture
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SIP 1 8
Client – Server Transactions
• SIP is based on HTTP• Request/response protocol– Client ® generates requests– Server ® receives requests, returns responses
• User Agent Client, User Agent Server• Request + Response = Transaction
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SIP Responses
• Upon receiving a request, a server issues one or more responses
• Responses have a code indicating status of transaction (integers 100 – 699)
• Range Response class100 – 199 informational200 – 299 success300 – 399 redirection400 – 499 client error500 – 599 server error600 – 699 global failure
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
Provisional responses
Final responses
SIP 1 9
SIP Responses
• Responses carry a reason phrase (string)– Example: 180 – user is being alerted – Ringing
• Computer ignores the reason phrase– 200 OK– 100 Trying – 181 Call is being forwarded – 302 moved temporarily – 305 use proxy – 402 payment required – 486 busy here – 501 not implemented – 603 busy everywhere
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SIP Requests• Core of SIP defines 6 types of requests• Requests contain a field “method” denoting
purpose– INVITE– ACK– OPTIONS– BYE– CANCEL– REGISTER
• Requests and responses may contain SIP bodies– Payload, e.g. session description (SDP)
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
SIP 1 10
INVITE
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
Bob Laura
I will call
Laura
(1) INVITE
(2) 180 Ringing
(3) 200 OKv=0o=Bob 2890844526 2890842807 IN IP4 131.160.1.112s=I want to talk to youc=IN IP4 131.160.1.112t=0 0 m=audio 49170 RTP/AVP 0
v=0o=Bob 2890844526 2890842807 IN IP4 138.85.27.10s=I want to talk to youc=IN IP4 138.85.27.10t=0 0 m=audio 20000 RTP/AVP 0
SIP Example
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services
Bob(1) INVITE
SIP Proxy(2) INVITE
(3) 180 Ringing(4) 180 Ringing
(7) ACK
Conversation
Mario
(5) 200 OK(6) 200 OK
(8) BYE
(9) 200 OK
saturn.company.comproxy.company.comeagle.cs.stir.ac.uk
SIP 1 11
Characteristics of SIP
• Part of IETF toolkit• Distinguishes between session establishment
and session description• Intelligence in the end system• Interoperability• Scalability
Dr Mario Kolberg / Prof Evan Magill
CSCU9YH/ITNP2B Telecommunications Systems and Services