Next Generation Networks: Lectures 6, 7, 8 Session Initiation Protocol (SIP)
Next Generation Networks: Lectures 6, 7, 8 Session Initiation Protocol (SIP)
Lectures 6, 7, 8
Session Initiation Protocol (SIP)
Session Initiation Protocol (SIP)
• An application layer signaling protocol that
defines:
– Initiation
– Modification and
– Termination
of interactive, multimedia communication sessions
between users.
Session Initiation Protocol (SIP) (cont.)
• The architecture of SIP is similar to that of HTTP (client-server
protocol).
• The server processes the requests and then sends a response to the
client.
1. User Agents:
– A user agent is an end system acting on behalf of a user.
– An endpoint can initiate, modify, or terminate a session.
– It could be a softphone, a mobile, or a laptop.
2. Network Servers:
There are 3 types of servers within a network.
• A proxy server
• A redirect server
User Agents
User Agent Client (UAC)
• End systems
• Send SIP request
• An entity that initiates a call
• The proxy server sends a 100 Trying response immediately to the caller
(Alice) to stop the re-transmissions of the INVITE request.
• The proxy server searches the address of Bob in the location server. After
getting the address, it forwards the INVITE request further.
• A 200 OK response is generated soon after Bob picks the phone up.
• Bob receives an ACK from the Alice, once it gets 200 OK.
Basic Call Flow (cont.)
• At the same time, the session gets established and RTP packets
(conversations) start flowing from both ends.
• BYE reaches directly from Alice to Bob bypassing the proxy server.
• Finally, Bob sends a 200 OK response to confirm the BYE and the
session is terminated.
INVITE
• INVITE is used to initiate a session with a user agent.
• This is a SIP request that can be sent by either the caller or the
callee to end a session.
• BYE request normally routes end to end, bypassing the proxy server.
CANCEL
• CANCEL is used to terminate a session which is not
established. User agents use this request to cancel a
pending call attempt initiated earlier.
OPTIONS
• OPTIONS method is used to query a user agent or a proxy server about its
capabilities and discover its current availability.
• The response to a request lists the capabilities of the user agent or server.
INFO
• Used to carry DTMF (Dual tone multi-frequency) signaling
Messages – Response Codes
• A SIP response is a message generated by UAS or SIP server
to reply a request generated by a client.
– It could be a formal ack to prevent retransmission of requests by
a UAC.
• How it is done?
– With these 4 SIP entities
• Registrar services
• Location services
• SIP Registry (DB)
• Proxy Server
Need 2: UAs discover each other’s IP
addresses (cont.)
• As the other user B logs in, his UA sends its IP
address (sip:192.168.1.3:5060)
– along with his Public Dial Address (Address-of-record),
sip:1003@work.com to the Registrar server which
stores them in the SIP registry (DB).
• The feature server after using its logic and checking the callee’s
profile, modifies the destination address inside the INVITE message,
and routes the call to the cellphone through the Proxy server.
Need 4: Calls between users on
different domains
• So far, caller and callee belong to same domain,
i.e. sip:caller@office.com and
sip:callee@office.com
– Both registered with same registrar
– Both IP addresses stored in the same registry
– Both use same location server
– Feature routing applied by the same proxy server
• How?
– The same way all IP devices locate another
domain with a lookup into the Internet standard
Domain Name System (DNS).
Need 4: Calls between users on
different domains (cont.)
• After a quick DNS lookup,
– The INVITE is proxied to the elsewhere.com
domain’s Proxy server,
– where just like before its SIP location server
retrieves the IP address from the Registry,
– and Proxies the INVITE onto the phone.
Need 5: Provide forwarding
information/addresses
• Now there might be times when the callee has
perhaps moved to another domain and the call
arrives for that moved user.
• How?
– Signaling Gateway
– Media Gateway
Need 6: Communication with non-SIP
users (cont.)
• Signaling Gateway
– Signaling protocol translator
– SIP & SS7
• Takes SIP INVITE message on one side and constructs
equivalent SS7 IAM message on the other side
• When SS7 ACM/AMN message comes back, it translates
them back into equivalent SIP responses before sending
them through the SIP network
Need 6: Communication with non-SIP
users (cont.)
• Media Gateway
– Different networks use different codes to encode
their media?
– Incompatible?
– It transcodes media