Documente Academic
Documente Profesional
Documente Cultură
I NT EL L I GE NT SE RV I CE S
LDAP
Oracle
XML
SIP Proxy, Registrar & Redirect Servers SIP SIP SIP SIP User Agents (UA) PSTN
CAS or PRI
INVITE w/ SDP for Media Negotiation 100 Trying 180/183 Ringing w/ SDP for Media Negotiation MEDIA 200 OK ACK MEDIA BYE 200 OK
Internet Telephony
User Agent 1
Register OK (200) Invite Ringing (180) OK (200) ACK RTP/RTCP media channels
Internet Telephony
VoIP Migration
PSTN Network
Customer Premises
Customer Premises
IP Core Network
Large enterprises will handle VOIP calls directly PSTN connectivity provided by Media Gateways Regulation can not stop spammers outside USA (similar to SMTP spam)
Internet Telephony
STEP 2: Hosted IP Centrex FW, NAT, VoIP service provided by Carrier Networks
Softswitches, MGW VoIP Proxy Server, SGW SGC, VoIP Centrex Server,
Internet
Carrier Network
Customer Premises
Internet Telephony
Softswitches, MGW VoIP Proxy Server, SGW SGC, VoIP Centrix Server,
Internet
Carrier Network
Customer Premises
Internet Telephony
SIP Architecture
A separate SIP working group RFC 2543, RFC 3261 Many developers The VoIP signaling in the future Test products against each other Will be hosted by ETSI
SIP + MGCP/MEGACO
o
Internet Telephony
SIP Architecture
A signaling protocol
o
The setup, modification, and tear-down of multimedia sessions Describe the session characteristics
SIP + SDP
o
Internet Telephony
User agent clients Application programs sending SIP requests Responds to clients requests
Servers
o
Internet Telephony
Proxy servers
Handle requests or forward requests to other servers Can be used for call forwarding
Internet Telephony
Redirect servers
o o
Map the destination address to zero or more new addresses Do not initiate any SIP requests
Internet Telephony
Accept SIP requests and contacts the user The user responds an SIP response A SIP device E.g., an SIP-enabled telephone Accepts SIP REGISTER requests
Indicating the user is at a particular address
A registrar
o o
Internet Telephony
Internet Telephony
SIP Advantages
Attempt to keep the signaling as simple as possible Offer a great deal of flexibility Various pieces of information can be included within the messages
o o
Including non-standard information Enable the users to make intelligent decisions No need to subscribe call features
Internet Telephony
Internet Telephony
Via contains the address (e.g., pc33.atlanta.com) Contact contains a SIP or SIPS URI that represents a direct route to contact the called party, usually composed of username at a fuly qualified domain name (FQDN). While the FQDN is preferred, many end systems do not have registered domain names, so IP addresses are permitted. While Via header field tells other elements where to send response, the Contact header field tells other elements where the called party can be reached directly. In a response, Via, To, From, Call-ID, and CSeq header fields are copied from the INVITE request. In addition to DNS and location service lookups, proxy servers can make flexible routing decisions to decide where to send a request. For example, if Bobs SIP phone returned 486 (busy) response, the biloxi.com proxy server could proxy the INVITE to Bobs voicemail server. A proxy server can also send an INVITE to a number of locations at the same time. This type of parallel search is known as forking.
Internet Telephony
After learning the end point addresses, the end points can communicate directly
Internet Telephony
Similar to HTTP
SIP messages
o
Internet Telephony
Message headers
o o
Message body
o
o o
Could include an ISDN User Part message Examined only at the two ends
Internet Telephony
SIP Requests
method SP request-URI SP SIP-version CRLF request-URI
o
The address of the destination INVITE, ACK, OPTIONS, BYE, CANCLE, REGISTER
extensions: INFO, REFER, UPDATE,
Methods
o
INVITE
Initiate a session Information of the calling and called parties The type of media IAM (initial address message) of ISUP ACK only the final response
Internet Telephony
BYE
o o
Terminate a session Can be issued by either the calling or called party Query a server as to its capabilities
A particular type of media The response if sent an INVITE
Options
o
CANCEL
o o
Terminate a pending request E.g., an INVITE did not receive a final response
Internet Telephony
REGISTER
o o o o
Log in and register the address with a SIP server all SIP servers multicast address (224.0.1.1750) Can register with multiple servers Can have several registrations with one server RFC 2976 Transfer information during an ongoing session
DTMF digits account balance information midcall signaling information generated in another network
INFO
o o
Internet Telephony
SIP Responses
SIP version SP status code SP reason-phrase CRLF
reason-phrase
o o
A textual description of the outcome Could be presented to the user A three-digit number 1XX Informational 2XX Success (only code 200 is defined) 3XX Redirection 4XX Request Failure 5XX Server Failure 6XX Global Failure All responses, except for 1XX, are considered final
Should be ACKed
status code
o o o o o o o o
Internet Telephony
Internet Telephony
SIP Addressing
SIP URLs (Uniform Resource Locators)
o o
user@host E.g.,
sip:collins@home.net sip:3344556789@telco.net
o
o
Internet Telephony
Message Headers
Provide further information about the message
o
E.g.,
o o
From:header
The caling party
General, request, response, and entity headers A list in Table 5-2 Mapping in Table 5-3
Internet Telephony
General Headers
Used in both requests and responses Basic information
o
E.g., To:, From:, Call-ID:, A URL for future communication May be different from the From: header
Requests passed through proxies
Contact:
o o
Internet Telephony
Request Headers
o o o
Apply only to SIP requests Addition information about the request or the client E.g.,
Subject: Priority:, urgency of the request Authorization:, authentication of the request originator
Response Headers
o o
Internet Telephony
Entity Header
o o o o o o o o
Content-Length, the length of the message body Content-Type, the media type of the message Content-Encoding, for message compression Content Disposition, Content-Language, Allow, used in a Request to indicate the set of methods supported o Expires, the date and time
Internet Telephony
Via: Call-ID:
host-specific
Content-Length:
Zero, no msg body
Cseg:
Avoid ambiguity
Expires:
TTL 0, unreg
Contact:
*
Internet Telephony
Invitation
A two-party call
o o
Subject:
optional
Content-Type:
application/sdp
Internet Telephony
Internet Telephony
Termination of a Call
Cseq:
o
Has changed
Internet Telephony
Redirect Servers
An alternative address
o
Another INVITE
o o
Internet Telephony
Proxy Servers
Entity headers are omitted Changes the Req-URI Via:
o o o
Internet Telephony
Internet Telephony
Proxy state
Can be either stateless or stateful Record-Route:
o
The messages and responses may not pass through the same proxy
Use Contact:
o o o o o o
Insert its address into the Record-Route: header The response includes the Record-Route: header The Record-Route: header is used in the subsequent requests The Route: header = the Record-Route: header in reverse order, excluding the first proxy Each proxy remove the next from the Route: header
Internet Telephony
Forking Proxy
fork requests A user is registered at several locations
o
;branch=xxx
Internet Telephony
Internet Telephony
Internet Telephony
Internet Telephony
SDP Syntax
A number of lines of text In each line
o
field=value
Internet Telephony
Mandatory Fields
v=(protocol version) o=(session origin or creator and session id) s=(session name), a text string t=(time of the session)
o o
t=<start time> <stop time> NTP time values in seconds m=<media> <port> <transport> <fmt list> Media type The transport port The transport protocol The media format, an RTP payload format
m=(media)
o o o o o
Internet Telephony
Optional Fileds
i=(session information)
o o
A text description At both session and media levels Where further session information can be obtained Only at session level Who is responsible for the session Only at the session level Only at the session level
u=(URI of description)
o o
e=(e-mail address)
o o
p=(phone number)
o
Internet Telephony
c=(connection information)
o o
Connection type, network type, and connection address At session or media level In kilobits per second At session or media level
b=(bandwidth information)
o o
For regularly scheduled session How often and how many times
Internet Telephony
z=(timezone adjustments)
o o o
z=<adjustment time> <offset> <adjustment time> <offset> .... For regularly scheduled session Standard time and Daylight Savings Time k=<method>:<encryption key> An encryption key or a mechanism to obtain it At session or media level Describe additional attributes
k=(encryption key)
o o o
a=(attributes)
o
Internet Telephony
Ordering of Fields
Session Level
o o o o o o o o o o o o o o
Protocol version (v) Origin (o) Session name (s) Session information (i) URI (u) E-mail address (e) Phone number (p) Connection info (c) Bandwidth info (b) Time description (t) Repeat info (r) Time zone adjustments (z) Encryption key (k) Attributes (a)
Media level
o o o
o o o
Internet Telephony
Subfields
Field = <value of subfield1> <value of subfield2> <value of subfield3> Origin (o)
o o
o o o o o
address type
IP4, IP6
Address, a fully-qualified domain name or the IP address o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
Internet Telephony
Connection Data
o o o
The network and address at which media data are to be received Network type, address type, connection address c=IN IP4 224.2.17.12/127 Media type
Audio, video, application, data, or control
Media Information
o o o
Internet Telephony
Attributes
o
Property attribute
a=sendonly a=recvonly
o o
value attribute
a=orient:landscape
rtpmap attribute
The use of dynamic payload type a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding parameters>]. m=video 54678 RTP/AVP 98 a=rtpmap 98 L16/16000/2
Internet Telephony
Internet Telephony
Negotiation of Media
Fig 5-15
o
If a mismatch
o o o
Internet Telephony
Internet Telephony
Offer/answer
Internet Telephony
Internet Telephony
OPTIONS Method
o
Internet Telephony