aboutsummaryrefslogtreecommitdiffstats
path: root/lib/megaco/include/megaco_message_v3.hrl
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2009-11-20 14:54:40 +0000
committerErlang/OTP <[email protected]>2009-11-20 14:54:40 +0000
commit84adefa331c4159d432d22840663c38f155cd4c1 (patch)
treebff9a9c66adda4df2106dfd0e5c053ab182a12bd /lib/megaco/include/megaco_message_v3.hrl
downloadotp-84adefa331c4159d432d22840663c38f155cd4c1.tar.gz
otp-84adefa331c4159d432d22840663c38f155cd4c1.tar.bz2
otp-84adefa331c4159d432d22840663c38f155cd4c1.zip
The R13B03 release.OTP_R13B03
Diffstat (limited to 'lib/megaco/include/megaco_message_v3.hrl')
-rw-r--r--lib/megaco/include/megaco_message_v3.hrl779
1 files changed, 779 insertions, 0 deletions
diff --git a/lib/megaco/include/megaco_message_v3.hrl b/lib/megaco/include/megaco_message_v3.hrl
new file mode 100644
index 0000000000..7a1bc80571
--- /dev/null
+++ b/lib/megaco/include/megaco_message_v3.hrl
@@ -0,0 +1,779 @@
+%%<copyright>
+%% <year>2005-2008</year>
+%% <holder>Ericsson AB, All Rights Reserved</holder>
+%%</copyright>
+%%<legalnotice>
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% The Initial Developer of the Original Code is Ericsson AB.
+%%</legalnotice>
+%%
+%%----------------------------------------------------------------------
+%% Purpose: Erlang record definitions for each named and unnamed
+%% SEQUENCE and SET in module MEDIA-GATEWAY-CONTROL
+%%----------------------------------------------------------------------
+
+-record('MegacoMessage',
+ {
+ authHeader = asn1_NOVALUE,
+ mess
+ }).
+
+-record('AuthenticationHeader',
+ {
+ secParmIndex,
+ seqNum,
+ ad
+ }).
+
+-record('Message',
+ {
+ version,
+ mId,
+ messageBody
+ }). % with extension mark
+
+-record('DomainName',
+ {
+ name,
+ portNumber = asn1_NOVALUE
+ }).
+
+-record('IP4Address',
+ {
+ address,
+ portNumber = asn1_NOVALUE
+ }).
+
+-record('IP6Address',
+ {
+ address,
+ portNumber = asn1_NOVALUE
+ }).
+
+
+%% Transaction ::= CHOICE
+%% {
+%% transactionRequest TransactionRequest,
+%% transactionPending TransactionPending,
+%% transactionReply TransactionReply,
+%% transactionResponseAck TransactionResponseAck,
+%% -- use of response acks is dependent on underlying transport
+%% ...,
+%% segmentReply SegmentReply
+%% }
+
+-record('TransactionRequest',
+ {
+ transactionId,
+ actions = []
+ }). % with extension mark
+
+-record('TransactionPending',
+ {
+ transactionId
+ }). % with extension mark
+
+-record('TransactionReply',
+ {
+ transactionId,
+ immAckRequired = asn1_NOVALUE,
+ transactionResult,
+
+ %% with extension mark -- v3 --
+
+ segmentNumber = asn1_NOVALUE,
+ segmentationComplete = asn1_NOVALUE
+ }).
+
+
+%% -- v3 --
+-record('SegmentReply',
+ {
+ transactionId,
+ segmentNumber,
+ segmentationComplete = asn1_NOVALUE
+ }). % with extension mark
+
+%% SegmentNumber ::= INTEGER(0..65535)
+
+-record('TransactionAck',
+ {
+ firstAck,
+ lastAck = asn1_NOVALUE
+ }).
+
+-record('ErrorDescriptor',
+ {
+ errorCode,
+ errorText = asn1_NOVALUE
+ }).
+
+-record('ActionRequest',
+ {
+ contextId,
+ contextRequest = asn1_NOVALUE,
+ contextAttrAuditReq = asn1_NOVALUE,
+ commandRequests = []
+ }).
+
+-record('ActionReply',
+ {
+ contextId,
+ errorDescriptor = asn1_NOVALUE,
+ contextReply = asn1_NOVALUE,
+ commandReply = []
+ }).
+
+-record('ContextRequest',
+ {
+ priority = asn1_NOVALUE,
+ emergency = asn1_NOVALUE,
+ topologyReq = asn1_NOVALUE,
+
+ %% with extension mark -- prev3b --
+
+ iepscallind = asn1_NOVALUE,
+ contextProp = asn1_NOVALUE,
+
+ %% -- prev3c --
+
+ contextList = asn1_NOVALUE
+
+ }).
+
+-record('ContextAttrAuditRequest',
+ {
+ topology = asn1_NOVALUE,
+ emergency = asn1_NOVALUE,
+ priority = asn1_NOVALUE,
+
+ %% with extension mark -- prev3b --
+
+ iepscallind = asn1_NOVALUE,
+ contextPropAud = asn1_NOVALUE,
+
+ %% -- prev3c --
+
+ selectpriority = asn1_NOVALUE,
+ selectemergency = asn1_NOVALUE,
+ selectiepscallind = asn1_NOVALUE,
+ selectLogic = asn1_NOVALUE
+ }).
+
+
+%% SelectLogic ::= CHOICE
+%% {
+%% andAUDITSelect NULL, -- all selection conditions satisfied
+%% orAUDITSelect NULL, -- at least one selection condition satisfied
+%% ...
+%% }
+
+-record('CommandRequest',
+ {
+ command,
+ optional = asn1_NOVALUE,
+ wildcardReturn = asn1_NOVALUE
+ }). % with extension mark
+
+-record('TopologyRequest',
+ {
+ terminationFrom,
+ terminationTo,
+ topologyDirection,
+
+ %% After extension mark
+ streamID = asn1_NOVALUE,
+
+ %% -- prev3c --
+ %% This is actually not according to the standard,
+ %% but without it 'TopologyRequest' will be useless.
+ topologyDirectionExtension = asn1_NOVALUE
+
+ }).
+
+-record('AmmRequest',
+ {
+ terminationID = [],
+ descriptors = []
+ }). % with extension mark
+
+-record('AmmsReply',
+ {
+ terminationID = [],
+ terminationAudit = asn1_NOVALUE
+ }). % with extension mark
+
+-record('SubtractRequest',
+ {
+ terminationID = [],
+ auditDescriptor = asn1_NOVALUE
+ }). % with extension mark
+
+-record('AuditRequest',
+ {
+ terminationID,
+ auditDescriptor,
+
+ %% -- prev3c (after extension mark) --
+
+ terminationIDList = asn1_NOVALUE
+
+ }).
+
+%% AuditReply := CHOICE
+%% {
+%% contextAuditResult TerminationIDList,
+%% error ErrorDescriptor,
+%% auditResult AuditResult,
+%% ...
+%% auditResultTermList TermListAuditResult
+%% }
+
+-record('AuditResult',
+ {
+ terminationID,
+ terminationAuditResult = []
+ }).
+
+-record('TermListAuditResult',
+ {
+ terminationIDList,
+ terminationAuditResult = []
+ }). % with extension mark
+
+-record('AuditDescriptor',
+ {
+ auditToken = asn1_NOVALUE,
+ %% with extensions
+ auditPropertyToken = asn1_NOVALUE
+ }).
+
+
+%% --- v2 start ---
+
+-record('IndAudMediaDescriptor',
+ {
+ termStateDescr = asn1_NOVALUE,
+ streams = asn1_NOVALUE
+ }). % with extension mark
+
+-record('IndAudStreamDescriptor',
+ {
+ streamID,
+ streamParms
+ }). % with extension mark
+
+-record('IndAudStreamParms',
+ {
+ localControlDescriptor = asn1_NOVALUE,
+ localDescriptor = asn1_NOVALUE, %% NOTE: NOT IN TEXT
+ remoteDescriptor = asn1_NOVALUE, %% NOTE: NOT IN TEXT
+
+ %% with extension mark -- prev3b --
+
+ statisticsDescriptor = asn1_NOVALUE
+ }).
+
+-record('IndAudLocalControlDescriptor',
+ {
+ streamMode = asn1_NOVALUE,
+ reserveValue = asn1_NOVALUE,
+ reserveGroup = asn1_NOVALUE,
+ propertyParms = asn1_NOVALUE,
+
+ %% -- prev3c (after extension mark) --
+
+ streamModeSel = asn1_NOVALUE
+
+ }).
+
+-record('IndAudPropertyParm',
+ {
+ name,
+
+ %% -- prev3c (after extension mark) --
+
+ propertyParms = asn1_NOVALUE
+ }).
+
+-record('IndAudLocalRemoteDescriptor',
+ {
+ propGroupID = asn1_NOVALUE,
+ propGrps
+ }). % with extension mark
+
+%% IndAudPropertyGroup ::= SEQUENCE OF IndAudPropertyParm
+
+
+%% BUGBUG
+%% In text, it can only be one of them in each record.
+%% So, in case it's eventBufferControl or serviceState
+%% propertyParms will be an empty list.
+-record('IndAudTerminationStateDescriptor',
+ {
+ propertyParms = [], %% Optional in text...
+ eventBufferControl = asn1_NOVALUE,
+ serviceState = asn1_NOVALUE,
+
+ %% -- prev3c (after extension mark) --
+
+ serviceStateSel = asn1_NOVALUE
+
+ }).
+
+-record('IndAudEventsDescriptor',
+ {
+ requestID = asn1_NOVALUE, %% Only optional in ASN.1
+ pkgdName,
+ streamID = asn1_NOVALUE
+ }). % with extension mark
+
+-record('IndAudEventBufferDescriptor',
+ {
+ eventName,
+ %% This is an ugly hack to allow the eventParameterName
+ %% which only exist in text!!
+ %% streamID = asn1_NOVALUE | integer() |
+ %% {eventParameterName, Name} <- BUGBUG: ONLY IN TEXT
+ %% Note that the binary codecs will fail to encode
+ %% if the streamID is not aither asn1_NOVALUE or an integer()
+ %% So it is recommended to refrain from using this text feature...
+ streamID = asn1_NOVALUE
+
+ %% eventParameterName = asn1_NOVALUE %% BUGBUG: ONLY IN TEXT
+
+ }). % with extension mark
+
+-record('IndAudSeqSigList',
+ {
+ id,
+ signalList = asn1_NOVALUE %% Only in ASN1
+ }). % with extension mark
+
+-record('IndAudSignal',
+ {
+ signalName,
+ streamID = asn1_NOVALUE, % Optional in ASN1 & non-existent in text
+
+ %% -- prev3c (after extension mark) --
+
+ signalRequestID = asn1_NOVALUE
+
+ }). % with extension mark
+
+-record('IndAudDigitMapDescriptor',
+ {
+ digitMapName = asn1_NOVALUE %% OPTIONAL in ASN.1 but not in text
+ }).
+
+-record('IndAudStatisticsDescriptor',
+ {
+ statName
+ }).
+
+-record('IndAudPackagesDescriptor',
+ {
+ packageName,
+ packageVersion
+ }). % with extension mark
+
+
+%% --- v2 end ---
+
+
+-record('NotifyRequest',
+ {
+ terminationID = [],
+ observedEventsDescriptor,
+ errorDescriptor = asn1_NOVALUE
+ }). % with extension mark
+
+-record('NotifyReply',
+ {
+ terminationID = [],
+ errorDescriptor = asn1_NOVALUE
+ }). % with extension mark
+
+-record('ObservedEventsDescriptor',
+ {
+ requestId,
+ observedEventLst = []
+ }).
+
+-record('ObservedEvent',
+ {
+ eventName,
+ streamID = asn1_NOVALUE,
+ eventParList = [],
+ timeNotation = asn1_NOVALUE
+ }). % with extension mark
+
+%% This value field of this record is already encoded and will
+%% be inserted as is.
+%% This record could be used either when there is a bug in the
+%% encoder or if an "external" package, unknown to the megaco app,
+%% where the value part requires a special encode.
+-record(megaco_event_parameter,
+ {
+ name,
+ value
+ }).
+
+-record('EventParameter',
+ {
+ eventParameterName,
+ value,
+ extraInfo = asn1_NOVALUE
+ }). % with extension mark
+
+-record('ServiceChangeRequest',
+ {
+ terminationID = [],
+ serviceChangeParms
+ }). % with extension mark
+
+-record('ServiceChangeReply',
+ {
+ terminationID = [],
+ serviceChangeResult = []
+ }). % with extension mark
+
+-record('TerminationID',
+ {
+ wildcard,
+ id
+ }). % with extension mark
+
+%% TerminationIDList ::= SEQUENCE OF TerminationID
+
+-record('MediaDescriptor',
+ {
+ termStateDescr = asn1_NOVALUE,
+ streams = asn1_NOVALUE
+ }). % with extension mark
+
+-record('StreamDescriptor',
+ {
+ streamID,
+ streamParms
+ }).
+
+-record('StreamParms',
+ {
+ localControlDescriptor = asn1_NOVALUE,
+ localDescriptor = asn1_NOVALUE,
+ remoteDescriptor = asn1_NOVALUE,
+
+ %% with extension mark -- prev3b --
+
+ statisticsDescriptor = asn1_NOVALUE
+ }).
+
+-record('LocalControlDescriptor',
+ {
+ streamMode = asn1_NOVALUE,
+ reserveValue = asn1_NOVALUE,
+ reserveGroup = asn1_NOVALUE,
+ propertyParms = []
+ }). % with extension mark
+
+%% StreamMode ::= ENUMERATED
+%% {
+%% sendOnly(0),
+%% recvOnly(1),
+%% sendRecv(2),
+%% inactive(3),
+%% loopBack(4),
+%% ...
+%% }
+
+-record('PropertyParm',
+ {
+ name,
+ value,
+ extraInfo = asn1_NOVALUE
+ }). % with extension mark
+
+-record('LocalRemoteDescriptor',
+ {
+ propGrps = []
+ }). % with extension mark
+
+-record('TerminationStateDescriptor',
+ {
+ propertyParms = [],
+ eventBufferControl = asn1_NOVALUE,
+ serviceState = asn1_NOVALUE
+ }). % with extension mark
+
+%% EventBufferControl ::= ENUMERATED
+%% {
+%% off(0),
+%% lockStep(1),
+%% ...
+%% }
+
+%% ServiceState ::= ENUMERATED
+%% {
+%% test(0),
+%% outOfSvc(1),
+%% inSvc(2),
+%% ...
+%% }
+
+-record('MuxDescriptor',
+ {
+ muxType,
+ termList = [],
+ nonStandardData = asn1_NOVALUE
+ }). % with extension mark
+
+-record('EventsDescriptor',
+ {
+ requestID,
+ %% BUGBUG: IG 6.82 was withdrawn
+ %% requestID = asn1_NOVALUE,
+ eventList = []
+ }). % with extension mark
+
+-record('RequestedEvent',
+ {
+ pkgdName,
+ streamID = asn1_NOVALUE,
+ eventAction = asn1_NOVALUE,
+ evParList = []
+ }). % with extension mark
+
+%% -- prev3c --
+-record('RegulatedEmbeddedDescriptor',
+ {
+ secondEvent = asn1_NOVALUE,
+ signalsDescriptor = asn1_NOVALUE
+ }). % with extension mark
+
+%% NotifyBehaviour ::= CHOICE
+%% {
+%% notifyImmediate NULL,
+%% notifyRegulated RegulatedEmbeddedDescriptor,
+%% neverNotify NULL,
+%% ...
+%% }
+
+-record('RequestedActions',
+ {
+ keepActive = asn1_NOVALUE,
+ eventDM = asn1_NOVALUE,
+ secondEvent = asn1_NOVALUE,
+ signalsDescriptor = asn1_NOVALUE,
+
+ %% -- prev3c (after extension mark) --
+
+ notifyBehaviour = asn1_NOVALUE,
+ resetEventsDescriptor = asn1_NOVALUE
+
+ }).
+
+-record('SecondEventsDescriptor',
+ {
+ requestID,
+ %% BUGBUG: IG 6.82 was withdrawn
+ %% requestID = asn1_NOVALUE,
+ eventList = []
+ }). % with extension mark
+
+-record('SecondRequestedEvent',
+ {
+ pkgdName,
+ streamID = asn1_NOVALUE,
+ eventAction = asn1_NOVALUE,
+ evParList = []
+ }). % with extension mark
+
+-record('SecondRequestedActions',
+ {
+ keepActive = asn1_NOVALUE,
+ eventDM = asn1_NOVALUE,
+ signalsDescriptor = asn1_NOVALUE,
+
+ %% -- prev3c (after extension mark) --
+
+ notifyBehaviour = asn1_NOVALUE,
+ resetEventsDescriptor = asn1_NOVALUE
+
+ }).
+
+
+%% EventBufferDescriptor ::= SEQUENCE OF EventSpec
+
+-record('EventSpec',
+ {
+ eventName,
+ streamID = asn1_NOVALUE,
+ eventParList = []
+ }). % with extension mark
+
+
+%% SignalsDescriptor ::= SEQUENCE OF SignalRequest
+
+%% SignalRequest ::= CHOICE
+%% {
+%% signal Signal,
+%% seqSigList SeqSigList,
+%% ...
+%% }
+
+
+-record('SeqSigList',
+ {
+ id,
+ signalList = []
+ }).
+
+-record('Signal',
+ {
+ signalName,
+ streamID = asn1_NOVALUE,
+ sigType = asn1_NOVALUE,
+ duration = asn1_NOVALUE,
+ notifyCompletion = asn1_NOVALUE,
+ keepActive = asn1_NOVALUE,
+ sigParList = [],
+
+ %% with extension mark -- prev3b --
+
+ direction = asn1_NOVALUE,
+ requestID = asn1_NOVALUE,
+
+ %% -- prev3c --
+
+ intersigDelay = asn1_NOVALUE
+
+ }).
+
+%% SignalType ::= ENUMERATED
+%% {
+%% brief(0),
+%% onOff(1),
+%% timeOut(2),
+%% ...
+%% }
+
+%% SignalDirection ::= ENUMERATED
+%% {
+%% internal(0),
+%% external(1),
+%% both(3),
+%% ...
+%% }
+
+%% SignalName ::= PkgdName
+
+%% NotifyCompletion ::= BIT STRING
+%% {
+%% onTimeOut(0), onInterruptByEvent(1),
+%% onInterruptByNewSignalDescr(2), otherReason(3), onIteration(4)
+%% }
+
+-record('SigParameter',
+ {
+ sigParameterName,
+ value,
+ extraInfo = asn1_NOVALUE
+ }). % with extension mark
+
+-record('ModemDescriptor',
+ {
+ mtl,
+ mpl,
+ nonStandardData = asn1_NOVALUE
+ }).
+
+-record('DigitMapDescriptor',
+ {
+ digitMapName = asn1_NOVALUE,
+ digitMapValue = asn1_NOVALUE
+ }).
+
+-record('DigitMapValue',
+ {
+ startTimer = asn1_NOVALUE,
+ shortTimer = asn1_NOVALUE,
+ longTimer = asn1_NOVALUE,
+ digitMapBody,
+ %% with extensions
+ durationTimer = asn1_NOVALUE
+ }).
+
+-record('ServiceChangeParm',
+ {
+ serviceChangeMethod,
+ serviceChangeAddress = asn1_NOVALUE,
+ serviceChangeVersion = asn1_NOVALUE,
+ serviceChangeProfile = asn1_NOVALUE,
+ serviceChangeReason,
+ serviceChangeDelay = asn1_NOVALUE,
+ serviceChangeMgcId = asn1_NOVALUE,
+ timeStamp = asn1_NOVALUE,
+ nonStandardData = asn1_NOVALUE,
+
+ %% with extension mark -- prev3b (serviceChangeIncompleteFlag) --
+
+ serviceChangeInfo = asn1_NOVALUE,
+ serviceChangeIncompleteFlag = asn1_NOVALUE
+ }).
+
+-record('ServiceChangeResParm',
+ {
+ serviceChangeMgcId = asn1_NOVALUE,
+ serviceChangeAddress = asn1_NOVALUE,
+ serviceChangeVersion = asn1_NOVALUE,
+ serviceChangeProfile = asn1_NOVALUE,
+ timeStamp = asn1_NOVALUE
+ }). % with extension mark
+
+
+%% This is the actual ASN.1 type and it is as this it will
+%% be represented if the encoding config [native] is choosen.
+%% %% String of at least 1 character and at most 67 characters (ASN.1).
+%% %% 64 characters for name, 1 for "/", 2 for version to match ABNF
+%% -record('ServiceChangeProfile',
+%% {
+%% profileName
+%% }
+%% ).
+
+-record('ServiceChangeProfile',
+ {
+ profileName,
+ version
+ }).
+
+
+-record('PackagesItem',
+ {
+ packageName,
+ packageVersion
+ }). % with extension mark
+
+-record('StatisticsParameter',
+ {
+ statName,
+ statValue = asn1_NOVALUE
+ }).
+
+-record('TimeNotation',
+ {
+ date,
+ time
+ }).
+