SlideShare a Scribd company logo
1 of 12
What is Session Initiation Protocol?
SIP (Session Initiation Protocol) is a signalling protocol used to
1-create
2-manage
3- terminate sessions in an IP based network.
A session could be a
1- One to one
2- One to many
3- Many to many conference session.
SIP is an application layer protocol defined by IETF (Internet Engineering Task Force)
standard. It is defined in RFC 3261.
1
Functions of SIP• SIP allows for the establishment of user location (i.e.
translating from a user's name to their current
network address).
• SIP provides for feature negotiation so that all of the
participants in a session can agree on the features to
be supported among them.
• SIP is a mechanism for call management - for example
adding, dropping, or transferring participants.
• SIP allows for changing features of a session while it is
in progress.
2
Network Elements of SIP
3
• User Agent
• Proxy Server
• Registrar Server
• Redirect Server
• Location Server
User Agent
4
 It is the endpoint and one of the most important network
elements of a SIP network. An endpoint can initiate, modify, or
terminate a session. User agents are the most intelligent device
or network element of a SIP network. It could be a softphone, a
mobile, or a laptop.
 User agents are logically divided into two parts:
 User Agent Client (UAC) - The entity that sends a request and
receives a response.
 User Agent Server (UAS) - The entity that receives a request and
sends a response.
 SIP is based on client-server architecture where the caller’s
phone acts as a client which initiates a call and the callee’s
phone acts as a server which responds the call.
Proxy Server
5
 It is the network element that takes a request from a user agent and
forwards it to another user.
 A proxy server sits in between two user agents.
 There can be a maximum of 70 proxy servers in between a source
and a destination.
 There are two types of proxy servers:
 Stateless Proxy Server - It simply forwards the message received.
This type of server does not store any information of a call or a
transaction.
 Stateful Proxy Server - This type of proxy server keeps track of every
request and response received and can use it in future if required. It
can retransmit the request, if there is no response from the other
side in time.
Registrar Server
6
The registrar server accepts registration requests from user agents. It
helps users to authenticate themselves within the network. It stores the
URI and the location of users in a database to help other SIP servers
within the same domain.
Redirect Server
• The redirect server receives requests and looks up the intended
recipient of the request in the location database created by the
registrar.
• The redirect server uses the database for getting location information
and responds with 3xx (Redirect response) to the user.
7
Location Server• The location server provides information about a caller's
possible locations to the redirect and proxy servers.
• Only a proxy server or a redirect server can contact a
location server.
• The following figure depicts the roles played by each of the
network elements in establishing a session.
8
SIP Call Flow• An INVITE request that is sent to a proxy server is responsible for initiating a session.
• 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.
• Thereafter, 180 Ringing (Provisional responses) generated by Bob is returned back to Alice.
• 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.
• At the same time, the session gets established and RTP packets (conversations) start flowing from
both ends.
• After the conversation, any participant (Alice or Bob) can send a BYE request to terminate the
session.
• 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.
• In the below basic call flow, three transactions are (marked as 1, 2, 3) available.
• The complete call (from INVITE to 200 OK) is known as a Dialog
9
SIP Call Flow (Cont’d)
10
SIP- Messaging
11
Core Extension Class Code
Invite Subscribe 1xx Informational
Bye Notify 2xx Success
Register Publish 3xx Redirection
Cancel Refer 4xx Client Error
ACK Info 5xx Server Failure
Option Update 6xx Global Failure
Prack
Message
SIP Messaging
RespondRequest
12

More Related Content

What's hot

SIP (Session Initiation Protocol)
SIP (Session Initiation Protocol)SIP (Session Initiation Protocol)
SIP (Session Initiation Protocol)KHNOG
 
Session Initiation Protocol - In depth analysis
Session Initiation Protocol - In depth analysisSession Initiation Protocol - In depth analysis
Session Initiation Protocol - In depth analysischinmaypadhye1985
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation ProtocolMatt Bynum
 
Session initiation protocol SIP
Session initiation protocol SIPSession initiation protocol SIP
Session initiation protocol SIPLaraib Khan
 
