SlideShare a Scribd company logo
1 of 26
Understanding and Compliance of IETF RFC
3262 Reliability of Provisional Responses in
Session Initiation Protocol (SIP)
Presented by: Nikhil Sharma ME CSE 1st Yr (19 311) &
Vikesh Dholpuria ME CSE 1st Yr (19 320)
Internet standards track protocol for the
Internet community, and
requests discussion and
suggestions for improvements.
What is RFC ? ( Request for comment)
Abstract
RFC 3262 obsoletes
RFC 2543.
Authors of RFC 3262:
J. Rosenberg R, H. Schulzrinne
Extension to the
Session Initiation Protocol (SIP) ( RFC 3261)
providing reliable provisional response messages.
This extension uses the option tag 100rel and
defines the
Provisional Response Acknowledgement (PRACK) method.
INTRODUCTION
SIP
So, this is all defined in SIP 3261.
We are here to work upon how to achieve the
reliability of provisional response.
{ RFC 3262 }
Why ?
Reliability was important in several cases,
including interoperability scenarios with PSTN.
Optional capability was needed to support
reliable transmission.
Provisional { not sent reliably} Not OK
Final { Sent reliably } OK
R
E
S
P
O
N
S
E
INTRODUCTION
SIP
How to achieve ?
Similar to reliability mechanism for 2xx (Final
responses) to invite.
Request transmitted periodically by the
transaction User ( TU). Until a separate
transaction, ACK is received that indicates
reception of the 2xx by the UAC. ( User Agent
client )
1. Reliable provisional responses are
retransmitted by the TU with an exponential
back-off. Those retransmissions cease when
PRACK (provisional ACK) message is
received.
Provisional { not sent reliably} Not OK
Final { Sent reliably } OK
R
E
S
P
O
N
S
E
PRACK { Provisional Response Acknowledgement }
PRACK is a normal SIP message, like BYE.
As such,
its own reliability is ensured hop-by-hop
through each stateful proxy.
Also like BYE, but unlike ACK, PRACK has its own response.
PRACK { Provisional Response Acknowledgement }
Each provisional response is given a sequence number,
carried in the RSeq header field in the response.
The PRACK messages contain an RAck header field,
which indicates the sequence number of the provisional response that is being acknowledged
The acknowledgments are not cumulative,
and the specifications recommend a single outstanding provisional response at a time,
for purposes of congestion control.
.
UAS Behavior ( User Agent Server )
UAS: The entity that receives a request and sends a response.
A UAS MAY send any non-100 provisional response to INVITE reliably,
so long as the
initial INVITE request (the request whose provisional response is being sent reliably)
contained a Supported header field with the option tag 100rel.
.
UAS Behavior ( User Agent Server )
UAS MUST send any non-100 provisional response reliably
if the initial request contained a Require header field with the option tag 100rel.
If the UAS is unwilling to do so, it MUST reject the initial request with a 420 (Bad Extension)
and
include an Unsupported header field containing the option tag 100rel.
UAS Behavior ( User Agent Server )
A UAS MUST NOT attempt to send a 100 (Trying) response reliably.
Only provisional responses numbered 101 to 199 may be sent reliably.
If the request did not include either a Supported
or
Require header field indicating this feature,
the UAS MUST NOT send the provisional response reliably.
! 100 (trying) responses are hop by hop only.
Hence , this reliability mechanism , which is end to end, cannotbe used.
UAS Behavior ( User Agent Server )
There are several reasons why a UAS might want to send a reliable provisional response.
One reason is if the INVITE transaction will take some time to generate a final response.
UAS Behavior ( User Agent Server )
The provisional response to be sent reliably is constructed by the UAS core according to the
procedures of Section 8.2.6 of RFC 3261.
In addition, it MUST contain a Require header field containing the option tag 100rel,
and
MUST include an RSeq header field.
The value of the header field for the first reliable provisional response in a transaction MUST
be between 1 and 2^31 - 1.
It is RECOMMENDED that it be chosen uniformly in this range. The RSeq numbering space
is within a single transaction.
This means that provisional responses for different requests MAY use the same values for the
RSeq number.
UAS Behavior ( User Agent Server )
The provisional response to be sent reliably is constructed by the UAS core according to the
procedures of Section 8.2.6 of RFC 3261.
In addition, it MUST contain a Require header field containing the option tag 100rel,
and
MUST include an RSeq header field.
The value of the header field for the first reliable provisional response in a transaction MUST
be between 1 and 2^31 - 1.
It is RECOMMENDED that it be chosen uniformly in this range. The RSeq numbering space
is within a single transaction.
This means that provisional responses for different requests MAY use the same values for the
RSeq number.
UAS Behavior ( User Agent Server )
Retransmissions of the reliable provisional response
cease when a matching PRACK is received by the UA core.
PRACK is like any other request within a dialog,
and
the UAS core processes it according to the procedures of Sections 8.2 and 12.2.2 of RFC 3261.
A matching PRACK is defined as one within the same dialog as the response,
and whose method, CSeq-num,
and
response-num in the RAck header field match, respectively,
the method from the CSeq, the sequence number from the CSeq,
And
the sequence number from the RSeq of the reliable provisional response.
UAC Behavior ( User Agent Client )
UAC creates a new request,
it can insist on reliable delivery of provisional responses for that request.
To do that, it inserts a Require header field with the option tag 100rel into the request.
UAC Behavior ( User Agent Client )
A--F
UAC Behavior ( User Agent Client )
I -- Z
UAC Behavior ( User Agent Client )
If the UAC does not wish to insist on usage of reliable provisional responses,
but merely indicate that it supports them if the UAS needs to send one,
a Supported header MUST be included in the request with the option tag 100rel.
The UAC SHOULD include this in all INVITE requests.
The UAC MUST create a new request with method PRACK.
This request is sent within the dialog associated with the provisional response
(indeed, the provisional response may have created the dialog).
PRACK requests MAY contain bodies,
which are interpreted according to their type and disposition.
UAC Behavior ( User Agent Client )
If the UAC does not wish to insist on usage of reliable provisional responses,
but merely indicate that it supports them if the UAS needs to send one,
a Supported header MUST be included in the request with the option tag 100rel.
The UAC SHOULD include this in all INVITE requests.
The UAC MUST create a new request with method PRACK.
This request is sent within the dialog associated with the provisional response
(indeed, the provisional response may have created the dialog).
PRACK requests MAY contain bodies,
which are interpreted according to their type and disposition.
The Offer/Answer Model and PRACK
If the INVITE contained an offer,
the UAS MAY generate an answer in a reliable provisional response (assuming these are
supported by the UAC).
That results in the establishment of the session before completion of the call.
Similarly,
if a reliable provisional response is the first reliable message sent back to the UAC,
and the INVITE did not contain an offer, one MUST appear in that reliable provisional response
Definition of the PRACK Method
This specification defines a new SIP method, PRACK.
The semantics of this method are described above.
Tables 1 and 2 extend Tables 2 and 3 from RFC 3261 for this new method.
Header Field Definition
This specification defines two new header fields,
RAck and RSeq. Table 3 extends Tables 2 and 3 from RFC 3261 for these headers.
Header Field Definition
The RAck header is sent in a PRACK request to support reliability of provisional responses.
It contains two numbers and a method tag.
The first number is the value from the RSeq header in the provisional response that is being
acknowledged.
The next number, and the method, are copied from the CSeq in the response that is being
acknowledged.
The method name in the RAck header is case sensitive.
Header Field Definition
The RAck header is sent in a PRACK request to support reliability of provisional responses.
It contains two numbers and a method tag.
The first number is the value from the RSeq header in the provisional response that is being
acknowledged.
The next number, and the method, are copied from the CSeq in the response that is being
acknowledged.
The method name in the RAck header is case sensitive.
Security Consideration
The PRACK request can be injected by attackers to
force retransmissions of reliable provisional responses to cease.
As these responses can convey important information,
PRACK messages SHOULD be authenticated as any other request.
Authentication procedures are specified in RFC 3261.
Reference
.
1. Reliability of Provisional Response in the Session initiation protocol (SIP) RFC 3262
https://tools.ietf.org/html/rfc3262
2. Tutorials Point
https://www.tutorialspoint.com/index.htm

