tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Glossaries     Architecture     IMS     UICC    |    search

ABNF grammars

|   SIP   |   SIP URIs   |   SIP Headers   |   SIP Private Headers   |   SDP   |
|   HTTP   |   Generic URI   |   IRI   |   IMF   |   MSRP   |   RTSP   |   ABNF Notation   |

ABNF for SDP – Session Description Protocol

|   Session Description   |   v=   |   o=   |   s=   |   i=   |   u=   |   e=   |   p=   |   c=   |   b=   |   t=  r=  z=   |   k=   |   a=   |   m=   |   SDP Addressing   |   SDP generic rules   |   "a=" SDP Attributes   |

Here          Top          None          None          Next

 


session-description   =
proto-version
;  "v="  protocol version
origin-field
;  "o="  originator and session identifier
session-name-field
;  "s="  session name
information-field
;  "i="  session information (OPTIONAL)
uri-field
;  "u="  URI of description (OPTIONAL)
email-fields
;  "e="  email address (OPTIONAL)
phone-fields
;  "p="  phone number (OPTIONAL)
connection-field
;  "c="  connection information (OPTIONAL)
bandwidth-fields
;  "b="  zero or more bandwidth information lines (OPTIONAL)
time-fields
;  one or more time descriptions
;  "t="  time the session is active
;  "r="  zero or more repeat times (OPTIONAL)
;  "z="  time zone adjustments (OPTIONAL)
key-field
;  "k="  encryption key (OPTIONAL)
attribute-fields
;  "a="  zero or more session attribute lines (OPTIONAL)
media-descriptions
;  zero or more media descriptions
;  "m="  media name and transport address
;  "i="  media title (OPTIONAL)
;  "c="  connection information (OPTIONAL)
;  "b="  zero or more bandwidth information lines (OPTIONAL)
;  "k="  encryption key (OPTIONAL)
;  "a="  zero or more media attribute lines (OPTIONAL)

Up


SDP example

v=0
o=alice   2890844526   2890844526   IN   IP4   host.atlanta.example.com
s=
c=IN   IP4   host.atlanta.example.com
t=0   0
m=audio   49170   RTP/AVP   0   8   97
a=rtpmap:0   PCMU/8000
a=rtpmap:8   PCMA/8000
a=rtpmap:97   iLBC/8000
m=video   51372   RTP/AVP   31   32
a=rtpmap:31   H261/90000
a=rtpmap:32   MPV/90000

Up




proto-version   =
%x76   "="   1*DIGIT   CRLF

Up


origin-field   =
%x6f   "="   username   SP   sess‑id   SP   sess‑version   SP   nettype   SP   addrtype   SP   unicast‑address   CRLF

username   =
sess-id   =
1*DIGIT

sess-version   =
1*DIGIT

nettype   =
token

; Network Type,   see:  IANA
; IN    RFC 4566Section 8.2.6
; TN    RFC 2848Section 3.4.1
; ATM    RFC 3108Section 9
; PSTN    RFC 7195Section 8.2


addrtype   =
token

; Address Type,   see:  IANA
; IP4,   IP6     RFC 4566 Section 8.2.7
; NSAP,   GWID,   E164     RFC 3108Section 9
; E164     RFC 7195Section 8.3


Up


session-name-field   =
%x73   "="   text   CRLF

Up


information-field   =
[ %x69   "=" text   CRLF ]

Up


uri-field   =
[ %x75   "=" uri   CRLF]

uri   =

Up


email-fields   =
*( %x65   "="   email‑address   CRLF )

email-address   =
address-and-comment   =
addr‑spec   1*SP   "("   1*email‑safe   ")"

dispname-and-address   =
1*email‑safe   1*SP   "<"   addr‑spec   ">"

Up


phone-fields   =
*( %x70   "="   phone‑number   CRLF )

phone-number   =
phone   *SP   "("   1*email‑safe   ")"  /  1*email‑safe   "<"   phone   ">"  /  phone

phone   =
[ "+" ]   DIGIT   1*( SP  /  "-"  /  DIGIT )

Up


connection-field   =
[ %x63   "="   nettype   SP   addrtype   SP   connection‑address   CRLF ]