SIP (Session Initiation Protocol) - Study Notes
SIP (Session Initiation Protocol) - Study NotesSIP (Session Initiation Protocol) - Study Notes
SIP (Session Initiation Protocol) - Study NotesOxfordCambridge
 
SIP - Introduction to SIP Protocol
SIP - Introduction to SIP ProtocolSIP - Introduction to SIP Protocol
SIP - Introduction to SIP ProtocolLivePerson
 
Introduction to VoIP using SIP
Introduction to VoIP using SIPIntroduction to VoIP using SIP
Introduction to VoIP using SIPKundan Singh
 
Tlc 004 - take a sip of sip
Tlc 004 - take a sip of sipTlc 004 - take a sip of sip
Tlc 004 - take a sip of sipAnna Volynkina
 
Sip & its application
Sip & its applicationSip & its application
Sip & its applicationPoulami Pal
 
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...ALTANAI BISHT
 
6293213 sip-presentation
6293213 sip-presentation6293213 sip-presentation
6293213 sip-presentationJoe Trial
 
Sip call flows all cases ccmigration
Sip call flows all cases ccmigrationSip call flows all cases ccmigration
Sip call flows all cases ccmigrationcoolrahul28
 
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...Vikas Shokeen
 
S13. sip trunk to trunk 2015 1002
S13. sip trunk to trunk 2015 1002S13. sip trunk to trunk 2015 1002
S13. sip trunk to trunk 2015 1002Nam Nguyen
 

What's hot (20)

SIP (Session Initiation Protocol)
SIP (Session Initiation Protocol)SIP (Session Initiation Protocol)
SIP (Session Initiation Protocol)
 
Session Initiation Protocol - In depth analysis
Session Initiation Protocol - In depth analysisSession Initiation Protocol - In depth analysis
Session Initiation Protocol - In depth analysis
 
SIP security in IP telephony
SIP security in IP telephonySIP security in IP telephony
SIP security in IP telephony
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation Protocol
 
Session initiation protocol SIP
Session initiation protocol SIPSession initiation protocol SIP
Session initiation protocol SIP
 
SIP (Session Initiation Protocol) - Study Notes
SIP (Session Initiation Protocol) - Study NotesSIP (Session Initiation Protocol) - Study Notes
SIP (Session Initiation Protocol) - Study Notes
 
SIP - Introduction to SIP Protocol
SIP - Introduction to SIP ProtocolSIP - Introduction to SIP Protocol
SIP - Introduction to SIP Protocol
 
Sip crash course
Sip crash courseSip crash course
Sip crash course
 
Introduction To SIP
Introduction  To  SIPIntroduction  To  SIP
Introduction To SIP
 
Introduction to VoIP using SIP
Introduction to VoIP using SIPIntroduction to VoIP using SIP
Introduction to VoIP using SIP
 
Tlc 004 - take a sip of sip
Tlc 004 - take a sip of sipTlc 004 - take a sip of sip
Tlc 004 - take a sip of sip
 
Sip & its application
Sip & its applicationSip & its application
Sip & its application
 
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
 
6293213 sip-presentation
6293213 sip-presentation6293213 sip-presentation
6293213 sip-presentation
 
Sip call flows all cases ccmigration
Sip call flows all cases ccmigrationSip call flows all cases ccmigration
Sip call flows all cases ccmigration
 
IMS Signaling Details
IMS Signaling DetailsIMS Signaling Details
IMS Signaling Details
 
SIP for geeks
SIP for geeksSIP for geeks
SIP for geeks
 
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
 
Aboutsip - SIP Routing
Aboutsip - SIP RoutingAboutsip - SIP Routing
Aboutsip - SIP Routing
 
S13. sip trunk to trunk 2015 1002
S13. sip trunk to trunk 2015 1002S13. sip trunk to trunk 2015 1002
S13. sip trunk to trunk 2015 1002
 

Similar to What is session initiation protocol

Review of SIP based DoS attacks
Review of SIP based DoS attacksReview of SIP based DoS attacks
Review of SIP based DoS attacksEditor IJCATR
 
CCIE Collaboration Lecture Chapter 4.4 voice gateway cucm sip overview
CCIE Collaboration Lecture Chapter 4.4 voice gateway   cucm sip overviewCCIE Collaboration Lecture Chapter 4.4 voice gateway   cucm sip overview
CCIE Collaboration Lecture Chapter 4.4 voice gateway cucm sip overviewFaisal Khan
 
Reliance jio 4G & Volte
Reliance jio 4G & VolteReliance jio 4G & Volte
Reliance jio 4G & VolteMarlabs
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip OverviewMayank Vora
 
1 Vo I P Overview
1  Vo I P  Overview1  Vo I P  Overview
1 Vo I P OverviewMayank Vora
 
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIPAN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIPSean Flores
 
1 VoIP Overview[1]
1 VoIP Overview[1]1 VoIP Overview[1]
1 VoIP Overview[1]William Giba
 
Session initiation-protocol
Session initiation-protocolSession initiation-protocol
Session initiation-protocolSanthosh Somu
 
Instantmessagingprotocols
InstantmessagingprotocolsInstantmessagingprotocols
Instantmessagingprotocolssanjoysanyal
 
Apple Facetime Protocol
Apple Facetime ProtocolApple Facetime Protocol
Apple Facetime Protocolkshitijmehta23
 
Proxy servers
Proxy serversProxy servers
Proxy serversKumar
 
Sip server technicaloverviewwhitepaper
Sip server technicaloverviewwhitepaperSip server technicaloverviewwhitepaper
Sip server technicaloverviewwhitepapersirajsamad
 
Aspect UIP Logical Architecture
Aspect UIP Logical ArchitectureAspect UIP Logical Architecture
Aspect UIP Logical ArchitectureVishad Garg
 
Presentation 1
Presentation 1Presentation 1
Presentation 1aisadhsa
 
Implementing Automatic Callback Using Session Initiation Protocol
Implementing Automatic Callback Using Session Initiation ProtocolImplementing Automatic Callback Using Session Initiation Protocol
Implementing Automatic Callback Using Session Initiation ProtocolIOSR Journals
 

Similar to What is session initiation protocol (20)

Sip
SipSip
Sip
 
Sip Protocol
Sip ProtocolSip Protocol
Sip Protocol
 
Review of SIP based DoS attacks
Review of SIP based DoS attacksReview of SIP based DoS attacks
Review of SIP based DoS attacks
 
CCIE Collaboration Lecture Chapter 4.4 voice gateway cucm sip overview
CCIE Collaboration Lecture Chapter 4.4 voice gateway   cucm sip overviewCCIE Collaboration Lecture Chapter 4.4 voice gateway   cucm sip overview
CCIE Collaboration Lecture Chapter 4.4 voice gateway cucm sip overview
 
Sip Paper
Sip PaperSip Paper
Sip Paper
 
Reliance jio 4G & Volte
Reliance jio 4G & VolteReliance jio 4G & Volte
Reliance jio 4G & Volte
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip Overview
 
1 Vo I P Overview
1  Vo I P  Overview1  Vo I P  Overview
1 Vo I P Overview
 
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIPAN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
 
Session intiation protocol tk
Session intiation protocol tkSession intiation protocol tk
Session intiation protocol tk
 
1 VoIP Overview[1]
1 VoIP Overview[1]1 VoIP Overview[1]
1 VoIP Overview[1]
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip Overview
 
Session initiation-protocol
Session initiation-protocolSession initiation-protocol
Session initiation-protocol
 
Instantmessagingprotocols
InstantmessagingprotocolsInstantmessagingprotocols
Instantmessagingprotocols
 
Apple Facetime Protocol
Apple Facetime ProtocolApple Facetime Protocol
Apple Facetime Protocol
 
Proxy servers
Proxy serversProxy servers
Proxy servers
 
