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

📄 mgcp3435.abnf

📁 mgcp协议源代码和测试程序,还有一个编译器
💻 ABNF
📖 第 1 页 / 共 3 页
字号:
; See RFC 2045draft                    
encodedEncryptionKey                   = 1*(ENCODEDENCRYPTIONKEYCHAR)
EncodedEncryptionKeyChar               = ALPHA / DIGIT / "+" / "/" / "=" 
URItoObtainKey                         = URITOOBTAINKEYVALUE / QUOTEDSTRING
URItoObtainKeyValue                    = 1*(SUITABLELCOCHARACTER)

typeOfNetwork                          = "IN" / "ATM" / "LOCAL" / OTHERTYPEOFNETWORK
; Registered with IANA - see RFC 2327prop
OtherTypeOfNetwork                     = 1*(SUITABLELCOCHARACTER)
supportedTypeOfNetwork                 = typeOfNetwork *(";" typeOfNetwork)

supportedModes                         = ConnectionMode 0*(";" ConnectionMode)
                                       
supportedPackages                      = packageName 0*(";" packageName)

packageName                            = 1*(ALPHA-DIGIT-HYPHEN) ; Hyphen neither first or last
Alpha-Digit-Hyphen                     = ALPHA / DIGIT / HYPHEN
                                       
LocalOptionExtensionName               = VendorLCOExtensionName
                                       / PackageLCOExtensionName
                                       / OtherLCOExtensionName
                                       
VendorLCOExtensionName                 =  XOptionExtensionName  / XMandatoryExtensionName 
XOptionExtensionName                   = "x-" VendorLCOExtensionValue
XMandatoryExtensionName                = "x+" VendorLCOExtensionValue
VendorLCOExtensionValue                = 1*32(SUITABLEEXTLCOCHARACTER)
                                       
PackageLCOExtensionName                = packageName "/" 1*32(SuitableLCOCharacter)
; must not start with "x-" or "x+"
OtherLCOExtensionName                  = 1*32(SUITABLEEXTLCOCHARACTER)


LocalOptionExtensionValue              = SUITABLEEXTLCOVALCHARS / QUOTEDSTRING

SuitableExtLCOValChars                 = 1*(SUITABLEEXTLCOVALCHAR) 

;Note: No "data" mode.
ConnectionMode                         = "sendonly" / "recvonly" / "sendrecv"
                                       / "confrnce" / "inactive" / "loopback"
                                       / "conttest" / "netwloop" / "netwtest"
                                       / ExtensionConnectionMode
ExtensionConnectionMode                = packageName "/" PkgExtConnectionMode
PkgExtConnectionMode                   = 1*(ALPHA-DIGIT)

RequestedEvents                        = requestedEvent 0*("," 0*(WSP) requestedEvent)
requestedEvent                         = eventNameActionsParameters / eventNameWithActions

eventNameWithActions                   = eventName ["(" requestedActions ")"]
eventNameActionsParameters             = eventName "(" requestedActions ")" "(" eventParameters ")" 

eventName                              = [eventName-packageName "/"] eventName-eventId ["@" eventName-ConnectionId]

eventName-packageName                  = packageName / "*" 
eventName-eventId                      = eventId / "all" / eventRange / "*" / "#"  ; for DTMF
eventName-ConnectionId                 = ConnectionId / "$" / "*"

eventId                                = 1*(ALPHA-DIGIT-HYPHEN)   ; Hyphen neither first nor last
eventRange                             = "[" 1*eventrangeValue "]"
eventrangeValue                        = DIGITRANGE / DTMFLETTERRANGE / DIGITMAPLETTER

DIGITRange                             = DIGITRANGESTART "-" DIGITRANGEEND
DTMFLetterRange                        = DTMFLETTERSTART "-" DTMFLETTEREND
DIGITRangeStart                        = DIGIT
DIGITRangeEnd                          = DIGIT
DTMFLetterStart                        = DTMFLETTER
DTMFLetterEnd                          = DTMFLETTER
DTMFLetter                             = "A" / "B" / "C" / "D"
                                      
requestedActions                       = requestedAction 0*("," 0*(WSP) requestedAction)
requestedAction                        = "N" / "A" / "D" / "S" / "I" / "K"
                                       / EmbeddedReq
                                       / ExtensionAction
