⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgcp3435.abnf

📁 mgcp协议源代码和测试程序,还有一个编译器
💻 ABNF
📖 第 1 页 / 共 3 页
字号:
                                    / "." / "$" / "*" / "@" / "[" / "]"
                                    / "^" / "`" / "{" / "}" / "~"

SuitableLCOCharacter               = SUITABLEEXTLCOCHARACTER / "/"
                                   
SuitableExtLCOValChar              = SUITABLELCOCHARACTER / ":"

; VCHAR except """, "(", ")", ",", and "="
SuitableEventParamCharacter        = %x21 / %x23-27 / %x2A-2B
                                   / %x2D-3C / %x3E-7E

; NOTE: UTF8 encoded
quotedString  	                   = DQUOTE *QSTRING DQUOTE
Qstring 		                       = QESCS / QCHARS
QEscs     	  	                   = quoteEscape
QChars   		                       = quoteChar
quoteEscape                        = DQUOTE DQUOTE
quoteChar                          = %x00-21 / %x23-FF
;;NOTE: if the quoteChar is 0x00, the decoded Qstring part will 
;;only contain the su-string before the 0x00 part.


; See RFC 2327prop for proper SDP grammar instead.
;SDPinformation                     =  1*(SDPLine CRLF)        ; see RFC 2327prop
;SDPLine                            = 1*(SDPLineChar) ; for proper def.
;SDPLineChar                        = %x01-09 / %x0B / %x0C / %x0E-FF

Announcement =        proto-version-field                         
                      [origin-field]       
                      [session-name-field] 
                      [information-field]  
                      [uri-field]          
                      *(email-fields)      
                      *(phone-fields)      
                      [connection-field]   
                      *(bandwidth-fields)  
                      [time-fields]        
                      [key-field]          
                      *(attribute-fields)  
                      *(media-descriptions)
                                                                        
proto-version-field     = "v=" proto-version CRLF
proto-version           = 1*DIGIT
   
origin-field =        "o=" username SP
                      sess-id SP sess-version SP
                      nettype SP addrtype SP
                      addr CRLF
                      
addr =                IPV4ADDRESS / IPV6ADDRESS / FQDN

session-name-field =  "s=" text CRLF

information-field =   "i=" information CRLF
information       =   text

uri-field =           "u=" uri CRLF

email-fields =        "e=" email-address CRLF

phone-fields =        "p=" phone-number CRLF

connection-field =    "c=" nettype SP addrtype SP connection-address CRLF

bandwidth-fields =    "b=" bwtype ":" bwvalue CRLF

time-fields   =       1*(time-field) [zone-adjustments CRLF]
time-field    =       "t=" start-time SP stop-time
                      *(CRLF repeat-fields) CRLF
                      
repeat-fields =       "r=" repeat-interval SP typed-time
                      1*(SP typed-time)


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

key-field =           "k=" key-type CRLF

                      
key-type 	        = "prompt" / clear / base64 / Uri-type                      
clear             = "clear:" key-data
base64            = "base64:" key-data
Uri-type          = "uri:" uri

key-data =            email-safe / "~" 

attribute-fields =    "a=" attribute CRLF

media-descriptions =   media-field
                      [information-field]
                      *(connection-field)
                      *(bandwidth-fields)
                      [key-field]
                      *(attribute-fields)

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

media =               1*(ALPHA-NUMERIC)
                      ;typically "audio", "video", "application" or "data"

fmt =                 1*(ALPHA-NUMERIC)
                      ;typically an RTP payload type for audio and video media

proto =               "RTP/AVP" / "udp" / otherproto
otherproto = 1*(ALPHA-NUMERIC)
                      ;typically "RTP/AVP" or "udp" for IP4

port =                1*(DIGIT)
                      ;should in the range "1024" to "65535" inclusive for UDP based media

attribute =           att-field-value / att-field
att-field-value =     att-field ":" att-value

att-field =           1*(ALPHA-NUMERIC)

att-value =           1*BYTE-STRING

sess-id =             1*(DIGIT)
                      ;should be unique for this originating username/host

sess-version =        1*(DIGIT)
                      ;0 is a new session

connection-address =   multicast-address / IPv4address / IPv6address / FQDN 
                      
Fqdn =                4*(FQDN-CHARS)
                      ;fully qualified domain name as specified in RFC1035
                      
fqdn-chars      =     ALPHA-NUMERIC/"-"/"."


multicast-address =   IPV4ADDRESS "/" TTL
                      [ INTEGERPART ]
IntegerPart       =   "/" INTEGER                      
                      ;multicast addresses may be in the range
                      ;224.0.0.0 to 239.255.255.255

ttl =                 decimal-uchar

start-time =          time / "0"

stop-time =           time / "0"

time =                POS-DIGIT 9*(DIGIT)
                      ;sufficient for 2 more centuries

repeat-interval =     typed-time

typed-time =          1*(DIGIT) [fixed-len-time-unit]

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

bwtype =              1*(ALPHA-NUMERIC)

bwvalue =           1*(DIGIT)

username =            SAFE
                      ;pretty wide definition, but doesn't include SP

email-address           = email-type1 / email-type2 / email
email-type1             = email-safe "<" email ">"
email-type2             = email "(" email-safe ")"
email-name              = 1*(email-safe)

email                   = *(text)      ;defined in RFC822 !!!!!!!!!!!!!!
uri                     = *(text)   ;defined in RFC1630 !!!!!!!!!!!!!!!

phone-number =        phone-type1 / phone-type2 / phone-type3

phone-type1 =         phone "(" email-safe ")" 
                      

phone-type2 =         email-safe "<" phone ">"

phone-type3 =         phone

Phone =               "+" POS-DIGIT 1*SP-DASH-DIGIT
                      ;there must be a SP or hyphen between the
                      ;international code and the rest of the number.
                      
Sp-Dash-Digit =    SP / "-" / DIGIT

nettype =             "IN"
                      ;list to be extended
                      / "LOCAL"

addrtype =            "IP4" / "IP6"
                      ;list to be extended
                      / "EPN "
                      

text =                1*BYTE-STRING
                      ;default is to interpret this as IS0-10646 UTF8
                      ;ISO 8859-1 requires a "a=charset:ISO-8859-1"
                      ;session-level attribute to be used

Byte-String =         %x01-09 / %x0B / %x0C / %x0E-ff
                      ;any byte except NUL, CR or LF

Decimal-Uchar =       DIGIT
                      ;/ POS-DIGIT DIGIT
                      ;/ ("1" 2*(DIGIT))
                      ;/ ("2" ("0"/"1"/"2"/"3"/"4") DIGIT)
                      ;/ ("2" "5" ("0"/"1"/"2"/"3"/"4"/"5"))

integer =             POS-DIGIT *(DIGIT)

Alpha-Numeric =       ALPHA / DIGIT

pos-digit =           "1"/"2"/"3"/"4"/"5"/"6"/"7"/"8"/"9"

email-safe =          SAFE / SP / HTAB

Safe =                ALPHA-NUMERIC /
                      "'" / "-" / "." / "/" / ":" / "?" / %x22 /
                      "#" / "$" / "&" / "*" / ";" / "=" / "@" / "[" /
                      "]" / "^" / "_" / "`" / "{" / "|" / "}" / "+" /
                      "~"

EOL                                =  CRLF / LF
                                   
HYPHEN                             =  "-"
                                   
ALPHA                              =  %x41-5A / %x61-7A   ; A-Z / a-z
BIT                                =  "0" / "1"
                                   
CHAR                               =  %x01-7F   ; any 7-bit US-ASCII character, excluding NUL
CR                                 =  %x0D      ; carriage return
CRLF                               =  CR LF     ; Internet standard newline
CTL                                =  %x00-1F / %x7F    ; controls
DIGIT                              =  %x30-39      ; 0-9
DQUOTE                             =  %x22       ; " (Double Quote)
HEXDIG                             =  DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
HTAB                               =  %x09     ; horizontal tab
LF                                 =  %x0A     ; linefeed
LWSP                               =  *(WSP-CRLF-WSP)    ; linear white space (past newline)
WSP-CRLF-WSP                       =  WSP / CRLF / WSP   ;;??????
OCTET                              =  %x00-FF               ; 8 bits of data
SP                                 =  %x20
VCHAR                              =  %x21-7E             ; visible (printing) characters
WSP                                =  SP / HTAB           ; white space

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -