in2EPS
IETF RFC index  ~~  Areas/Groups  ~~  Stats  ~~  SIP  ~~  SEC  ~~  QoS
3GPP TS/TR series  ~~  Glossaries  ~~  RELxx  ~~  EPC  ~~  IMS  ~~  subsData  ~~  UICC
ETSI SCP  ~~  SmartM2M  ~~  LI  ~~  INT  ~~  TISPAN
 
›  Info
›  Search

SIP – Session Initiation Protocol

RFC 3261 example SIP Protocol structure
RFC 7131 History-Info examples SIP Dialogs and Routing
RFC 7058 Music on Hold example SIP Service examples
RFC 3665-6 examples SIP Event examples
 
SIP Messages SIP Headers (A to G) ABNF for SDP ABNF for HTTP
SIP URIs SIP Headers (H to R) ABNF for MSRP ABNF for IMF
SIP Response Codes SIP Headers (S to Z) ABNF for Generic URI
SIP Common Rules SIP P-Headers ABNF Notation

RFC 3261's main example revisited

This page is a representation, as a slide show, of the SIP examples (Registration and Session Set-up) outlined in RFC 3261 – chapter 4, and detailed in RFC 3261 – chapter 24.   SIP messages are reported in strict conformance with this RFC, and commented.
Navigation Tips: Click Here to display the sequence chart at the top of your window, then click on "Start", or on a number and the associated request or response for a direct access to the detailed image.


Top

Start
SIP Register and Session set_up sequence chart  
RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

i)  SIP REGISTER request:  from Bob's UA to "biloxi.com" Registrar

SIP Register request

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

ii)  SIP 200 OK response:  from "biloxi.com" Registrar to Bob's UA

SIP 200 OK response to Register request

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

1)  SIP INVITE request:  from Alice's UA to "atlanta.com" Proxy

SIP INVITE request from UA to Proxy

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

2)  SIP INVITE request:  from "atlanta.com" Proxy to "biloxi.com" Proxy

SIP INVITE request from Proxy to Proxy

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

3)  SIP INVITE request:  from "biloxi.com" Proxy to Bob's UA

SIP INVITE request from Proxy to UA

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

4)  SIP 180 Ringing response:  from Bob's UA to "biloxi.com" Proxy

SIP 180 Ringing response from UA to Proxy

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

5)  SIP 180 Ringing response:  from "biloxi.com" Proxy to "atlanta.com" Proxy

SIP 180 Ringing response from Proxy to Proxy

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

6)  SIP 180 Ringing response:  from "atlanta.com" Proxy to Alice's UA

SIP 180 Ringing response from Proxy to UA

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

7)  SIP 200 OK response:  from Bob's UA to "biloxi.com" Proxy

SIP 200 OK response from UA to Proxy

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

8)  SIP 200 OK response:  from "biloxi.com" Proxy to "atlanta.com" Proxy

SIP 200 OK response from Proxy to Proxy

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

9)  SIP 200 OK response:  from "atlanta.com" Proxy to Alice's UA

SIP 200 OK response from Proxy to UA

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

10)  SIP ACK request:  from Alice's UA to Bob's UA

SIP ACK request from UA to UA

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

11)  SIP Media Session:  between Alice's UA and Bob's UA

SIP Media Session between UAs

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

12)  SIP BYE request:  from Bob's UA to Alice's UA

SIP BYE request from UA to UA

RFC 3261's SIP example
Top Up i) Register(B) ii) 200 OK 1) INVITE(A-Pa) 2) INVITE(Pa-Pb) 3) INVITE(Pb-B)
Prev Next 4) 180 Ringing(b-Pb) 5) 180 Ringing(Pb-Pa) 6) 180 Ringing(Pa-A) 7) 200 OK(B-Pb) 8) 200 OK(Pb-Pa)
9) 200 OK(Pa-A) 10) ACK(A-B) 11) Media 12) BYE(B-A) 13) 200 OK (A-B)

13)  SIP 200 OK response:  from Alice's UA to Bob's UA   (end of example)

SIP 200 OK response to BYE request