More Related Content

What's hot

Lte attach-messaging
Lte attach-messagingLte attach-messaging
Lte attach-messaging
Praveen Kumar
 
Lte ue initial attach & detach from networkx
Lte ue initial attach & detach from networkxLte ue initial attach & detach from networkx
Lte ue initial attach & detach from networkx
tharinduwije
 

What's hot (20)

DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking Walkthrough
 
GTP Overview
GTP OverviewGTP Overview
GTP Overview
 
SIP: Call Id, Cseq, Via-branch, From & To-tag role play
SIP: Call Id, Cseq, Via-branch, From & To-tag role playSIP: Call Id, Cseq, Via-branch, From & To-tag role play
SIP: Call Id, Cseq, Via-branch, From & To-tag role play
 
Zxc10 bscb product description
Zxc10 bscb product descriptionZxc10 bscb product description
Zxc10 bscb product description
 
Firewall Best Practices for VoIP on pfSense - pfSense Hangout October 2017
Firewall Best Practices for VoIP on pfSense - pfSense Hangout October 2017Firewall Best Practices for VoIP on pfSense - pfSense Hangout October 2017
Firewall Best Practices for VoIP on pfSense - pfSense Hangout October 2017
 
Layer 1 Encryption in WDM Transport Systems
Layer 1 Encryption in WDM Transport SystemsLayer 1 Encryption in WDM Transport Systems
Layer 1 Encryption in WDM Transport Systems
 
