You are on page 1of 163

Session Initiation Protocol

IETF RFC 3261

SIP
Internet

SIP SIP

SIP
SIP

Internet

Internet
SIP
SIP
SIP

SIP

SIP
Internet
SIP
SIP

SIP 5

SIP SIP IETF


QoS RTP
RFC1889[28]RTSP
RFC 2326[29]PSTNMEGACO
RFC 3015[30]SDPRFC 2327[1]
SIP SIP

SIP SIP SIP


SDP

ID
SIP SIP SIP
SIP
SIP
SIP

SIP IPv4 IPv6


3

MUSTMUST NOTREQUIREDSHALLSHALL NOTSHOULDSHOULD NOT


RECOMMENDEDNOT RECOMMENDEDMAY OPTIONAL BCP14 RFC2119[2]
SIP
4

SIP

SIP

1 Alice Bob SIP

F Alice PC SIP Internet


Bob SIP SIP Alice Bob
Alice Bob SIP SIP URI URI
Bob
URI 19.1 SIP URI email
sip:bob@biloxi.com biloxi.com Bob SIP
Alice SIP URI sip:alice@atlanta.comAlice Bob URI
SIP URI SIPS URI
sips:bob@biloxi.com SIPS URI SIP
TLS

SIP HTTP /
Alice Bob SIP
URI INVITE INVITE SIP Alice

BobINVITE
INVITE Alice Alice Bob

atlanta.com
proxy

biloxi.com
proxy

Alices
softphone

Bobs
SIP phone

INVITE F1
INVITE F2
INVITE F4

100 Trying F3
100 Trying F5

180 Ringing F6
180 Ringing F8

180 Ringing F7
180 Ringing F9
200 OK F10

ACK F12
Media Session
BYE F13
200 OK F14

1SIP
INVITE 1 F1
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
(Alices SDP not shown)
INVITE

Via pc33.atlanta.comAlice Via

To Bob SIP SIPS URIsip:bob@biloxi.com

RFC2822[3]
From Alice SIP SIPS URIsip:alice@atlanta.com
tag
URI
Call-ID IP
To From Call-ID Alice Bob SIP
CSeq CSeq

Contact SIP SIPS URI Alice


FQDN FQDN IP
Via Contact

Max-Forwards

Content-Type
Content-Length
SIP 20
SIP
SIP SDPRFC 2327[1]

SIP SDP email


HTTP
Web
Bob biloxi.com SIP Alice SIP
INVITE Alice atlanta.com SIP
DHCP
SIP SIP
INVITE Alice 100Trying
100Trying INVITE INVITESIP
INVITE Via ToFrom
Call-IDCseq Alice INVITE
atlanta.com biloxi.com
DNS biloxi.com SIP [4]
biloxi.com IP INVITE
INVITE Via Alice Via
biloxi.com INVITE atlanta.com 100
Trying INVITE
Bob IP

biloxi.com INVITE Via


Bob
SIP

Bob SIP INVITE Bob Alice Bob


Bob Bob SIP 180Ringing
180Ringing Via
INVITE DNS
180Ringing
INVITE INVITE

Alice 180Ringing Alice


Alice
Bob Bob SIP 200OK
200OK Bob Alice SDP
SDP Alice Bob Bob Alice
SDP /
Bob 200OK
21 SIP 200OK
1 F9
SIP/2.0 200 OK
Via: SIP/2.0/UDP server10.biloxi.com
;branch=z9hG4bKnashds8;received=192.0.2.3
Via: SIP/2.0/UDP bigbox3.site3.atlanta.com
;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com
;branch=z9hG4bK776asdhds ;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:bob@192.0.2.4>
Content-Type: application/sdp
Content-Length: 131
(Bobs SDP not shown)
200OKViaTo
FromCall-ID Cseq INVITE
Via
Alice SIP biloxi.com
Bob SIP To
Contact Bob SIP
URIContent-Type Content-Length Bob SDP

DNS
Bob SIP 486Busy herebiloxi.com

INVITE Bob
INVITEforking
200OK Alice 200OK
Alice Bob SIP
ACK200OK
ACK Alice
Bob SIP INVITE 200OK Contact

SIP INVITE/200/ACK 13
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:bob@192.0.2.4>
Content-Type: application/sdp
Content-Length: 131
(Bobs SDP not shown)
200OKViaTo
FromCall-ID Cseq INVITE
Via
Alice SIP biloxi.com
Bob SIP To
Contact Bob SIP
URIContent-Type Content-Length Bob SDP

DNS
Bob SIP 486Busy herebiloxi.com
INVITE Bob
INVITEforking
200OK Alice 200OK
Alice Bob SIP
ACK200OK
ACK Alice
Bob SIP INVITE 200OK Contact

SIP INVITE/200/ACK 13
Alice Bob SDP
SIP
Alice Bob
re-INVITE Re-INVITE
200OK ACK 200OK
488
ACKre-INVITE
14
Bob BYE BYE Alice
Alice 200OK BYE BYE

ACKACK INVITE INVITE


SIP SIP
INVITE INVITE INVITE
15
24.2 1
SIP
biloxi.com INVITE SIP
INVITE Record-Route IP
URIBob SIP 200OK Record-Route Alice
biloxi.com
ACKBYE BYE 200OK

SIP biloxi.com Bob


Bob SIP biloxi.com SIP
REGISTER REGISTER Bob SIP SIPS URI
sip:bob@biloxi.com
Bob Ccontact SIP SIPS URI
biloxi.com
co-located

SIP
Bob Bob SIP SIP
Bob

URI
URI

SIP SIP
SIP / request-by-request
26
SIP 24.1
SIP OPTIONS SIP
CANCEL
5

SIP

SIP
transaction-by-transaction

SIP BNF BNF 25


SIP 7


SIP 18
SIP

UAC
17

TU
SIP
IP
TU

CANCEL CANCEL
9
SIP
CoreUAC UAS
8 UAC UAS
SIP
REGISTER UAS 10 REGISTER UACUAS
11 OPTIONS UACUAS UA
SIP
INVITE
UAC 8 UAC
12

SIP INVITE
13
SIP 14 INVITE 15

81011121314 15 UA 9 UA

16
6

SIP

Address-of-RecordAddress-of-RecordAOR SIP SIPS URI


URI URI URI
AOR
Back-to-Back User AgentB2BUA
UAS
UACB2BUA
B2BUA UAC UAS

Call
Call Leg[31]
Call Stateful INVITE BYE

Client SIP SIP

Conference
Core SIP

Dialog UA SIP SIP INVITE


2xx RFC2543

Downstream

Final Response SIP SIP 2xx


3xx4xx5xx 6xx
Header SIP
Header Field SIP

Header Field Value


Home Domain SIP URI

Informational Response
Initiator, Calling Party, Caller INVITE
INVITE
Invitation INVITE
Invitee, Invited User, Called Party, Callee INVITE
INVITE
Location ServiceSIP

REGISTER
Loop
Request-URI

Loose Routing
Request-URI

Message SIP SIP

Method
INVITE BYE
Outbound Proxy Request-URI
UA
Parallel Search

Provisional Response SIP


1xx
Proxy, Proxy Server

Recursion Contact URI


3xx
Redirect Server 3xx
URI
Registrar REGISTER

Regular Transaction INVITEACK CANCEL


Request SIP
Response SIP
Ringbacksignaling tone

Route Set SIP SIPS URI


Record-Route
Server

Sequential Search
2xx 6xx
Session SDP

RFC2327[1] SDP
RTP
SDP SDP ID

SIP TransactionSIP
1xx
INVITE 2xx ACKINVITE 2xx
ACK
Spiral SIP

Request-URI
joe@example.com.com
Joe PCPC bob@example.com.com

Stateful Proxy
16

Stateless Proxy

Strict Routing RFC2543


Route
Request-URI

Target Refresh Request

Transaction User (TU) UAC UAS

Upstream

URL-encoded RFC 2396 2.4[5]


User Agent Client (UAC)
UAC
UAC

UAC Core UAC


User Agent Server (UAS) SIP

UAS

UAS Core UAS


User Agent (UA)
UAC UAS
INVITE UAC BYE
UAS

SIP
SIP UTF-8 RFC2279[6]

SIP
7.1 7.2
RFC2822[3]
SIP RFC2822

generic-message = start-line
*message-header
CRLF
[ message-body ]
start-line

= Request-Line / Status-Line

CRLF

SIP HTTP/1.1
[HX.Y] HTTP/1.1 RFC2616[7] X.Y
SIP HTTP
7.1

SIP Request-LineRequest-Line
Request-URI SP
Request-Line CRLF CRLF CR LF
(LWS)
Request-Line = Method SP Request-URI SP SIP-Version CRLF
Method Contact REGISTER
INVITEACK CANCEL BYE OPTIONSSIP
RFC
Request-URIRequest-URI SIP SIPS URI 19.1 URI
RFC2396[5] Request-URI
unescaped spaces<>
SIP SIPSIPS Request-URI RFC2806[8]tel
URI SIP SIP URI SIP URISIPS URI
SIP-Version SIP [H3.1] SIP
HTTPSIP/2.0 HTTP/1.1
SIP SIP-Version SIP/2.0 SIP-Version

HTTP/1.1 SIP
7.2

SIP Status-LineStatus-Line
Status-Code textual phrase

SP
CRLF CR LF
Status-Line = SIP-Version SP Status-Code SP Reason-Phrase CRLF
Status-Code
Reason-Phrase Status-Code Status-Code
Reason-Phrase Reason-Phrase

Accept-Language
Status-Code
100 199 1xx 200 299
2xxSIP/2.0
1xx:informational
2xx:success
3xx:Redirection
4xx:Client Error
5xx: Server Error
6xx: GLOBAL FAILURE
21
7.3

SIP HTTP SIP [H4.2]


HTTP
whitespace and folding RFC2234[9]

[H4.2]
SIPSIP
header = header-name HCOLON header-value *(COMMA header-value)
*Contact

7.3.1
RFC2822[3] 2.2

field-name: field-value
25
SP
Subject:
Subject

lunch
:

lunch

Subject

:lunch

Subject: lunch

SPHT
SP

Subject: I know youre there, pick up the phone and talk to me!
Subject: I know youre there,
pick up the phone
and talk to me!
Via
RouteRecord-RouteProxy-RequireMax-Forwards Proxy-Authorization

7.3
field-name: fieldvalue

WWW-Authenticate AuthorizationProxy-Authenticate Proxy-Authorization

7.3

Route: <sip:alice@atlanta.com>
Subject: Lunch
Route: <sip:bob@biloxi.com>
Route: <sip:carol@chicago.com>

Route: <sip:alice@atlanta.com>, <sip:bob@biloxi.com>


Route: <sip:carol@chicago.com>
Subject: Lunch

Subject: Lunch
Route: <sip:alice@atlanta.com>, <sip:bob@biloxi.com>,
<sip:carol@chicago.com>

Route: <sip:alice@atlanta.com>
Route: <sip:bob@biloxi.com>
Route: <sip:carol@chicago.com>

Route: <sip:bob@biloxi.com>
Route: <sip:alice@atlanta.com>
Route: <sip:carol@chicago.com>

Route: <sip:alice@atlanta.com>,<sip:carol@chicago.com>,
<sip:bob@biloxi.com>
TEXT-UTF8

field-name: field-value *(;parameter-name=parameter-value)

Contact: <sip:alice@atlanta.com>;expires=3600
CONTACT: <sip:alice@atlanta.com>;ExPiReS=3600
Content-Disposition: session;handling=optional
content-disposition: Session;HANDLING=OPTIONAL

Warning: 370 devnull "Choose a bigger pipe"


Warning: 370 devnull "CHOOSE A BIGGER PIPE"
7.3.2

20
7.3.3
SIP
UDP MTU
20

7.4

7.4.1
Internet Content-Type
Content-Encoding Content-Encoding
Content-Type
RFC2046 [10]MIME
Accept

SIP
UTF-8
7.4.2
Content-Length 20.14

HTTP/1.1 SIP

7.5

Framing SIP

HTTP SIP UDP


18
SIP [H4.1] CRLF
Content-Length SIP
SIP Content-Length
8

(UAC)(UAS)UAC
UAS PSTN UAC
UAS

UAC UAS UAS


UAC
UAC UAS
12 SIP ( INVITE)

UAC UAS

26 UAC UAS
S/MIME

8.1

UAC
UAC

8.1.1
UAC SIP ToFromCseqCall-ID
Max-Forwards Via SIP SIP

UAC SIP
Request-URI SIP
INVITE 13 OPTIONS (
11 )
Request-URI Request-URI To URI REGISTER
10 REGISTER Request-URI
UA Request-URI

Request-URI
URI UAC
UA
SIP UA UA
URI UA
12.2.1 Request-URI
Request-URI URI
To To
To SIP SIPS URI
URI tel URL (RFC 2806 [8]) SIP
SIPS URI TLS SIPS URI To

UAC To To
URI
URIbob
UA
SIPS URI UA SIPS URI RHS
(sip:bob@example.com) SIPS URI
UA [@]

UA tel URLUA

411
tel:411
To To

To 20.39 To
To: Carol <sip:carol@chicago.com>
From From To
URI SIP
IP UA
From URI
From UAC
anonymous
URI( sip:thisis@anonymous.invalid)
UA From
UA
URI From
22
From UAC 19.3
From 20.20 From
From: "Bob" <sips:bob@biloxi.com> ;tag=a48s
From: sip:+12125551212@phone2net.com;tag=887s
From: Anonymous <sip:c8oqz84zk7z@privacy.org>;tag=hyh8
Call-ID Call-ID UA
Call-ID UA
UAC UAC Call-ID
SIP UA
UA Call-ID
Call-ID
8.1.3
Call-ID RFC 1750 [11]

localid@hostCall-ID
Call-ID
Call-ID
Call-ID 20.8
Call-ID
Call-ID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6@foo.bar.com
CSeq CSeq
REGISTER
31
2 32
CSeq
12.2.1 CSeq

CSeq: 4711 INVITE


Max-Forwards Max-Forwards

Max- Forwards 0
483()
UAC Max-Forwards 70
SIP
UA
Via Via
([4]) Via
UAC Via
SIP 2.0Via branch parameter

UA
CANCEL 2xx ACK
CANCEL 17.1.1
2xx ACK INVITE ID
ID ID RFC2543
ID z9hG4bk
magic cookie7 RFC 2543
ID
(implementation-defined)
18 Via maddrttl sent-by

16.6 8 16.7 3 Via


Contact Contact SIP SIPS URI UA
Contact SIP SIPS URI
INVITE Contact
Contact UA URI
URI
Request-URI top Route SIPS URIContact
SIPS URI
Contact 20.10
Supported and Require UAC SIP UAC
Supported 19.2
RFC

RFC Supported

UAC UAS UAC


Require UAC
Proxy-Require

Supported Require Proxy-Require


