;at-most-once eventStream, every eventParameterName at most once
observedEventParameter = eventStream / eventOther
RequestID = UINT32
modemDescriptor = ModemToken (( EQUAL modemType) /
(LSBRKT modemType *(COMMA modemType) RSBRKT))
[ LBRKT NAME parmValue
*(COMMA NAME parmValue) RBRKT ]
; at-most-once
modemType = (V32bisToken / V22bisToken / V18Token /
V22Token / V32Token / V34Token / V90Token /
V91Token / SynchISDNToken / extensionParameter)
digitMapDescriptor = DigitMapToken EQUAL digitMapName
( LBRKT digitMapValue RBRKT )
digitMapName = NAME
digitMapValue = ["T" COLON Timer COMMA] ["S" COLON Timer COMMA]
["L" COLON Timer COMMA] digitMap
Timer = 1*2DIGIT
digitMap =
digitString / LWSP "(" LWSP digitStringList LWSP ")" LWSP)
digitStringList = digitString *( LWSP "|" LWSP digitString )
digitString = 1*(digitStringElement)
digitStringElement = digitPosition [DOT]
digitPosition = digitMapLetter / digitMapRange
digitMapRange = ("x" / LWSP "[" LWSP digitLetter LWSP "]" LWSP)
digitLetter = *((DIGIT "-" DIGIT ) / digitMapLetter)
digitMapLetter = DIGIT ;Basic event symbols
/ %x41-4B / %x61-6B ; a-k, A-K
/ "L" / "S" ;Inter-event timers (long, short)
/ Z" ;Long duration modifier
;at-most-once
auditItem = ( MuxToken / ModemToken / MediaToken /
SignalsToken / EventBufferToken /
DigitMapToken / StatsToken / EventsToken /
ObservedEventsToken / PackagesToken )
serviceChangeDescriptor = ServicesToken LBRKT serviceChangeParm
*(COMMA serviceChangeParm) RBRKT
serviceChangeParm = (serviceChangeMethod / serviceChangeReason /
serviceChangeDelay / serviceChangeAddress /
serviceChangeProfile / extension / TimeStamp /
serviceChangeMgcId / serviceChangeVersion )
serviceChangeReplyDescriptor = ServicesToken LBRKT
servChgReplyParm *(COMMA servChgReplyParm) RBRKT
;at-most-once. Version is REQUIRED on first ServiceChange response
servChgReplyParm = (serviceChangeAddress / serviceChangeMgcId /
serviceChangeProfile / serviceChangeVersion )
serviceChangeMethod = MethodToken EQUAL (FailoverToken /
ForcedToken / GracefulToken / RestartToken /
DisconnectedToken / HandOffToken /
extensionParameter)
serviceChangeReason = ReasonToken EQUAL VALUE
serviceChangeDelay = DelayToken EQUAL UINT32
serviceChangeAddress = ServiceChangeAddressToken EQUAL VALUE
serviceChangeMgcId = MgcIdToken EQUAL mId
serviceChangeProfile = ProfileToken EQUAL NAME SLASH Version
serviceChangeVersion = VersionToken EQUAL Version
extension = extensionParameter parmValue
packagesDescriptor = PackagesToken LBRKT packagesItem
*(COMMA packagesItem) RBRKT
Version = 1*2(DIGIT)
packagesItem = NAME "-" UINT16
TimeStamp = Date "T" Time ; per ISO 8601:1988
; Date = yyyymmdd
Date = 8(DIGIT)
; Time = hhmmssss
Time = 8(DIGIT)
statisticsDescriptor = StatsToken LBRKT statisticsParameter
*(COMMA statisticsParameter ) RBRKT
;at-most-once per item
statisticsParameter = pkgdName EQUAL VALUE
topologyDescriptor = TopologyToken LBRKT terminationA COMMA
terminationB COMMA topologyDirection RBRKT
terminationA = TerminationID
terminationB = TerminationID
topologyDirection = BothwayToken / IsolateToken / OnewayToken
priority = PriorityToken EQUAL UINT16
extensionParameter = "X" ("-" / "+") 1*6(ALPHA / DIGIT)
; octetString is used to describe SDP defined in RFC2327.
; Caution should be taken if CRLF in RFC2327 is used.
; To be safe, use EOL in this ABNF.
; Whenever "}" appears in SDP, it is escaped by "\", e.g., "\}"
octetString = *(nonEscapeChar)
nonEscapeChar = ( "\}" / %x01-7C / %x7E-FF )
quotedString = DQUOTE 1*(SafeChar / RestChar/ WSP) DQUOTE
UINT16 = 1*5(DIGIT) ; %x0-FFFF
UINT32 = 1*10(DIGIT) ; %x0-FFFFFFFF
NAME = ALPHA *63(ALPHA / DIGIT / "_" )
VALUE = quotedString / 1*(SafeChar)
SafeChar = DIGIT / ALPHA / "+" / "-" / "&" /
"!" / "_" / "/" / "'" / "?" / "@" /
"^" / "`" / "~" / "*" / "$" / "\" /
"(" / ")" / "%" / "|" / "."
EQUAL = LWSP %x3D LWSP ; "="
COLON = %x3A ; ":"
LBRKT = LWSP %x7B LWSP ; "{"
RBRKT = LWSP %x7D LWSP ; "}"
COMMA = LWSP %x2C LWSP ; ","
DOT = %x2E ; "."
SLASH = %x2F ; "/"
ALPHA = %x41-5A / %x61-7A ; A-Z / a-z
DIGIT = %x30-39 ; 0-9
DQUOTE = %x22 ; " (Double Quote)
HEXDIG = ( DIGIT / "A" / "B" / "C" / "D" / "E" / "F" )
SP = %x20 ; space
HTAB = %x09 ; horizontal tab
CR = %x0D ; Carriage return
LF = %x0A ; linefeed
LWSP = *( WSP / COMMENT / EOL )
EOL = (CR [LF] / LF )
WSP = SP / HTAB ; white space
SEP = ( WSP / EOL / COMMENT) LWSP
COMMENT = ";" *(SafeChar/ RestChar / WSP / %x22) EOL
RestChar = ";" / "[" / "]" / "{" / "}" / ":" / "," / "#"
/
"<" / ">" / "="
AddToken = ("Add" / "A")
AuditToken = ("Audit" / "AT")
AuditCapToken = ("AuditCapability" / "AC")
AuditValueToken = ("AuditValue" / "AV")
AuthToken = ("Authentication" / "AU")
BothwayToken = ("Bothway" / "BW")
BriefToken = ("Brief" / "BR")
BufferToken = ("Buffer" / "BF")
CtxToken = ("Context" / "C")
ContextAuditToken = ("ContextAudit" / "CA")
DigitMapToken = ("DigitMap" / "DM")
DiscardToken = ("Discard" / "DS")
DisconnectedToken = ("Disconnected" / "DC")
DelayToken = ("Delay" / "DL")
DurationToken = ("Duration" / "DR")
EmbedToken = ("Embed" / "EB")
EmergencyToken = ("Emergency" / "EM")
ErrorToken = ("Error" / "ER")
EventBufferToken = ("EventBuffer" / "EB")
EventsToken = ("Events" / "E")
FailoverToken = ("Failover" / "FL")
ForcedToken = ("Forced" / "FO")
GracefulToken = ("Graceful" / "GR")
H221Token = ("H221" )
H223Token = ("H223" )
H226Token = ("H226" )
HandOffToken = ("HandOff" / "HO")
InactiveToken = ("Inactive" / "IN")
IsolateToken = ("Isolate" / "IS")
InSvcToken = ("InService" / "IV")
KeepActiveToken = ("KeepActive" / "KA")
LocalToken = ("Local" / "L")
LocalControlToken = ("LocalControl" / "O")
LockStepToken = ("LockStep" / "SP")
LoopbackToken = ("Loopback" / "LB")
MediaToken = ("Media" / "M")
MegacopToken = ("MEGACO" / "!")
MethodToken = ("Method" / "MT")
MgcIdToken = ("MgcIdToTry" / "MG")
ModeToken = ("Mode" / "MO")
ModifyToken = ("Modify" / "MF")
ModemToken = ("Modem" / "MD")
MoveToken = ("Move" / "MV")
MTPToken = ("MTP")
MuxToken = ("Mux" / "MX")
NotifyToken = ("Notify" / "N")
NotifyCompletionToken = ("NotifyCompletion" / "NC")
ObservedEventsToken = ("ObservedEvents" / "OE")
OnewayToken = ("Oneway" / "OW")
OnOffToken = ("OnOff" / "OO")
OutOfSvcToken = ("OutOfService" / "OS")
PackagesToken = ("Packages" / "PG")
PendingToken = ("Pending" / "PN")
PriorityToken = ("Priority" / "PR")
ProfileToken = ("Profile" / "PF")
ReasonToken = ("Reason" / "RE")
RecvonlyToken = ("ReceiveOnly" / "RC")
ReplyToken = ("Reply" / "P")
RestartToken = ("Restart" / "RS")
RemoteToken = ("Remote" / "R")
ReservedGroupToken = ("ReservedGroup" / "RG")
ReservedValueToken = ("ReservedValue" / "RV")
SendonlyToken = ("SendOnly" / "SO")
SendrecvToken = ("SendReceive" / "SR")
ServicesToken = ("Services" / "SV")
ServiceStatesToken = ("ServiceStates" / "SI")
ServiceChangeToken = ("ServiceChange" / "SC")
ServiceChangeAddressToken = ("ServiceChangeAddress" / "AD")
SignalListToken = ("SignalList" / "SL")
SignalsToken = ("Signals" / "SG")
SignalTypeToken = ("SignalType" / "SY")
StatsToken = ("Statistics" / "SA")
StreamToken = ("Stream" / "ST")
SubtractToken = ("Subtract" / "S")
SynchISDNToken = ("SynchISDN" / "SN")
TerminationStateToken = ("TerminationState" / "TS")
TestToken = ("Test" / "TE")
TimeOutToken = ("TimeOut" / "TO")
TopologyToken = ("Topology" / "TP")
TransToken = ("Transaction" / "T")
ResponseAckToken = ("TransactionResponseAck"/ "K")
V18Token = ("V18")
V22Token = ("V22")
V22bisToken = ("V22b")
V32Token = ("V32")
V32bisToken = ("V32b")
V34Token = ("V34")
V76Token = ("V76")
V90Token = ("V90")
V91Token = ("V91")
ANNEX C TAGS FOR MEDIA STREAM PROPERTIES (NORMATIVE)
Parameters for Local descriptors and Remote descriptors are specified
as tag-value pairs if binary encoding is used for the protocol. This
annex contains the property names (PropertyID), the tags (Property
Tag), type of the property (Type) and the values (Value).Values
presented in the Value field when the field contains references shall
be regarded as "information". The reference contains the normative
values. If a value field does not contain a reference then the
values in that field can be considered as "normative".
Tags are given as hexadecimal numbers in this annex. When setting the
value of a property, a MGC may underspecify the value according to
one of the mechanisms specified in section 7.1.1.
For type "enumeration" the value is represented by the value in
brackets, e.g., Send(0), Receive(1).
C.1 General Media Attributes
PropertyID Property Type Value
Tag
Media 1001 Enumeration Audio(0), Video(1),
Data(2),
Transmission mode 1002 Enumeration Send(0), Receive(1),
Send&Receive(2)
Number of Channels 1003 Unsigned 0-255
Integer
Sampling rate 1004 Unsigned 0-2^32
Integer
Bitrate 1005 Integer (0..4294967295)
Note - units of 100 bit/s
ACodec 1006 Octet String Audio Codec Type:
Reference: ITU-T Rec. Q.765 - Application transport mechanism.
Non-ITU codecs are defined with the appropriate standards
organisation under a defined Organizational Identifier.
Samplepp 1007 Unsigned Maximum samples or
Integer frames per packet: 0-
65535
Silencesupp 1008 BOOLEAN Silence Suppression:
True/false
Encrypttype 1009 Octet string Ref.: rec. H.245
Encryptkey 100A Octet string Encryption key
SIZE(0..65535)
Ref.: rec. H.235
Echocanc 100B Enumeration Echo Canceller:
Off(0), G.165(1),
G168(2)
Gain 100C Unsigned Gain in db: 0-65535
Integer
Jitterbuff 100D Unsigned Jitter buffer size in
Integer ms: 0-65535
PropDelay 100E Unsigned Propagation Delay:
Integer 0..65535
Maximum propagation delay in milliseconds for the bearer
connection between two media gateways. The maximum delay will be
dependent on the bearer technology.
RTPpayload 100F integer Payload type in RTP
Profile for Audio and
Video Conferences
with Minimal Control
Ref.: RFC1890
C.2 Mux Properties
PropertyID Property Type Value
Tag
H.221 2001 Octet Ref.: rec. H.245,
string H222LogicalChannelParameters
H223 2002 Octet Ref.: rec. H.245,
string H223LogicalChannelParameters
V76 2003 Octet Ref.: rec. H.245,
String V76LogicalChannelParameters
H2250 2004 Octet Ref.: rec. H.245,
String H2250LogicalChannelParameters
C.3 General bearer properties
PropertyID Property Type Value
Tag
Mediatx 3001 Enumeration Media Transport Type:
TDM Circuit(0), ATM(1),
FR(2), Ipv4(3), Ipv6(4),
_
BIR 3002 4 OCTET Value depends on
transport technology
NSAP 3003 1-20 OCTETS See NSAP
Reference: ITU X.213 Annex A
C.4 General ATM properties
PropertyID Property Type Value
Tag
AESA 4001 20 OCTETS ATM End System Address
VPVC 4002 2 x 16 bit VPC/VCI
integer
SC 4003 4 bits Service Category
Reference: ITU Recommendation Q.2931 (1995)
BCOB 4004 5 bit integer Broadband Bearer Class
Reference: ITU Recommendation Q.2961.2 (06/97)
BBTC 4005 octet Broadband Transfer
Capability
Reference: ITU Recommendation Q.2961 (10/95)
ATC 4006 Enumeration I.371 ATM Traffic
Capability
Reference: ITU Recommendation I.371:
DBR(0), SBR1(1), SBR2(2), SBR(3), ABT/IT(4), ABT/DT(5), ABR(6)
STC 4007 2 bits Susceptibility to
clipping
Reference: ITU Recommendation Q.2931 (1995)
00 Susceptible
01 Not-susceptible
UPCC 4008 2 bits User Plane Connection
configuration:
Reference: ITU Recommendation Q.2931 (1995)
00 Pt-to-pt,
01 Pt-to-mpt
PCR0 4009 24 bit Peak Cell Rate (For
integer CLP=0)
Reference: ITU Recommendation I.371
SCR0 400A 24 bit Sustainable Cell Rate
integer (For CLP=0)
Reference: ITU Recommendation I.371
MBS0 400B 24 bit Maximum Burst Size (For
integer CLP=0)
Reference: ITU Recommendation I.371
PCR1 400C 24 bit Peak Cell Rate (For
integer CLP=0+1)
Reference: ITU Recommendation I.371
SCR2 400D 24 bit Sustainable Cell Rate
integer (For CLP=0+1)
Reference: ITU Recommendation I.371
MBS3 400E 24 bit Maximum Burst Size (For
integer CLP=0+1)
Reference: ITU Recommendation I.371
BEI 400F Boolean Best Effort Indicator
TI 4010 Boolean Tagging
FD 4011 Boolean Frame Discard
FCDV 4012 24 bit Forward P-P CDV
integer
BCDV 4013 24 bit Backward P-P CDV
integer
FCLR0 4014 8 bit integer Forward Cell Loss Ratio
(For CLP=0)
BCLR0 4015 8 bit integer Backward P-P Cell Loss
Ratio (For CLP=0)
FCLR1 4016 8 bit integer Forward Cell Loss Ratio
BCLR1 4017 8 bit integer Backward P-P Cell Loss
Ratio (For CLP=0+1)
FCDV 4018 24 bit Forward Cell Delay
integer Variation
BCDV 4019 24 bit Backward Cell Delay
integer Variation
FACDV 401A 24 bit Forward Acceptable P-P-P
integer CDV
BACDV 401B 24 bit Backward Acceptable P-P
integer CDV
FCCDV 401C 24 bit Forward Cumulative P-P
integer CDV
BCCDV 401D 24 bit Backward Cumulative P-P
integer CDV
FCLR 401E 8 bit integer Acceptable Forward Cell
Loss Ratio
BCLR 401F 8 bit integer Acceptable Backward Cell
Loss Ratio
EETD 4020 16 bit End-to-end transit delay
integer
Mediatx (See 4021 AAL Type
General
Properties)
Reference: ITU Recommendation Q.2931 (1995)
QosClass 4022 Integer 0-4 Qos Class
Reference: ITU Recommendation Q.2931 (1995)
QoS Parameter Application:
Qos Class0 QoS ApplicationBest Effort
Parameter Unspecified
0 Unspecified Best EffortConstant Bit rate
Specified circuit emulation
1 Specified Constant Bit rate circuit
Specified emulationVariable bit rate
video and audio
2 Specified Variable bit rate video and
Specified audioConnection-oriented data
3 Specified Connection-oriented
Specified dataConnectionless data
4 Specified Connectionless data
AALtype 4023 1 OCTET AAL Type
Reference: ITU Recommendation Q.2931 (1995)
00000000 AAL for voice
00000001 AAL type 1
00000010 AAL type 2
00000011 AAL type 3/4
00000101 AAL type 5
00010000 user defined AAL
C.5 Frame Relay
PropertyID Property Type Value
Tag
DLCI 5001 Unsigned Integer Data link connection
id
CID 5002 Unsigned Integer sub-channel id.
SID/Noiselevel 5003 Unsigned Integer silence insertion
descriptor
Primary Payload 5004 Unsigned Integer Primary Payload Type
type
Covers FAX and codecs
C.6 IP
PropertyID Property Type Value
Tag
IPv4 6001 32 BITS Ipv4Address:
Ipv4Address
Reference: IETF RFC791
IPv6 6002 128 BITS IPv6 Address:
Reference: IETF RFC2460
Port 6003 unsigned integer 0-65535
Porttype 6004 enumerated TCP(0), UDP(1),
SCTP(2)
C.7 ATM AAL2
PropertyID Property Type Value
Tag
AESA 7001 20 OCTETS AAL2 service endpoint
address
as defined in Reference: ITU Recommendation Q.2630.1
ESEA
NSEA
BIR See C.3 4 OCTETS Served user generated
reference
as defined in Reference: ITU Recommendation Q.2630.1
SUGR
ALC 7002 12 OCTETS AAL2 link
characteristics
as defined in Reference: ITU Recommendation Q.2630.1
max/average CPS-SDU bitrate,
max/average CPS-SDU size
SSCS 7003 I.366.2: Service
audio (8 OCTETS) specific
multirate (3 OCTETS) convergence
or I.366.1: sublayer
SAR-assured (14 OCTETS)/ information
unassured (7 OCTETS)
as defined in Reference: Q.2630.1 and used in I.366.1 and I.366.2
I.366.2: audio/multirate
I.366.1: SAR-assured/unassured
SUT 7004 1..254 octets Served user transport
parameter
as defined in Reference: ITU Recommendation Q.2630.1
TCI 7005 BOOLEAN Test connection
indicator
as defined in Reference: ITU Recommendation Q.2630.1
Timer_CU 7006 32 bit integer Timer-CU: Milliseconds
to hold partially
filled cell before
sending.
MaxCPSSDU 7007 8 bit integer Maximum Common Part
Sublayer Service Data
Unit
Ref.: rec. Q.2630.1
SCLP 7008 Boolean Set Cell Local
PriorityLP bit:
True if CLP bit is to
be set
EETR 7009 Boolean Timing Requirements
Reference: ITU Recommendation Q.2931 (1995)
End to End Timing Required:
In broadband bearer capability
CID 700A 8 bits subchannel id, 0-255
Ref.: rec. I.363.2 (09/97)
C.8 ATM AAL1
PropertyID Property Type Value
Tag
BIR See GIT (Generic
Table Identifier Transport) 4 OCTETS
C.3
Ref.: Recommendation Q.2941.1 (09/97)
AAL1ST 8001 1 OCTET AAL1 Subtype:
Reference: ITU Recommendation Q.2931 (1995)
00000000 Null
00000001 voiceband signal transport on 64kbit/s
00000010 circuit transport
00000100 high-quality audio signal transport
00000101 video signal transport
CBRR 8002 1 OCTET CBR Rate
Reference: ITU Recommendation Q.2931 (1995)
00000001 64 kbit/s
00000100 1544 kbit/s
00000101 6312 kbit/s
00000110 32064 kbit/s
00000111 44736 kbit/s
00001000 97728 kbit/s
00010000 2048 kbit/s
00010001 8448 kbit/s
00010010 34368 kbit/s
00010011 139264 kbit/s
01000000 n x 64 kbit/s
01000001 n * 8 kbit/s
MULT See Multiplier, or n x
Table 64k/8k/300
C.9
Reference: ITU Recommendation Q.2931 (1995)
SCRI 8003 1 OCTECT Source Clock Frequency
Recovery Method
Reference: ITU Recommendation Q.2931 (1995)
00000000 NULL
00000001 SRTS
00000010 ACM
ECM 8004 1 OCTECT Error Correction
Method
Reference: ITU Recommendation Q.2931 (1995)
00000000 Null
00000001 FEC-LOSS
00000010 FEC-DELAY
SDTB 8005 16 bit integer Structured Data
Transfer Blocksize
Reference: ITU Recommendation I.363.1
Block size of SDT CBR service
PFCI 8006 8 bit integer Partially filled cells
indentifier
Reference: ITU Recommendation I.363.1
1-47
EETR See See Table C.7 See Table C.7
Table
C.7
C.9 Bearer Capabilities
PropertyID Property Type Value
Tag
TMR 9001 1 OCTET Transmission Medium
Requirement (Q.763)
Reference: ITU Recommendation Q.763(09/97)
Bit 8 7 6 5 4 3 2 1
00000000 - speech
00000001 - spare
00000010 - 64 kbit/s unrestricted
00000011 - 3.1 kHz audio
00000100 - reserved for alternate speech (service 2)/64 kbit/s
unrestricted (service 1)
00000101 - reserved for alternate 64 kbit/s unrestricted (service
1)/speech (service 2)
00000110 - 64 kbit/s preferred
00000111 - 2 x 64 kbit/s unrestricted
00001000 - 384 kbit/s unrestricted
00001001 - 1536 kbit/s unrestricted
00001010 - 1920 kbit/s unrestricted
00001011 through 00001111- spare
00010000 - 3 x 64 kbit/s unrestricted
00010001 - 4 x 64 kbit/s unrestricted
00010010 - 5 x 64 kbit/s unrestricted
00010011 spare
00010100 - 7 x 64 kbit/s unrestricted
00010101 - 8 x 64 kbit/s unrestricted
00010110 - 9 x 64 kbit/s unrestricted
00010111 - 10 x 64 kbit/s unrestricted
00011000 - 11 x 64 kbit/s unrestricted
00011001 - 12 x 64 kbit/s unrestricted
00011010 - 13 x 64 kbit/s unrestricted
00011011 - 14 x 64 kbit/s unrestricted
00011100 - 15 x 64 kbit/s unrestricted
00011101 - 16 x 64 kbit/s unrestricted
00011110 - 17 x 64 kbit/s unrestricted
00011111 - 18 x 64 kbit/s unrestricted
00100000 - 19 x 64 kbit/s unrestricted
00100001 - 20 x 64 kbit/s unrestricted
00100010 - 21 x 64 kbit/s unrestricted
00100011 - 22 x 64 kbit/s unrestricted
00100100 - 23x 64 kbit/s unrestricted
00100101 - spare
00100110 - 25 x 64 kbit/s unrestricted
00100111 - 26 x 64 kbit/s unrestricted
00101000 - 27 x 64 kbit/s unrestricted
00101001 - 28 x 64 kbit/s unrestricted
00101010 - 29 x 64 kbit/s unrestricted
00101011 through 11111111 Spare
TMRSR 9002 1 OCTET Transmission Medium
Requirement Subrate
0 - unspecified
1 - 8kbit/s
2 - 16kbit/s
3 - 32kbit/s
Contcheck 9003 BOOLEAN Continuity Check
Reference: ITU Recommendation Q.763(09/97)
0 - Not required on this circuit
1 - Required on this circuit
ITC 9004 5 BITS Information Transfer
Capability
Reference: ITU Recommendation Q.763(09/97)
Bits 5 4 3 2 1
00000 - Speech
01000 -Unrestricted digital information
01001- Restricted digital information
10000 3.1 kHz audio
10001 - Unrestricted digital information with tones/announcements
(Note 2)
11000 -Video
All other values are reserved.
TransMode 9005 2 BITS Transfer Mode
Reference: ITU Recommendation Q.931 (1998)
Bit 2 1
00 - Circuit mode
10 - Packet mode
TransRate 9006 5 BITS Transfer Rate
Reference: ITU Recommendation Q.931 (1998)
Bit 5 4 3 2 1
00000 - This code shall be used for packet mode calls
10000 - 64 kbit/s
10001 - 2 x 64 kbit/s
10011 -384 kbit/s
10101 -1536 kbit/s
10111 -1920 kbit/s
11000 - Multirate (64 kbit/s base rate)
MULT 9007 7 BITS Rate Multiplier
Reference: ITU Recommendation Q.931 (1998)
Any value from 2 to n (maximum number of B-channels)
USI 9008 5 BITS User Information Layer
1 Protocol
Reference: ITU Recommendation Q.931 (1998)
Bits 5 4 3 2 1
00001 - CCITT standardized rate adaption V.110 and X.30.
00010 - Recommendation G.711 u-law
00011 - Recommendation G.711 A-law
00100 - Recommendation G.721 32 kbit/s ADPCM and Recommendation
I.460.
00101 - Recommendations H.221 and H.242
00110 - Recommendations H.223 and H.245
00111 - Non-ITU-T standardized rate adaption.
01000 - ITU-T standardized rate adaption V.120.
01001 - CCITT standardized rate adaption X.31 HDLC flag stuffing.
All other values are reserved.
syncasync 9009 BOOLEAN Synchronous/
Asynchronous
Reference: ITU Recommendation Q.931 (1998)
0 - Synchronous data
1 - Asynchronous data
negotiation 900A BOOLEAN Negotiation
Reference: ITU Recommendation Q.931 (1998)
0 - In-band negotiation possible
1 - In-band negotiation not possible
Userrate 900B 5 BITS User Rate
Reference: ITU Recommendation Q.931 (1998)
Bits 5 4 3 2 1
00000 - Rate is indicated by E-bits specified in Recommendation
I.460 or may be negotiated in-band
00001 - 0.6 kbit/s Recommendations V.6 and X.1
00010 - 1.2 kbit/s Recommendation V.6
00011 - 2.4 kbit/s Recommendations V.6 and X.1
00100 - 3.6 kbit/s Recommendation V.6
00101 - 4.8 kbit/s Recommendations V.6 and X.1
00110 - 7.2 kbit/s RecommendationV.6
00111 - 8 kbit/s Recommendation I.460
01000 - 9.6 kbit/s Recommendations V.6 and X.1
01001 - 14.4 kbit/s Recommendation V.6
01010 - 16 kbit/s Recommendation I.460
01011 - 19.2 kbit/s Recommendation V.6
01100 - 32 kbit/s Recommendation I.460
01101 - 38.4 kbit/s Recommendation V.110
01110 - 48 kbit/s Recommendations V.6 and X.1
01111 - 56 kbit/s Recommendation V.6
10010 - 57.6 kbit/s Recommendation V.14 extended
10011 - 28.8 kbit/s Recommendation V.110
10100 - 24 kbit/s Recommendation V.110
10101 - 0.1345 kbit/s Recommendation X.1
10110 - 0.100 kbit/s Recommendation X.1
10111 - 0.075/1.2 kbit/s Recommendations V.6 and X.1
11000 - 1.2/0.075 kbit/s Recommendations V.6 and X.1
11001 - 0.050 kbit/s Recommendations V.6 and X.1
11010 - 0.075 kbit/s Recommendations V.6 and X.1
11011 - 0.110 kbit/s Recommendations V.6 and X.1
11100 - 0.150 kbit/s Recommendations V.6 and X.1
11101 - 0.200 kbit/s Recommendations V.6 and X.1
11110 - 0.300 kbit/s Recommendations V.6 and X.1
11111 - 12 kbit/s Recommendation V.6
All other values are reserved.
INTRATE 900C 2 BITS Intermediate Rate
Reference: ITU Recommendation Q.931 (1998)
Bit 2 1
00 - Not used
01 - 8 kbit/s
10 - 16 kbit/s
11 - 32 kbit/s
nictx 900D BOOLEAN Network Independent
Clock (NIC) on
transmission
Reference: ITU Recommendation Q.931 (1998)
0 - Not required to send data with network independent clock
1 - Required to send data with network independent clock
nicrx 900E BOOLEAN Network independent
clock (NIC) on
reception
Reference: ITU Recommendation Q.931 (1998)
0 - Cannot accept data with network independent clock (i.e.
sender does not support this optional procedure)
1 - Can accept data with network independent clock (i.e. sender
does support this optional procedure)
flowconttx 900F BOOLEAN Flow Control on
transmission (Tx)
Reference: ITU Recommendation Q.931 (1998)
0 - Not required to send data with flow control mechanism
1 - Required to send data with flow control mechanism
flowcontrx 9010 BOOLEAN Flow control on
reception (Rx)
Reference: ITU Recommendation Q.931 (1998)
0 - Cannot accept data with flow control mechanism (i.e. sender
does not support this optional procedure)
1 - Can accept data with flow control mechanism (i.e. sender does
support this optional procedure)
rateadapthdr 9011 BOOLEAN Rate adaption
header/no header
Reference: ITU Recommendation Q.931 (1998)
0 - Rate adaption header not included
1 - Rate adaption header included
multiframe 9012 BOOLEAN Multiple frame
establishment support
in data link
Reference: ITU Recommendation Q.931 (1998)
0 - Multiple frame establishment not supported. Only UI frames
allowed.
1 - Multiple frame establishment supported
OPMODE 9013 BOOLEAN Mode of operation
Reference: ITU Recommendation Q.931 (1998)
0 Bit transparent mode of operation
1 Protocol sensitive mode of operation
llidnegot 9014 BOOLEAN Logical link
identifier negotiation
Reference: ITU Recommendation Q.931 (1998)
0 Default, LLI = 256 only
1 Full protocol negotiation
assign 9015 BOOLEAN Assignor/assignee
Reference: ITU Recommendation Q.931 (1998)
0 Message originator is "Default assignee"
1 Message originator is "Assignor only"
inbandneg 9016 BOOLEAN In-band/out-band
negotiation
Reference: ITU Recommendation Q.931 (1998)
0- Negotiation is done with USER INFORMATION messages on a
temporary signalling connection
1- Negotiation is done in-band using logical link zero
stopbits 9017 2 BITS Number of stop bits
Reference: ITU Recommendation Q.931 (1998)
Bits 2 1
00 - Not used
01 - 1 bit
10 - 1.5 bits
11 - 2 bits
databits 9018 2 BIT Number of data bits
excluding parity Bit
if present
Reference: ITU Recommendation Q.931 (1998)
Bit 2 1
00 - Not used
01 - 5 bits
10 - 7 bits
11 - 8 bits
parity 9019 3 BIT Parity information
Reference: ITU Recommendation Q.931 (1998)
Bit 3 2 1
000 - Odd
010 - Even
011 -None
100 - Forced to 0
101 - Forced to 1
All other values are reserved.
duplexmode 901A BOOLEAN Mode duplex
Reference: ITU Recommendation Q.931 (1998)
0 - Half duplex
1 - Full duplex
modem 901B 6 BIT Modem Type
Reference: ITU Recommendation Q.931 (1998)
Bits 6 5 4 3 2 1
00000 through 000101 National Use
010001 - Recommendation V.21
010010 - Recommendation V.22
010011 - Recommendation V.22 bis
010100 - Recommendation V.23
010101 - Recommendation V.26
011001 - Recommendation V.26 bis
010111 -Recommendation V.26 ter
011000 - RecommendationV.27
011001 - Recommendation V.27 bis
011010 - Recommendation V.27 ter
011011 - Recommendation V.29
011101 - Recommendation V.32
011110 - Recommendation V.34
100000 through 101111 National Use
110000 through 111111 User Specified
layer2prot 901C 5 BIT User information layer
2 protocol
Reference: ITU Recommendation Q.931 (1998)
Bit 5 4 3 2 1
00010 - Recommendation Q.921/I.441 [3]
00110 - Recommendation X.25 [5], link layer
01100 - LAN logical link control (ISO/IEC 8802-2)
All other values are reserved.
layer3prot 901D 5 BIT User information layer
3 protocol
Reference: ITU Recommendation Q.931 (1998)
Bit 5 4 3 2 1
00010 - Recommendation Q.931/I.451
00110 - Recommendation X.25, packet layer
01011 - ISO/IEC TR 9577 (Protocol identification in the network
layer)
All other values are reserved.
addlayer3prot 901E OCTET Additional User
Information layer 3
protocol
Reference: ITU Recommendation Q.931 (1998)
Bits 4321 4321
1100 1100 - Internet Protocol (RFC791) (ISO/IEC TR 9577)
1100 1111 - Point-to-point Protocol (RFC1548)
DialledN 901F 30 OCTETS Dialled Number
DiallingN 9020 30 OCTETS Dialling Number
ECHOCI 9021 Enumeration Echo Control
Information
echo canceler off (0), incoming echo canceler on (1), outgoing
echo canceler on (2), incoming and outgoing echo canceler on (3)
NCI 9022 1 OCTET Nature of Connection
Indicators
Reference: ITU Recommendation Q.763
Bits 8 7 6 5 4 3 2 1
Bits 2 1 Satellite Indicator
0 0 no satellite circuit in the connection
0 1 one satellite circuit in the connection
1 0 two satellite circuits in the connection
1 1 spare
Bits 4 3 Continuity check indicator
0 0 continuity check not required
0 1 continuity check required on this circuit
1 0 continuity check performed on a previous circuit
1 1 spare
Bits 5 Echo control device indicator
0 outgoing echo control device not included
1 outgoing echo control device included
Bits 8 7 6 Spare
C.10 AAL5 Properties
PropertyID Property Type Value
Tag
FMSDU A001 32 bit integer Forward Maximum CPCS-
SDU Size:
Reference: ITU Recommendation Q.2931 (1995)
Maximum CPCS-SDU size sent in the direction from the calling user
to the called user.
BMSDU A002 32 bit integer Backwards Maximum
CPCS-SDU Size
Reference: ITU Recommendation Q.2931 (1995)
Maximum CPCS-SDU size sent in the direction from the called user
to the calling user.
SSCS See See table C.7 See table C.7
table
C.7
Additional values:
VPI/VCI
SC See See Table C.4 See table C.4
Table
C.4
C.11 SDP Equivalents
PropertyID Property Type Value
Tag
SDP_V B001 STRING Protocol Version
SDP_O B002 STRING Owner/creator and
session ID
SDP_S B003 STRING Sesson name
SDP_I B004 STRING Session identifier
SDP_U B005 STRING URI of descriptor
SDC_E B006 STRING email address
SDP_P B007 STRING phone number
SDP_C B008 STRING Connection information
SDP_B B009 STRING Bandwidth Information
SDP_Z B00A STRING time zone adjustment
SDP_K B00B STRING Encryption Key
SDP_A B00C STRING Zero or more session
attributes
SDP_T B00D STRING Active Session Time
SDP_R B00E STRING Zero or more repeat
times
Reference in all cases: IETF RFC2327, "Session Description
Protocol"
C.12 H.245
PropertyID Property Type Value
Tag
OLC C001 octet string The value of H.245
OpenLogicalChannel
structure.
OLCack C002 octet string The value of H.245
OpenLogicalChannelAck
structure.
OLCcnf C003 octet string The value of H.245
OpenLogicalChannelConfirm
structure.
OLCrej C004 octet string The value of H.245
OpenLogicalChannelReject
structure.
CLC C005 octet string The value of H.245
CloseLogicalChannel
structure.
CLCack C006 octet string The value of H.245
CloseLogicalChannelAck
structure.
Reference in all cases: ITU-T Recommendation H.245
ANNEX D TRANSPORT OVER IP (NORMATIVE)
D.1 Transport over IP/UDP using Application Level Framing
Protocol messages defined in this document may be transmitted over
UDP. When no port is provided by the peer (see section 7.2.8),
commands should be sent to the default port number, 2944 for text-
encoded operation or 2945 for binary-encoded operation. Responses
must be sent to the address and port from which the corresponding
commands were sent except if the response is to a handoff or
failover, in which case the procedures of 11.5 apply.
Implementors using IP/UDP with ALF should be aware of the
restrictions of the MTU on the maximum message size.
D.1.1 Providing At-Most-Once Functionality
Messages, being carried over UDP, may be subject to losses. In the
absence of a timely response, commands are repeated. Most commands
are not idempotent. The state of the MG would become unpredictable
if, for example, Add commands were executed several times. The
transmission procedures shall thus provide an "At-Most-Once"
functionality.
Peer protocol entities are expected to keep in memory a list of the
responses that they sent to recent transactions and a list of the
transactions that are currently outstanding. The transaction
identifier of each incoming message is compared to the transaction
identifiers of the recent responses sent to the same MId. If a match
is found, the entity does not execute the transaction, but simply
repeats the response. If no match is found, the message will be
compared to the list of currently outstanding transactions. If a
match is found in that list, indicating a duplicate transaction, the
entity does not execute the transaction (see section 8.2.3 for
procedures on sending TransactionPending).
The procedure uses a long timer value, noted LONG-TIMER in the
following. The timer should be set larger than the maximum duration
of a transaction, which should take into account the maximum number
of repetitions, the maximum value of the repetition timer and the
maximum propagation delay of a packet in the network. A suggested
value is 30 seconds.
The copy of the responses may be destroyed either LONG-TIMER seconds
after the response is issued, or when the entity receives a
confirmation that the response has been received, through the
"Response Acknowledgement parameter". For transactions that are
acknowledged through this parameter, the entity shall keep a copy of
the transaction-id for LONG-TIMER seconds after the response is
issued, in order to detect and ignore duplicate copies of the
transaction request that could be produced by the network.
D.1.2 Transaction identifiers and three-way handshake
D.1.2.1 Transaction identifiers
Transaction identifiers are 32 bit integer numbers. A Media Gateway
Controller may decide to use a specific number space for each of the
MGs that they manage, or to use the same number space for all MGs
that belong to some arbitrary group. MGCs may decide to share the
load of managing a large MG between several independent processes.
These processes will share the same transaction number space. There
are multiple possible implementations of this sharing, such as having
a centralized allocation of transaction identifiers, or pre-
allocating non-overlapping ranges of identifiers to different
processes. The implementations shall guarantee that unique
transaction identifiers are allocated to all transactions that
originate from a logical MGC (identical mId). MGs can simply detect
duplicate transactions by looking at the transaction identifier and
mId only.
D.1.2.2 Three-way handshake
The TransactionResponse Acknowledgement parameter can be found in any
message. It carries a set of "confirmed transaction-id ranges".
Entities may choose to delete the copies of the responses to
transactions whose id is included in "confirmed transaction-id
ranges" received in the transaction response messages. They should
silently discard further commands when the transaction-id falls
within these ranges.
The "confirmed transaction-id ranges" values shall not be used if
more than LONG-TIMER seconds have elapsed since the MG issued its
last response to that MGC, or when a MG resumes operation. In this
situation, transactions should be accepted and processed, without any
test on the transaction-id.
Messages that carry the "Transaction Response Acknowledgement"
parameter may be transmitted in any order. The entity shall retain
the "confirmed transaction-id ranges" receivedfor LONG-TIMER seconds.
In the binary encoding, if only the firstAck is present in a response
acknowledgement (see Annex A.2), only one transaction is
acknowledged. If both firstAck and lastAck are present, then the
range of transactions from firstAck to lastAck is acknowledged. In
the text encoding, a horizontal dash is used to indicate a range of
transactions being acknowledged (see Annex B.2).
D.1.3 Computing retransmission timers
It is the responsibility of the requesting entity to provide suitable
time outs for all outstanding transactions, and to retry transactions
when time outs have been exceeded. Furthermore, when repeated
transactions fail to be acknowledged, it is the responsibility of the
requesting entity to seek redundant services and/or clear existing or
pending connections.
The specification purposely avoids specifying any value for the
retransmission timers. These values are typically network dependent.
The retransmission timers should normally estimate the timer value by
measuring the time spent between the sending of a command and the
return of a response.
Note - One possibility is to use the algorithm implemented in TCP-
IP, which uses two variables:
. The average acknowledgement delay, AAD, estimated through an
exponentially smoothed average of the observed delays.
. The average deviation, ADEV, estimated through an exponentially
smoothed average of the absolute value of the difference between
the observed delay and the current average. The retransmission
timer, in TCP, is set to the sum of the average delay plus N
times the average deviation. The maximum value of the timer
should however be bounded for the protocol defined in this
document, in order to guarantee that no repeated packet would be
received by the gateways after LONG-TIMER seconds. A suggested
maximum value is 4 seconds.
After any retransmission, the entity should do the following:
. It should double the estimated value of the average delay, AAD
. It should compute a random value, uniformly distributed between
0.5 AAD and AAD
. It should set the retransmission timer to the sum of that random
value and N times the average deviation.
This procedure has two effects. Because it includes an exponentially
increasing component, it will automatically slow down the stream of
messages in case of congestion. Because it includes a random
component, it will break the potential synchronization between
notifications triggered by the same external event.
D.1.4 Provisional responses
Executing some transactions may require a long time. Long execution
times may interact with the timer based retransmission procedure.
This may result either in an inordinate number of retransmissions, or
in timer values that become too long to be efficient. Entities that
can predict that a transaction will require a long execution time may
send a provisional response, "Transaction Pending".
Entities that receive a Transaction Pending shall switch to a
different repetition timer for repeating requests. The root
termination has a property (ProvisionalResponseTimerValue), which can
be set to the requested maximum number of milliseconds between
receipt of a command and transmission of the TransactionPending
response. Upon receipt of a final response, an immediate
confirmation shall be sent, and normal repetition timers shall be
used thereafter. Receipt of a Transaction Pending after receipt of a
reply shall be ignored.
D.1.5 Repeating Requests, Responses and Acknowledgements
The protocol is organized as a set of transactions, each of which is
composed request and a response, commonly referred to as an
acknowledgement. The protocol messages, being carried over UDP, may
be subject to losses. In the absence of a timely response,
transactions are repeated. Entities are expected to keep in memory a
list of the responses that they sent to recent transactions, i.e. a
list of all the responses they sent over the last LONG-TIMER seconds,
and a list of the transactions that are currently being executed.
The repetition mechanism is used to guard against three types of
possible errors:
. transmission errors, when for example a packet is lost due to
noise on a line or congestion in a queue;
. component failure, when for example an interface to a entity
becomes unavailable;
. entity failure, when for example an entire entity become
unavailable.
The entities should be able to derive from the past history an
estimate of the packet loss rate due to transmission errors. In a
properly configured system, this loss rate should be kept very low,
typically less than 1%. If a Media Gateway Controller or a Media
Gateway has to repeat a message more than a few times, it is very
legitimate to assume that something else than a transmission error is
occurring. For example, given a loss rate of 1%, the probability
that five consecutive transmission attempts fail is 1 in 100 billion,
an event that should occur less than once every 10 days for a Media
Gateway Controller that processes 1 000 transactions per second.
(Indeed, the number of repetition that is considered excessive should
be a function of the prevailing packet loss rate.) We should note
that the "suspicion threshold", which we will call "Max1", is
normally lower than the "disconnection threshold", which should be
set to a larger value.
A classic retransmission algorithm would simply count the number of
successive repetitions, and conclude that the association is broken
after retransmitting the packet an excessive number of times
(typically between 7 and 11 times.) In order to account for the
possibility of an undetected or in-progress "failover", we modify the
classic algorithm so that if the Media Gateway receives a valid
ServiceChange message announcing a failover, it will start
transmitting outstanding commands to that new MGC. Responses to
commands are still transmitted to the source address of the command.
In order to automatically adapt to network load, this document
specifies exponentially increasing timers. If the initial timer is
set to 200 milliseconds, the loss of a fifth retransmission will be
detected after about 6 seconds. This is probably an acceptable
waiting delay to detect a failover. The repetitions should continue
after that delay not only in order to perhaps overcome a transient
connectivity problem, but also in order to allow some more time for
the execution of a failover - waiting a total delay of 30 seconds is
probably acceptable.
It is, however, important that the maximum delay of retransmissions
be bounded. Prior to any retransmission, it is checked that the time
elapsed since the sending of the initial datagram is no greater than
T-MAX. If more than T-MAX time has elapsed, the MG concludes that the
MGC has failed, and it begins its recovery process. When the MG
establishes a new control association, it can retransmit to the new
MGC. Alternatively, a MG may use a ServiceChange with
ServiceChangeMethod equal to disconnected to inform the new MGC that
the MG lost one or more transactions. The value T-MAX is related to
the LONG-TIMER value: the LONG-TIMER value is obtained by adding to
T-MAX the maximum propagation delay in the network.
D.2 using TCP
Protocol messages as defined in this document may be transmitted over
TCP. When no port is specified by the other side (see section
7.2.8), the commands should be sent to the default port. The defined
protocol has messages as the unit of transfer, while TCP is a
stream-oriented protocol. TPKT, according to RFC1006 SHALL be used
to delineate messages within the TCP stream.
In a transaction-oriented protocol, there are still ways for
transaction requests or responses to be lost. As such, it is
recommended that entities using TCP transport implement application
level timers for each request and each response, similar to those
specified for application level framing over UDP.
D.2.1 Providing the At-Most-Once functionality
Messages, being carried over TCP, are not subject to transport
losses, but loss of a transaction request or its reply may
nonetheless be noted in real implementations. In the absence of a
timely response, commands are repeated. Most commands are not
idempotent. The state of the MG would become unpredictable if, for
example, Add commands were executed several times.
To guard against such losses, it is recommended that entities follow
the procedures in section D.1.1
D.2.2 Transaction identifiers and three way handshake
For the same reasons, it is possible that transaction replies may be
lost even with a reliable delivery protocol such as TCP. It is
recommended that entities follow the procedures in section D.1.2.2.
D.2.3 Computing retransmission timers
With reliable delivery, the incidence of loss of a transaction
request or reply is expected to be very low. Therefore, only simple
timer mechanisms are required. Exponential back-off algorithms should
not be necessary, although they could be employed where, as in an
MGC, the code to do so is already required, since MGCs must implement
ALF/UDP as well as TCP.
D.2.4 Provisional responses
As with UDP, executing some transactions may require a long time.
Entities that can predict that a transaction will require a long
execution time may send a provisional response, "Transaction
Pending". They should send this response if they receive a repetition
of a transaction that is still being executed.
Entities that receive a Transaction Pending shall switch to a longer
repetition timer for that transaction.
Entities shall retain Transactions and replies until they are
confirmed. The basic procedure of section D.1.4 should be followed,
but simple timer values should be sufficient. There is no need to
send an immediate confirmation upon receipt of a final response.
D.2.5 Ordering of commands
TCP provides ordered delivery of transactions. No special procedures
are required. It should be noted that ALF/UDP allows sending entity
to modify its behavior under congestion, and in particular, could
reorder transactions when congestion is encountered. TCP could not
achieve the same results.
ANNEX E BASIC PACKAGES
This Annex contains definitions of some packages for use with the
Megaco protocol.
E.1 Generic
PackageID: g (0x000e)
Version: 1
Extends: None
Description: Generic package for commonly encountered items.
E.1.1 Properties
None
E.1.2 Events
Cause
-----
EventID: cause (0x0001)
Generic error event
ObservedEvents Descriptor Parameters:
General Cause
-------------
ParameterID: Generalcause (0x0001)
Description: This parameter groups the failures into six
groups, which the MGC may act upon.
Possible values: Enumerated,
"NR" Normal Release (0x0001)
"UR" Unavailable Resources (0x0002)
"FT" Failure, Temporary (0x0003)
"FP" Failure, Permanent (0x0004)
"IW" Interworking Error (0x0005)
"UN" Unsupported (0x0006)
Failure Cause
-------------
ParameterID: Failurecause (0x0002)
Description: The Release Cause is the value generated by the
Released equipment, i.e. a released network connection.
The concerned value is defined in the appropriate bearer
control protocol.
Possible Values: OCTET STRING
Signal Completion
-----------------
EventID: sc (0x0002)
Indicates termination of one or more signals for which the
notifyCompletion parameter was set to "ON". For further procedural
description, see sections 7.1.11, 7.1.17, and 7.2.7.
ObservedEvents Descriptor parameters:
Signal Identity