OFI Overview 2019 Webinar
OFI Overview 2019 WebinarOFI Overview 2019 Webinar
OFI Overview 2019 Webinar
 
OFI libfabric Tutorial
OFI libfabric TutorialOFI libfabric Tutorial
OFI libfabric Tutorial
 
Lte attach-messaging
Lte attach-messagingLte attach-messaging
Lte attach-messaging
 
What LTE Parameters need to be Dimensioned and Optimized
What LTE Parameters need to be Dimensioned and OptimizedWhat LTE Parameters need to be Dimensioned and Optimized
What LTE Parameters need to be Dimensioned and Optimized
 
5G Call flow.pdf
5G Call flow.pdf5G Call flow.pdf
5G Call flow.pdf
 
Lte1841
Lte1841Lte1841
Lte1841
 
Ch 02 --- sdn and openflow architecture
Ch 02 --- sdn and openflow architectureCh 02 --- sdn and openflow architecture
Ch 02 --- sdn and openflow architecture
 
Kill Your IVR with a Voicebot (ClueCon 2019)
Kill Your IVR with a Voicebot (ClueCon 2019)Kill Your IVR with a Voicebot (ClueCon 2019)
Kill Your IVR with a Voicebot (ClueCon 2019)
 
Dynamic ARP Inspection (DAI)
Dynamic ARP Inspection (DAI)Dynamic ARP Inspection (DAI)
Dynamic ARP Inspection (DAI)
 
Avaya call routing_flowchart
Avaya call routing_flowchartAvaya call routing_flowchart
Avaya call routing_flowchart
 
5g introduction_NR
5g introduction_NR5g introduction_NR
5g introduction_NR
 
Lte rach configuration and capacity
Lte rach configuration and capacityLte rach configuration and capacity
Lte rach configuration and capacity
 
Lte mac presentation
Lte mac presentationLte mac presentation
Lte mac presentation
 
Lte ue initial attach & detach from networkx
Lte ue initial attach & detach from networkxLte ue initial attach & detach from networkx
Lte ue initial attach & detach from networkx
 

Similar to Understanding and compliance of ietf rfc 3262 reliability

Wireshark Lab 802.11 v7.0 Supplement to Computer Network.docx
Wireshark Lab 802.11 v7.0  Supplement to Computer Network.docxWireshark Lab 802.11 v7.0  Supplement to Computer Network.docx
Wireshark Lab 802.11 v7.0 Supplement to Computer Network.docx
ambersalomon88660
 
Distributes objects and Rmi
Distributes objects and RmiDistributes objects and Rmi
Distributes objects and Rmi
Mayank Jain
 

Similar to Understanding and compliance of ietf rfc 3262 reliability (20)

Session Initiation Protocol (SIP)– Via Header Detailed Coverage
Session Initiation Protocol (SIP)– Via Header Detailed Coverage Session Initiation Protocol (SIP)– Via Header Detailed Coverage
Session Initiation Protocol (SIP)– Via Header Detailed Coverage
 