RFC
Additional Message Components

SIP MIME
20.11 20.15

8.1.2
[4] DNS
12.2.1
DNS Request-URI DNS
Route Route DNS
Request-URI Request-URI
SIP [4] URI URI SIPS URI UAC
[4]
Request-URI SIPS URI
TLS Route

URI

Request-URI UA RFC2543
UAC Route

Record-Route
Route URI
UAC [4]
Via
Via
8.1.3

TUTU
Transaction Layer Errors SIP
408
UDP ICMP TCP
503
Unrecognized Responses UAC x00
UAC x00
UAC 431
400UAC 100
183UAC 100 183

Vias Via UAC


Via

Processing 3xx Responses 301


Contact URI
16.5 16.6 3xx URI
Request-URI 3xx
URI Contact URI
3xx
URI Request-URI SIPS URI SIPS
URI URI
URI 3xx
URI
URI
Contact 'q'URI
q URI q
q q

399
8.1.3.5

3xx UAC URI


Request-URI method-param header URI ( 19.1.1 )
19.1.5

sip:user@host?Subject=foo&Call-Info=<http://www.foo.com>
Subject HTTP URI
Call-Info
UAC ToFrom Call-ID UAC
Call-ID

Via ID 8.1.1

UAC
Contact 21.3.2 21.3.3
Processing 4xx Responses 4xx UA
401 407 UAC 22.2
22.3
413 21.4.11 UAS
UAC
415()UAS UAC
Accept Accept-Encoding
Accept-Language
416( URI ) Request-URI URI
SIPS URI
420 Require Proxy- Require
UAS UAC
Unsupported

Call-IDTo From Cseq


4xx
8.2

UAS

UAS 12 UAS

UAS

8.2.1
UAS UAS
405 8.2.6
UAS 405 Allow Allow UAS

8.2.2
UAS
UAS

To and Request-URI To From


UAS To

UAS UAS To
URI tel:URI To UAS
UAS UAS 403

Request-URI UAS Request-URI UAS


416 URI Request-URI UAS
404 REGISTER
UA Request-URI
Request-URI UA
Contact
Merged Requests To UAS
From Call-ID Cseq 17.2.3
UAS 482
UASUAS
482
Require UAS Require Require
Require
UAC Require UASUAC UAS SIP
20.32 UAS Require
420UAS Unsupported
Require
SIP CANCEL Require Proxy-Require ACK 2xx

ACK 2xx Require Proxy-Require


Require
UAC -> AS: INVITE sip:watson@bell-telephone.com SIP/2.0
Require: 100rel
UAS -> UAC: SIP/2.0 420 Bad Extension
Unsupported: 100rel
-
-

8.2.3
UAS UAS
Content-Type Content- Language
Content-Encoding Content-Disposition
UAS 415
UAS Accept

UAS Accept-Encoding UAS


UAS Accept-Language
UAS
7.4 20.11 20.15
8.2.4
Supported UAS
SIP
421
Require

421 Require
Require Require
RFC
8.2.5
UAS 10
REGISTER 11 OPTIONS 13 INVITE 15
BYE
8.2.6
UAS

UAS

Sending a Provisional Response UAS


INVITE INVITE
100 Timestamp 100
UAS Timestamp

Headers and Tags From From Call-ID


Call-ID CSeq CSeq
Via Via
To To To
To URI To URI
UAS To 100
UAS ID
100 19.3
8.2.7 UAS
UAS UAS
UAS UAS

UAS

UAS

UAS 26.5.1
UAS

UAS (1xx)

UAS

UAS ACK

UAS CANCEL

To
19.3

UAS UAS UAS

8.3

URI URI

10 URI
URI
SIP CANCEL
3xx CANCEL
2xx SIP SIP

3xx Contact
Contact expires Contact
Contact URI
301 302
UDP TCP
SIP TCP UDP SIP
Request-URI URI
URI URI 404

Contact SIP PSTN

Contact URI SIPS


URIInternet mail to: (RFC
2368 [32]) URL URI 26.4.4 SIPS URI SIPS URI

Contact expires URI


expires URI
3600
RFC2543
3600
Require

UA
CANCEL
CANCEL
UAS
CANCEL CANCEL
INVITE CANCEL INVITE
CANCEL UAS INVITE
a 487
CANCEL 15 UAC
INVITE 16.10 CANCEL
CANCEL
CANCEL
9.1

CANCEL INVITE
INVITE INVITE CANCEL

CANCEL CANCEL Request-URICall-IDToCseq


From CANCEL
Via Via
CANCEL 9.2 CSeq
CANCEL 17
Route CANCEL Route
CANCEL
CANCEL Require Proxy-Require

CANCEL

CANCEL
CANCEL
CANCEL
CANCEL CANCEL CANCEL
CANCEL

CANCEL
CANCEL
CANCEL UAC
487 RFC2543 UAS
64*T1 17.1.1 T1

9.2

CANCEL TU
TU CANCEL
CANCLE ACK 17.2.3

CANCEL CANCEL
CANCEL CANCEL UAS CANCEL
CANCEL 16.10
UAS 8.2 UAS CANCEL CANCEL
Authorization
CANCEL Require
UAS CANCEL 481/
CANCEL UAS

CANCEL UAS
INVITEUAS INVITE
487CANCEL
CANCEL UAS CANCEL
200OK 8.2.6 CANCEL To
To CANCEL
10

10.1
SIP SIP
SIP


SIP
SIP SIPS URIsip:bob@biloxi.com
URIsip:bob@engineering.biloxi.com

URI
URI
Request-URI

URI

Bob SIP UA

REGISTER UAS
REGISTER

UA

SIP

SIP
10.2 REGISTER
REGISTER REGISTER

REGISTER REGISTER 8.1


17.1 UAC
REGISTER UAC REGISTER 8.1
Route REGISTER Record-Route
UAC REGISTER
Record-Route
Contact REGISTER Contact

Request-URI: Request-URI (
sip:chicago.com) SIPS URI userinfo @
To: To To Request-URI
SIP SIPS URI
From: From To

Call-ID: UAC Call-ID

Call-ID REGISTER

CSeq:CSeq REGISTER Call-ID


REGISTER UA Cseq
Contact: REGISTER Contact
REGISTER
UA Contact

REGISTER Contact
+

bo b

UA
+

+
3 )INVIT E
cat o l@ ch icago .co m

+
+

ch icago .co m
+

+
A

2 )St o re

+
>

<

4 )Query

>+

Sip .ch icago .co m

5 )Resp

1 )RE GIST E R

+
cube2 2 1 4 a
+

+
+
6 )IN VIT E
caro l@cube2 2 1 4 a.ch icago .co m

UA
carol

2
action:RFC 2543 action UAC action
expires:expires UA
expires 3600
10.2.1
REGISTER SIP
REGISTER To
Contact SIP SIPS URI SIP
sip:carol@cube2214a.chicago.com URI SIP UA
tel URLRFC 2806[8] email mail to URL
RFC 2368 [32]
Carol sip:carol@chicago.com SIP
chicago.com chicago.com Carol Carol
SIP

REGISTER 2xx Contact


REGISTER To SIPS URI Contact
SIPS URI
SIP SIPS URI SIP URI TLS
SIP
UA
Setting the Expiration Interval of Contact Addresses REGISTER

10.3

Expires expires
Contact REGISTER
expires Contact

REGISTER

Preferences among Contact Addresses REGISTER Contact


UA Contact URI To
Contact qQ Contact
16.6
10.2.2
10.2.1
REGISTER 0
UA UA
REGISTER-specific Contact * Expires
0*
*Contact

10.2.3
Contact
REGISTER
REGISTER Contact
10.2.4
UA UA UA
200OK Contact
19.1.4 UA
expires Expires UA
REGISTER REGISTER
UA Call-ID

10.2.5
REGISTER Data

10.2.6
UA
UA
UA SIP
Request-URI UA sip:carol@chicago.com REGISTER
sip:chicago.com
UA SIP
sip.mcast.net(224.0.1.75 for IPv4) Ipv6
SIP UA
[33]

10.2.7
REGISTER UAS 8.1.2
REGISTER REGISTER
UAS

10.2.8
UA 423 REGISTER
423 Min-Expires

10.3 REGISTER
UAS REGISTER
8.2 17.2
REGISTER 6xx
REGISTER
302 REGISTER
Record-Route REGISTER Record-Route
REGISTER Record-Route
REGISTER
Record-Route

REGISTER REGISTER REGISTER

REGISTER
REGISTER
1 Request-URI Request-URI
16

2. 8.2.2 UAS
Require
3. UAC 22 SIP
SIP From

4.

403

5. To Request-URI
404URI
URI user-param

6. Contact
Contact Contact * Expires
Contact 400
Call-ID
Cseq

7. Contact

expires

Expires

423 Min-Expires

follow-me

URI
Call-ID Call-ID

Call-ID
CSeq

UA
Call-ID Cseq

500
8. 200OK Contact
Contact expires
Date
11

SIP OPTIONS UA UA

Require INVITE UAS


OPTIONS UAS Supported UA
OPTIONS
Request-URI OPTIONS UA SIP
OPTIONS Request-URI REGISTER
Request-URI
Max-Forwards 0 OPTIONS
Request-URI
HTTP/1.1 Max-Forwards OPTIONS

UA OPTIONS

OPTIONS

11.1 OPTIONS
8.1.1 SIP OPTIONS
Contact OPTIONS
Accept UAC
UA SDPapplication/sdp
OPTIONS Request-URI
OPTIONS
OPTIONS

OPTIONS

OPTIONS sip:carol@chicago.com SIP/2.0


Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKhjhs8ass877
Max-Forwards: 70
To: <sip:carol@chicago.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 63104 OPTIONS
Contact: <sip:alice@pc33.atlanta.com>
Accept: application/sdp
Content-Length: 0
11.2 OPTIONS
8.2.6 SIP OPTIONS
INVITE 200 (OK) UAS
486 OPTIONS UAS UAS
INVITE
OPTIONS 200 (OK)

OPTIONS INVITE OPTIONS INVITE


200(OK) OPTIONS 200(OK)
INVITE 16.7
OPTIONS 200(OK)

AllowAcceptAccept-EncodingAccept-Language Supported
OPTIONS 200 (OK)Allow
Allow Contact 200 (OK)
3xx Warning

OPTIONS Accept Accept


application/sdp
UAS [12] application/sdp

UAS OPTIONS ( 11.1 ):


SIP/2.0 200 OK
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKhjhs8ass877
;received=192.0.2.4
To: <sip:carol@chicago.com>;tag=93810874
From: Alice <sip:alice@atlanta.com>;tag=1928301774

Call-ID: a84b4c76e66710
CSeq: 63104 OPTIONS
Contact: <sip:carol@chicago.com>
Contact: <mailto:carol@chicago.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE
Accept: application/sdp
Accept-Encoding: gzip
Accept-Language: en
Supported: foo
Content-Type: application/sdp
Content-Length: 274
(SDP not shown)
12

SIP
8 UA

UA ID ID Call-ID
UA ID UA UA
ID
ID To ID SIP
UAC UAS UAC ID Call-ID Call-ID
To From
UAS ID Call-ID Call-ID
From To
ID
UA UA URI
URI URI

2xx

12.1

INVITE 2xx 101-199 To

13 INVITE

UA ID
12.1.1 UAS
UAS 2xx to INVITEUAS
Record-Route UA URIURI
Record-Route UAS Contact
Contact UAS
INVITE 2xx ACK URI IP Contact
URI SIP SIPS URI
Request-URI SIPS URI
Record-Route Record-Route
Contact Contact SIPS URIURI
URIINVITE Contact URI
UAC URI
UAS
TLSRequest-URI SIPS URI TRUE
Record-Route URI
URI Record-Route

Contact URI

CSeq
ID Call-ID ID
To ID
From UAS From

RFC 2543 RFC 2543 From


URI From URI URI To URI
12.1.2 UAC
UAC INVITE
SIP SIPS URI SIPS URI
Request-URI
Route SIPS URIContact SIPS URI
UAC

TLSRequest-URI SIPS URI TRUE


Record-Route URI
URI Record-Route

Contact URI
CSeq
UA ID Call-ID
ID From
ID To UAC To

RFC 2543 RFC 2543 To


URI To URI URI From URI
12.2
UA
UA UAC UA UAS
UA
Record-Route Contact
URI
URI URI INVITE
re-INVITE ( 14 )
ACK
URI Record-Route
RFC2543
12.2.1 UAC
Generating the Request

To URI URI To
ID From URI URI From
ID null
To From
To From URI RFC 2543
URI
To From URI
Call-ID Call-ID
Cseq
ACK CANCEL

Cseq 8.1.1
CSeq
32 136

32 31
UAC Request-URI Route
UAC URI Request-URI UAC
Route
URI lr 19.1.1

UAC URI Request-URI Route

URI lr 19.1.1
UAC
URI Request-URI Request-URI UAC
Route UAC URI
Route
sip:user@remoteua
<sip:proxy1>,<sip:proxy2>,<sip:proxy3;lr>,<sip:proxy4>
Request-URI Route
METHOD sip:proxy1
Route: <sip:proxy2>,<sip:proxy3;lr>,<sip:proxy4>,<sip:user@remoteua>
URI lr
RFC2543 Route
Request-URI Request-URI Route Request-URI
Request-URI
UAC Contact URI
TRUEURI SIPS URI
12.2.2 Contact URI UA

URI

8.1.1
8.1.2

Route 8.1.2 Route


Request-URI

Processing the Responses UAC


408
3xx UAC 8.1.3

UAC Route

UAC 2xx Contact


URI URI
481/ 408UA
UAC
TU
INVITE BYE
12.2.2 UAS
UAS
UAS

INVITEs
UAS To UAS
mid-dialog
UAS 8.2
To UAS
UAS UAS
To USA UAS
To UAS To
UA
Cseq RTP

UAS 481(/
)
OPTIONS

Cseq

500

Cseq
UAS Cseq Cseq UAS
CSeq
UAC UAC
Cseq UAS Cseq

UAS Contact URI


URI
12.3
2xx
BYE
15
13

13.1
INVITE
INVITE
UAS UAS UAS
2xx
3xx4xx5xx6xx UAS 1xx
UAC
UAC 2xx 2xx
INVITE INVITE
OPTIONSUAC ACK
ACK 300 699
17 ACK 2xx UAC ACK
INVITE 2xx INVITE UA 2xx
UA UA INVITE 2xx
2xx

INVITE INVITE UA ACKCANCEL BYE


13.2 UAC
13.2.1 INVITE
INVITE 8.1.1
INVITE
INVITE Allow ( 20.5 )UA INVITE

[34]INFO UA INFO
Allow
INVITE Supported( 20.37 ) UAC
INVITE Accept ( 20.1 ) UA INVITE
Content-Types
Accept
UAC Expires 20.19 Expires
INVITE UAC 9
INVITE CANCEL
UAC INVITE Subject (
20.36 )Organization ( 20.25 ) User-Agent ( 20.41 )
INVITE
UAC INVITE 8.1.1
Content-Type
Content- Disposition session
UA