Sip server technicaloverviewwhitepaper
Sip server technicaloverviewwhitepaperSip server technicaloverviewwhitepaper
Sip server technicaloverviewwhitepaper
 
Aspect UIP Logical Architecture
Aspect UIP Logical ArchitectureAspect UIP Logical Architecture
Aspect UIP Logical Architecture
 
Presentation 1
Presentation 1Presentation 1
Presentation 1
 
Implementing Automatic Callback Using Session Initiation Protocol
Implementing Automatic Callback Using Session Initiation ProtocolImplementing Automatic Callback Using Session Initiation Protocol
Implementing Automatic Callback Using Session Initiation Protocol
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

What is session initiation protocol

  • 1. What is Session Initiation Protocol? SIP (Session Initiation Protocol) is a signalling protocol used to 1-create 2-manage 3- terminate sessions in an IP based network. A session could be a 1- One to one 2- One to many 3- Many to many conference session. SIP is an application layer protocol defined by IETF (Internet Engineering Task Force) standard. It is defined in RFC 3261. 1
  • 2. Functions of SIP• SIP allows for the establishment of user location (i.e. translating from a user's name to their current network address). • SIP provides for feature negotiation so that all of the participants in a session can agree on the features to be supported among them. • SIP is a mechanism for call management - for example adding, dropping, or transferring participants. • SIP allows for changing features of a session while it is in progress. 2
  • 3. Network Elements of SIP 3 • User Agent • Proxy Server • Registrar Server • Redirect Server • Location Server
  • 4. User Agent 4  It is the endpoint and one of the most important network elements of a SIP network. An endpoint can initiate, modify, or terminate a session. User agents are the most intelligent device or network element of a SIP network. It could be a softphone, a mobile, or a laptop.  User agents are logically divided into two parts:  User Agent Client (UAC) - The entity that sends a request and receives a response.  User Agent Server (UAS) - The entity that receives a request and sends a response.  SIP is based on client-server architecture where the caller’s phone acts as a client which initiates a call and the callee’s phone acts as a server which responds the call.
  • 5. Proxy Server 5  It is the network element that takes a request from a user agent and forwards it to another user.  A proxy server sits in between two user agents.  There can be a maximum of 70 proxy servers in between a source and a destination.  There are two types of proxy servers:  Stateless Proxy Server - It simply forwards the message received. This type of server does not store any information of a call or a transaction.  Stateful Proxy Server - This type of proxy server keeps track of every request and response received and can use it in future if required. It can retransmit the request, if there is no response from the other side in time.
  • 6. Registrar Server 6 The registrar server accepts registration requests from user agents. It helps users to authenticate themselves within the network. It stores the URI and the location of users in a database to help other SIP servers within the same domain.
  • 7. Redirect Server • The redirect server receives requests and looks up the intended recipient of the request in the location database created by the registrar. • The redirect server uses the database for getting location information and responds with 3xx (Redirect response) to the user. 7
  • 8. Location Server• The location server provides information about a caller's possible locations to the redirect and proxy servers. • Only a proxy server or a redirect server can contact a location server. • The following figure depicts the roles played by each of the network elements in establishing a session. 8
  • 9. SIP Call Flow• An INVITE request that is sent to a proxy server is responsible for initiating a session. • 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. • Thereafter, 180 Ringing (Provisional responses) generated by Bob is returned back to Alice. • 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. • At the same time, the session gets established and RTP packets (conversations) start flowing from both ends. • After the conversation, any participant (Alice or Bob) can send a BYE request to terminate the session. • 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. • In the below basic call flow, three transactions are (marked as 1, 2, 3) available. • The complete call (from INVITE to 200 OK) is known as a Dialog 9
  • 10. SIP Call Flow (Cont’d) 10
  • 11. SIP- Messaging 11 Core Extension Class Code Invite Subscribe 1xx Informational Bye Notify 2xx Success Register Publish 3xx Redirection Cancel Refer 4xx Client Error ACK Info 5xx Server Failure Option Update 6xx Global Failure Prack Message SIP Messaging RespondRequest
  • 12. 12