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

📄 mgcp3435.abnf

📁 mgcp协议源代码和测试程序,还有一个编译器
💻 ABNF
📖 第 1 页 / 共 3 页
字号:
MGCPMsgList                = MGCPMessage *("." EOL MGCPMessage)

MGCPMessage                = MGCPCommand / MGCPResponse

MGCPCommand                = MGCPCommandLine 0*(MGCPParameter EOL) [EOL Announcement]

MGCPCommandLine            = MGCPVerb 1*(WSP) Transaction-id 1*(WSP)
                             EndpointName 1*(WSP) MGCPversion EOL
                        
MGCPversion                = "MGCP" 1*(WSP) Version [1*(WSP) ProfileName]

Version                    = 1*(DIGIT) "." 1*(DIGIT)

MGCPVerb                   = "EPCF" / "CRCX" / "MDCX" / "DLCX" / "RQNT"
                           / "NTFY" / "AUEP" / "AUCX" / "RSIP" / ExtensionVerb

ExtensionVerb              = ALPHA 3(ALPHA-DIGIT) ; experimental starts with X

ALPHA-DIGIT                = ALPHA / DIGIT 

Transaction-id             = 1*9(DIGIT)

EndpointName               = LocalEndpointName "@" DomainName

;LocalEndpointName          = LocalNamePart 0*("/" LocalNamePart) 
LocalEndpointName          = LOCALNAMEPART 0*LOCALNAMEPARTS

LocalNameparts             = "/" LOCALNAMEPART 

LocalNamePart              = ANYNAME / ALLNAME / NAMESTRING

AnyName                    = "$"

AllName                    = "*"

NameString                 = 1*(RANGE-OF-ALLOWED-CHARACTERS)

; VCHAR except "$", "*", "/", "@"
range-of-allowed-characters  = %x21-23 / %x25-29 / %x2B-2E
                             / %x30-3F / %x41-7E

DomainName                 = RFC821NAME    ; as defined in RFC 821std10(-> 2821prop)
                           / DOMAINNUMNAME                          
                           / DOMAINIPADDRESS  ; see RFC 2373(-> 3513prop)

RFC821Name                 = 1*255(ALPHA-DIGIT-DOT-DASH)

ALPHA-DIGIT-DOT-DASH       = ALPHA / DIGIT / "." / "-"

DomainNumName              = "#" NUMBER

DomainIPAddress            = "[" IPADDRESS "]"

IPAddress                  = IPV4ADDRESS / IPV6ADDRESS

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

; Rewritten to ABNF from RFC 821std10(-> 2821prop)
number                     =  1*DIGIT

;From RFC 2373(-> 3513prop)
IPv6address                = HEXPART  [ IPV4ADDRESS-PART ]
Ipv4Address-Part           = ":" IPV4ADDRESS


; this production, while occurring in RFC2373(-> 3513prop), is not referenced
; IPv6prefix               = hexpart "/" 1*2DIGIT
hexpart                    = HEXSEQ / HEXSEQ-HEXSEQ / COLON-HEXSEQ
Hexseq-Hexseq              = HEXSEQ "::" [ HEXSEQ ]
Colon-Hexseq               = "::" [ HEXSEQ ]
Hexseq                     = HEX4 *":" *HEX4
Hex4                       = 1*4HEXDIG


ProfileName                = VCHAR *(WSP-VCHAR)
Wsp-Vchar                  =  WSP / VCHAR

; Check infoCode if more parameter values defined
; Most optional values can only be omitted when auditing
MGCPParameter              = ParamResponseAck
                           / ParamBearerInformation
                           / ParamCallId
                           / ParamConnectionId
                           / ParamNotifiedEntity
                           / ParamRequestIdentifier
                           / ParamLocalConnectionOptions
                           / ParamConnectionMode
                           / ParamRequestedEvents
                           / ParamSignalRequests
                           / ParamDigitMap
                           / ParamObservedEvents
                           / ParamConnectionParameters
                           / ParamReasonCode
                           / ParamSpecificEndpointID
                           / ParamSecondEndpointID
                           / ParamSecondConnectionID
                           / ParamRequestedInfo
                           / ParamQuarantineHandling
                           / ParamDetectEvents
                           / ParamRestartMethod
                           / ParamRestartDelay
                           / ParamCapabilities
                           / ParamEventStates
                           / ParamPackageList
                           / ParamMaxMGCPDatagram
                           / ExtendedParameter
               
ParamResponseAck              = "K"  ":" 0*(WSP)  [ResponseAck]
ParamBearerInformation        = "B"  ":" 0*(WSP)  [BearerInformation]
ParamCallId                   = "C"  ":" 0*(WSP)  CallId
ParamConnectionId             = "I"  ":" 0*(WSP)  [ConnectionId]
ParamNotifiedEntity           = "N"  ":" 0*(WSP)  [NotifiedEntity]
ParamRequestIdentifier        = "X"  ":" 0*(WSP)  [RequestIdentifier]
ParamLocalConnectionOptions   = "L"  ":" 0*(WSP)  [LocalConnectionOptions]
ParamConnectionMode           = "M"  ":" 0*(WSP)  ConnectionMode
ParamRequestedEvents          = "R"  ":" 0*(WSP)  [RequestedEvents]
ParamSignalRequests           = "S"  ":" 0*(WSP)  [SignalRequests]
ParamDigitMap                 = "D"  ":" 0*(WSP)  [DigitMap]
ParamObservedEvents           = "O"  ":" 0*(WSP)  [ObservedEvents]
ParamConnectionParameters     = "P"  ":" 0*(WSP)  [ConnectionParameters]
ParamReasonCode               = "E"  ":" 0*(WSP)  ReasonCode
ParamSpecificEndpointID       = "Z"  ":" 0*(WSP)  [SpecificEndpointID]
ParamSecondEndpointID         = "Z2" ":" 0*(WSP)  SecondEndpointID
ParamSecondConnectionID       = "I2" ":" 0*(WSP)  SecondConnectionID
ParamRequestedInfo            = "F"  ":" 0*(WSP)  [RequestedInfo]
ParamQuarantineHandling       = "Q"  ":" 0*(WSP)  QuarantineHandling
ParamDetectEvents             = "T"  ":" 0*(WSP)  [DetectEvents]
ParamRestartMethod            = "RM" ":" 0*(WSP)  RestartMethod
ParamRestartDelay             = "RD" ":" 0*(WSP)  RestartDelay
ParamCapabilities             = "A"  ":" 0*(WSP)  [Capabilities]
ParamEventStates              = "ES" ":" 0*(WSP)  [EventStates]
ParamPackageList              = "PL" ":" 0*(WSP)  [PackageList]
ParamMaxMGCPDatagram          = "MD" ":" 0*(WSP)  MaxMGCPDatagram
ExtendedParameter             = ExtensionParameter ":" 0*(WSP) [parameterString]

; A final response may include an empty ResponseAck
ResponseAck                   = ConfirmedTranIdRange *( ","  0*(WSP) ConfirmedTranIdRange )

ConfirmedTranIdRange          = Transaction-id / TransactionIdRange
TransactionIdRange            = transaction-id-start "-" transaction-id-end
transaction-id-start          = Transaction-id
transaction-id-end            = Transaction-id

BearerInformation             = BearerAttribute 0*("," 0*(WSP) BearerAttribute)
                              
BearerAttribute               = BearerAttriEncoding
                              / BearerExtension

BearerAttriEncoding           = "e" ":" BearerEncoding
BearerExtension               = BearerExtensionName [":" BearerExtensionValue]
BearerExtensionName           = PackageLCOExtensionName
BearerExtensionValue          = LocalOptionExtensionValue
BearerEncoding                = "A" / "mu"

CallId                        = 1*32(HEXDIG)

; The audit request response may include a list of identifiers
ConnectionId                  = ConnectionIdValue 0*("," 0*(WSP) ConnectionIdValue)
ConnectionIdValue             = 1*32(HEXDIG)
SecondConnectionID            = ConnectionId

NotifiedEntity                = [LocalName "@"] DomainName [":" portNumber]
LocalName                     = LocalEndpointName            ; No internal structure
                              
portNumber                    = 1*5(DIGIT)

RequestIdentifier             = 1*32(HEXDIG)
                              
LocalConnectionOptions        = LocalConnectionOptionValue
                                0*("," 0*(WSP) LocalConnectionOptionValue)
LocalConnectionOptionValue    = LocalOptionValue 0*(WSP)

LocalOptionValue              = LOptpacketizationPeriod
                              / LOptcompressionAlgorithm
                              / LOptbandwidth
                              / LOptechoCancellation
                              / LOptgainControl
                              / LOptsilenceSuppression
                              / LOpttypeOfService
                              / LOptresourceReservation
                              / LOptencryptiondata
                              / LOptNetworkType
                              / LOptionExtension

LOptpacketizationPeriod       = "p"  ":" packetizationPeriod
LOptcompressionAlgorithm      = "a"  ":" compressionAlgorithm
LOptbandwidth                 = "b"  ":" bandwidth
LOptechoCancellation          = "e"  ":" echoCancellation
LOptgainControl               = "gc" ":" gainControl
LOptsilenceSuppression        = "s"  ":" silenceSuppression
LOpttypeOfService             = "t"  ":" typeOfService
LOptresourceReservation       = "r"  ":" resourceReservation
LOptencryptiondata            = "k"  ":" encryptiondata
LOptNetworkType               = "nt" ":" NetWorkType
LOptionExtension              = LocalOptionExtensionName [":" LocalOptionExtensionValue]
NetWorkType                   = supportedTypeOfNetwork / typeOfNetwork

;;Capabilities                  = Capability 0*("," 0*(WSP) Capability)
;;Capability                    = CapLocalOptionValue
;;                                / CapSupportedPackages
;;                                / CapSupportedModes
;;CapLocalOptionValue           = LocalConnectionOptionValue 
;;CapSupportedPackages          = "v" ":" supportedPackages 0*(WSP)
;;CapSupportedModes             = "m" ":" supportedModes 0*(WSP)     
                
Capabilities                  = LocalConnectionOptions 
                                ["," 0*(WSP) "v" ":" supportedPackages 0*(WSP)]
                                ["," 0*(WSP) "m" ":" supportedModes 0*(WSP)]
                                
PackageList                   = pkgNameAndVers 0*("," pkgNameAndVers)
pkgNameAndVers                = packageName ":" packageVersion
packageVersion                = 1*(DIGIT)

packetizationPeriod           = packetizationPeriodValue / packetizationPeriodRange
packetizationPeriodValue      = 1*4(DIGIT)
packetizationPeriodRange      = packetizationPeriodStartValue "-" packetizationPeriodEndValue
packetizationPeriodStartValue	= 1*4(DIGIT)
packetizationPeriodEndValue  	= 1*4(DIGIT)

compressionAlgorithm          = algorithmName 0*(";" algorithmName)
algorithmName                 = 1*(SuitableLCOCharacter)
bandwidth                     = bandwidthValue / bandwidthRange
bandwidthValue                = 1*4(DIGIT)
bandwidthRange                = bandwidthRangeStart "-" bandwidthRangeEnd
bandwidthRangeStart            = 1*4(DIGIT)
bandwidthRangeEnd             = 1*4(DIGIT)
                              
echoCancellation              = "on" / "off"
gainControl                   = "auto" / gainControlValue
gainControlValue              = 0*1"-" 1*4(DIGIT)
                              
silenceSuppression            = "on" / "off"
typeOfService                 = 1*2(HEXDIG)     ; 1 hex only for capabilities
resourceReservation           = "g" / "cl" / "be"

;encryption parameters are coded as in SDP (RFC 2327prop)
;NOTE: encryption key may contain an algorithm as specified in RFC 1890(-> 3551prop)
encryptiondata                = encryptiondata-encryptionKey
                              / encryptiondata-encodedEncryptionKey
                              / encryptiondata-URItoObtainKey
                              / "prompt" ; defined in SDP, not usable in MGCP!

encryptiondata-encryptionKey           = "clear" ":" encryptionKey
encryptiondata-encodedEncryptionKey    = "base64" ":" encodedEncryptionKey
encryptiondata-URItoObtainKey          = "uri" ":" URItoObtainKey
encryptionKey                          = ENCRYPTIONKEYVALUE / QUOTEDSTRING
encryptionKeyValue                     = 1*(SUITABLELCOCHARACTER)

⌨️ 快捷键说明

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