SIP /
UA

/ SIP INVITE
//

SIP
INVITE ACK
INVITE

INVITE UAS UAC


2xx

INVITE UAS INVITE


UAC INVITE 2xx
UAC
INVITE

UAS UAC
2xx

UAC

UAC

UAS INVITE
UAS

UA INVITE
2xx 1xx 2xx ACK INVITE

SDP
RFC 2327 [1]
[12]
- Content-Disposition session
INVITE ACK INVITE
Content-Disposition: render ACK Content-Disposition: session

Content-Disposition Content-Type application/sdp


sessionrender
INVITEUAC 8
UAC
13.2.2 INVITE
INVITE INVITE UAC INVITE
INVITE 8.1.3 TU 408

1xx Responses
INVITE To
ID 12.1.2
INVITE UAC

Allow
3xx Responses 3xx Contact
3xx 21.3 UAC
4xx 5xx and 6xx Responses INVITE 2xx 4xx5xx
6xx Contact

2xx
2xx UAC INVITE
INVITE ACK 17
2xx Responses 2xx INVITE UAC To

2xx
12.2.1 2xx
12.2.1

RFC2543 RFC 2543


1xx Record-Route 2xx
mid-dialog
UAC 2xx ACK
12 ACK Cseq CSeq
INVITE Cseq ACKACK
INVITE 2xx ACK

2xx UAC ACK


BYE
ACK[4]
UAC ACK
2xx ACK ACK
UAC 2xx INVITE 64*T1
UAC INVITE
2xx
INVITE 2xx UAC 15 UAC
BYE
13.3 UAS
13.3.1 INVITE
UAS INVITE 8.2

UAS
1 Expires INVITEUAS
UAS
487
2 mid-dialog 12
14
3 To UAS
UAS 12.2.2

INVITE
INVITE UAS INVITE

SDP ID
UAS INVITE 2xx

UAS UAC UAS


UAS UAC
INVITE 2xx
UAS 8.2.6

Progress UAS UAC

101 199 12.1.1 8.2.6


UAS
ID
INVITE

UAS
100
PSTN PSTN
INVITE IVR
The INVITE is Redirected UAS 3xx 300
301302 Contact
URI INVITE
The INVITE is Rejected
486 UAS
600UAS
INVITE

UAS INVITE 488


Warning
The INVITE is Accepted UAS 2xx 12.1.1 8.2.6

INVITE 2xx Allow Supported Accept


UAC UAS

INVITE UAS 2xx INVITE


UAS 2xx
INVITE
INVITE ACK
2xx T1
T2 17 T1 T2

ACK
2xx UAS UAC UDP
UAS
64*T1 ACK 2xx
15 BYE
14

INVITE 13 -
12
URI
INVITE
INVITE re-INVITE
re-INVITE

UA

re-INVITE BYE

re-INVITE BYE
UA BYE
14.1 UAC
INVITEs - 12.3.1 re-INVITE
UAC INVITE

UAC
re-INVITEre-INVITE
2xx

12 re-INVITE
ToFromCall-IDCseq Request-URI
UAS re-INVITEUAC re-INVITE
Alert-Info Content-DispositionAlert
INVITE re-INVITE
re-INVITE Request-URI UA

INVITE UAC INVITE

1 INVITE TU
INVITE
2 INVITE TU
INVITE
INVITE UA
UA INVITE
UA re-INVITE 2xx re-INVITE
12.2.1 200 481/
408 re-INVITE INVITE

UA
UAC re-INVITE 491 T T

1 ID Call-ID
T 10ms 2.1
4
2 ID Call-IDT 10ms 0 2

UAC re-INVITE
BYE re-INVITE

re-INVITE re-INVITE 2xx ACK INVITE


13.2.1
14.2 UAS
13.3.1 INVITE re-INVITE
re-INVITE
UAS INVITE Cseq
INVITEUAS INVITE 500 0
10 Retry-After
UAS INVITE INVITE INVITE
491
UA re-INVITE

UAS

UAS re-INVITE 488


Warning
UAS 2xx ACK BYE
UAC UAS re-INVITE 180
re-INVITE UAS Alert-Info
Content-DispositionAlert
2xx INVITE UAS [12] SDP
UAS
UA UAS UAS

UAC UAC
BYE
15

SIP
INVITE UAS 1xx 2xx /

INVITE 2xx
2xx INVITE
INVITE BYE
UA UA BYE
UA BYE UA
BYE UA BYE
BYE UA 2xx ACK

BYE SIP BYE

INVITE 2xx CANCEL attractiveCANCEL


2xx INVITE487 UAC
CANCEL INVITE INVITE 2xx
CANCEL UAS UAC 2xx BYE

SIP

UA INVITE CANCEL
BYE UA
BYE
2xx ACK BYE
ACK
UI 403
BYE
15.1 BYE
15.1.1 UAC
12 BYE
BYEUAC INVITE BYE
BYE UAC
BYE 481/ 408

BYE INVITE UAC


15.1.2 UAS
UAS 8.2 UAS BYE
UAS BYE
BYE
UAS 481/
UAC BYE RFC2543
BYE
UAS BYE 12.2.2
UAS

participationUAS BYE 2xx

UAS 487

16

16.1
SIP SIP SIP
UAS

SIP

UAS
8.2

TCP
TCP

TU

100
CANCEL

16.2
SIP 17
3

17
8.2.6 100
UAS INVITE 100

S
T

+
+

C
T

C
T

C
T

+
+
+

CT =
ST =

+
+
+

+
3

1. ( 16.3 )
2. ( 16.4 )
3. ( 16.5 )
4. ( 16.6 )
5. ( 16.7 )
16.3

1.
2. URI
3. Max-Forwards
4. ()
5. Proxy-Require
6. Proxy-Authorization
8.2

8.2.2
1


Date

Date

2URI
Request-URI URI 416
URI
3Max-Forwards
Max-Forwards 20.22 SIP
Max-Forwards Max-Forwards
Max-Forwards Max-Forwards

Max-Forwards
OPTION 11
483
4
Via

16.6
Via
482

5Proxy-Require

Proxy-Require
Proxy-Require 20.29
420 Unsupported
20.40
6Proxy-Authorization
22.3
22.3
16.4
Request-URI
Request-URI
Record-Route 16.6 4 Route
Request-URI Route

Request-URI 12.2.1
Record-Route URI
URI

Request-URI maddr
Request-URI maddr
Request-URI
maddr

maddr
maddr URI

Route
16.5

URI
Request-URI maddr Request-URI URI
16.6

Request-URI Request-URI
URI 16.6
HTTP

Request-URI

SIP
Request-URI

10.3 Request-URI
Request-URI 485
Contact URI
sip:John.Smith@company.com INVITE John
Smiths 21.4.23

URI
URI URI
URI

Request-URI

URI Request-URI URI


URI 3xx 416
Request-URI

3xx
SIP

URI
URI

URI URI
16.6 6 SIP
SIPS URI Route
Request-URI 404

480

16.6

q Contact 20.10
q q q

Request-URI

Max-Forwards

Record-Route

Via

Content-Length

10

11

7.3.1

Request-URI

URI Request-URI URI


Request-URI

Request-URI

Max-Forwards

Max-Forwards 1
Max-Forwards Max-Forwards
70
UA Max-Forwards
4

Record-Route

Route Record-Route
Record-Route
Route

Record-Route 12
Record-Route
Record-Route

Record-Route
Record-Route Route
12
Record-Route
Record-Route
Record-Route URI SIP SIPS URI URI
lr 19.1.1 URI

URI

URI
SIP SIP URI TCP/UDP
Record-Route URI URI
URI SIP Request-URI
SIPS URI Route 6 SIPS URI
Record-Route URI SIPS URI TLS
Record-Route TLS
Request-URI Route 6 SIPS
URI SIPS URI Record-Route

Record-Route URI
URI

Record-Route 16.7 8 URI


Record-Route
INVITE 200OK

Record-Route
Record-Route URI URI
Record-Route

Record-Route URI
Record-Route 12
Record-Routing
Record-Routing
Record-Route
Record-Route SIP INVITE

URI URI lr
Route
Route Route
10
Route


Route
Request-URI SIPS URI TLS
Route URI URI
lr
z

Request-URI Route

Route Request-URI Route


Route

Request-URI Route Request-URI


Route Request-URI
URI Request-URI
Route
7

IP
Route Request-URI IP

Route

Request-URI Route
Request-URI
URI Request-URI
SIPS URI SIPS URI

10

8 Via

408
8

Via

Via Via
8.1.1
magic cookie

8.1.1


Route Proxy-Require
Proxy-Authorization
16.3
TO From
Call-Id Request-URI Via Cseq
Proxy-Require Proxy-Authorization
16 MD5

Base64
branch
Request-URI

CANCEL ACK non-2xx

17.3 9.2

Content-Length

Content-Length
Content-Length 20.14

10

17.7
7
11

INVITE
TU C
INVITE C
16.7 2 16.8

16.7
17.1.3

INVITE 2xx

1.
2. C
3. Via
4.

5.
6.

7.
8. Record-Route
9.
10. CANCEL

1.
16.6

2. C
INVITE 101 199
101 199 100 C
3
3. Via
Via
Via
8.1.3 UAC

10 CANCEL
4.

3xx

Request-URI SIPS URI SIPS URI


3xx

3xx SIP SIPS SIP URI SIP SIPS URI

416 URI Request-URI


SIP SIP SIPS

SIP SIPS URI


URI SIP URI SIP URI tel URL
tel URL SIP URI
tel URL SIP URI 19.1.6
3xx SIP SIPS URI 416416

5.

100Trying

2xx

6xx
10
RFC2543 RFC2543 6xx INVITE
2xx
2xx UAC 2xx 6xx
6xx CANCEL
487 6xx

INVITE 2xx

100
Trying

Record-Route
INVITE
INVITE 2xx 2xx
6.

408

6xx
6xx 6xx

4xx
401407415420 484
503
503 503

503 Request-URI
503 500
Record-Route

4 503407501 404
407
1xx 2xx To UAC
To
1xx 2xx To 1xx 2xx To

1xx To
100 UAS UAS
UAS
UAS
3-6xx 3-6xx UAS
3-6xx
To To
To To
3-6xx To

To
To 401 407
3xx Contact 3xx Contact

7. Authorization
401 407
401 407
WWW-Authenticate Proxy-Authenticate
401 407
WWW-Authenticate Proxy-Authenticate

26

8. Record-Route
Record-Route

URI

TLS TLS
Record-Route URI SIPS URI TLS
TLS Record-Route URI SIP URI

URI Record-Route URI


16.6 4
URI

Record-Route
Record-Route
Record-Route
Record-Route URI
Record-Route URI
URI

Record-Route
URI URI
Record-Route
Record-Route
Record-Route
Record-Route Record-Route
9.
Record-Route

16.7 3 Via
Via

Via

10. CANCEL

CANCEL 6xx
CANCEL

CANCEL 9.1 CANCEL


CANCEL INVITE
200(OK) 200(OK) CANCEL
CANCEL
16.8 C
C

CANCEL 408

16.9
18.4
503

Via
16.10 CANCEL

9.1 CANCEL CANCEL

INVITE Expires
INVITE CANCEL

CANCEL
CANCEL
CANCEL 200OK
8.2
CANCEL 16.7 10

CANCEL
CANCEL
16.11

18

100
16.3
16.4 16.5

CANCEL ACK
INVITE

16.6
z

ID
ID 16.6 8

ID
Via ID
magic cookie ID ID
ID ViaTo
From Call-ID Cseq Request-URI

16.6
Route Record-Route Record-Route
URI Via

16.6 10

CANCEL
Route CANCEL

16.7
Via sent-by

Via

16.12
Route

1. Request-URI
Request-URI

2. Route URI URI


Route

3. Route Route
Request-URI URI URI 4

Request-URI

16.12.1
Basic SIP Trapezoid SIP U1P1P2U2
record-routing
U1
INVITE sip:callee@domain.com SIP/2.0
Contact: sip:caller@u1.example.com
P1P1 P1 domain.com DNS
domain.com DNS P1 Record-Route
INVITE sip:callee@domain.com SIP/2.0
Contact: sip:caller@u1.example.com
Record-Route: <sip:p1.example.com;lr>
P2 P2 domain.com Request-URI
Record-Route Route
Request-URI
INVITE sip:callee@u2.domain.com SIP/2.0
Contact: sip:caller@u1.example.com
Record-Route: <sip:p2.domain.com;lr>
Record-Route: <sip:p1.example.com;lr>
U2.domain.com 200 OK
SIP/2.0 200 OK
Contact: sip:callee@u2.domain.com
Record-Route: <sip:p2.domain.com;lr>
Record-Route: <sip:p1.example.com;lr>
U2 URI sip:caller@u1.example.com

(<sip:p2.domain.com;lr>,<sip:p1.example.com;lr>)
P2 P1 U1 U1 URI
sip:callee@u2.domain.com
(<sip:p1.example.com;lr>,<sip:p2.domain.com;lr>)
lr U1 BYE

BYE sip:callee@u2.domain.com SIP/2.0


Route: <sip:p1.example.com;lr>,<sip:p2.domain.com;lr>
U1 DNS Route URI
P1 P1 Request-URI
P1 Route
P2
BYE sip:callee@u2.domain.com SIP/2.0
Route: <sip:p2.domain.com;lr>
P2 Request-URI domain.com
u2.domain.com Route
DNS Request-URI
u2.domain.com
BYE sip:callee@u2.domain.com SIP/2.0

Record-Route RFC2543
U1P1P2P3P4U2
U2 INVITE
INVITE sip:callee@u2.domain.com SIP/2.0
Contact: sip:caller@u1.example.com
Record-Route: <sip:p4.domain.com;lr>
Record-Route: <sip:p3.middle.com>
Record-Route: <sip:p2.example.com;lr>
Record-Route: <sip:p1.example.com;lr>
U2 200 OK U2 Route BYE
P4
BYE sip:caller@u1.example.com SIP/2.0
Route: <sip:p4.domain.com;lr>
Route: <sip:p3.middle.com>
Route: <sip:p2.example.com;lr>
Route: <sip:p1.example.com;lr>
P4 Request-URI P4 P4
Route
sip:p3.middle.com Route URI
lr
BYE sip:p3.middle.com SIP/2.0
Route: <sip:p2.example.com;lr>
Route: <sip:p1.example.com;lr>
Route: <sip:caller@u1.example.com>

P3 P2
BYE sip:p2.example.com;lr SIP/2.0
Route: <sip:p1.example.com;lr>
Route: <sip:caller@u1.example.com>
P2 request-URI Record-Route

BYE sip:caller@u1.example.com SIP/2.0


Route: <sip:p1.example.com;lr>
P2 u1.example.com Route P1
P1 Route
BYE sip:caller@u1.example.com SIP/2.0
P1 u1.example.com Route P1 Request-URI
u1.example.com
Record-Route U1 U2
P1 U1P1U2
U1
INVITE sip:callee@gateway.leftprivatespace.com SIP/2.0
Contact: <sip:caller@u1.leftprivatespace.com>
P1 U2
INVITE sip:callee@rightprivatespace.com SIP/2.0
Contact: <sip:caller@u1.leftprivatespace.com>
Record-Route: <sip:gateway.rightprivatespace.com;lr>
U2 200OK P1
SIP/2.0 200 OK
Contact: <sip:callee@u2.rightprivatespace.com>
Record-Route: <sip:gateway.rightprivatespace.com;lr>
P1 Record-Route U1
U1
SIP/2.0 200 OK
Contact: <sip:callee@u2.rightprivatespace.com>
Record-Route: <sip:gateway.leftprivatespace.com;lr>
U1 P1 BYE
BYE sip:callee@u2.rightprivatespace.com SIP/2.0
Route: <sip:gateway.leftprivatespace.com;lr>
P1 U2
BYE sip:callee@u2.rightprivatespace.com SIP/2.0

17

SIP SIP

INVITE INVITE 2xx


ACK 2xx ACK
UAC INVITE 200OK
UACUAS 13.1.1 UAC ACK
13.2.2 ACK UAC

4
UAC

UAS 4

4
UA
UA SIP
TU UA

TU ACK
INVITE 2xx ACK
TU
TU
INVITE 2xx ACK
2xx ACK UAS ACK UAC

2xx UA UA
2xx ACK INVITE 2xx ACK
17.1

TU TU
SIP IP
TU
TU INVITE
INVITE INVITE ACK
INVITE ACK TU
ACK ACK
INVITE INVITE

INVITE TU INVITE

17.1.1 INVITE
INVITE INVITE INVITE
ACK UDP

T1 T1 RTT
500ms T1 T1
1xx
1xx 1xx

ACK
5 INVITE TU INVITE

18
T1 A A
A 64T1
B B
A
2T1

A 2T1

T1 500msT1 RTT
Internet T1

RTT T1 T1


B
TU ACK64T1

TU
TU
300699
TU
ACK 17.1.1 ACK

ACK ACK

D 32
D
INVITE H 64T1
T1 32s D T1

ACK
TU 17.1.3

5INVITE
2xx
TU TU UAC
UAC ACK 200OK
200OK UAC

INVITE 2xx
UAC ACK 2xx
UAC
17.1.3
UAC 2xx 2xx

ACK ACK 2xx ACK


UAC 13
ACK Call-IDFrom Request-URI
ACK
To To
To ACK Via
Via ACK Cseq
ACK
INVITE Route ACK
ACK
ACK
2xx ACK
INVITE 415 INVITE
INVITE 415 ACK 415 Accept

INVITE sip:bob@biloxi.com SIP/2.0


Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKkjshdyff
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=88sja8x
Max-Forwards: 70
Call-ID: 987asjd97y7atg
CSeq: 986759 INVITE
2xx ACK :
ACK sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKkjshdyff
To: Bob <sip:bob@biloxi.com>;tag=99sa0xk
From: Alice <sip:alice@atlanta.com>;tag=88sja8x
Max-Forwards: 70
Call-ID: 987asjd97y7atg
CSeq: 986759 ACK
17.1.2 INVITE
INVITE INVITE ACK--
T1 T2

T2

INVITE INVITE 2xx UAC


INVITE 2xx
6 INVITE INVITE
TU
F 64T1
E T1
E
MIN2T1T2 MIN4T1T2

T2T2
4 T2 INVITE
T1 T2 500ms1s2s4s4s4s

F TU

TU
200699 TU

E
E T2 F TU

200699 TU

K T4

T4
T4 5s
17.1.3 K

17.1.3

17.1.1 17.1.2 Via

1. Via Via

2. Cseq CANCEL

Via To
SIP
single-hop-discovery-like

18.1.1
17.1.4

TU TU [4]

17.2
TU

INVITE
17.2.1 INVITE
7 INVITE

6 INVITE

100 TU 200ms
100
To To
MAY SHOULD NOT 100 8.2.6
TU
TU

TU
17.2.3
TU 2xx
2xx TU

TU 300699

G T1

RFC 2543 RFC


2543
H 64T1
H B
G
G MIN2T1T2 G
G T2
G T2 INVITE

ACK
G
H ACK
TU
ACK
I T4
I

7INVITE

INVITE 2xx

17.2.2 INVITE
8 INVITE
INVITE ACK
TU
17.2.3

TU
TU

TU
200699

J 64
T1

TU
J

17.2.3

Via magic cookie


z9Hg4BK

1. Via
2. Via sent-by Via
sent-by
3. ACK
INVITE
INVITE INVITE
Sent-by

Via magic cookie


RFC 2543
INVITE Request-URITo From Call-IDCseq
Via INVITE
INVITE ACK Request-URI
From Call-IDCseq Via INVITE
ACK To To
ACK
ACK To 2xx ACK ACK

ACK ACK INVITE


ACK
Request-URITo From
Call-IDCseq Via

INVITE
Request-URI TU

17.2.4

[4]
[4] TU
18

TCPSCTP TLS

IP
IP
[4]

8 INVITE

2xx
INVITE ACK
64*T1
T1 17.1.1

C TU
16.6 11
SIP UDP TCPSIP
RFC254 TCP UA
TCP

18.1
18.1.1

IP TTL
MTU 200 1300 MTU
RFC2914[36] TCP Via
Via UDP

UDP 65,535 IP UDP


MTU 200 SIP
INVITE Record-Route
170 Ipv4 IPSecIP/UDP
30 MTU 1500 MTU 1300
UDP TCP
ICMP TCP UDP
TCP RFC2543

Via maddr
Ipv4 1 ttl Ipv6

SIP
single-hop-discovery-like

17.1.3
Via
Via sent-by
IP FQDN

UDPTCP SCTP
5060 TLS 5061

IP sent-by
[4] 5

IP
semt-by

[4] 5

IP

TTL
IP
18.1.2
Via
semt-by
17.1.3

UA

UA
18.2
18.2.1
IP DNS
SIP SIPS URI[4]
URI RGDISTER Contact
Record-Route URI web
SIP TCP UDP SIP 5060 TCP TLS
SIP 5061
UDP
TCP TCP UDP
TCP
UDP UDP
Via sent-by
sent-by IP
Via received
IP

INVITE sip:bob@Biloxi.com SIP/2.0


Via: SIP/2.0/UDP bobspc.biloxi.com:5060
IP 192.0.2.4
received

INVITE sip:bob@Biloxi.com SIP/2.0


Via: SIP/2.0/UDP bobspc.biloxi.com:5060;received=192.0.2.4
17.2.3

UAS INVITE 2xx


ACK
ACK UAS
18.2.2
Via
z

TCP SCTP
TLS

sent-by
received IP
IP
[4]

Via maddr sent-by


5060
ttl TTL
1 TTL

Via received
sent-by 5060
received ICMP
[4] 5
[4] 5
sent-by

18.3
UDP Content-Length

400
Content-Length
TCPContent-Length
Content-Length
18.4

ICMP

ICMP
TTL ICMP

19

SIP SIP SIP

19.1 SIP SIPS


SIP SIPS URI URI SIP SIPS URI
web

PSTN

SIPS URI UAC URI TLS

SIP URI SIPS URI


19.1.1 SIP SIPS URI
sip:sips: RFC2396[5] URL
SIP SIP web
URI 25 SIP SIPS
URI SIP URI
sip:user:password@host:port;uri-parameters?headers
SIPS URI sips sip

User:
URI Userinfo user password URI
Userinfo
SIP SIPS URI user
Internet RFC2806
user SIP SIPS URI
19.1.2
Password: SIP SIPS URI

URI
PIN PIN
password user password
user:password
Host SIP Ipv4 Ipv6

Port
URI URI
URI
URI
parameter-name = parameter-value
URI URI
transportmaddrttlusermethod lr
SIP [4]SIP
UDPRFC768[13]
TCPRFC761[14] SCTPRFC2960[15]
SIPS URI transport
Maddr host
maddr URI port transport maddr
[4] transportmaddr
hostport
Maddr URI
maddr
Route 8.1.1
URI
Ttl UDP maddr
UDP alice@atlanta.com ttl 15
239.255.255.1 URI
sip:alice@atlanta.com;maddr=239.255.255.1;ttl=15
telephone-subscriber URI

telephone-subscriber user phone


SIP SIPS URI

URI SIP method


lr

Record-Route URI URI

RFC2543
bis-05 rfc2543bis URI lr
Request-URI


uri SIP uri
Header URI
SIP URI ampersand
separated hname = hvalue pairs hname hvalue SIP

URI SIP SIPS URI


SIP web URIm
o URI

Contact URI
INVITE 200OKREGISTER
200OK 3xx
dialog
reg./redir. Contact/
default

Req.-URI

To

From

Contact

R-R/Route

external

user

--

password

--

host

--

port

(1)

user-param

ip

method

INVITE

maddr-param

--

ttl-param

transp.-param

(2)

lr-param

--

other-param

--

headers

--

(1) UDPTCP SCTP Sip 5060


TCP TLS sip 5061 TCP TLS sips: 5061
(2)sip: UDPsips:
TCP
1SIP Request-URI URI
SIP URI SIP RFC 2396 [5]

escaping RFC 2396 [5]


URI
US-ASCII [5] URI
US-ASCII RFC 2396 [5] URI ,
URI
BNF

j@s0n@
j
25 hname hvalue URI

RFC 2806 [8]


SIP URI
BNF
SIP SIPS URI

IDN
19.1.2 SIP SIP URI
sip:alice@atlanta.com
sip:alice:secretword@atlanta.com;transport=tcp
sips:alice@atlanta.com?subject=project%20x&priority=urgent
sip:+1-212-555-1212:1234@gateway.com;user=phone
sips:1212@gateway.com
sip:alice@192.0.2.4
sip:atlanta.com;method=REGISTER?to=alice%40atlanta.com
sip:alice;day=tuesday@atlanta.com
URI alice;day=Tuesday

SIP
19.1.3 URI
SIP SIPS URI
REGISTER Contact URI 10.3 SIP
SIP URI
z

SIP SIP URI

SIP SIPS URI userinfo


userinfo
URI

SIP SIPS URI

RFC 2396 [5]

DNS IP

URI

URI URI URI


URI
URI URI
URI 5060 URI
transport ttl user
sip:user@host sip:user@host:5060 RFC2543
URI URI URI sip:user@host:5060
5060 URI sip:user@host [4] DNS SRV

URI uri
z

URI uri

URI Userttl uri

maddr URI maddr URI

URI URI uri

URI URI URI URI


20

URI
sip:%61lice@atlanta.com;transport=TCP
sip:alice@AtLanTa.CoM;Transport=tcp

sip:carol@chicago.com
sip:carol@chicago.com;newparam=5
sip:carol@chicago.com;security=on

sip:biloxi.com;transport=tcp;method=REGISTER?to=sip:bob%40biloxi.com
sip:biloxi.com;method=REGISTER;transport=tcp?to=sip:bob%40biloxi.com

sip:alice@atlanta.com?subject=project%20x&priority=urgent
sip:alice@atlanta.com?priority=urgent&subject=project%20x
URI
SIP:ALICE@AtLanTa.CoM;Transport=udp

sip:alice@AtLanTa.CoM;Transport=UDP
sip:bob@biloxi.com

sip:bob@biloxi.com:5060
sip:bob@biloxi.com

sip:bob@biloxi.com;transport=udp
sip:bob@biloxi.com

sip:bob@biloxi.com:6000;transport=tcp
sip:carol@chicago.com

sip:carol@chicago.com?Subject=next%20meeting
sip:bob@phone21.boxesbybob.com
sip:bob@192.0.2.4

phone21.box
esbybob.com

sip:carol@chicago.com

sip:carol@chicago.com;security=on
z

sip:carol@chicago.com

sip:carol@chicago.com;security=off
z

sip:carol@chicago.com;security=on

sip:carol@chicago.com;security=off
19.1.4 URI
URI URIweb URI
URI
honor Request-URI transportmaddr
ttl user URI method

method
Request-URI URI Request-URI
URI

FromCall-IDCseqVia Record-Route
Route

AcceptAccept-EncodingAccept-Language

AllowContact
Organization
Supported User-Agent

Content-DispositionContent-EncodingContent-Language
Content-LengthContent-Type
Date
Mime-Version
Timestamp
URI SIP URI
URI
URI


URI URI

Require
URI
19.1.5 SIP URI tel URL
tel URLRFC 2806 [8] SIP SIPS URI tel URL
SIP SIPS URI userinfo
tel:+358-555-1234567;postd=pp22
sip:+358-555-1234567;postd=pp22@foo.com;user=phone
sips:+358-555-1234567;postd=pp22@foo.com;user=phone
sip:+358-555-1234567@foo.com;postd=pp22;user=phone

sips:+358-555-1234567@foo.com;postd=pp22;user=phone
telURL SIP SIPS URI
SIP SIPS URISIP SIPS URI userinfo Tel
URL tel URL tel URL
SIP URI

tel:+358-555-1234567;postd=pp22
tel:+358-555-1234567;POSTD=PP22

sip:+358-555-1234567;postd=pp22@foo.com;user=phone
sip:+358-555-1234567;POSTD=PP22@foo.com;user=phone

tel:+358-555-1234567;postd=pp22;isub=1411
tel:+358-555-1234567;isub=1411;postd=pp22

sip:+358-555-1234567;postd=pp22;isub=1411@foo.com;user=phone
sip:+358-555-1234567;isub=1411;postd=pp22@foo.com;user=phone

SIP SIPS URI userinfo

isdn-subaddress post-dial
tel URL


tel:+358-555-1234567;postd=pp22
tel:+358-555-1234567;POSTD=PP22

sip:+358-555-1234567;postd=pp22@foo.com;user=phone

tel:+358-555-1234567;tsp=a.b;phone-context=5
tel:+358-555-1234567;phone-context=5;tsp=a.b

sip:+358-555-1234567;phone-context=5;tsp=a.b@foo.com;user=phone
19.2
SIP Require
20.32 Proxy-Require 20.29 Supported 20.37 Unsupported
20.40 option-tag = token
25
RFC
20.32 20.37 IANA

19.3
SIP To From tag
Call-ID UA
From ID
To SIP

UA
32 UA
INVITE From INVITE To UA
PSTN
INVITE From
To

UAS
UAS

20

7.3
[HX.Y] HTTP/1.1 RFC2616[7] X.Y

2 3
where
R
r
2xx,4xx,etc.:
c
z

where

proxy
a
m
d
r
6
c
m
m*/

o
t/