Async servers and clients in Rest.li
Async servers and clients in Rest.liAsync servers and clients in Rest.li
Async servers and clients in Rest.li
 
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 rm work item propo...
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 rm work item propo...Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 rm work item propo...
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 rm work item propo...
 
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 rm
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 rmEmerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 rm
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 rm
 
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 clean
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 cleanEmerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 clean
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160548 clean
 
Reactive Java: Promises and Streams with Reakt (JavaOne talk 2016)
Reactive Java: Promises and Streams with Reakt  (JavaOne talk 2016)Reactive Java: Promises and Streams with Reakt  (JavaOne talk 2016)
Reactive Java: Promises and Streams with Reakt (JavaOne talk 2016)
 
Reactive Java: Promises and Streams with Reakt (JavaOne Talk 2016)
Reactive Java:  Promises and Streams with Reakt (JavaOne Talk 2016)Reactive Java:  Promises and Streams with Reakt (JavaOne Talk 2016)
Reactive Java: Promises and Streams with Reakt (JavaOne Talk 2016)
 
Rach procedure in lte
Rach procedure in lteRach procedure in lte
Rach procedure in lte
 
Soap over-udp
Soap over-udpSoap over-udp
Soap over-udp
 
Networked APIs with swift
Networked APIs with swiftNetworked APIs with swift
Networked APIs with swift
 
802.11r enhanced
802.11r enhanced802.11r enhanced
802.11r enhanced
 
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160600 e lwa-wid-v21-clean
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160600 e lwa-wid-v21-cleanEmerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160600 e lwa-wid-v21-clean
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160600 e lwa-wid-v21-clean
 
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160600 e lwa-wid-v21-rm
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160600 e lwa-wid-v21-rmEmerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160600 e lwa-wid-v21-rm
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160600 e lwa-wid-v21-rm
 
Wireshark Lab 802.11 v7.0 Supplement to Computer Network.docx
Wireshark Lab 802.11 v7.0  Supplement to Computer Network.docxWireshark Lab 802.11 v7.0  Supplement to Computer Network.docx
Wireshark Lab 802.11 v7.0 Supplement to Computer Network.docx
 
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160680 must wid clean
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160680 must wid cleanEmerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160680 must wid clean
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160680 must wid clean
 
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160676 new wi srs carrier...
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160676 new wi srs carrier...Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160676 new wi srs carrier...
Emerson Eduardo Rodrigues - ENGINEERING STUDIES1 Rp 160676 new wi srs carrier...
 
SAP consulting results
SAP consulting resultsSAP consulting results
SAP consulting results
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
 
Rpc
RpcRpc
Rpc
 
Distributes objects and Rmi
Distributes objects and RmiDistributes objects and Rmi
Distributes objects and Rmi
 

Recently uploaded

"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
Health
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 

Recently uploaded (20)

kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Air Compressor reciprocating single stage
Air Compressor reciprocating single stageAir Compressor reciprocating single stage
Air Compressor reciprocating single stage
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 

