📄 mgcp3435.abnf
字号:
/ "." / "$" / "*" / "@" / "[" / "]"
/ "^" / "`" / "{" / "}" / "~"
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 + -