TCP
* 20.14 20.15 7.4

Optional
UA 20.32 Require

mandatory UAS mandatory


mandatory UAC
Not applicable
UAS not applicable
UAS UAC
UA

ContactFrom To URI URI

URI<and> URI URI


URI
20.1 Accept
Accept [H14.1] Accept
application/sdp
Accept

Acceptapplication/sdp;level=1,application/x-private,text/html
20.2 Accept-Encoding
Accept-Encoding Accept [H3.5][H14.3] SIP [H14.3]
Accept-Encoding Accept-Encoding identity identity
encoding
Accept-Encoding identity
Header

field

where

proxy

ACK

BYE

CAN

INV

OPT

Accept

m*

Accept

2xx

m*

Accept

415

Accept-Encoding

Accept-Encoding

2xx

m*

Accept-Encoding

415

Accept-Language

Accept-Language

2xx

m*

Accept-Language

415

Alert-Info

ar

Alert-Info

180

ar

Allow

Allow

2xx

m*

m*

REG

Allow

Allow

405

Authentication-Info

2xx

Authorization

Call-ID

Call-Info

ar

Contact

Contact

1xx

Contact

2xx

Contact

3xx

Contact

485

Content-Disposition

Content-Encoding

Content-Language

Content-Length

ar

Content-Type

CSeq

Date

Error-Info

300-699

Expires

From

In-Reply-To

Max-Forwards

amr

Min-Expires

423

MIME-Version

Organization

ar

2AO

Header

field

wher
e

prox
y

AC
K

BY
E

CA
N

IN
V

OP
T

Priority

ar

Proxy-Authenticate

407

ar

Proxy-Authenticate

401

ar

Proxy-Authorizatio
n

dr

Proxy-Require

ar

Record-Route

ar

Record-Route

2xx,18x

mr

Reply-To

Require

ar

Retry-After

404,413,480,48
6

500,503

600,603

Route

adr

Server

Subject

Supported

m*

Supported

2xx

m*

m*

Timestamp

To

c(1)

Unsupported

420

User-Agent

Via

amr

Via

rc

dr

Warning

WWW-Authenticate

401

ar

RE
G

WWW-Authenticate

407

ar

3PZ(1)
HTTP HTTP Accept-Encoding
identity
:
Accept-Encodinggzip
20.3 Accept-Language
Accept-Language
Accept-Language

Accept-Language [H14.4] SIP


q

Accept-Languageda,en-gb;q=0.8,en;q=0.7
20.4 Alert-Info
INVITE Alert-Info UAS 180
Alert-Info UAC
Alert-Info
20.9
Call-Info

Alert-Info<http://www.example.com/sounds/moo.wav>
20.5 Allow
Allow UA
UA ACK CANCEL Allow
Allow UA
UA

AllowINVITE,ACK,OPTIONS,CANCEL,BYE

20.6 Authentication-Info
Authentication-Info HTTP UAS 2xx
Authorization
RFC2617[16]

Authentication-Infonextnonce="47364c23432d2e131a5fb210812c"
20.7 Authorization
Authorization UA 22.2 Authorization
22.4 HTTP
Proxy-Authrization
7.3

Digest
AuthorizationDigestusername="Alice",realm="atlanta.com",
nonce="84a4cc6f3082121f32b42a2187831a9e",
response="7587245234b3434cc3412213e5f113a5432"
20.8 Call-ID
Call-ID
Call-ID
Call-ID
Call-ID I

Call-IDf81d4fae-7dec-11d0-a765-00a0c91e6bf6@biloxi.com
i:f81d4fae-7dec-11d0-a765-00a0c91e6bf6@192.0.2.4
20.9 Call-Info
Call-Info Call-Info
Purpose URI icon
info
Card vCard[37] LDIF[38] 27
IANA
Call-Info URI

UA UA
Call-Info UA


Call-Info<http://wwww.example.com/alice/photo.jpg>
;purpose=icon,
<http://www.example.com/alice/>;purpose=info
20.10 Contact
Contact URI URI
Contact URI URI
Contact q expires Contact REGISTER
3xx
URI URI <>
<> URI URI

display-name addr-spec
name-addr display-name < LWS
URI URI TO From
Contact HTTP HTTP
URI

Contact m(moved)

Contact"Mr.Watson"<sip:watson@worcester.bell-telephone.com>
;q=0.7;expires=3600,
"Mr.Watson"<mailto:watson@bell-telephone.com>;q=0.1
m<sips:bob@192.0.2.4>;expires=60
20.11 Content-Disposition
Content-Disposition UAC UAS

SIP MIME Content-Type(RFC 2183 [17])


SIP Content-Disposition disposition-Typessession
render
render inline
MIME SIP MIME
Content-Disposition
Content-Typeapplication/sdp session render
icon
Alert


180
disposition-type
MIME
-
UAS optional required required
RFC 3204[18]
MIME render

Content-Dispositionsession
20.12 Content-Encoding
Content-Encoding media-type
Content-Type
Content-Encoding

IANA -
[H3.5]

Accept-Encoding
Content-Encoding e
Content-Encodinggzip
etar
20.13 Content-Language
[H14.12]
Content-Languagefr
20.14 Content-Length
Content-Length -
-
TCP
- CRLF 0
Content-Length Content-Length
0
Content-Length cgi
l


Content-Length349
l173
20.15 Content-Type
Content-Type [H3.7]
Content-Type
Content-Type 0
c

Content-Typeapplication/sdp
ctext/html;charset=ISO-8859-4
20.16 Cseq
Cseq
32 Cseq Cseq

Cseq

CSeq4711 INVITE
20.17 Date
Date HTTP/1.1 SIP RFC1123[19]
[H3.3]SIP SIP GMT RFC3261
RFC1123
Date
Date
GMT GMT

DateSat,13 Nov 2010 23:29:00 GMT


20.18 Error-Info
Error-Info
SIP UAC PC black

Error-Info UAC

UAC Error-Info SIP SIPS URI


Contact INVITE INVITE
SIP URI

SIP/2.0 404 The number you have dialed is not in service


Error-Info<sip:not-in-service-recording@atlanta.com>
20.19 Expires
Expires

INVITE

0 2**32-1

Expires5
20.20 From
From From

display-name
Anomymous display-name addr-spec
name-addr 7.3.1
From URI

URI URI 20.10


From f

From"A.G.Bell"<sip:agb@bell-telephone.com>;tag=a48s
Fromsip:+12125551212@server.phone2net.com;tag=887s
fAnonymous<sip:c8oqz84zk7z@privacy.org>;tag=hyh8
20.21 In-Reply-To
In-Reply-To Call-ID
Call-ID In-Reply-To Call-ID


In-Reply-To70710@saturn.bell-tel.com,17320@saturn.bell-tel.com
20.22 Max-Forwards
Max-Forwards SIP

Max-Forwards 0 225
70
B2BUA Max-Forwards

Max-Forwards6
20.23 Min-Expires
Min-Expires
Contact 0 2**32-1
10.2.8 10.3 21.4.17 423

Min-Expires60
20.24 MIME-Version
[H19.4.1]

MIME-Version1.0
20.25 Organization
SIP Organization

OrganizationBoxes by Bob
20.26 Priority
Priority Priority SIP

Priority Priority normal


Priority PSTN
non-urgentnormalurgent emergency

emergency
RFC2076[39]emergency

SubjectA tornado is heading our way!


Priorityemergency
or
SubjectWeekend plans
Prioritynon-urgent
20.27 Proxy-Authenticate
Proxy-Authenticate
[H14.33] 22.3

Proxy-AuthenticateDigestrealm="atlanta.com",
domain="sip:ss1.carrier.com",qop="auth",
nonce="f84f1cec41e6cbe5aea9c8e88d359",
opaque="",stale=FALSE,algorithm=MD5
20.28 Proxy-Authorization
Proxy-Authorization
Proxy-Authorization
/
22.3
Authorization
7.3.1

Proxy-AuthorizationDigestusername="Alice",realm="atlanta.com",
nonce="c60f3082ee1212b402a21831ae",
response="245f23415f11432b3434341c022"
20.29 Proxy-Require
Proxy-Require

20.32

Proxy-Requirefoo
20.30 Record-Route
Record-Route

16.12.1 Route

Record-Route: <sip:server10.biloxi.com;lr>,
<sip:bigbox3.site3.atlanta.com;lr>
20.31 Reply-To
Reply-To From URI URI

display-name addr-spec
name-addr 7.3.1

Reply-To: Bob <sip:bob@biloxi.com>


20.32 Require
UAC Require UAS UAC UAS
Require
19.2 Require
SIP
UAC RFC

Require: 100rel
20.33 Retry-After
Retry-After 500 530

404413480
486600
603
()
duration

Retry-After: 18000;duration=3600
Retry-After: 120 (Im in a meeting)
20.34 Route
Route Route
16.12.1

Route: <sip:bigbox3.site3.atlanta.com;lr>,
<sip:server10.biloxi.com;lr>
20.35 Server
Server UAS

Server

Server: HomeServer v2
20.36 Subject
Subject

Subject s

Subject: Need more boxes


s: Tech Support
20.37 Supported
Supported UAC UAS
19.2 Supported UAC UAS
UA RFC
Supported k

Supported: 100rel

20.38 Timestamp
Timestamp UAC UAS
8.2.6
SIP RTT

Timestamp: 54
20.39 To
To
display-name Tag
Tag 19.3
To From URI URI
20.10
To t
To
To: The Operator <sip:operator@cs.columbia.edu>;tag=287447
t: sip:+12125551212@server.phone2net.com
20.40 Unsupported
Unsupported UAS 20.32

Unsupported: foo
20.41 User-Agent
User-Agent UAC [H14.43]

User-Agent

User-Agent: Softphone Beta1.5


20.42 Via
Via
Via ID
Via
Via maddrttlreceived branch


magic cookie z9hG4bK 8.1.1
UDPTCPTLS SCTPTLS TCP TLS SIPS
URI SIP TLS
Via: SIP/2.0/UDP erlang.bell-telephone.com:5060;branch=z9hG4bK87asdks7
Via: SIP/2.0/UDP 192.0.2.1:5060 ;received=192.0.2.207
;branch=z9hG4bK77asjd
Via v
192.0.2.1 192.0.2.207
Erlang.bell-telephone.com
Via
SIP URI LWS
/
Via: SIP / 2.0 / UDP first.example.com: 4000;ttl=16
;maddr=224.2.0.1 ;branch=z9hG4bKa7c6a8dlze.1
BNF
RFC 2543
Via sent-by

20.43 Warning
Warning Warning

Accept-Language Content-Language
i-default [20]
Warn-code
3 SIP
300 329 330 339
370 379
QoS 390 399
300
301

302
303

304
305

306
307
330
331

370
399

HTTP/1.1 1xx 2xx


warn-code IANA 27.2

Warning: 307 isi.edu "Session parameter foo not understood"


Warning: 301 isi.edu "Incompatible network address type E.164"
20.44 WWW-Authenticate
WWW-Authenticate 22.2

WWW-Authenticate: Digest realm="atlanta.com",


domain="sip:boxesbybob.com", qop="auth",
nonce="f84f1cec41e6cbe5aea9c8e88d359",
opaque="", stale=FALSE, algorithm=MD5
21

HTTP/1.1 HTTP/1.1
HTTP/1.1 HTTP/1.1
SIP 6xx
21.1 1xx

200 1xx
1xx ACK1xx

21.1.1 100

UAC
INVITE100

21.1.2 180
INVITE UA
21.1.3 181

21.1.4 182

5 15
182
21.1.5 183
183

21.2 2xx

21.2.1 200 OK

21.3 3xx
3xx
21.3.1 300
UA

Accept
UA MIME
Contact 20.10 HTTP SIP
Contact Contact UA Contact

21.3.2

301

Request-URI Contact 20.10

21.3.3

302

Contact 20.10
Request-URI Contact
Contact URI Expires 20.19 Contact
expires UA URI

Contact URI
Request-URI
URI URI
21.3.4

305

Contact Contact URI


UAS 305
21.3.5

380

21.4 4xx
4xx

21.4.1

400

Call-ID

21.4.2

401

UAS 407

21.4.3

402

21.4.4

403

Authorization
21.4.5

404

Request-URI Request-URI

21.4.6

405

Request-Line Request-URI
Allow
21.4.7

406

Accept

21.4.8

407

401SIP
26 22.3

21.4.9

408

21.4.10 410

404
21.4.11 413

Retry-After

21.4.12 414 Request-URI


Request-URI
21.4.13 415

AcceptAccept-Encoding
Accept-Language 8.1.3 UAC
21.4.14 416 URI
Request-URI URI 8.1.3

21.4.15 420
Proxy-Require 20.29 Require 20.32
Unsupported

8.1.3 UAC
21.4.16 421
UAS Supported
Require
UAS
Supported SIP

21.4.17 423

Contact 10.2.8 10.3 20.23


Min-Expires
21.4.18 480

Retry-After

UA 486

Request-URI

21.4.19 481 /
UAS
21.4.20 482
16.3 4
21.4.21 483
0 Max-Forwards ( 20.22 )
21.4.22 484
Request-URI

484
21.4.23 485
Request-URI Contact
404
Request-URI
Request-URI sip: lee@example.com
SIP/2.0 485 Ambiguous

Contact: Carol Lee <sip:carol.lee@example.com>


Contact: Ping Lee <sip:p.lee@example.com>
Contact: Lee M. Foote <sips:lee.foote@example.com>
3xx
300 3xx
485
21.4.24 486

Retry-After

600
21.4.25 487
BYE CANCEL CANCEL
21.4.26 488
606 Request-URI

INVITE
application/sdp INVITE Accept OPTIONS 200
OK
21.4.27 491
UAS UAS 14.2
glare
21.4.28 493
UAS MIME MIME
UA
MIME 23.2
21.5 5xx
5xx
21.5.1 500

Retry-After

21.5.2 501
UAS

405

21.5.3 502

21.5.4 503
Retry-After
Retry-After
500 Server

503 UAC
Retry-After Retry-After
UAC
503
21.5.5 504

Expires 408

21.5.6 505
SIP

21.5.7 513

21.6 6xx
6xx Request-URI
21.6.1 600

Retry-After
603
486
21.6.2 603

Retry-After


21.6.3 604
Request-URI
21.6.4 606

606
Warning 606
20.43 Warning
INVITE
application/sdp INVITE Accept OPTIONS
200OK

606

22

HTTP

SIP HTTP
UA 22.1

SIP

RFC 2543

22.1
SIP HTTPRFC 2617[16]
BNF SIP UAS
401 UAC 401
407

Proxy-Authenticate Proxy-Authorization WWW-Authenticate


Authorization RFC 2617[16]
SIP URL SIP
RFC 2543 RFC 2543 Request-URI

UAC Request-URI Request-URI UAC


Request-URI

Request-URI SIP URI URI tel


URL