Understanding and compliance of ietf rfc 3262 reliability

  • 1. Understanding and Compliance of IETF RFC 3262 Reliability of Provisional Responses in Session Initiation Protocol (SIP) Presented by: Nikhil Sharma ME CSE 1st Yr (19 311) & Vikesh Dholpuria ME CSE 1st Yr (19 320)
  • 2. Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. What is RFC ? ( Request for comment)
  • 3. Abstract RFC 3262 obsoletes RFC 2543. Authors of RFC 3262: J. Rosenberg R, H. Schulzrinne Extension to the Session Initiation Protocol (SIP) ( RFC 3261) providing reliable provisional response messages. This extension uses the option tag 100rel and defines the Provisional Response Acknowledgement (PRACK) method.
  • 4. INTRODUCTION SIP So, this is all defined in SIP 3261. We are here to work upon how to achieve the reliability of provisional response. { RFC 3262 } Why ? Reliability was important in several cases, including interoperability scenarios with PSTN. Optional capability was needed to support reliable transmission. Provisional { not sent reliably} Not OK Final { Sent reliably } OK R E S P O N S E
  • 5. INTRODUCTION SIP How to achieve ? Similar to reliability mechanism for 2xx (Final responses) to invite. Request transmitted periodically by the transaction User ( TU). Until a separate transaction, ACK is received that indicates reception of the 2xx by the UAC. ( User Agent client ) 1. Reliable provisional responses are retransmitted by the TU with an exponential back-off. Those retransmissions cease when PRACK (provisional ACK) message is received. Provisional { not sent reliably} Not OK Final { Sent reliably } OK R E S P O N S E
  • 6. PRACK { Provisional Response Acknowledgement } PRACK is a normal SIP message, like BYE. As such, its own reliability is ensured hop-by-hop through each stateful proxy. Also like BYE, but unlike ACK, PRACK has its own response.
  • 7. PRACK { Provisional Response Acknowledgement } Each provisional response is given a sequence number, carried in the RSeq header field in the response. The PRACK messages contain an RAck header field, which indicates the sequence number of the provisional response that is being acknowledged The acknowledgments are not cumulative, and the specifications recommend a single outstanding provisional response at a time, for purposes of congestion control. .
  • 8. UAS Behavior ( User Agent Server ) UAS: The entity that receives a request and sends a response. A UAS MAY send any non-100 provisional response to INVITE reliably, so long as the initial INVITE request (the request whose provisional response is being sent reliably) contained a Supported header field with the option tag 100rel. .
  • 9. UAS Behavior ( User Agent Server ) UAS MUST send any non-100 provisional response reliably if the initial request contained a Require header field with the option tag 100rel. If the UAS is unwilling to do so, it MUST reject the initial request with a 420 (Bad Extension) and include an Unsupported header field containing the option tag 100rel.
  • 10. UAS Behavior ( User Agent Server ) A UAS MUST NOT attempt to send a 100 (Trying) response reliably. Only provisional responses numbered 101 to 199 may be sent reliably. If the request did not include either a Supported or Require header field indicating this feature, the UAS MUST NOT send the provisional response reliably. ! 100 (trying) responses are hop by hop only. Hence , this reliability mechanism , which is end to end, cannotbe used.
  • 11. UAS Behavior ( User Agent Server ) There are several reasons why a UAS might want to send a reliable provisional response. One reason is if the INVITE transaction will take some time to generate a final response.
  • 12. UAS Behavior ( User Agent Server ) The provisional response to be sent reliably is constructed by the UAS core according to the procedures of Section 8.2.6 of RFC 3261. In addition, it MUST contain a Require header field containing the option tag 100rel, and MUST include an RSeq header field. The value of the header field for the first reliable provisional response in a transaction MUST be between 1 and 2^31 - 1. It is RECOMMENDED that it be chosen uniformly in this range. The RSeq numbering space is within a single transaction. This means that provisional responses for different requests MAY use the same values for the RSeq number.
  • 13. UAS Behavior ( User Agent Server ) The provisional response to be sent reliably is constructed by the UAS core according to the procedures of Section 8.2.6 of RFC 3261. In addition, it MUST contain a Require header field containing the option tag 100rel, and MUST include an RSeq header field. The value of the header field for the first reliable provisional response in a transaction MUST be between 1 and 2^31 - 1. It is RECOMMENDED that it be chosen uniformly in this range. The RSeq numbering space is within a single transaction. This means that provisional responses for different requests MAY use the same values for the RSeq number.
  • 14. UAS Behavior ( User Agent Server ) Retransmissions of the reliable provisional response cease when a matching PRACK is received by the UA core. PRACK is like any other request within a dialog, and the UAS core processes it according to the procedures of Sections 8.2 and 12.2.2 of RFC 3261. A matching PRACK is defined as one within the same dialog as the response, and whose method, CSeq-num, and response-num in the RAck header field match, respectively, the method from the CSeq, the sequence number from the CSeq, And the sequence number from the RSeq of the reliable provisional response.
  • 15. UAC Behavior ( User Agent Client ) UAC creates a new request, it can insist on reliable delivery of provisional responses for that request. To do that, it inserts a Require header field with the option tag 100rel into the request.
  • 16. UAC Behavior ( User Agent Client ) A--F
  • 17. UAC Behavior ( User Agent Client ) I -- Z
  • 18. UAC Behavior ( User Agent Client ) If the UAC does not wish to insist on usage of reliable provisional responses, but merely indicate that it supports them if the UAS needs to send one, a Supported header MUST be included in the request with the option tag 100rel. The UAC SHOULD include this in all INVITE requests. The UAC MUST create a new request with method PRACK. This request is sent within the dialog associated with the provisional response (indeed, the provisional response may have created the dialog). PRACK requests MAY contain bodies, which are interpreted according to their type and disposition.
  • 19. UAC Behavior ( User Agent Client ) If the UAC does not wish to insist on usage of reliable provisional responses, but merely indicate that it supports them if the UAS needs to send one, a Supported header MUST be included in the request with the option tag 100rel. The UAC SHOULD include this in all INVITE requests. The UAC MUST create a new request with method PRACK. This request is sent within the dialog associated with the provisional response (indeed, the provisional response may have created the dialog). PRACK requests MAY contain bodies, which are interpreted according to their type and disposition.
  • 20. The Offer/Answer Model and PRACK If the INVITE contained an offer, the UAS MAY generate an answer in a reliable provisional response (assuming these are supported by the UAC). That results in the establishment of the session before completion of the call. Similarly, if a reliable provisional response is the first reliable message sent back to the UAC, and the INVITE did not contain an offer, one MUST appear in that reliable provisional response
  • 21. Definition of the PRACK Method This specification defines a new SIP method, PRACK. The semantics of this method are described above. Tables 1 and 2 extend Tables 2 and 3 from RFC 3261 for this new method.
  • 22. Header Field Definition This specification defines two new header fields, RAck and RSeq. Table 3 extends Tables 2 and 3 from RFC 3261 for these headers.
  • 23. Header Field Definition The RAck header is sent in a PRACK request to support reliability of provisional responses. It contains two numbers and a method tag. The first number is the value from the RSeq header in the provisional response that is being acknowledged. The next number, and the method, are copied from the CSeq in the response that is being acknowledged. The method name in the RAck header is case sensitive.
  • 24. Header Field Definition The RAck header is sent in a PRACK request to support reliability of provisional responses. It contains two numbers and a method tag. The first number is the value from the RSeq header in the provisional response that is being acknowledged. The next number, and the method, are copied from the CSeq in the response that is being acknowledged. The method name in the RAck header is case sensitive.
  • 25. Security Consideration The PRACK request can be injected by attackers to force retransmissions of reliable provisional responses to cease. As these responses can convey important information, PRACK messages SHOULD be authenticated as any other request. Authentication procedures are specified in RFC 3261.
  • 26. Reference . 1. Reliability of Provisional Response in the Session initiation protocol (SIP) RFC 3262 https://tools.ietf.org/html/rfc3262 2. Tutorials Point https://www.tutorialspoint.com/index.htm

