Download presentation
Presentation is loading. Please wait.
1
VoIP SIP 4.12 Introduction 4.13 SIP Call Flow 4.14 SIP Header fields
Copyright © OneAccess Networks - All rights reserved -
2
VoIP Typical Architecture
Media Gateway PSTN SS7/ISUP SIP Voice Gateway ONE 400 ISDN S0/S2 IP SIP Voice Gateway ONE 100 Softswitch SIP proxy registrar IP PHONE Copyright © OneAccess Networks - All rights reserved -
3
SIP V2.0: RFC 3261 (basic SIP standard)
VoIP Basics SIP V2.0: RFC 3261 (basic SIP standard) SDP: Session Description Protocol media streams packetization codec , media properties G.7XX: audio compression algorithms Copyright © OneAccess Networks - All rights reserved -
4
SIP Protocol Architecture
VoIP Basics SIP Protocol Architecture G7XX SIP Register to registrar SDP / Media properties RTP RTCP Unreliable Transport (UDP) Network Layer (IP) Link Layer Physical Layer Copyright © OneAccess Networks - All rights reserved -
5
SIP Protocol Overview VoIP Basics Softswitch /registrar Register
100 Trying 100 Trying 200 OK 200 OK SIP UA SIP UA INVITE / SDP INVITE / SDP 100 Trying 100 Trying Basic SIP Call 180 Ringing 180 Ringing 200 OK / SDP 200 OK / SDP ACK RTP stream Media RTP stream (UDP) RTCP stream Copyright © OneAccess Networks - All rights reserved -
6
ONEx00 (Voice gateway) interworking with:
VoIP Interoperability ONEx00 (Voice gateway) interworking with: IP phones Softphone on PC (Netmeeting, Openphone,…) WiFi Phone Interactive Voice Response server (IVR) Multi Conference Unit (MCU) Softswitch BroadSoft ,Nortel CS2K, Cirpack, Italtel, Sonus, Comverse (Netcentrex), Ericsson IMS… Mediagateway Cisco , Nortel PVG , Italtel IMSS Copyright © OneAccess Networks - All rights reserved -
7
Parameters for registration
VoIP: Support of SIP Registrar Parameters for registration Prefix or sip-username with or without authentication Hostname or device-sip-hostname Copyright © OneAccess Networks - All rights reserved -
8
Dialing: In-bloc VoIP: Dialing Modes ISDN terminal ONE200/400
Softswitch IP PHONE SETUP SETUP ACK INFO Digit 3 INFO Digit 0 INFO Digit 2 CALL PROCEEDING INVITE N° 302 INVITE N° 302 100 TRYING 100 TRYING ALERT 180 RINGING 180 RINGING CONNECT 200 OK 200 OK Copyright © OneAccess Networks - All rights reserved -
9
Session Initiation Protocol
SIP Gateway in OneOS Copyright © OneAccess Networks - All rights reserved -
10
Introduction to SIP Sample call flows
Content (1) Introduction to SIP Network applications SIP rules SIP network architectures (existing service units ) Description of Messages (methods) Sample call flows Basic voice call between users Basic voice call between users over Proxy Registration and voice call between user over Proxy (with/without authentication) Refer SIP service transaction Description of SIP header fields about main session initiator messages (request URI, From, To, Via..) Copyright © OneAccess Networks - All rights reserved -
11
NGN Architecture Copyright © OneAccess Networks - All rights reserved -
12
SIP is a signalling protocol for Call Control Defined by IETF members
What is SIP SIP is a signalling protocol for Call Control Defined by IETF members Primary intent : simple Internet-based telephony Based on other WWW standards : Similar syntax to HTTP Clear-text syntax (unlike H.323), which makes it human-readable SIP terminals are addressed using an URI (like an header..) URI can be formed from phone number or tel: : ) or username SIP V2.0 : RFC 3261 (based of SIP standard) others RFC for extension purpose : 3262 (reliability of Provisional response- PRACK), 3680 (event package for registration-REFER), 3578 (SIP-T)… Fast implementation for basic call flows, easy to extend with new header fields to add new services SDP (Session Description Protocol) describes the RTP media properties (Codec, RTP port, others). SDP also used by MGCP. Copyright © OneAccess Networks - All rights reserved -
13
SIP network architecture
Redirect server Location service (Server) Registrar server SIP-route.com Location service (Server) Proxy server Proxy server Customer-name.net Registrar server Oneaccess-net.com Session Border Controler UAC/UAS pots/ToIp users Sip gateway UAC/UAS 5 types of server exist in SIP architecture: 1) User agent server/client, terminal device 2) Proxy server, terminal is still linked to nearest Proxy 3) Redirect server, maps any address to another or several others addresses (mobile user) 4) Location server, records position of current user of its proxy & redirect servers 5) Registrar server, accepts registration and offers location service 6) SBC brings Firewall, Nat Alg, Policy features (hide private domain for public users) Copyright © OneAccess Networks - All rights reserved -
14
SIP messages Request and response transactions model.
UAC & UAS exchange transaction messages to establish the communication. Device (TU, transaction unit) may be UAC/UAS (gateway, proxy, phone) Main Transaction Messages : Main request messages (method): INVITE : Starts a SIP call. INVITE can be re-invoked when a call is established to renegotiate media capabilities for example. In that case, the term RE-INVITE is often mentioned (but in the protocol, INVITE is used). REGISTER : To a SIP registrar ACK : Acknowledges call establishment requests (response to 200-OK) or to responses code 4xx, 5xx, 6xx BYE : To close a session CANCEL : Aborts a call being set up (to cancel Invite message only) INFO : Send complementary information during call Such as outband DTMF Such as Specific event to invoke services on proxy appli. eg# flashhook OPTIONS : Capability enquiry from a UA to another UA or a proxy server. REFER/NOTIFY : Used for call forwarding (call by call decision) Copyright © OneAccess Networks - All rights reserved -
15
Other request messages (methods)
SIP messages Other request messages (methods) UPDATE : mainly modifies media while call is not established (OK to first Invite not yet received). May be used for other purpose as monitoring established session SUBSCRIBE/NOTIFY : request to be informed when some event occur (ex.: User Registration, DTMF, message waiting indicator service, …) MESSAGE: is used to transport instant messages using SIP Response messages (status) : 200-OK : transaction acknowledgement (INVITE, BYE, REGISTER…) All other messages are “provisional” (code 1xx) or about error in the transaction (next slide for description) PRACK : reliable provisional ACK response to 1xx messages excepted to 100-trying Copyright © OneAccess Networks - All rights reserved -
16
First digit of status-code defines the class of response:
SIP messages SIP status messages response to transaction request messages. Extensions of HTTP responses codes (3 digits + description). Description may be customized (200- registration successful) First digit of status-code defines the class of response: 1xx: provisional responses before call is established (not the definitive response). 100-trying, 180-ringing, 181-call is being forwarded, 183-session progress… 2xx: 200-OK final response 3xx: Redirection: 302-moved temporarily… 4xx: failure responses. 401-unauthorized, 403-forbidden, 404-not found, 486-busy here, 408-request timeout… 5xx: Server error. 503-service unavailable… 6xx: Global failure Copyright © OneAccess Networks - All rights reserved -
17
Call Flow between two User Agents
FXS Phone A sends its RTP media properties to B ONE100 SIP Phone B INVITE + sdp 100 TRYING 180 RINGING B picks up the phone. B returns its RTP media properties 200 OK + sdp ACK RTP two-way stream NOTE : SDP message body brings media descriptions for the session. For voice transaction, it indicates Rtp media Capabilities for each SIP terminal. BYE 200 OK Copyright © OneAccess Networks - All rights reserved -
18
SIP Proxy Server A SIP proxy server provides similar functions as a gatekeeper in H.323 (but no RAS or registration): Receives all signalling from a given terminal and then performs some call processing: call routing, call forking (multiple destinations tried), call re-routing, billing, supplementary services, … Routing is based on “location database or service ” information (get from registrar or Static entry) SIP is a peer-to-peer protocol. A SIP UA sees a SIP proxy like a SIP UA (UAC, UAS) Copyright © OneAccess Networks - All rights reserved -
19
Many SIP proxies can be found along a call establishment path.
SIP Proxy Server Many SIP proxies can be found along a call establishment path. In this case, several « via » header fields are inserted into the proxied message. For a given method (request), all SIP status (response) would pass over the same path before to open the audio flow channel between end points If « record-route » is inserted by the proxy in the request to force future request in the dialog to be routed through the proxy To avoid loops, the max-forward header field is set (eg #70). This value decreases of one when message is crossing a proxy server. Copyright © OneAccess Networks - All rights reserved -
20
Call Flow with a SIP Proxy ( proxied transactions )
In this case, all SIP transactions are over the proxy server. RTP packets are between the two UAC ends. Proxy server adds « Record-route » header field into the first Invite message forwarded to user B. Connection point of the SDP message body (Invite and OK messages) are users A and B. SIP Phone A SIP Proxy SIP Phone B Request: INVITE + sdp (x) Status: 100 TRYING INVITE + sdp (x) + Record-route Status: 100 TRYING Status: 180 RINGING Status: 180 RINGING Status: 200 OK + sdp (y) Status: 200 OK + sdp (y) Request: ACK Request: ACK RTP two-way stream Udp port x Udp port y Request: BYE Request: BYE Status: 200 OK Status: 200 OK Copyright © OneAccess Networks - All rights reserved -
21
Call Flow with a SIP Proxy including S. B
Call Flow with a SIP Proxy including S.B.C (full proxied transactions including RTP pkts ) SIP messages and RTP packets must pass through a Session Border Controller. SIP messages are routed to SIP Proxy server. For RTP packets, S.B.C applies policy (firewall, nat…) SIP signalling Messages SIP Proxy SIP Phone A S.B.C SIP Phone B Request: INVITE + sdp (x) Status: 100 TRYING INVITE + sdp (z) + Record-route Status: 100 TRYING Status: 180 RINGING Status: 180 RINGING Status: 200 OK + sdp (w) Status: 200 OK + sdp (y) Request: ACK Request: ACK Udp port x RTP two-way stream Udp port y RTP two-way stream Udp port w Udp port z Request: BYE Request: BYE Status: 200 OK Status: 200 OK Copyright © OneAccess Networks - All rights reserved -
22
SIP Registrar server SIP Registrar: Provides a directory service. Users indicate their presence. Basically, I am and I am available at Same user (username) may be registered at different physical locations. Different user (username) may be registered at the same location. 401 or 407 Authentication challenge for each user or sip gateway registration may be applied. SIP Registrar, proxy and redirect servers are optional, can be combined in one physical unit or not (same SIP domain). Copyright © OneAccess Networks - All rights reserved -
23
Message Flow for SIP registrar
SIP Basic registration SIP Phone A SIP registrar Request: register From/To Contact # Status: 100 TRYING Status: 200 OK From/To # Contact # Note: Contact header field is not mandatory in the request. However, most UACs insert it. Copyright © OneAccess Networks - All rights reserved -
24
Message Flow for SIP registrar
SIP registration including 401 unauthorized challenge SIP Phone A SIP registrar Request: Register From/To Contact # Status: 401 Unauthorized + Digest Info. Request: Register & Digest Authent. Info. Status: 100 TRYING Status: 200 OK From/To Contact # Note : Based on initial register request, UAC may include Digest authentication information into next register message (not challenged yet). From there, 40x challenge may be applied or not. Copyright © OneAccess Networks - All rights reserved -
25
Message Flow for SIP Proxy/registrar
SIP registration including 407 proxy-unauthorized challenge SIP registrar SIP Phone A Request: Register SIP proxy From/To Contact # Status: 407 proxy-Unauthorized + Digest Info. Request: Register & Digest Authent. Info. Status: 100 TRYING Status: 200 OK From/To Contact # Note : Based on initial register request, UAC may include Digest authentication information into next register message (not challenged yet). From there, 40x challenge may Be applied or not. Copyright © OneAccess Networks - All rights reserved -
26
Call Flow with a SIP proxy including 40x challenge
SIP Phone A SIP Proxy SIP Phone B Request: INVITE + sdp (x) Status: 40x Unauthorized + Digest Info. Request: INVITE + Digest auth. Info + sdp (x) Status: 100 TRYING INVITE + sdp (x) + Record-route Status: 100 TRYING Status: 180 RINGING Status: 180 RINGING Status: 200 OK + sdp (y) Status: 200 OK + sdp (y) Request: ACK Request: ACK Udp port x RTP two-way stream Udp port y Request: BYE Request: BYE Status: 200 OK Status: 200 OK Note : Based on challenged register request, UAC may include Digest authentication information into initial Invite. From there, 40x challenge may be applied or not. Copyright © OneAccess Networks - All rights reserved -
27
Miscellaneous about SIP
SIP runs over UDP/5060 (faster than TCP, reliability has to be built in protocol, not in transport layer) SDP Message Boby : SDP may not be attached to the INVITE (from calling end) but included at the end of call setup in ACK (called ‘SDP in ACK’). Early media, to provide that SDP is added to( from called end). 180-Ringing message. To provide the remote ring back tone to calling user. 183-Session progress message. Announcement or any tone from media server. Copyright © OneAccess Networks - All rights reserved -
28
Description of SIP messages (REGISTER 1/2)
REGISTER sip: :5060;user=ip SIP/2.0 Request-URI names the domain of the location service where the user (phone, gateway) sends the registration request. It may be an Ip address or the domain name of registrar server (no username Call-ID: 0 A UAC still uses the same value to register to a registrar (to detect delay and out of order) Contact: This header field is not mandatory for Register request. If It exists it contains address binding CSeq: 1 REGISTER This value guarantee proper ordering of register request. UAC increment it by one for each register request (same Call-Id) Expires: 1800 It indicates how long the UA would like the binding to be valid (in seconds). If value is 0 then the Corresponding Contact will be removed from location service. Copyright © OneAccess Networks - All rights reserved -
29
Description of SIP messages (REGISTER 2/2)
This header field contains the address of record of the device responsible for the registration. The value is the same than the To header field. To: This header field contains the address of record whose registration is to be created, queried or modified. SIP URI contains either the username of the user, either a phone number and the IP address of the device (or most commonly the domain name where the device registers). Via: SIP/2.0/UDP :5060;branch=z9hG4bK-3D8A-1 This header field indicates the transport used for the transaction and identifies the location where the response is to be sent (messages 100 then 200) Branch value must be unique across space and time for all request send by the UA. It must start with z9hG4bK Note : User is a logical identity not physical Copyright © OneAccess Networks - All rights reserved -
30
Description of SIP messages (INVITE 1/2)
atlanta.com Proxy server Eg#Dns query To discover biloxi.com Proxy server Eg#Dhcp query To discover UAC Alice’s Sip phone pc33.atlanta.com UAC Bob’s Sip phone biloxi.com Description of Request URI header field is for “OneOs” implementation. Another way to built this header field is descripted in slides . INVITE SIP/2.0 - This header field is built on the called username (or phone number) and the domain name or Ip address of the proxy server where the calling end is linked. Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds This header field indicates the transport used for the transaction and identifies the location (device) where the response is expected. Branch value must be unique across space and time for all request send by the UA. It must start with z9hG4bK Max-Forwards: 70 - Maximum number of hops Copyright © OneAccess Networks - All rights reserved -
31
Description of SIP messages (INVITE 2/2)
To: Bob This header field indicates the logical identity where the request should arrive. It may contain a display name (if <> exists), a SIP URI (username or telephone number). From: Alice This header field indicates the logical identity of the initiator of the request. It may contain a display name (if <> exists), a SIP URI but not an IP address. Call-ID: - Call reference, use for all messages of the session CSeq: INVITE - Sequence number of the session and starting method description (invite) Contact: - This header field value contains the SIP URI at which the UA would like to received request/response. It may contain a display name (if <> exists), a SIP URI or IP address. Notes : 1- Combination of the Branch Id, From & To tags and Call-Id defines a peer-to-peer relationship between both ends (here Alice & Bob). To header field’s tag is into 1st response (message’s coming from Bob) Copyright © OneAccess Networks - All rights reserved -
32
Description of SIP messages (200-OK)
SIP/ OK Via: SIP/2.0/UDP server10.biloxi.com ;branch=z9hG4bKnashds8;received= Via: SIP/2.0/UDP bigbox3.site3.atlanta.com ;branch=z9hG4bK77ef4c ;received= Via: SIP/2.0/UDP pc33.atlanta.com ;branch=z9hG4bK776asdhds ;received= Each proxy server in the path of the session adds their « Via header field » into the request. When response goes back to the originator, each proxy removes its own via header before to forward. To: Bob From: Alice Call-ID: CSeq: INVITE Contact: Content-Type: application/sdp Content-Length: 131 Copyright © OneAccess Networks - All rights reserved -
33
Description of SIP messages, SDP message body
SDP message body describes the capability of the Session.SDP format is described by RFC It may be added into several messages of the session (Invite, OK, ACK) Content-Length: 142 v=0 Version of SDP o=UserA IN IP Owner/creator and session identifier. Username, session Id, version, internet, IPv4, of username. s=Session SDP Session name c=IN IP Connection information. Used to establish path of audio flow (IN #internet) t=0 0 Time the session is active (start & stop times) m=audio RTP/ AVP Media name and a=rtpmap:18 G729/8000 Media attributes a=rtpmap:8 PCMA/8000 Media attributes Copyright © OneAccess Networks - All rights reserved -
34
OneOs supports service transactions
ISDN ETSI complementary services are translated to sip transactions to invoke them over VoIP network (ToIP services). Hold/Retrieve : 2 call legs from one terminal. Re-Invite method to invoke this service ECT (Explicit Call Transfer) or Attended Call Transfer : User A calls and is talking to B, then user B puts A on hold to call user C. If C answers then B may transfer A to C (Refer/Notify from gateway to proxy) Unattended Call transfer : User A calls and is talking to B, then user B decides to transfer A to C without consultation of C (Refer/Notify from gateway to proxy). 3PTY Conference : RTP bridge is at the oneaccess Device. Re-Invite method to invoke this service CFx (Call Forwarding) : Unconditional, Busy, No reply. 302-move temporarily message to proxy server which will send Invite method to new destination. Copyright © OneAccess Networks - All rights reserved -
35
OneOs supports service transactions
ISDN services described in previous slide are also supported for analog FXS interface. Below CLI commands emulate corresponding SIP transaction : Hold/retrieve : analog-user-profile intelligent ECT : analog-ect on <flash-4> 3PTY conference : 3pty-service internal # RTP bridge is at the oneaccess Device. 3pty-service external bridge-number <9999> # RTP bridge is at media server. Based on received Sip messages, oneos supports ToIP services. Unattended Call Transfer # Refer method from Proxy or sip end point (see next slide for corresponding call flow (CLI command is Bye-on-refer) Message Waiting Indication (MWI) # Notify method from Proxy to tell to subscriber that there is a message on his voice mail (requires subscription to the service) Call Forwarding # 302-moved temporarily is interpreted to cancel initial call and place another to the new destination. Hold/retrieve : Re-invite where sdp contains c= (hold). Copyright © OneAccess Networks - All rights reserved -
36
Call Flow about Refer service transactions Unattended Call transfert from one device
SIP Phone B User A SIP Phone C Request: INVITE+sdp Status: 100 TRYING Status: 180 RINGING Status: 200 OK + sdp Request: ACK Request: REFER refer-to Phone C Status: 202 ACCEPT Request: NOTIFY + sdp Status: 200 OK notify Request: BYE Status: 200 OK bye Request: INVITE + sdp Status: 100 TRYING Status: 183 PROCEEDING Status: 180 RINGING Status: 200 OK + sdp Request: ACK Note : Bye-on-refer must be actived at sip-gateway Copyright © OneAccess Networks - All rights reserved -
37
Miscellaneous about SIP
CLIP mapped from the caller name. (Bob ) CLIR mapped to the Privacy field (for ISDN int) Privacy: ID means CLIR = no presentation Privacy: None means CLIP = presentation allowed Overlap dialling : Not part of initial SIP definition Solution found and derived in RFC 3578 Basically, the SIP-ISDN gateway sends INVITE with the concatenated dialled number and other received digits until successful Copyright © OneAccess Networks - All rights reserved -
38
Miscellaneous comments about OneOs (1)
Translation of SIP username to E164 number: This feature is available for incoming call (dial-peer voip) A SIP user (SIP phone) may calls remote user using SIP URI as (called party) instead of its E164 number Voice-routing entry: sip-username converted to the prefix value of this entry before to be sent to ISDN stack and populates the IE 70. Copyright © OneAccess Networks - All rights reserved -
39
Miscellaneous comments about OneOs
OneOs Rules to build the Request URI about Invite method: 1st: Utilisation of prox-dns-add value in the sip-gateway 2nd: If 1st doesn’t exist, utilisation of gw-ip-address value of the dial-peer voice voip x of the corresponding voice route entry. OneOs Rules to build the To header field for Invite method: 1st: utilisation of gw-ip-address value of the dial-peer voice voip x of the corresponding voice route entry. 2nd: If 1st doesn’t exist, utilisation of prox-dns-add value in the sip-gateway Copyright © OneAccess Networks - All rights reserved -
40
SIP Gateway Statistics
SIP Statistics SIP Gateway Statistics Sip-Gateway statistics : Gateway state up Registration state registered Registrar server :5060 Bandwidth used/unused / bps Max Bandwidth exceeded Registration errors Registered endpoints Current call Authentication Rejects CLI# show voice sip-gateway Copyright © OneAccess Networks - All rights reserved -
41
SIP Gateway Statistics
SIP Statistics SIP Gateway Statistics phone 1 : State : registered Number : SIP-id : Registration timeout : 105s/120s phone 2 : Number : Registration timeout : 18s/120s CLI# show voice sip-gateway endpoints Copyright © OneAccess Networks - All rights reserved -
42
Events SIP Statistics CLI# event filter add vox voip all show
00:04: Info vox voip controlplan 3 FXS port 5/4 event: off-hook, pots: 2. 00:04: Info vox voip controlplan 3 FXS port 5/4 event: on-hook, pots: 2. Copyright © OneAccess Networks - All rights reserved -
43
SIP Statistics Debug CLI#debug sip [registrar | signalling | all] - default: all level [1..3] - default: 1 <cr> CLI#debug sip registrar level 3 07:07: UAC [ :5060] -> UAS [ :5060] REGISTER (UDP) REGISTER sip: :5060;user=ip SIP/2.0 Call-ID: Contact: CSeq: 124 REGISTER Expires: 1800 From: Max-Forwards: 70 Privacy: none Supported: path To: Via: SIP/2.0/UDP :5060;branch=z9hG4bK-2D40-70 Content-Length: 0 CLI#debug sip registrar (about direction, method & call-id) CLI#debug sip sig l 2 (about direction, method, call-id & sdp) CLI#debug sip signalling level 3 (all details) Copyright © OneAccess Networks - All rights reserved -
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.