RFC 2617[16]
3.2.1

INVITE sip:bob@biloxi.com SIP/2.0


Authorization: Digest realm="biloxi.com", <...>
SIP

anonymous UAC PSTN

SIP
ACK CANCEL

ACKACK INVITE

ACK UAC ACK INVITE Authorization


Proxy-Authorization ACK
CANCEL 2xx
CANCEL CANCEL
26.2.1
CANCEL
UAC UAC
realm WWW-Authenticate Proxy-Authenticate
UA

UAC

anonymous 403
UAC

22.2
UAS UAC UAS
Authorization 401UAS

401 WWW-Authenticate

401 WWW- Authenticate


WWW-Authenticate: Digest
realm="biloxi.com",
qop="auth,auth-int",
nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
opaque="5ccc069c403ebaf9f0171e9517f40e41"
UAC 401UAC

UA To
realm UA

UAC anonymous

UAS UA
401 Authorization
Authorization UA

Authorization
Authorization: Digest username="bob",
realm="biloxi.com",
nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
uri="sip:bob@biloxi.com",
qop=auth,
nc=00000001,
cnonce="0a4f113b",
response="6629fae49393a05397450978507c4ef1",
opaque="5ccc069c403ebaf9f0171e9517f40e41"
401 407 UAC
Cseq
22.3
UAC
Proxy-Authorization 407

Proxy-Authentication 407
[16] Proxy-Authentication Proxy-Authorization
Proxy-Authorization
UAC 407 UAC
Proxy-Authorization

Proxy-Authorization
Cseq Cseq UAC UAS
UAC 407
401 realm
UAC anonymous

UAC

UA Call-ID 401/407 Proxy-Authenticate


UA Call-ID
UA UA UA

Route
UA 407
Proxy-Authorization
Proxy-Authorization
Proxy-Authorization UA /

Proxy-Authorization realm
Proxy-Authenticate
Proxy-Authorization realm
Proxy-Authorization
Proxy-Authorization
Proxy-Authorization

Proxy-Authorization
16.7 / UA
UAC UA
WWW-Authenticate
Proxy-Authenticate
UAC
UAC
UAC
UA
401 407
UAC WWW-Authenticate Authorization
Proxy-Authenticate Proxy-Authorization UAC
realm
401 407

UAC Authorization Proxy-Authorization


realm

22.4
SIP HTTP SIP HTTP[16]

RFC 2543 RFC 2069[40] HTTP RFC 2617 SIP


RFC 2069 RFC 2617 SIP

[16]SIP/2.0 HTTP/1.1

1. URI BNF
URISIP-URI/SIP-URI
2. RFC 2617 BNF HTTP uri
RFC 2617 3.5
SIP
uri

3. digest-uri-value BNF
digest-uri-value = Request-URI ; 25
4. Etag SIP
5. RFC 2617[16] SIP
6. RFC 2617 URI Authorization URI
SIP URI
SIP Authorization
Request-URI

7. A2
SIP MD5

H(entity-body) = MD5("") = "d41d8cd98f00b204e9800998ecf8427e"


8. RFC 2617 qop Authorization
Proxy-Authorization cnonce conoce
MD5-Sess
qop RFC2617 RFC 2069
RFC 2617 qop RFC 2543 RFC 2069
qop
WWW-Authenticate Proxy-Authenticate qop
qop qop

RFC 2543 Authentication-Info rfc2069

RFC 2617[16] qop


RFC 2069 RFC 2617

23

S/MIME

SIP MIME MIME MIME


multipart/signedapplication/pkcs7-mimeMIME RFC 1847[21]
RFC 2630[22] RFC 2633[23] SIP
SDP MIME

RFC 2543 SIP PGP


23.1 S/MIME
S/MIME

userinfo @ SIP SIPS URI domainname


bob@biloxi.com

SIP

UA
S/MIME
URIFrom

26.4.2
SIP

UAC
SIP URI
23.2 S/MIME
SIP
SIP S/MIME CMS SignedData

UAC S/MIME S/MIME


INVITE UAC S/MIMEmultipart/signed CMS
SignedDate CMS EnvelopedData

UAC SignedData EnvelopedData


UAS S/MIME CMS UAS
UAS S/MIME
SubjectAltName
From

From UAS

SIP From UAS

UAS S/MIME S/MIME


UAS INVITE UAS S/MIME
multipart/signed CMS SignedData CMS EnvelopedData
UAS SignedData EnvelopedData
UAC S/MIME S/MIME
UAC UAC To

UAC

To
UAC
UAC UAS UAC
CMS SignedData
UA From From UA
UA
UA

SSH
26.4.2
UA S/MIME UA 493
MIME certs-onlysmime-type
To
493 S/MIME
S/MIME
MIME S/MIME
Content-Disposition handling 415
S/MIME
S/MIME S/MIME 415

S/MIME MIME
UAC S/MIME
S/MIME
From UAS

UA CMS SignedData
UA

23.3 MIME
SIP MIME S/MIME
[23]
z

multipart/signedCMS

S/MIME
z
z

S/MIMEContent-Disposition
UACUAC
application/pkcs7-timeMIMEUACCMS
OPTION23.4
message/sip

S/MIME
z

S/MIME SMIMECapabilities[23] 2.5.2



preferSignedData CMS SignedData
OPTIONS

S/MIME SHA1 3DES


SMIMECapabilities

SIP S/MIME UA

SIP S/MIME SDP


INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Max-Forwards: 70
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/pkcs7-mime; smime-type=enveloped-data;
name=smime.p7m

Content-Disposition: attachment; filename=smime.p7m


handling=required
***************************************************
* Content-Type: application/sdp
*
*
* v=0
*
* o=alice 53655765 2353687637 IN IP4 pc33.atlanta.com
*
*
*
*

s=t=0 0
c=IN IP4 pc33.atlanta.com
m=audio 3456 RTP/AVP 0 1 3 99

*
*

* a=rtpmap:0 PCMU/8000

*
*
*

***************************************************
23.4 S/MIME SIP SIP
SIP S/MIME
message/sip MIME SIP SIP
MIME SIP
outer
UAS message/sip S/MIME
smime message/sip
MIME SDPinner S/MIME
MIME message/sip
MIME multipart/mixed
23.4.1 SIP
S/MIME
innerouter

message/sipSIP innerouter
Date
20 SIP
outer
Request-URIViaRecord-RouteRoute
Max-Forwards Proxy-Authorization

outer
To
FromCall-IDCseq Contact Call-IDCseq Contact
outer To From

From outer
outer

SubjectReply-To
OrganizationAcceptAccept-EncodingAccept-LanguageAlert-InfoError-Info
Authentication-Info Expires In-Reply-To Require Supported Unsupported
Retry-AfterUser-AgentServer Warning
UA
outerouter

Date innerouter
MIME inner MIME MIME-specific
MIME-VersionContent-TypeContent-LengthContent-Language
Content-Encoding Content-Disposition
outer S/MIME MIME
MIME SIP MIME

Min-ExpiresTimestampAuthorizationPriority
WWW-Authenticate
outerUA inner
UA
SIP
SIP UA
23.4.2
CMS message/sipMIME
S/MIME SIP SIP
message/sip(ToFromCall-ID CSeq)
MIME

MIME (
)

inner
Date
()

403()
UA
message/sip
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE

Max-Forwards: 70
Date: Thu, 21 Feb 2002 13:02:03 GMT
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: multipart/signed;
protocol="application/pkcs7-signature";
micalg=sha1; boundary=boundary42
Content-Length: 568
--boundary42
Content-Type: message/sip
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
To: Bob <bob@biloxi.com>
From: Alice <alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Max-Forwards: 70
Date: Thu, 21 Feb 2002 13:02:03 GMT
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 147
v=0
o=UserA 2890844526 2890844526 IN IP4 here.com
s=Session SDP
c=IN IP4 pc33.atlanta.com
t=0 0
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000
--boundary42
Content-Type: application/pkcs7-signature; name=smime.p7s
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=smime.p7s;
handling=required
ghyHhHUujhJhjH77n8HHGTrfvbnj756tbB9HG4VQpfyF467GhIGfHfYT6
4VQpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJh756tbB9HGTrfvbnj
n8HHGTrfvhJhjH776tbB9HG4VQbnj7567GhIGfHfYT6ghyHhHUujpfyF4
7GhIGfHfYT64VQbnj756
--boundary42-

23.4.3
CMS EncelopedData S/MIME message/sipMIME
S/MIME
SDP
Subject Organization SIP
From
(sip:anonymous@anonymizer.invalid)
From message/sipMIME

From
S/MIME
inner From
message/sipMIME
multipart/signed MIME application/pkcs7-mime

*
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
To: Bob <sip:bob@biloxi.com>
From: Anonymous <sip:anonymous@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Max-Forwards: 70
Date: Thu, 21 Feb 2002 13:02:03 GMT
Contact: <sip:pc33.atlanta.com>
Content-Type: multipart/signed;
protocol="application/pkcs7-signature";
micalg=sha1; boundary=boundary42
Content-Length: 568
--boundary42
Content-Type: application/pkcs7-mime; smime-type=enveloped-data;
name=smime.p7m
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=smime.p7m
handling=required
Content-Length: 231

*************************************************
* Content-Type: message/sip
*

*
*

24

Content-Length Content-Type

24.1
Bob 9

9: SIP
F1 REGISTER BobRegistrar
REGISTER sip:registrar.biloxi.com SIP/2.0
Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Bob <sip:bob@biloxi.com>;tag=456248
Call-ID: 843817637684230@998sdasdh09
CSeq: 1826 REGISTER
Contact: <sip:bob@192.0.2.4>
Expires: 7200
Content-Length: 0
200 OK
F2 200 OK RegistrarBob
SIP/2.0 200 OK
Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
; received=192.0.2.4
To: Bob <sip:bob@biloxi.com>;tag=2493k59kd
From: Bob <sip:bob@biloxi.com>;tag=456248
Call-ID: 843817637684230@998sdasdh09
CSeq: 1826 REGISTER
Contact: <sip:bob@192.0.2.4>

Expires: 7200
Content-Length: 0
24.2
4 1
Allow Supported
F1 INVITE Aliceproxy
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
(Alice SDP not shown)
F2 100 Trying proxy Alice
SIP/2.0 100 Trying
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Content-Length: 0
F3 INVITE proxy biloxi.com proxy
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
Max-Forwards: 69
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710

CSeq: 314159 INVITE


Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
(Alice SDP not shown)
F4 100 Trying biloxi.com proxyproxy
SIP/2.0 100 Trying
Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1
;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Content-Length: 0
F5 INVITE biloxi.com proxy Bob
INVITE sip:bob@192.0.2.4 SIP/2.0
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1
Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1
;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
Max-Forwards: 68
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
(Alice SDP not shown)
F6 180 Ringing Bobbiloxi.com proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1
;received=192.0.2.3

Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1


;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
Contact: <sip:bob@192.0.2.4>
CSeq: 314159 INVITE
Content-Length: 0
F7 180 Ringing Biloxi .company

proxy

SIP/2.0 180 Ringing


Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1
;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
Contact: <sip:bob@192.0.2.4>
CSeq: 314159 INVITE
Content-Length: 0
F8 180 Ringing proxy Alice
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
Contact: <sip:bob@192.0.2.4>
CSeq: 314159 INVITE
Content-Length: 0
F9 200 OK Bobbiloxi.com proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1
;received=192.0.2.3

Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1


;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:bob@192.0.2.4>
Content-Type: application/sdp
Content-Length: 131
(Bob SDP not shown)
F10 200 OK biloxi.com proxy atlanta.com proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1
;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:bob@192.0.2.4>
Content-Type: application/sdp
Content-Length: 131
(Bobs SDP not shown)
F11 200 OK proxy Alice
SIP/2.0 200 OK
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:bob@192.0.2.4>
Content-Type: application/sdp

Content-Length: 131
(BobSDP not shown)
F12 ACK Alice Bob
ACK sip:bob@192.0.2.4 SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds9
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 ACK
Content-Length: 0
Alice Bob
Bob Bob SIP Cseq
231 Bob To URI From URI
F13 BYE BobAlice
BYE sip:alice@pc33.atlanta.com SIP/2.0
Via: SIP/2.0/UDP 192.0.2.4;branch=z9hG4bKnashds10
Max-Forwards: 70
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
To: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 231 BYE
Content-Length: 0
F14 200 OK Alice Bob
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.0.2.4;branch=z9hG4bKnashds10
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
To: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 231 BYE
Content-Length: 0
SIP [41] SIP
25

SIP BNF

BNF BNF RFC2234[9]


RFC2234 6

RFC2234 SPLWSHTABCRLFDIGIT
ALPHA

25.1
US-ASCII ANSI X3.4-1986

Alphanum

= ALPHA / DIGIT

RFC 2396 [5] RFC 2234 [9]

reserved

= ";" / "/" / "?" / ":" / "@" / "&" / "=" / "+"


/ "$" / ","

unreserved = alphanum / mark


mark

= "-" / "_" / "." / "" / "~ " / "*" / " "/ "(" / ")"

escaped = "%" HEXDIG HEXDIG


SIP
SP SP
RFC 2616[7] HTTP/1.1 SWS

LWS

= [*WSP CRLF] 1*WSP ; linear whitespace

SWS

= [LWS] ; sep whitespace

linebreakHCOLON
HCOLON

= *( SP / HTAB ) ":" SWS

TEXT-UTF8 *TEXT-UTF8
UTF-8 RFC 2279 [6]TEXT-UTF8-TRIM
LWS SIP HTTPHTTP ISO 8859-1

TEXT-UTF8-TRIM

= 1*TEXT-UTF8char *(*LWS TEXT-UTF8char)

TEXT-UTF8char

= %x21-7E / UTF8-NONASCII

UTF8-NONASCII

= %xC0-DF 1UTF8-CONT
/ %xE0-EF 2UTF8-CONT
/ %xF0-F7 3UTF8-CONT
/ %xF8-Fb 4UTF8-CONT
/ %xFC-FD 5UTF8-CONT

UTF8-CONT

= %x80-BF

TEXT-UTF8-TRIM CRLF TEXT-UTF8- TRIM


SP LWS

LHE

= DIGIT / %x61-66 ;

lowercase

a-f

SIP LWS token


Word Call-ID

Token

= 1*(alphanum / "-" / "." / "" / "%" / "*"


/ "_" / "+" / "" / "" / "" )

separators = "(" / ")" / "<" / ">" / "@" /


"," / ";" / ":" / "\\" / DQUOTE /
"/" / "[" / "]" / "?" / "=" /
"{" / "}" / SP / HTAB
word

= 1*(alphanum / "-" / "." / "" / "%" / "*" /


"_" / "+" / "? / "? / "? /
"(" / ")" / "<" / ">" /
":" / "\\" / DQUOTE /
"/" / "[" / "]" / "?" /
"{" / "}" )