EmbeddedReq                            = "E" "(" EmbeddedRequest ")"
ExtensionAction                        = PackageExtAction
PackageExtAction                       = packageName "/" Action ["(" ActionParameters ")"]
Action                                 = 1*ALPHA
ActionParameters                       = eventParameters        ; May contain actions

;NOTE: Should tolerate different order when receiving, e.g., for NCS.
EmbeddedRequest                        = EmbeddedRequest-SigReq-DigitMap
                                       / EmbeddedSignalRequest-DigitMap
                                       / EmbeddedDigitMaps

EmbeddedRequest-SigReq-DigitMap        = "R" "(" EmbeddedRequestList ")"
		                         ["," 0*(WSP) "S" "(" EmbeddedSignalRequest ")"]
                                         ["," 0*(WSP) "D" "(" EmbeddedDigitMap ")"]

EmbeddedSignalRequest-DigitMap         = "S" "(" EmbeddedSignalRequest ")"
                                         ["," 0*(WSP) "D" "(" EmbeddedDigitMap ")"]

EmbeddedDigitMaps                      =  "D" "(" EmbeddedDigitMap ")" 

EmbeddedRequestList                    = RequestedEvents
EmbeddedSignalRequest                  = SignalRequests
EmbeddedDigitMap                       = DigitMap

SignalRequests                         = SignalRequest 0*("," 0*(WSP) SignalRequest )
SignalRequest                          = eventName [ "(" eventParameters ")" ]
                                       
eventParameters                        = eventParameter 0*("," 0*(WSP) eventParameter)
                                       
eventParameter                         = eventParameterNameEqual
                                       / eventParameterNameParen
                                       / eventParameterValue
eventParameterNameEqual                = eventParameterName "=" eventParameterValue
eventParameterNameParen                = eventParameterName "(" eventParameterValue ")"

eventParameterString                   = 1*(SUITABLEEVENTPARAMCHARACTER)
eventParameterName                     = eventParameterString
                                       
eventParameterValue                    = EVENTPARAMETERSTRING / QUOTEDSTRING
                                       
DigitMap                               = DigitMapStringList  / DigitString
DigitMapStringList                     = "(" DigitStringList ")"

DigitStringList                        = DigitString 0*( "|" DigitString )
DigitString                            = 1*(DIGITSTRINGELEMENT)
DigitStringElement                     = DIGITPOSITION ["."]
DigitPosition                          = DIGITMAPLETTER / DIGITMAPRANGE
; NOTE "X" is now included
DigitMapLetter                         = DIGIT / "#" / "*" / "A" / "B" / "C" / "D" / "T"
                                       / "X" / EXTENSIONDIGITMAPLETTER
ExtensionDigitMapLetter               = "E" / "F" / "G" / "H" / "I" / "J" / "K"
                                       / "L" / "M" / "N" / "O" / "P" / "Q" / "R"
                                       / "S" / "U" / "V" / "W" / "Y" / "Z"
; NOTE "[x]" is now allowed
DigitMapRange                          = "[" 1*DIGITLETTER "]"
DigitLetter                            = DIGITLETTERRANE/ DIGITMAPLETTER
DigitLetterRane                        = DIGITLETTERRANESTART "-" DIGITLETTERRANEEND
DigitLetterRaneStart                   = DIGIT
DigitLetterRaneEnd                     = DIGIT

ObservedEvents                         = SignalRequests
EventStates                            = SignalRequests

ConnectionParameters                   = ConnectionParameter
                                          0*( "," 0*(WSP) ConnectionParameter )
                                       
ConnectionParameter                    = CP-packetsSent
                                       / CP-octetsSent
                                       / CP-packetsReceived
                                       / CP-octetsReceived
                                       / CP-packetsLost
                                       / CP-jitter
                                       / CP-averageLatency
                                       / CPExtension

CP-packetsSent                         = "PS" "=" packetsSent
CP-octetsSent                          = "OS" "=" octetsSent
CP-packetsReceived                     = "PR" "=" packetsReceived
CP-octetsReceived                      = "OR" "=" octetsReceived
CP-packetsLost                         = "PL" "=" packetsLost
CP-jitter                              = "JI" "=" jitter
CP-averageLatency                      = "LA" "=" averageLatency
CPExtension                            = ConnectionParameterExtensionName "=" ConnectionParameterExtensionValue

packetsSent                            = 1*9(DIGIT)
octetsSent                             = 1*9(DIGIT)
packetsReceived                        = 1*9(DIGIT)
octetsReceived                         = 1*9(DIGIT)
packetsLost                            = 1*9(DIGIT)
jitter                                 = 1*9(DIGIT)
averageLatency                         = 1*9(DIGIT)

