Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes
-
Upload
nita-mcclain -
Category
Documents
-
view
20 -
download
1
description
Transcript of Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes
![Page 1: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/1.jpg)
Introduction to SIPAlan Percy, Director of Business Development
716-662-2769
![Page 2: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/2.jpg)
Agenda
• SIP Overview
• SIP Messages
• SIP Call Flows
• SIP versus H323
• Further Reading
![Page 3: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/3.jpg)
SIPSIP is an application layer control protocol that can is an application layer control protocol that can establish, modify an terminate multimedia establish, modify an terminate multimedia sessions or calls.sessions or calls.Multimedia sessions include:Multimedia sessions include: - multimedia conference. - multimedia conference. - Distance learning. - Distance learning. - Internet telephony. - Internet telephony.
What is SIP?
![Page 4: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/4.jpg)
SIP can invite parties to both unicast and SIP can invite parties to both unicast and multicast sessions.multicast sessions.
SIP supports either UDP or TCP transports.SIP supports either UDP or TCP transports.
SIP supports name mapping and redirection SIP supports name mapping and redirection servicesservices (“Personal Mobility”). (“Personal Mobility”).
The initiator of SIP request is called a SIP client The initiator of SIP request is called a SIP client and the responding entity is called a SIP serverand the responding entity is called a SIP server
What does SIP do?
![Page 5: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/5.jpg)
Sample SIP Session
INVITE
200 OK
ACK
Media Session (RTP)
BYE
200 OK
180 Ringing
![Page 6: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/6.jpg)
Convention:Convention: user @ domainuser @ domain (SIP URL). (SIP URL).UserUser can be : user name or TEL number. can be : user name or TEL number.Domain Domain can be : domain name or numeric can be : domain name or numeric
network address.network address.Sometimes the SIP URL can be guessed from Sometimes the SIP URL can be guessed from
the email address.the email address.A SIP URL address can designate :A SIP URL address can designate :
an individual ,an individual ,first available person from a group of first available person from a group of individuals,individuals,a whole group.a whole group.
SIP Addressing
![Page 7: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/7.jpg)
A SIP network is composed of four types of A SIP network is composed of four types of logical SIP entities. Each entity has specific logical SIP entities. Each entity has specific functions and participates in SIP functions and participates in SIP communication as a client (initiates communication as a client (initiates requests), as a server (responds to requests), as a server (responds to requests), or as both. One “physical requests), or as both. One “physical device” can have the functionality of more device” can have the functionality of more than one logical SIP entity. For example, a than one logical SIP entity. For example, a network server working as a Proxy server network server working as a Proxy server can also function as a Registrar at the can also function as a Registrar at the same time.same time.
SIP Entities
![Page 8: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/8.jpg)
A A User Agent User Agent (UA) is the endpoint entity.(UA) is the endpoint entity.It initiate and terminate sessions by exchanging It initiate and terminate sessions by exchanging
requests and responses. RFC2543 defines the requests and responses. RFC2543 defines the User Agent as an application, which contains both User Agent as an application, which contains both a User Agent client and User Agent server, as a User Agent client and User Agent server, as follows:follows:
User Agent Client (UAC); Calling User AgentUser Agent Client (UAC); Calling User Agent A client application that initiates SIP requests.A client application that initiates SIP requests. User Agent Server (UAS); Called User AgentUser Agent Server (UAS); Called User Agent A server application that contacts the user when a A server application that contacts the user when a
SIP request is received and that returns a SIP request is received and that returns a response on behalf of the user.response on behalf of the user.
User Agent
![Page 9: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/9.jpg)
Devices that function as UA in a SIP network:Devices that function as UA in a SIP network: workstationsworkstations IP- phonesIP- phones telephony gatewaystelephony gateways call agentscall agents automated answering servicesautomated answering services
User Agent
![Page 10: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/10.jpg)
A A Proxy server Proxy server acts as both a server and a acts as both a server and a client for the purpose of making requests client for the purpose of making requests on behalf of other clients. Requests are on behalf of other clients. Requests are serviced either internally or by passing serviced either internally or by passing them on, possibly after translation, to other them on, possibly after translation, to other servers. A Proxy interprets, and, if servers. A Proxy interprets, and, if necessary, rewrites a request message necessary, rewrites a request message before forwarding it.before forwarding it.
It functions as a kind of a Router.It functions as a kind of a Router.
Proxy Server
![Page 11: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/11.jpg)
A A Redirect Server Redirect Server is a server that is a server that accepts a SIP request, maps the SIP accepts a SIP request, maps the SIP address of the called party to a new address of the called party to a new addresses and returns them to the addresses and returns them to the client. Unlike Proxy servers, Redirect client. Unlike Proxy servers, Redirect Servers do not pass the request on to Servers do not pass the request on to other servers.other servers.
Redirect Server
![Page 12: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/12.jpg)
A A Registrar Registrar is a server that accepts is a server that accepts REGISTER requests for the purpose of REGISTER requests for the purpose of updating a location database with the updating a location database with the contact information of the user contact information of the user specified in the request.specified in the request.
Registrar
![Page 13: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/13.jpg)
SIP Network
![Page 14: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/14.jpg)
Text base protocolText base protocol Similar to HTTPSimilar to HTTP Either a request from a client to a server orEither a request from a client to a server or A response from a server to a clientA response from a server to a client
SIP Messages
![Page 15: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/15.jpg)
General basic fields:General basic fields: CALL-IDCALL-ID CseqCseq ToTo FromFrom
General Header Fields
![Page 16: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/16.jpg)
The call-id uniquely identifies a particular The call-id uniquely identifies a particular invitation of a particular client.invitation of a particular client.
Must be a globally unique identifier and must not Must be a globally unique identifier and must not be reused for latter callbe reused for latter call
It may use the form It may use the form localid@host Case sensitiveCase sensitive Serves to match requests with the corresponding Serves to match requests with the corresponding
responsesresponses Detects duplicates requestsDetects duplicates requests
CALL-ID
![Page 17: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/17.jpg)
Composed of an unsigned sequence Composed of an unsigned sequence number and the method name.number and the method name.
Incremented at each new requestIncremented at each new request Starts at a random valueStarts at a random value
Cseq
![Page 18: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/18.jpg)
Contains the name and the address Contains the name and the address of the originator of the requestof the originator of the request
From
![Page 19: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/19.jpg)
Indicates the intended destination of Indicates the intended destination of a request.a request.
To
![Page 20: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/20.jpg)
““REGISTER”REGISTER”
““INVITE”INVITE”
““ACK”ACK”
““BYE”BYE”
““CANCEL”CANCEL”
““OPTIONS”OPTIONS”
General Message Type:
![Page 21: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/21.jpg)
Client uses the register method to register its Client uses the register method to register its address with the SIP server.address with the SIP server.
The client needs to register at startup and then The client needs to register at startup and then periodically thereafter.periodically thereafter.
Recommended to register via multicast.Recommended to register via multicast.
Multicast registration has a well known “all SIP Multicast registration has a well known “all SIP servers” multicast address: “sip.mcast.net” servers” multicast address: “sip.mcast.net” (224.0.1.75)(224.0.1.75)
REGISTER
![Page 22: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/22.jpg)
Indicates that the user or service is Indicates that the user or service is being invited to participate in a being invited to participate in a session.session.
INVITE
![Page 23: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/23.jpg)
The ACK request confirms that the client has The ACK request confirms that the client has received a final response to an INVITE requestreceived a final response to an INVITE request
ACK
![Page 24: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/24.jpg)
The client uses “BYE” to indicate to the server that it The client uses “BYE” to indicate to the server that it wishes to release the call.wishes to release the call.
A party to a call should send a BYE request before A party to a call should send a BYE request before hanging up.hanging up.
BYE
![Page 25: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/25.jpg)
The CANCEL request cancels a pending request with The CANCEL request cancels a pending request with the same CALL-ID, TO, FROM and Cseqthe same CALL-ID, TO, FROM and Cseq..
It doesn’t affect a completed request nor an It doesn’t affect a completed request nor an existing callexisting call..
CANCEL
![Page 26: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/26.jpg)
The server (callee) is being queried as to its The server (callee) is being queried as to its capabilities.capabilities.
OPTIONS
![Page 27: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/27.jpg)
SIP Message Structure
![Page 28: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/28.jpg)
SIP Example
Let’s take a look at an actual call flow
(See HTML)
![Page 29: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/29.jpg)
SIP with Proxy
![Page 30: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/30.jpg)
SIP with Redirect
![Page 31: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/31.jpg)
SIP vs. H.323
![Page 32: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/32.jpg)
IP and lower layers
TCP UDPTPKT
Q.931 H.245 RAS RTCPRTP
Codecs
Terminal Control/Devices
Transport Layer
SIP SDPRTP
CodecsRTCP
Terminal Control/Devices
H.323 SIP
Protocol Comparison
![Page 33: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/33.jpg)
Speed – Simple, 1 to 5 messages ratio, uses UDP Speed – Simple, 1 to 5 messages ratio, uses UDP asas transport. Thus shorter setup time for transport. Thus shorter setup time for endpoints. endpoints.
Multicast – Messages can be sent to a multicast Multicast – Messages can be sent to a multicast group (signaling and media channels). group (signaling and media channels).
URL usage – uses only one type of URL – SIP URL.URL usage – uses only one type of URL – SIP URL. Makes easy redirection. Makes easy redirection.
Call prioritization. Call prioritization. Text encoding – It is simple, debugged easily andText encoding – It is simple, debugged easily and
makes interoperability problems makes interoperability problems detectabledetectable visually. visually.
SIP Pros
![Page 34: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/34.jpg)
Logical channels – Make clear distinction betweenLogical channels – Make clear distinction between capabilities and actual media types. capabilities and actual media types.
Conference control – Powerful conference control Conference control – Powerful conference control features.features.
Binary encoding – PDU size is optimized.Binary encoding – PDU size is optimized. Fast protocol – Structures cast to buffers and vise Fast protocol – Structures cast to buffers and vise
versaversa. .
H.323 Pros
![Page 35: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/35.jpg)
Further Reading
SIP Demystified by Gonzalo Camarillo
Understanding the Session Initiation Protocol by Alan B. Johnston
Carrier Grade Voice over IP by Daniel Collins
![Page 36: Introduction to SIP Alan Percy, Director of Business Development Alan.percy@audiocodes](https://reader030.fdocuments.in/reader030/viewer/2022032313/56812b3d550346895d8f5056/html5/thumbnails/36.jpg)