these characters:
STAR

= SWS "*" SWS ; asterisk

SLASH

= SWS "/" SWS ; slash

EQUAL

= SWS "=" SWS ; equal

LPAREN = SWS "(" SWS ; left parenthesis


RPAREN = SWS ")" SWS ; right parenthesis
RAQUOT = ">" SWS ; right angle quote
LAQUOT = SWS "<"; left angle quote
COMMA
SEMI
COLON

= SWS "," SWS ; comma


= SWS ";" SWS ; semicolon
= SWS ":" SWS ; colon

LDQUOT = SWS DQUOTE; open double quotation mark


RDQUOT = DQUOTE SWS ; close double quotation mark
SIP Commnet
comment

user-unreserved

= "&" / "=" / "+" / "$" / "," / ";" / "?" / "/"

Comment

= LPAREN *(ctext / quoted-pair / comment) RPAREN

Ctext

= %x21-27 / %x2A-5B / %x5D-7E / UTF8-NONASCII


/ LWS

ctext
\

quoted-string

= SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE

qdtext

= LWS / %x21 / %x23-5B / %x5D-7E


/ UTF8-NONASCII

\ HTTP/1.1
CR LF
quoted-pair

= "\\" (%x00-09 / %x0B-0C


/ %x0E-7F)

SIP-URI

= "sip:" [ userinfo ] hostport


uri-parameters [ headers ]

SIPS-URI

= "sip:" [ userinfo ] hostport


uri-parameters [ headers ]

userinfo

= ( user / telephone-subscriber ) [ ":" password ] "@"

user

= 1*( unreserved / escaped / user-unreserved )

user-unreserved

= "&" / "=" / "+" / "$" / "," / ";" / "?" / "/"

password

= *( unreserved / escaped /
"&" / "=" / "+" / "$" / "," )

hostport

= host [ ":" port ]

host

= hostname / IPv4address / IPv6reference

hostname

= *( domainlabel "." ) toplabel [ "." ]

domainlabe

= alphanum
/ alphanum *( alphanum / "-" ) alphanum

toplabel

= ALPHA / ALPHA *( alphanum / "-" ) alphanum

IPv4address

=1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT

IPv6reference
IPv6address
Hexpart

= "[" IPv6address "]"


= hexpart [ ":" IPv4address ]

= hexseq / hexseq "::" [ hexseq ] / "::" [ hexseq ]

Hexseq

= hex4 *( ":" hex4)

hex4

= 1*4HEXDIG

port

= 1*DIGIT

BNF RFC 2806 [8] BNF SIP URI

uri-parameter

= *( ";" uri-parameter)

uri-parameter

= transport-param / user-param / method-param


/ ttl-param / maddr-param / lr-param / other-param

transport-param = "transport="
( "udp" / "tcp" / "sctp" / "tls"
/ other-transport)
other-transport
user-param

= token

= "user=" ( "phone" / "ip" / other-user)

other-user

= token

method-param

= "method=" Method

ttl-param

= "ttl=" ttl

maddr-param

= "maddr=" host

lr-param

= "lr"

other-param

= pname [ "=" pvalue ]

pname

= 1*paramchar

pvalue

= 1*paramchar

paramchar

= param-unreserved / unreserved / escaped

param-unreserved

= "[" / "]" / "/" / ":" / "&" / "+" / "$"

headers

= "?" header *( "&" header )

header

= hname "=" hvalue

hname

= 1*( hnv-unreserved / unreserved / escaped )

hvalue

= *( hnv-unreserved / unreserved / escaped )

hnv-unreserved

= "[" / "]" / "/" / "?" / ":" / "+" / "$"

SIP-message

= Request / Response

Request

= Request-Line
*( message-header )
CRLF
[ message-body ]

Request-line

= Method SP Request-URI SP SIP-Version CRLF

Request-URI

= SIP-URI / SIPS-URI / absoluteURI

AbsoluteURI

= scheme ":" ( hier-part / opaque-part )

hier-part

= ( net-path / abs-path ) [ "?" query ]

net-path

= "//" authority [ abs-path ]

abs-path

= "/" path-segments

opaque-part

= uric-no-slash *uric

uric

= reserved / unreserved / escaped

uric-no-slash

= unreserved / escaped / ";" / "?" / ":" / "@"


/ "&" / "=" / "+" / "$" / ","

path-segments
segment

= segment *( "/" segment )

= *pchar *( ";" param )

param

= *pchar

pchar

= unreserved / escaped /

":" / "@" / "&" / "=" / "+" / "$" / ","


scheme

= ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )

authority

= srvr / reg-name

srvr

= [ [ userinfo "@" ] hostport ]

reg-name

= 1*( unreserved / escaped / "$" / ","


/ ";" / ":" / "@" / "&" / "=" / "+" )

query

= *uric

SIP-Version

= "SIP" "/" 1*DIGIT "." 1*DIGIT

message-header

= (Accept
/ Accept-Encoding
/ Accept-Language
/ Alert-Info
/ Allow
/ Authentication-Info
/ Authorization
/ Call-ID
/ Call-Info
/ Contact
/ Content-Disposition
/ Content-Encoding
/ Content-Language
/ Content-Length
/ Content-Type
/ CSeq
/ Date
/ Error-Info
/ Expires
/ From
/ In-Reply-To
/ Max-Forwards
/ MIME-Version
/ Min-Expires
/ Organization
/ Priority
/ Proxy-Authenticate
/ Proxy-Authorization

/ Proxy-Require
/ Record-Route
/ Reply-To
/ Require
/ Retry-After
/ Route
/ Server
/ Subject
/ Supported
/ Timestamp
/ To
/ Unsupported
/ User-Agent
/ Via
/ Warning
/ WWW-Authenticate
/ extension-header) CRLF

INVITEm

= %x49.4E.56.49.54.45 ; INVITE in caps

ACKm

= %x41.43.4B ; ACK in caps

OPTIONSm

= %x4F.50.54.49.4F.4E.53 ; OPTIONS in caps

BYEm

= %x42.59.45 ; BYE in caps

CANCELm

= %x43.41.4E.43.45.4C ; CANCEL in caps

REGISTERm

= %x52.45.47.49.53.54.45.52 ; REGISTER in caps

Method

= INVITEm / ACKm / OPTIONSm / BYEm


/ CANCELm / REGISTERm
/ extension-method

extension-method
Response

= token
=Status-Line
*( message-header )
CRLF
[ message-body ]

Status-Line

= SIP-Version SP Status-Code SP Reason-Phrase CRLF

Status-Code

= Informational
/

Redirection

Success

Client-Error

Server-Error

Global-Failure

extension-code

extension-code

= 3DIGIT

Reason-Phrase

= *(reserved / unreserved / escaped


/UTF8-NONASCII/UTF8-CONT/SP/HTAB)

Informational

= "100" ; Trying
/ "180" ; Ringing
/ "181" ; Call Is Being Forwarded
/ "182" ; Queued
/ "183" ; Session Progress

Success

Redirection

= "200" ; OK

="300" ; Multiple Choices


/ "301" ; Moved Permanently
/ "302" ; Moved Temporarily
/ "305" ; Use Proxy
/ "380" ; Alternative Service

Client-Error

= "400" ; Bad Request


/ "401" ; Unauthorized
/

"402" ; Payment Required

"403" ; Forbidden

"404" ; Not Found

"405" ; Method Not Allowed

"406" ; Not Acceptable

"407" ; Proxy Authentication Required

"408" ; Request Timeout

"410" ; Gone

"413" ; Request Entity Too Large

"414" ; Request-URI Too Large

"415" ; Unsupported Media Type

"416" ; Unsupported URI Scheme

"420" ; Bad Extension

"421" ; Extension Required

"423" ; Interval Too Brief

"480" ; Temporarily not available

"481" ; Call Leg/Transaction Does Not

"482" ; Loop Detected

"483" ; Too Many Hops

"484" ; Address Incomplete

"485" ; Ambiguous

"486" ; Busy Here

"487" ; Request Terminated

"488" ; Not Acceptable Here

"491" ; Request Pending

"493" ; Undecipherable

Exist

Server-Error

= "500" ; Internal Server Error


/ "501" ; Not Implemented
/ "502" ; Bad Gateway
/ "503" ; Service Unavailable
/ "504" ; Server Time-out
/ "505" ; SIP Version not supported
/ "513" ; Message Too Large

Global-Failure

= "600" ; Busy Everywhere


/ "603" ; Decline
/ "604" ; Does not exist anywhere
/"606" ; Not Acceptable

Accept

= "Accept" HCOLON
[ accept-range *(COMMA accept-range) ]

accept-range
media-range

= media-range *(SEMI accept-param)


= ( "*/*"
/ ( m-type SLASH "*" )
/ ( m-type SLASH m-subtype )
) *( SEMI m-parameter )

accept-param

= ("q" EQUAL qvalue) / generic-param

qvalue

= ( "0" [ "." 0*3DIGIT ] )


/ ( "1" [ "." 0*3("0") ] )

generic-param

= token [ EQUAL gen-value ]

gen-value

= token / host / quoted-string

Accept-Encoding = "Accept-Encoding" HCOLON


Encoding
Codings

= codings *(SEMI accept-param)


= content-coding / "*"

content-coding

Accept-Language

= token

= "Accept-Language" HCOLON
[ language *(COMMA language) ]

language

= language-range *(SEMI accept-param)

language-range

= ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) / "*" )

Alert-Info

= "Alert-Info" HCOLON alert-param *(COMMA alert-param)

alert-param

= LAQUOT absoluteURI RAQUOT *( SEMI generic-param )

Allow

= "Allow" HCOLON [Method *(COMMA Method)]

Authorization
Credentials

= "Authorization" HCOLON credentials


= ("Digest" LWS digest-response)
/ other-response

digest-response = dig-resp *(COMMA dig-resp)


dig-resp

= username / realm / nonce / digest-uri


/ dresponse / algorithm / cnonce
/ opaque / message-qop
/ nonce-count / auth-param

username

= "username" EQUAL username-value

username-value

= quoted-string

digest-uri

= "uri" EQUAL LDQUOT digest-uri-value RDQUOT

digest-uri-value

= rquest-uri ; Equal to request-uri as specified


by HTTP/1.1

message-qop

= "qop" EQUAL qop-value

cnonce

= "cnonce" EQUAL cnonce-value

cnonce-value

= nonce-value

nonce-count

="nc" EQUAL nc-value

nc-value

= 8LHEX

dresponse

="response" EQUAL request-digest

request-digest
auth-param

= LDQUOT 32LHEX RDQUOT


= auth-param-name EQUAL
( token / quoted-string )

auth-param-name = token
other-response

= auth-scheme LWS auth-param


*(COMMA auth-param)

auth-scheme

= token

Authentication-Info = "Authentication-Info" HCOLON ainfo


*(COMMA ainfo)
ainfo

= nextnonce / message-qop
/ response-auth / cnonce
/ nonce-count

nextnonce
response-auth

= "nextnonce" EQUAL nonce-value


= "rspauth" EQUAL response-digest

response-digest = LDQUOT *LHEX RDQUOT


Call-ID

= ( "Call-ID" / "i" ) HCOLON callid

Called

= word [ "@" word ]

Call-Info

= ( "Call-ID" / "i" ) HCOLON callid

Info

= LAQUOT absoluteURI RAQUOT *( SEMI info-param)

info-param

= ( "purpose" EQUAL ( "icon" / "info"


/ "card" / token ) ) / generic-param

Contact

= ("Contact" / "m" ) HCOLON


( STAR / (contact-param *(COMMA contact-param)))

contact-param

= (name-addr / addr-spec) *(SEMI contact-params)

name-addr

= [ display-name ] LAQUOT addr-spec RAQUOT

addr-spec

= SIP-URI / SIPS-URI / absoluteURI

display-name

contact-params

= *(token LWS)/ quoted-string

= c-p-q / c-p-expires
/ contact-extension

c-p-q

= "q" EQUAL qvalue

c-p-expires

= "expires" EQUAL delta-seconds

contact-extension

= generic-param

delta-seconds

= 1*DIGIT

Content-Disposition = "Content-Disposition" HCOLON


disp-type *( SEMI disp-param )
disp-type

= "render" / "session" / "icon" / "alert"


/ disp-extension-token

disp-param

= handling-param / generic-param

handling-param

= "handling" EQUAL
( "optional" / "required"
/ other-handling )

other-handling

= token

disp-extension-token= token

content-Encoding

= ( "Content-Encoding" / "e" ) HCOLON


content-coding *(COMMA content-coding)

content-Language

= "Content-Language" HCOLON
language-tag *(COMMA language-tag)

language-tag

= primary-tag *( "-" subtag )

primary-tag

= 1*8ALPHA

subtag

= 1*8ALPHA

Content-Length

= ( "Content-Length" / "l" ) HCOLON 1*DIGIT

Content-Type

= ( "Content-Type" / "c" ) HCOLON media-type

media-type

= m-type SLASH m-subtype *(SEMI m-parameter)

m-type

= discrete-type / composite-type

discrete-type

= "text" / "image" / "audio" / "video"


/ "application" / extension-token

composite-type

= "message" / "multipart" / extension-token

extension-token = ietf-token / x-token


ietf-token

= token

x-token

= "x-" token

m-subtype

= extension-token / iana-token

iana-token

= token

m-parameter

= m-attribute EQUAL m-value

m-attribute

= token

m-value

= token / quoted-string

Cseq

= "CSeq" HCOLON 1*DIGIT LWS Method

Date

= "Date" HCOLON SIP-date

SIP-date

= rfc1123-date

rfc1123-date
date1

= wkday "," SP date1 SP time SP "GMT"


= 2DIGIT SP month SP 4DIGIT
; day month year (e.g., 02 Jun 1982)

time

= 2DIGIT ":" 2DIGIT ":" 2DIGIT


; 00:00:00 - 23:59:59

wkday

= "Mon" / "Tue" / "Wed"


/ "Thu" / "Fri" / "Sat" / "Sun"

month

= "Jan" / "Feb" / "Mar" / "Apr"


/ "May" / "Jun" / "Jul" / "Aug"
/ "Sep" / "Oct" / "Nov" / "Dec"

Error-Info

= "Error-Info" HCOLON error-uri *(COMMA error-uri)

error-uri

= LAQUOT absoluteURI RAQUOT *( SEMI generic-param )

Expires

= "Expires" HCOLON delta-seconds

From

= ( "From" / "f" ) HCOLON from-spec

from-spec

= ( name-addr / addr-spec )
*( SEMI from-param )

from-param

= tag-param / generic-param

tag-param

= "tag" EQUAL token

In-Reply-To

= "In-Reply-To" HCOLON callid *(COMMA callid)

Max-Forwards

= "Max-Forwards" HCOLON 1*DIGIT

MIME-Version

= "MIME-Version" HCOLON 1*DIGIT "." 1*DIGIT

Min-Expires