connection-address   =
multicast-address  /  ;   RFC 4566
unicast-address  /  ;   RFC 4566
global-number-digits  /  ;   RFC 7195Section 5.7
"-;   RFC 7195

Up


bandwidth-fields   =
*( %x62   "="   bwtype   ":"   bandwidth   CRLF )

bwtype   =
token

; Bandwidth Type,   see:  IANA
; "CT"   Conference Total
; "AS"   Application Specific
; "RS"   RTCP for Senders     RFC 3556Section 2
; "RR"   RTCP for Receivers     RFC 3556Section 2
; "TIAS"   Transport Independent Application Specific     RFC 3890Section 6.2.2


bandwidth   =
1*DIGIT

Up


time-fields   =
1*( %x74   "="   start‑time   SP   stop‑time   *( CRLF   repeat‑fields )   CRLF)   [ zone‑adjustments   CRLF ]

start-time   =
time  /  "0"

stop-time   =
time  /  "0"

time   =
repeat-fields   =
%x72   "="   repeat‑interval   SP   typed‑time   1*( SP   typed‑time )

repeat-interval   =
typed-time   =
fixed-len-time-unit   =
"d"  /  "h"  /  "m"  /  "s"

zone-adjustments   =
%x7a   "="   time   SP   [ "-" ]   typed‑time   *( SP   time   SP   [ "-" ]   typed‑time )

Up


key-field   =
[ %x6b   "="   key‑type   CRLF ]

key-type   =
"prompt"  /  "clear:"   text  /  "base64:"   base64  /  "uri:"   uri

base64   =
base64-unit   =
base64-pad   =
2base64‑char   "=="  /  3base64‑pad   "="

base64-char   =
ALPHA  /  DIGIT  /  "+"  /  "/"

Up


attribute-fields   =
*( %x61   "="   attribute   CRLF )

attribute   =
att‑field   ":"   att‑value )  /  att‑field

att-field   =
att-value   =

Up


media-descriptions   =
media-field   =
%x6d   "="   media   SP   port   [ "/"   integer ]   SP   proto   1*( SP   fmt )   CRLF

media   =
token

; Media Type,   see:  IANA
; audio,   video,   text,   application,   message    RFC 4566Section 8.2.1
; image    RFC 6466Section 1


port   =
1*DIGIT

proto   =
token   *( "/"   token )

; Transport Protocol,   see:  IANA
; RTP/AVP,   RTP/SAVP,   udp     RFC 4566Section 8.2.2
; TCP     RFC 4145Section 3
; TCP/RTP/AVP     RFC 4571Section 4
; TCP/TLS     RFC 4572Section 4
; TCP/BFCP,   TCP/TLS/BFCP     RFC 4583Section 3
; RTP/AVPF     RFC 4585Section 9
; TCP/MSRP,   TCP/TLS/MSRP     RFC 4975Section 8.1
; RTP/SAVPF     RFC 5124Section 3.1
; DCCP,   DCCP/RTP/AVP,   DCCP/RTP/SAVP,   DCCP/RTP/AVPF,   DCCP/RTP/SAVPF     RFC 5762Section 5.1
; UDP/TLS/RTP/SAVP,   DCCP/TLS/RTP/SAVP,   UDP/TLS/RTP/SAVPF,   DCCP/TLS/RTP/SAVPF    RFC 5764Section 9
; UDP/MBMS-FEC/RTP/AVP,   UDP/MBMS-FEC/RTP/SAVP,   UDP/MBMS-REPAIR    RFC 6064Section 8.1
; FEC/UDP,   UDP/FEC    RFC 6364Section 8.1
; TCP/MRCPv2,   TCP/TLS/MRCPv2    RFC 6787Section 13.7.1
; PSTN    RFC 7195Section 8.4
; UDP/TLS/UDPTL    RFC 7345Section 7
; TCP/RTP/AVPF,   TCP/RTP/SAVP,   TCP/RTP/SAVPF,   TCP/DTLS/RTP/SAVP,   TCP/DTLS/RTP/SAVPF,   TCP/TLS/RTP/AVP,   TCP/TLS/RTP/AVPF    RFC 7850Section 5


fmt   =

Up