Editor's Notes

  1. Be specific and direct in the title. Use the subtitle to give the specific context of the speech. -The goal should be to capture the audience’s attention which can be done with a quote, a startling statistic, or fact. It is not necessary to include this attention getter on the slide.
  2. Dedicate this entire slide to the thesis statement. It is the reason the speech is being given. Use this time to reveal the three main points of the speech (slides 4,5,6) as an overview for the direction of the speech: -[type main point #1 here] -[type main point #2 here] -[type main point #3 here] Be sure to transition to the first main point and the next slide.
  3. Use the background points to post details that are not common knowledge, or that the audience will need to understand the context of the speech. -Do not read these main points from the PowerPoint, instead elaborate on these points during the speech.
  4. SIP is a signaling protocol designed to create, modify, and terminate a multimedia session over the Internet Protocol. It is an application layer protocol that incorporates many elements of the Hypertext Transfer Protocol (HTTP) and the Simple Mail Transfer Protocol (SMTP).
  5. SIP is a signaling protocol designed to create, modify, and terminate a multimedia session over the Internet Protocol. It is an application layer protocol that incorporates many elements of the Hypertext Transfer Protocol (HTTP) and the Simple Mail Transfer Protocol (SMTP).
  6. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  7. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  8. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  9. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  10. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  11. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  12. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  13. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  14. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  15. The action step is what the audience is supposed to do or think about the topic. It should be one sentence that is written clearly and with much thought. It may also be the thesis statement restated as an action. The goal of this slide is to leave the audience with a clear message as to what they are to do or think at the end of the speech. It may be a good idea to end with a powerful quote or image.
  16. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  17. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  18. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.
  19. The counterargument should be the most common argument against the topic. The goal for this slide is to address the counterargument in such a way as to actually strengthen the original topic. Be sure to address each piece of evidence against the topic. As you address each piece of evidence elaborate on the text found on the slide. Remember to transition to the final slide, the action step.