= "Min-Expires" HCOLON delta-seconds

Organization

= "Organization" HCOLON [TEXT-UTF8-TRIM]

Priority

= "Priority" HCOLON priority-value

priority-value

= "emergency" / "urgent" / "normal"


/ "non-urgent" / other-priority

other-priority

= token

Proxy-Authenticate

= "Proxy-Authenticate" HCOLON challenge

Challenge

= ("Digest" LWS digest-cln *(COMMA digest-cln))


/other-challenge

other-challenge = auth-scheme LWS auth-param


*(COMMA auth-param)
digest-cln

= realm / domain / nonce


/ opaque / stale / algorithm
/ qop-options / auth-param

realm

= "realm" EQUAL realm-value

realm-value

= quoted-string

domain

= "domain" EQUAL LDQUOT URI


*( 1*SP URI ) RDQUOT

URI

= absoluteURI / abs-path

Nonce

= "nonce" EQUAL nonce-value

nonce-value

= quoted-string

opaque

= "opaque" EQUAL quoted-string

stale

= "stale" EQUAL ( "true" / "false" )

algorithm

= "algorithm" EQUAL ( "MD5" / "MD5-sess"


/ token )

qop-options

= "qop" EQUAL LDQUOT qop-value


*("," qop-value) RDQUOT

qop-value

= "auth" / "auth-int" / token

proxy-Authorization = "Proxy-Authorization" HCOLON credentials

proxy-Require

= "Proxy-Require" HCOLON option-tag


*(COMMA option-tag)

option-tag

= token

record-Route

= "Record-Route" HCOLON rec-route *(COMMA rec-route)

rec-route

= name-addr *( SEMI rr-param )

rr-param

= generic-param

Reply-To

= "Reply-To" HCOLON rplyto-spec

rplyto-spec

= ( name-addr / addr-spec )
*( SEMI rplyto-param )

rplyto-param
Require

Retry-After

= generic-param
= "Require" HCOLON option-tag *(COMMA option-tag)

= "Retry-After" HCOLON delta-seconds


[ comment ] *( SEMI retry-param )

retry-param

= ("duration" EQUAL delta-seconds)


/ generic-param

Route

= "Route" HCOLON route-param *(COMMA route-param)

route-param

= name-addr *( SEMI rr-param )

Server

= "Server" HCOLON server-val *(LWS server-val)

server-val

= product / comment

product

= token [SLASH product-version]

product-version = token

Subject

= ( "Subject" / "s" ) HCOLON [TEXT-UTF8-TRIM]

Supported

= ( "Supported" / "k" ) HCOLON


[option-tag *(COMMA option-tag)]

Timestamp

= "Timestamp" HCOLON 1*(DIGIT)


[ "." *(DIGIT) ] [ LWS delay ]

delay

To

= *(DIGIT) [ "." *(DIGIT) ]

= ( "To" / "t" ) HCOLON ( name-addr


/ addr-spec ) *( SEMI to-param )

to-param

= tag-param / generic-param

Unsupported

= "Unsupported" HCOLON option-tag *(COMMA option-tag)

User-Agent

= "User-Agent" HCOLON server-val *(LWS server-val)

Via

= ( "Via" / "v" ) HCOLON via-parm *(COMMA via-parm)

via-parm

= sent-protocol LWS sent-by *( SEMI via-params )

via-params

= via-ttl / via-maddr
/ via-received / via-branch
/ via-extension

via-ttl

= "ttl" EQUAL ttl

via-maddr

= "maddr" EQUAL host

via-received

= "received" EQUAL (IPv4address / IPv6address)

via-branch

= "branch" EQUAL token

via-extension

= generic-param

sent-protocol

= protocol-name SLASH protocol-version


SLASH transport

protocol-name
protocol-version
transport

= "SIP" / token
= token
= "UDP" / "TCP" / "TLS" / "SCTP"
/ other-transport

sent-by

= host [ COLON port ]

ttl

= 1*3DIGIT ; 0 to 255

Warning

= "Warning" HCOLON warning-value *(COMMA warning-value)

warning-value

= warn-code SP warn-agent SP warn-text

warn-code

= 3DIGIT

warn-agent

= hostport / pseudonym
; the name or pseudonym of the server adding
; the Warning header, for use in debugging

warn-text

=quoted-string

pseudonym

= token

WWW-Authenticate

= "WWW-Authenticate" HCOLON challenge

extension-header

= header-name HCOLON header-value

header-name
header-value

= token
= *(TEXT-UTF8char / UTF8-CONT / LWS)

message-body
26

= *OCTET

SIP

SIP
SIP SIP RTP
SIP MIME SIP
SIP

SIP
SIP
SIP

26.1
SIP SIP

SIP

SIP

26.1.1
SIP
REGISTER From
To

UA SIP
contact URI

SIP SIP UAS


UA SIP

SIP

26.1.2
Request-URI UA
UA
chicago.com biloxi.com
biloxi.com chicago.com
biloxi.com SIP
UA biloxi.com

chicago.com biloxi.com chicago.com 301


biloxi.com
chicago.com UA REGISTER chicago.com
UA
26.1.3
SIP UA
UA

UA SIP UA

UA
SIP
MIME SDP
SDP RTP
SIP SubjectUA

UA SIP

26.1.4
/

To From
BYE
BYE

re-INVITE

SIP
MIME SDP
SDP RTP
SIP SubjectUA

UA SIP

26.1.5
/

To From
BYE
BYE

re-INVITE

REGISTER

contact

SIP

26.2
SIP

SIP
SIP SIP HTTP SMTP

SIP
Request-URIRoute Via SIP
Via
SIP UA SIP
SIP


SIP SIP UA
SIP

SIP

26.2.1

TLS[24] IPSec[25]
IPSec IPInternet IPSec

IPSec

IPSec
IPSec SIP IPSec
SIP UA
IPSecSIP IPSec IPSec
SIP
TLS TCPtls
via SIP-URI
tls TCP TLS

Alice Alice Bob


Bob Alice
TLS SIP SIP TLS
UA TLS
SIP TLS TLS_RSA_WITH_AES_128_CBC_SHA
[26]
TLS_RSA_WITH_3DES_EDE_CBC_SHA
26.2.2 SIPS URI
sipssipSIPS URI SIP URI
19 SIPS SIP URI SIPS
SIPS URI URI
From REGISTER To
Request-URI SIPS
Request-URI SIP
TLS
UAS TLS SIPS URI
SIPS URI SIPS
SIPS Request-URI SIP
SIP URIContact REGISTER Route

SIPS URI SIPS


URI [4]
SIPS TLS
TLS-RSA-WITH-AES-128-CBC-SHA

SIPS URI TLS


sips:alice@atlanta.com;transport=tcp sips:alice@atlanta.com;transport=sctp

UDP SIPS transport=tls


RFC2543
SIPS URI

26.2.3 HTTP
HTTP SIP HTTP 401 407
SIP HTTP

22 SIP
26.2.4 S/MIME
SIP

SIP
S/MIME SIP UA SIP MIME
S/MME
S/MME SIP SIP
23 SIP S/MIME
26.3
26.3.1 SIP
TLS
UA TLSUA TLS
UA
TLS TLS SIP
TLS

TLS SIP SIPS URI


UA IPSec

UA UAC TLS
SIP UAS TLS


UA 22

realm
UA MIME 23 S/MIME
UA TLS IPSec
S/MIME UA S/MIME

S/MIME
S/MIME
26.3.2
web email
UA
TLS UA

UA
S/MIME
UA
26.1

Registration UA TLS
10 UA
UA
UA UA
alice@atlanta.com sip.atlanta.com
TLS UA
UA REGISTER
UA UA

UA REGISTER
Request-URI UA TLS REGISTER
401() Proxy-Authenticate realm
UAC
realm REGISTER To
URI USERINFO Proxy-Authenticate
REGISTER

REGISTER REGISTER TLS


REGISTER
UA
TLS UA
TLS

UA TLS

Interdomain Requests Alice UA


bob@biloxi.com atlanta.com

TLS
INVITE TLSUA
INVITE
UA INVITE Request-URI
[4] Request-URI domainname (Atlanta.com)
biloxi.com

alice@atlanta.com alex@atlanta.com
Alex TLS Alex
Alice
Request-URI
biloxi.xom TLS
SIP
biloxi.xom
TLS biloxi.com INVITE
biloxi.com
INVITE From domainname Biloxi

SMTP SIP
bioxi.com
Alice bioxi.com Alice
bioxi.com bioxi.com

bioxi INVITE
bob@biloxi.com TLS biloxi
TLS Alice Bob From
atlanta.com Alice
Record-Route

Record-Route
Alice Bob
S/MIME
Alice Bob
BYE Bob Alice
Bob Alice

Pear-to-Pear Requests UA carol@chicago.com


Carol INVITE bob@biooxi.com UA biloxi
TLS [4] Request-URI
Carol
UA biloxi TLS INVITE
Carol biloxi INVITE message/sip
CMS biloxi.com
Carol biloxi.com Biloxi From
domainname biloxi.com

Biloxi Bob Bob@biloxi.com


<sip:bob@192.0.2.4>Carol biloxi
TLS
Carol TCP Request-URI INVITE
Bob
INVITE UA From
INVITE Carol

NAT TCP UA
UA
TLS TCP

Dos Protection

SIP
ping TLS IPSec

SIP

SIP

UA 401 407

401 407
Via
TLS
SIP

26.4

26.4.1 HTTP
SIP HTTP SIP
Request-URI UA

RFC2617 SIP

HTTP

TLS
UA
26.4.2 S/MIME
S/MIME

23.2 SIP
S/MIME
CMS
CMS

UA

SSH SSH
SIP SSH
SIP

Clipper

UA S/MIME UA

UA S/MIME
UA

S/MIME 23.4 SIP


S/MIME TCP
26.4.3 TLS
TLS UDP TLS
TCP
/ UA TLS

TLS
UA
TLS SIP TLS TLS
TCP

26.4.4 SIPS URI


TLS TLS UAS
SIPS URI SIPS TLS
UAS SIPS
TLS UA TLS TLS UA
TLS TLS UAS TLS
SIPS Request-URI SIPS
10.2.1
AOR
SIPS URI SIP URI
SIPS Request-URI
Contact
TLS
SIPS 16.6
SIPS URI SIP URI
SIP SIPS URI Request-URI
SIPS URI Request-URI SIPS

Request-URI SIP SIPS URI To


SIPS URI URI To URI

Request-URI To SIPS
Via
TLS UAC S/MIME To

UAS Request-URI UA

SIPS

SIPS SIP URI


Stimuli
SIPS DNS
SIPS SIPS AOR
SIPS SIP
UA SIPS
SIP URI SIPS

26.5
SIP

SIP

From
To
Request-URI
To
Request-URI To
27

IANA

SIP IANA
RFC LANA
IANA
http://www.iana.org/assignments/sipparameters

27.1

http://www.iana.org/assignments/sip-parameters
RequireSupportedProxy-Require Unsupport
SIP ( 19.2 ) SIP
() SIP
RFC IANA RFC IANA
RFC IANA
z
z

20
25

27.2

http://www.iana.org/assignments/sip-parameters 20.43
RFC


(SDP)(RFC23271) SIP

3 SIP
3XX 3XX
300 329 330 339
370 379
QOS 390 399

27.3

IANA http://www.iana.org/assignments/sipparameters

RFC
z

RFC

( 7.3.3 ) SIP
RFC
27.4

http://www.iana.org/assignments/sip-parameters

INVITE

[RFC3261]

ACK

[RFC3261]

BYE

[RFC3261]

CANCEL

[RFC3261]

REGISTER
OPTIONS

[RFC3261]
[RFC3261]

INFO

[RFC2976]

21 Informational

(, Informational)
Number

Default Reason Phrase

[RFC3261]

RFC
z

RFC RFC

27.5 message/sipMIME
SIP SIP message/sipMIME

Media type name: message


Media subtype name: sip
Required parameters: none

SIP (2.0)2.0
SIP 8 MIME
SIP SIP

23.4 S/MIME
27.6 Content-Disposition
4 Content-Dispositio disposition-type
Content-Disposition IANA
Content-Disposition 20.11 IAMA
alert

icon

render

session
28

RFC2327 SDP

RFC 2543

RFC 3261 RFC 2543 RFC 2543


RFC 2543 RFC 2543

RFC 3261 RFC 2543 RFC 2543


RFC 2543

28.1
z

UAC CANCEL
INVITE 2xxUAC BYE

BYE RFC3261
RFC 2543
z

SIP BNF RFC 2234

SIP URL BNF

URI URI

Via
Via

RFC 2543 CANCEL INVITE RFC 3261


INVITE CANCEL INVITE
UAS 487 INVITE

RFC 2543 CANCEL BYE RFC 2543 UAS


BYE INVITE RFC 3261
INVITE

RFC 2543 UA UDP RFC 3261 UA UDP TCP

RFC 2543
RFC 3261

URI RFC 2617 RFC 2069

SDP [12]
/ sip SIP
INVITE/200 200/ACK SDPRFC 2543 INVITE200
ACK SDP
SDP

URI Via IPv6 Via Ipv6 Via

ASCII

DNS SRV [4] SRV NAPTR


RFC 2543 SRV

Max-Forwards RFC 2543


bug bug
RFC 3261

RFC 3261 ( RFC 2543 )


RFC 3261

Supported
Require

BNF

Route Record-Route RFC 2543

RFC 3261 ()

Record-Route Route

RFC 2543 CRLF CRLF CRLF

CANCEL ACK Route RFC 2543 RFC 3261


Route 2xx CANCEL
ACK Route 2xx ACK Route
2xx Record-Route

RFC 2543 UDP RFC 3261

Expires
RFC 3261

Via RFC 3261


RFC 2543
Magic cookies

RFC 2543 TCP CANCEL TCP


RFC 3261
TCP SIP

RFC2543 UA UA
RFC3261 INVITE
INVITE

RFC3261 PGP PGP MIME


RFC3261 PGP S/MIME

RFC3261 TLS sipsURI RFC2543


Request-URI SIPS URI

SIPS URI

RFC3261 TLS

RFC2543 101199 RFC3261


101 199

RFC2543 503

503 DNS SRV


503

RFC2543 UA RFC3261
RFC2617

UA INVITE ACK BYE RFC2543

UA CANCEL RFC2543

RFC3261

RFC2543
RFC3261

RFC3261

RFC3261 6xx
UAC 2xx
6xx6xx

RFC2543
UA

28.2
z

Alert-InfError-Info Call-Info

Content-LanguageContent-Disposition MIME-Version

re-INVITE
491

IN-Reply-To Reply-To

TLS SCTP SIP

RFC2543 RFC3261
BYE

RFC2543 TCP INVITE


2xx INVITE RFC3261
RFC2543 TCP
INVITE 2xx

TCP UDP

REGISTER Date

423
Min-Expires

You might also like