tech-invite   World Map
3GPP     Specs     Glossaries     Architecture     IMS     UICC       IETF     RFCs     Groups     SIP     ABNFs       Search     Home

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
Up

username   =
sess-id   =
1*DIGIT
Up

sess-version   =
1*DIGIT
Up

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

Up

addrtype   =
token

; Address Type,   see:  IANA
; IP4,   IP6     RFC 4566Section 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]
Up

uri   =

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

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

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


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

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

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


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

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 )
Up

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

Up

bandwidth   =
1*DIGIT
Up


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

start-time   =
time  /  "0"
Up

stop-time   =
time  /  "0"
Up

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

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

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


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

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

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

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


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

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

att-field   =
att-value   =

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

media   =
token

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

Up

port   =
1*DIGIT
Up

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 8122Section 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

Up

fmt   =