ConnectionParameterExtensionName       = VendorCPExtensionName / PackageCPExtensionName
VendorCPExtensionName                  = "X-" VendorCPOptionExtName
VendorCPOptionExtName                  = 2*ALPHA
PackageCPExtensionName                 = packageName "/" CPName
CPName                                 = 1*ALPHA-DIGIT-HYPHEN
ConnectionParameterExtensionValue      = 1*9(DIGIT)

MaxMGCPDatagram                        = 1*9(DIGIT)

ReasonCode                             = ReasonCodeValue [1*(WSP) "/" packageName] [WSP ReasonDescription]
ReasonCodeValue                        = 3DIGIT
ReasonDescription                      = 1*%x20-7E


SpecificEndpointID                     = endpointName
SecondEndpointID                       = endpointName

RequestedInfo                          = infoCode 0*("," 0*(WSP) infoCode)

infoCode                           = "B" / "C" / "I" / "N" / VENDORINFOCODEEXTENSION  
                                   ;VendorExt must before "X" because its initial letter is "X"
                                   / "X" / "LC" / "MD" / "RC" / "S"
                                   / "D" / "O" / "PL" / "ES" / "Z" / "Q" / "T" / "RM" / "L"
                                   / "A" / "E" / "RD" / "R" / "P" / "M"
                                   / PACKAGEINFOCODEEXTENSION
                                   ;Package extension must before the other extension
                                   / OtherExtensionParameter 
                                   ; extensionParameter must in the last
                                   
VendorInfoCodeExtension            = VENDORINFOCODEEXTENSIONOPT / VENDORINFOCODEEXTENSIONMAN
VendorInfoCodeExtensionOpt         = "X-" 1*6(ALPHA-DIGIT)
VendorInfoCodeExtensionMan         = "X+" 1*6(ALPHA-DIGIT)

PackageInfoCodeExtension           = PACKAGENAME "/" PACKAGEEXTENSIONPARAMETERVALUE




QuarantineHandling                 = loop-process / loopControl / processControl 
loop-process                       = loopControl "," 0*(WSP) processControl
loopControl                        = "step" / "loop"
processControl                     = "process" / "discard"

DetectEvents                       = SignalRequests
RestartMethod                      = "graceful" / "forced" / "restart" / "disconnected"
                                   / "cancel-graceful" / extensionRestartMethod
ExtensionRestartMethod             = PackageExtensionMethod


PackageExtensionMethod             = packageName "/" PackageExtensionRMValue
PackageExtensionRMValue            = 1*32(ALPHA-DIGIT-HYPHEN)
RestartDelay                       = 1*6(DIGIT)
                                   
ExtensionParameter                 = VendorExtensionParameter
                                   / PackageExtensionParameter
                                   / OtherExtensionParameter
                   
VendorExtensionParameter           = VendorExtensionParameterOpt / VendorExtensionParameterMan
VendorExtensionParameterOpt        = "X-" VendorExtensionParameterValue
VendorExtensionParameterMan        = "X+" VendorExtensionParameterValue
VendorExtensionParameterValue      = 1*6(ALPHA-DIGIT)
PackageExtensionParameter          = packageName "/" PackageExtensionParameterValue
PackageExtensionParameterValue     = 1*32(ALPHA-DIGIT-HYPHEN)
; must not start with "x-" or x+"
OtherExtensionParameter            = 1*32(ALPHA-DIGIT-HYPHEN)

;If first character is a double-quote, then it is a quoted-string
parameterString                    = PARAMETERSTRINGVALUE   / QUOTEDSTRING
parameterStringValue               = PT *%x20-7F
PT                                  = %x21 / %x23-7F

MGCPResponse                       = MGCPResponseLine 0*(MGCPParameter EOL) *2(EOL Announcement)
                                  
MGCPResponseLine                   = responseCode 1*(WSP) transaction-id
                                    [1*(WSP) "/" packageName]    ; Only for 8xx
                                    [WSP responseString] EOL

responseCode                       = 3DIGIT
responseString                     = *%x20-7E


SuitableExtLCOCharacter            = DIGIT / ALPHA / "+" / "-" / "_" / "&"
                                    / "!" / "'" / "|" / "=" / "#" / "?"

⌨️ 快捷键说明

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