diff options
Diffstat (limited to 'asn1/m3ap')
-rw-r--r-- | asn1/m3ap/CMakeLists.txt | 52 | ||||
-rw-r--r-- | asn1/m3ap/M3AP-CommonDataTypes.asn | 57 | ||||
-rw-r--r-- | asn1/m3ap/M3AP-Constants.asn | 85 | ||||
-rw-r--r-- | asn1/m3ap/M3AP-Containers.asn | 203 | ||||
-rw-r--r-- | asn1/m3ap/M3AP-IEs.asn | 296 | ||||
-rw-r--r-- | asn1/m3ap/M3AP-PDU-Contents.asn | 472 | ||||
-rw-r--r-- | asn1/m3ap/M3AP-PDU-Descriptions.asn | 213 | ||||
-rw-r--r-- | asn1/m3ap/Makefile.am | 23 | ||||
-rw-r--r-- | asn1/m3ap/Makefile.common | 45 | ||||
-rw-r--r-- | asn1/m3ap/Makefile.nmake | 26 | ||||
-rw-r--r-- | asn1/m3ap/m3ap.cnf | 340 | ||||
-rw-r--r-- | asn1/m3ap/packet-m3ap-template.c | 218 |
12 files changed, 0 insertions, 2030 deletions
diff --git a/asn1/m3ap/CMakeLists.txt b/asn1/m3ap/CMakeLists.txt deleted file mode 100644 index 3163fc64f7..0000000000 --- a/asn1/m3ap/CMakeLists.txt +++ /dev/null @@ -1,52 +0,0 @@ -# CMakeLists.txt -# -# Wireshark - Network traffic analyzer -# By Gerald Combs <gerald@wireshark.org> -# Copyright 1998 Gerald Combs -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# - -set( PROTOCOL_NAME m3ap ) - -set( PROTO_OPT ) - -set( EXT_ASN_FILE_LIST -) - -set( ASN_FILE_LIST - M3AP-CommonDataTypes.asn - M3AP-Constants.asn - M3AP-Containers.asn - M3AP-IEs.asn - M3AP-PDU-Contents.asn - M3AP-PDU-Descriptions.asn -) - -set( EXTRA_DIST - ${ASN_FILE_LIST} - packet-${PROTOCOL_NAME}-template.c - ${PROTOCOL_NAME}.cnf -) - -set( SRC_FILES - ${EXTRA_DIST} - ${EXT_ASN_FILE_LIST} -) - -set( A2W_FLAGS ) - -ASN2WRS() - diff --git a/asn1/m3ap/M3AP-CommonDataTypes.asn b/asn1/m3ap/M3AP-CommonDataTypes.asn deleted file mode 100644 index b8bae0d795..0000000000 --- a/asn1/m3ap/M3AP-CommonDataTypes.asn +++ /dev/null @@ -1,57 +0,0 @@ --- M3AP-CommonDataTypes.asn --- --- 3GPP TS 36.444 V11.1.0 (2012-03) --- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-b10.zip --- --- 9.3.6 Common Definitions --- - --- ************************************************************** --- --- Common definitions --- --- ************************************************************** - -M3AP-CommonDataTypes { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-CommonDataTypes (3) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - --- ************************************************************** --- --- Extension constants --- --- ************************************************************** - -maxPrivateIEs INTEGER ::= 65535 -maxProtocolExtensions INTEGER ::= 65535 -maxProtocolIEs INTEGER ::= 65535 - --- ************************************************************** --- --- Common Data Types --- --- ************************************************************** - -Criticality ::= ENUMERATED { reject, ignore, notify } - -Presence ::= ENUMERATED { optional, conditional, mandatory } - -PrivateIE-ID ::= CHOICE { - local INTEGER (0.. maxPrivateIEs), - global OBJECT IDENTIFIER -} - -ProcedureCode ::= INTEGER (0..255) - - -ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs) - - -TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome} - -END - diff --git a/asn1/m3ap/M3AP-Constants.asn b/asn1/m3ap/M3AP-Constants.asn deleted file mode 100644 index 29cc4b8326..0000000000 --- a/asn1/m3ap/M3AP-Constants.asn +++ /dev/null @@ -1,85 +0,0 @@ --- M3AP-Constants.asn --- --- 3GPP TS 36.444 V11.1.0 (2012-03) --- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-b10.zip --- --- 9.3.7 Constant Definitions --- - --- ************************************************************** --- --- Constant definitions --- --- ************************************************************** - -M3AP-Constants { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-Constants (4) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS - ProcedureCode, - ProtocolIE-ID -FROM M3AP-CommonDataTypes; - --- ************************************************************** --- --- Elementary Procedures --- --- ************************************************************** - -id-mBMSsessionStart ProcedureCode ::= 0 -id-mBMSsessionStop ProcedureCode ::= 1 -id-errorIndication ProcedureCode ::= 2 -id-privateMessage ProcedureCode ::= 3 -id-Reset ProcedureCode ::= 4 -id-mBMSsessionUpdate ProcedureCode ::= 5 -id-mCEConfigurationUpdate ProcedureCode ::= 6 -id-m3Setup ProcedureCode ::= 7 - - - --- ************************************************************** --- --- Lists --- --- ************************************************************** - -maxnoofMBMSServiceAreaIdentitiesPerMCE INTEGER ::= 65536 -maxnooferrors INTEGER ::= 256 -maxNrOfIndividualM3ConnectionsToReset INTEGER ::= 256 - --- ************************************************************** --- --- IEs --- --- ************************************************************** - -id-MME-MBMS-M3AP-ID ProtocolIE-ID ::= 0 -id-MCE-MBMS-M3AP-ID ProtocolIE-ID ::= 1 -id-TMGI ProtocolIE-ID ::= 2 -id-MBMS-Session-ID ProtocolIE-ID ::= 3 -id-MBMS-E-RAB-QoS-Parameters ProtocolIE-ID ::= 4 -id-MBMS-Session-Duration ProtocolIE-ID ::= 5 -id-MBMS-Service-Area ProtocolIE-ID ::= 6 -id-TNL-Information ProtocolIE-ID ::= 7 -id-CriticalityDiagnostics ProtocolIE-ID ::= 8 -id-Cause ProtocolIE-ID ::= 9 -id-MBMS-Service-Area-List ProtocolIE-ID ::= 10 -id-MBMS-Service-Area-List-Item ProtocolIE-ID ::= 11 -id-TimeToWait ProtocolIE-ID ::= 12 -id-ResetType ProtocolIE-ID ::= 13 -id-MBMS-Service-associatedLogicalM3-ConnectionItem ProtocolIE-ID ::= 14 -id-MBMS-Service-associatedLogicalM3-ConnectionListResAck ProtocolIE-ID ::= 15 -id-MinimumTimeToMBMSDataTransfer ProtocolIE-ID ::= 16 -id-AllocationAndRetentionPriority ProtocolIE-ID ::= 17 -id-Global-MCE-ID ProtocolIE-ID ::= 18 -id-MCEname ProtocolIE-ID ::= 19 -id-MBMSServiceAreaList ProtocolIE-ID ::= 20 -id-Time-ofMBMS-DataTransfer ProtocolIE-ID ::= 21 -id-Time-ofMBMS-DataStop ProtocolIE-ID ::= 22 -END - diff --git a/asn1/m3ap/M3AP-Containers.asn b/asn1/m3ap/M3AP-Containers.asn deleted file mode 100644 index 782311087b..0000000000 --- a/asn1/m3ap/M3AP-Containers.asn +++ /dev/null @@ -1,203 +0,0 @@ --- M3AP-Containers.asn --- --- 3GPP TS 36.444 V11.1.0 (2012-03) --- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-b10.zip --- --- 9.3.8 Container Definitions --- - --- ************************************************************** --- --- Container definitions --- --- ************************************************************** - -M3AP-Containers { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-Containers (5) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - --- ************************************************************** --- --- IE parameter types from other modules. --- --- ************************************************************** - -IMPORTS - maxPrivateIEs, - maxProtocolExtensions, - maxProtocolIEs, - Criticality, - Presence, - PrivateIE-ID, - ProtocolIE-ID -FROM M3AP-CommonDataTypes; - --- ************************************************************** --- --- Class Definition for Protocol IEs --- --- ************************************************************** - -M3AP-PROTOCOL-IES ::= CLASS { - &id ProtocolIE-ID UNIQUE, - &criticality Criticality, - &Value, - &presence Presence -} -WITH SYNTAX { - ID &id - CRITICALITY &criticality - TYPE &Value - PRESENCE &presence -} - --- ************************************************************** --- --- Class Definition for Protocol IEs --- --- ************************************************************** - -M3AP-PROTOCOL-IES-PAIR ::= CLASS { - &id ProtocolIE-ID UNIQUE, - &firstCriticality Criticality, - &FirstValue, - &secondCriticality Criticality, - &SecondValue, - &presence Presence -} -WITH SYNTAX { - ID &id - FIRST CRITICALITY &firstCriticality - FIRST TYPE &FirstValue - SECOND CRITICALITY &secondCriticality - SECOND TYPE &SecondValue - PRESENCE &presence -} - --- ************************************************************** --- --- Class Definition for Protocol Extensions --- --- ************************************************************** - -M3AP-PROTOCOL-EXTENSION ::= CLASS { - &id ProtocolIE-ID UNIQUE, - &criticality Criticality, - &Extension, - &presence Presence -} -WITH SYNTAX { - ID &id - CRITICALITY &criticality - EXTENSION &Extension - PRESENCE &presence -} - --- ************************************************************** --- --- Class Definition for Private IEs --- --- ************************************************************** - -M3AP-PRIVATE-IES ::= CLASS { - &id PrivateIE-ID, - &criticality Criticality, - &Value, - &presence Presence -} -WITH SYNTAX { - ID &id - CRITICALITY &criticality - TYPE &Value - PRESENCE &presence -} - --- ************************************************************** --- --- Container for Protocol IEs --- --- ************************************************************** - -ProtocolIE-Container {M3AP-PROTOCOL-IES : IEsSetParam} ::= - SEQUENCE (SIZE (0..maxProtocolIEs)) OF - ProtocolIE-Field {{IEsSetParam}} - -ProtocolIE-Single-Container {M3AP-PROTOCOL-IES : IEsSetParam} ::= - ProtocolIE-Field {{IEsSetParam}} - -ProtocolIE-Field {M3AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { - id M3AP-PROTOCOL-IES.&id ({IEsSetParam}), - criticality M3AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), - value M3AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) -} - --- ************************************************************** --- --- Container for Protocol IE Pairs --- --- ************************************************************** - -ProtocolIE-ContainerPair {M3AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= - SEQUENCE (SIZE (0..maxProtocolIEs)) OF - ProtocolIE-FieldPair {{IEsSetParam}} - -ProtocolIE-FieldPair {M3AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE { - id M3AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}), - firstCriticality M3AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}), - firstValue M3AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}), - secondCriticality M3AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}), - secondValue M3AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id}) -} - --- ************************************************************** --- --- Container Lists for Protocol IE Containers --- --- ************************************************************** - -ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES : IEsSetParam} ::= - SEQUENCE (SIZE (lowerBound..upperBound)) OF - ProtocolIE-Container {{IEsSetParam}} - -ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= - SEQUENCE (SIZE (lowerBound..upperBound)) OF - ProtocolIE-ContainerPair {{IEsSetParam}} - --- ************************************************************** --- --- Container for Protocol Extensions --- --- ************************************************************** - -ProtocolExtensionContainer {M3AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= - SEQUENCE (SIZE (1..maxProtocolExtensions)) OF - ProtocolExtensionField {{ExtensionSetParam}} - -ProtocolExtensionField {M3AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { - id M3AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), - criticality M3AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), - extensionValue M3AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) -} - --- ************************************************************** --- --- Container for Private IEs --- --- ************************************************************** - -PrivateIE-Container {M3AP-PRIVATE-IES : IEsSetParam} ::= - SEQUENCE (SIZE (1..maxPrivateIEs)) OF - PrivateIE-Field {{IEsSetParam}} - -PrivateIE-Field {M3AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE { - id M3AP-PRIVATE-IES.&id ({IEsSetParam}), - criticality M3AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}), - value M3AP-PRIVATE-IES.&Value ({IEsSetParam}{@id}) -} - -END - diff --git a/asn1/m3ap/M3AP-IEs.asn b/asn1/m3ap/M3AP-IEs.asn deleted file mode 100644 index 8dbaf02551..0000000000 --- a/asn1/m3ap/M3AP-IEs.asn +++ /dev/null @@ -1,296 +0,0 @@ --- M3AP-IEs.asn --- --- 3GPP TS 36.444 V11.1.0 (2012-03) --- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-b10.zip --- --- 9.3.5 Information Element Definitions --- - --- ************************************************************** --- --- Information Element Definitions --- --- ************************************************************** - -M3AP-IEs { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-IEs (2) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS - id-AllocationAndRetentionPriority, - maxnooferrors - -FROM M3AP-Constants - - Criticality, - ProcedureCode, - ProtocolIE-ID, - TriggeringMessage -FROM M3AP-CommonDataTypes - - ProtocolExtensionContainer{}, - ProtocolIE-Single-Container{}, - M3AP-PROTOCOL-EXTENSION, - M3AP-PROTOCOL-IES -FROM M3AP-Containers; - --- A - -Absolute-Time-ofMBMS-Data ::= BIT STRING (SIZE (64)) - -AllocationAndRetentionPriority ::= SEQUENCE { - priorityLevel PriorityLevel, - pre-emptionCapability Pre-emptionCapability, - pre-emptionVulnerability Pre-emptionVulnerability, - iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL -} - -AllocationAndRetentionPriority-ExtIEs M3AP-PROTOCOL-EXTENSION ::= { - ... -} --- B - -BitRate ::= INTEGER (0..10000000000) - --- C - -Cause ::= CHOICE { - radioNetwork CauseRadioNetwork, - transport CauseTransport, - nAS CauseNAS, - protocol CauseProtocol, - misc CauseMisc, - ... -} - -CauseMisc ::= ENUMERATED { - control-processing-overload, - not-enough-user-plane-processing-resources, - hardware-failure, - om-intervention, - unspecified, - ... -} - -CauseNAS ::= ENUMERATED { - unspecified, - ... -} - -CauseProtocol ::= ENUMERATED { - transfer-syntax-error, - abstract-syntax-error-reject, - abstract-syntax-error-ignore-and-notify, - message-not-compatible-with-receiver-state, - semantic-error, - abstract-syntax-error-falsely-constructed-message, - unspecified, - ... -} - -CauseRadioNetwork ::= ENUMERATED { - unknown-or-already-allocated-MME-MBMS-M3AP-ID, - unknown-or-already-allocated-MCE-MBMS-M3AP-ID, - unknown-or-inconsistent-pair-of-MBMS-M3AP-IDs, - radio-resources-not-available, - invalid-QoS-combination, - interaction-with-other-procedure, - not-supported-QCI-value, - unspecified, - ... - -} - -CauseTransport ::= ENUMERATED { - transport-resource-unavailable, - unspecified, - ... -} - -CriticalityDiagnostics ::= SEQUENCE { - procedureCode ProcedureCode OPTIONAL, - triggeringMessage TriggeringMessage OPTIONAL, - procedureCriticality Criticality OPTIONAL, - iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, - ... -} - - -CriticalityDiagnostics-ExtIEs M3AP-PROTOCOL-EXTENSION ::= { - ... -} - -CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxnooferrors)) OF - SEQUENCE { - iECriticality Criticality, - iE-ID ProtocolIE-ID, - typeOfError TypeOfError, - iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, - ... -} - -CriticalityDiagnostics-IE-List-ExtIEs M3AP-PROTOCOL-EXTENSION ::= { - ... -} - - --- D --- E - -ExtendedMCE-ID ::= OCTET STRING (SIZE(1)) - --- F --- G - -Global-MCE-ID ::= SEQUENCE { - pLMN-Identity PLMN-Identity, - mCE-ID MCE-ID, --- extendedMCE-ID ExtendedMCE-ID, - extendedMCE-ID ExtendedMCE-ID OPTIONAL, -- Spec discrepancy 9.2.1.10 Global MCE ID Optional - iE-Extensions ProtocolExtensionContainer { {GlobalMCE-ID-ExtIEs} } OPTIONAL, - ... -} - -GlobalMCE-ID-ExtIEs M3AP-PROTOCOL-EXTENSION ::= { - ... -} - -GBR-QosInformation ::= SEQUENCE { - mBMS-E-RAB-MaximumBitrateDL BitRate, - mBMS-E-RAB-GuaranteedBitrateDL BitRate, - iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL, - ... -} - -GBR-QosInformation-ExtIEs M3AP-PROTOCOL-EXTENSION ::= { - ... -} - -GTP-TEID ::= OCTET STRING (SIZE (4)) - --- H --- I - -IPAddress ::= OCTET STRING (SIZE(4..16, ...)) - --- J --- K --- L --- M - -MBMS-E-RAB-QoS-Parameters ::= SEQUENCE { - qCI QCI, - gbrQosInformation GBR-QosInformation OPTIONAL, - iE-Extensions ProtocolExtensionContainer { { MBMS-E-RAB-QoS-Parameters-ExtIEs} } OPTIONAL, - ... -} - -MBMS-E-RAB-QoS-Parameters-ExtIEs M3AP-PROTOCOL-EXTENSION ::= { --- Extension for Release 10 ARP support -- - {ID id-AllocationAndRetentionPriority CRITICALITY ignore EXTENSION AllocationAndRetentionPriority PRESENCE mandatory}, - ... -} - -MBMS-Service-associatedLogicalM3-ConnectionItem ::= SEQUENCE { - mME-MBMS-M3AP-ID MME-MBMS-M3AP-ID OPTIONAL, - mCE-MBMS-M3AP-ID MCE-MBMS-M3AP-ID OPTIONAL, - iE-Extensions ProtocolExtensionContainer { { MBMS-Service-associatedLogicalM3-ConnectionItemExtIEs} } OPTIONAL, - ... -} - - -MBMS-Service-associatedLogicalM3-ConnectionItemExtIEs M3AP-PROTOCOL-EXTENSION ::= { - ... -} - -MBMSServiceArea1 ::= OCTET STRING (SIZE (2)) - -MBMS-Service-Area ::= OCTET STRING - - -MBMS-Session-Duration ::= OCTET STRING (SIZE (3)) - -MBMS-Session-ID ::= OCTET STRING (SIZE (1)) - - -MCE-MBMS-M3AP-ID ::= INTEGER (0..65535) - -MCE-ID ::= OCTET STRING (SIZE(2)) - -MCEname ::= PrintableString (SIZE (1..150,...)) - -MinimumTimeToMBMSDataTransfer ::= OCTET STRING (SIZE (1)) - -MME-MBMS-M3AP-ID ::= INTEGER (0..65535) - --- N --- O --- P - -Pre-emptionCapability ::= ENUMERATED { - shall-not-trigger-pre-emption, - may-trigger-pre-emption -} - -Pre-emptionVulnerability ::= ENUMERATED { - not-pre-emptable, - pre-emptable -} - -PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15) - -PLMN-Identity ::= OCTET STRING (SIZE(3)) - --- Q - -QCI ::= INTEGER (0..255) - --- R --- S --- T - -TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...} - -TMGI ::= SEQUENCE { - pLMNidentity PLMN-Identity, - serviceID OCTET STRING (SIZE (3)), - iE-Extensions ProtocolExtensionContainer { {TMGI-ExtIEs} } OPTIONAL -} - -TMGI-ExtIEs M3AP-PROTOCOL-EXTENSION ::= { - ... -} - - -TNL-Information ::= SEQUENCE { - iPMCAddress IPAddress, - iPSourceAddress IPAddress, - gTP-DLTEID GTP-TEID, - iE-Extensions ProtocolExtensionContainer { {TNL-Information-ExtIEs} } OPTIONAL, - ... -} - -TNL-Information-ExtIEs M3AP-PROTOCOL-EXTENSION ::= { - ... -} - -TypeOfError ::= ENUMERATED { - not-understood, - missing, - ... -} - - --- U --- V --- W --- X --- Y --- Z - -END diff --git a/asn1/m3ap/M3AP-PDU-Contents.asn b/asn1/m3ap/M3AP-PDU-Contents.asn deleted file mode 100644 index 4a33c9cb29..0000000000 --- a/asn1/m3ap/M3AP-PDU-Contents.asn +++ /dev/null @@ -1,472 +0,0 @@ --- M3AP-PDU-Contents.asn --- --- 3GPP TS 36.444 V11.1.0 (2012-03) --- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-b10.zip --- --- 9.3.4 PDU Definitions --- - --- ************************************************************** --- --- PDU definitions for M3AP. --- --- ************************************************************** - -M3AP-PDU-Contents { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-PDU-Contents (1) } -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - --- ************************************************************** --- --- IE parameter types from other modules. --- --- ************************************************************** - -IMPORTS - - Absolute-Time-ofMBMS-Data, - Cause, - CriticalityDiagnostics, - Global-MCE-ID, - MBMS-E-RAB-QoS-Parameters, - MBMS-Service-associatedLogicalM3-ConnectionItem, - MBMS-Service-Area, - MBMSServiceArea1, - MBMS-Session-Duration, - MBMS-Session-ID, - MCE-MBMS-M3AP-ID, - MCEname, - MinimumTimeToMBMSDataTransfer, - MME-MBMS-M3AP-ID, - TimeToWait, - TMGI, - TNL-Information - -FROM M3AP-IEs - - PrivateIE-Container{}, - ProtocolExtensionContainer{}, - ProtocolIE-Container{}, - ProtocolIE-ContainerList{}, - ProtocolIE-ContainerPair{}, - ProtocolIE-ContainerPairList{}, - ProtocolIE-Single-Container{}, - M3AP-PRIVATE-IES, - M3AP-PROTOCOL-EXTENSION, - M3AP-PROTOCOL-IES, - M3AP-PROTOCOL-IES-PAIR -FROM M3AP-Containers - - id-AllocationAndRetentionPriority, - id-MCE-MBMS-M3AP-ID, - id-MME-MBMS-M3AP-ID, - id-TMGI, - id-MBMS-Session-ID, - id-MBMS-E-RAB-QoS-Parameters, - id-MBMS-Session-Duration, - id-MBMS-Service-Area, - id-TNL-Information, - id-CriticalityDiagnostics, - id-Cause, - id-MBMS-Service-Area-List, - id-MBMS-Service-Area-List-Item, - id-TimeToWait, - id-ResetType, - id-MBMS-Service-associatedLogicalM3-ConnectionItem, - id-MBMS-Service-associatedLogicalM3-ConnectionListResAck, - id-MBMSServiceAreaList, - id-MinimumTimeToMBMSDataTransfer, - id-Time-ofMBMS-DataStop, - id-Time-ofMBMS-DataTransfer, - id-Global-MCE-ID, - id-MCEname, - maxnoofMBMSServiceAreaIdentitiesPerMCE, - maxnooferrors, - maxNrOfIndividualM3ConnectionsToReset - -FROM M3AP-Constants; - --- ************************************************************** --- --- MBMS SESSION START REQUEST --- --- ************************************************************** - -MBMSSessionStartRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{MBMSSessionStartRequest-IEs}}, - ... -} - -MBMSSessionStartRequest-IEs M3AP-PROTOCOL-IES ::= { - { ID id-MME-MBMS-M3AP-ID CRITICALITY reject TYPE MME-MBMS-M3AP-ID PRESENCE mandatory}| - { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory}| - { ID id-MBMS-Session-ID CRITICALITY ignore TYPE MBMS-Session-ID PRESENCE optional}| - { ID id-MBMS-E-RAB-QoS-Parameters CRITICALITY reject TYPE MBMS-E-RAB-QoS-Parameters PRESENCE mandatory}| - { ID id-MBMS-Session-Duration CRITICALITY reject TYPE MBMS-Session-Duration PRESENCE mandatory}| - { ID id-MBMS-Service-Area CRITICALITY reject TYPE MBMS-Service-Area PRESENCE mandatory}| - { ID id-MinimumTimeToMBMSDataTransfer CRITICALITY reject TYPE MinimumTimeToMBMSDataTransfer PRESENCE mandatory}| - { ID id-TNL-Information CRITICALITY reject TYPE TNL-Information PRESENCE mandatory}| - { ID id-Time-ofMBMS-DataTransfer CRITICALITY ignore TYPE Absolute-Time-ofMBMS-Data PRESENCE optional}, - ... -} - --- ************************************************************** --- --- MBMS SESSION START RESPONSE --- --- ************************************************************** - -MBMSSessionStartResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ MBMSSessionStartResponse-IEs}}, - ... -} - -MBMSSessionStartResponse-IEs M3AP-PROTOCOL-IES ::= { - { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE mandatory } | - { ID id-MCE-MBMS-M3AP-ID CRITICALITY ignore TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - --- ************************************************************** --- --- MBMS SESSION START FAILURE --- --- ************************************************************** - -MBMSSessionStartFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ MBMSSessionStartFailure-IEs}}, - ... -} - -MBMSSessionStartFailure-IEs M3AP-PROTOCOL-IES ::= { - { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - --- ************************************************************** --- --- MBMS SESSION STOP REQUEST --- --- ************************************************************** - -MBMSSessionStopRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{MBMSSessionStopRequest-IEs}}, - ... -} - -MBMSSessionStopRequest-IEs M3AP-PROTOCOL-IES ::= { - { ID id-MME-MBMS-M3AP-ID CRITICALITY reject TYPE MME-MBMS-M3AP-ID PRESENCE mandatory}| - { ID id-MCE-MBMS-M3AP-ID CRITICALITY reject TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory}| - { ID id-Time-ofMBMS-DataStop CRITICALITY ignore TYPE Absolute-Time-ofMBMS-Data PRESENCE optional}, - ... -} - --- ************************************************************** --- --- MBMS SESSION STOP RESPONSE --- --- ************************************************************** - -MBMSSessionStopResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ MBMSSessionStopResponse-IEs}}, - ... -} - -MBMSSessionStopResponse-IEs M3AP-PROTOCOL-IES ::= { - { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE mandatory } | - { ID id-MCE-MBMS-M3AP-ID CRITICALITY ignore TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , - ... -} - --- ************************************************************** --- --- MBMS SESSION UPDATE REQUEST --- --- ************************************************************** - -MBMSSessionUpdateRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{MBMSSessionUpdateRequest-IEs}}, - ... -} - -MBMSSessionUpdateRequest-IEs M3AP-PROTOCOL-IES ::= { - { ID id-MME-MBMS-M3AP-ID CRITICALITY reject TYPE MME-MBMS-M3AP-ID PRESENCE mandatory}| - { ID id-MCE-MBMS-M3AP-ID CRITICALITY reject TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory}| - { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory}| - { ID id-MBMS-Session-ID CRITICALITY ignore TYPE MBMS-Session-ID PRESENCE optional}| - { ID id-MBMS-E-RAB-QoS-Parameters CRITICALITY reject TYPE MBMS-E-RAB-QoS-Parameters PRESENCE mandatory}| - { ID id-MBMS-Session-Duration CRITICALITY reject TYPE MBMS-Session-Duration PRESENCE mandatory}| - { ID id-MBMS-Service-Area CRITICALITY ignore TYPE MBMS-Service-Area PRESENCE optional}| - { ID id-MinimumTimeToMBMSDataTransfer CRITICALITY reject TYPE MinimumTimeToMBMSDataTransfer PRESENCE mandatory}| - { ID id-TNL-Information CRITICALITY ignore TYPE TNL-Information PRESENCE optional}| - { ID id-Time-ofMBMS-DataTransfer CRITICALITY ignore TYPE Absolute-Time-ofMBMS-Data PRESENCE optional}, - ... -} - --- ************************************************************** --- --- MBMS SESSION UPDATE RESPONSE --- --- ************************************************************** - -MBMSSessionUpdateResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ MBMSSessionUpdateResponse-IEs}}, - ... -} - -MBMSSessionUpdateResponse-IEs M3AP-PROTOCOL-IES ::= { - { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE mandatory } | - { ID id-MCE-MBMS-M3AP-ID CRITICALITY ignore TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- MBMS SESSION UPDATE FAILURE --- --- ************************************************************** - -MBMSSessionUpdateFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ MBMSSessionUpdateFailure-IEs}}, - ... -} - -MBMSSessionUpdateFailure-IEs M3AP-PROTOCOL-IES ::= { - { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE mandatory } | - { ID id-MCE-MBMS-M3AP-ID CRITICALITY ignore TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- ERROR INDICATION --- --- ************************************************************** - -ErrorIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}}, - ... -} - -ErrorIndication-IEs M3AP-PROTOCOL-IES ::= { - { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE optional } | - { ID id-MCE-MBMS-M3AP-ID CRITICALITY ignore TYPE MCE-MBMS-M3AP-ID PRESENCE optional } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , - ... -} - - --- ************************************************************** --- --- Reset --- --- ************************************************************** - -Reset ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetIEs} }, - ... -} - -ResetIEs M3AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory }, - ... -} - -ResetType ::= CHOICE { - m3-Interface ResetAll, - partOfM3-Interface MBMS-Service-associatedLogicalM3-ConnectionListRes, - ... -} - - - -ResetAll ::= ENUMERATED { - reset-all, - ... -} - -MBMS-Service-associatedLogicalM3-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualM3ConnectionsToReset)) OF ProtocolIE-Single-Container { { MBMS-Service-associatedLogicalM3-ConnectionItemRes } } - -MBMS-Service-associatedLogicalM3-ConnectionItemRes M3AP-PROTOCOL-IES ::= { - { ID id-MBMS-Service-associatedLogicalM3-ConnectionItem CRITICALITY reject TYPE MBMS-Service-associatedLogicalM3-ConnectionItem PRESENCE mandatory }, - ... -} - - --- ************************************************************** --- --- Reset Acknowledge --- --- ************************************************************** - -ResetAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} }, - ... -} - -ResetAcknowledgeIEs M3AP-PROTOCOL-IES ::= { - { ID id-MBMS-Service-associatedLogicalM3-ConnectionListResAck CRITICALITY ignore TYPE MBMS-Service-associatedLogicalM3-ConnectionListResAck PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -MBMS-Service-associatedLogicalM3-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualM3ConnectionsToReset)) OF ProtocolIE-Single-Container { { MBMS-Service-associatedLogicalM3-ConnectionItemResAck } } - -MBMS-Service-associatedLogicalM3-ConnectionItemResAck M3AP-PROTOCOL-IES ::= { - { ID id-MBMS-Service-associatedLogicalM3-ConnectionItem CRITICALITY ignore TYPE MBMS-Service-associatedLogicalM3-ConnectionItem PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- PRIVATE MESSAGE --- --- ************************************************************** - -PrivateMessage ::= SEQUENCE { - privateIEs PrivateIE-Container {{PrivateMessage-IEs}}, - ... -} - -PrivateMessage-IEs M3AP-PRIVATE-IES ::= { - ... -} - - --- ************************************************************** --- --- M3 SETUP ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- M3 Setup Request --- --- ************************************************************** - -M3SetupRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {M3SetupRequestIEs} }, - ... -} - -M3SetupRequestIEs M3AP-PROTOCOL-IES ::= { - { ID id-Global-MCE-ID CRITICALITY reject TYPE Global-MCE-ID PRESENCE mandatory}| - { ID id-MCEname CRITICALITY ignore TYPE MCEname PRESENCE optional}| - { ID id-MBMSServiceAreaList CRITICALITY reject TYPE MBMSServiceAreaListItem PRESENCE mandatory}, - ... -} - - -MBMSServiceAreaListItem ::= SEQUENCE (SIZE(1..maxnoofMBMSServiceAreaIdentitiesPerMCE)) OF MBMSServiceArea1 - - --- ************************************************************** --- --- M3 Setup Response --- --- ************************************************************** - -M3SetupResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {M3SetupResponseIEs} }, - ... -} - - -M3SetupResponseIEs M3AP-PROTOCOL-IES ::= { - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, - ... -} - --- ************************************************************** --- --- M3 Setup Failure --- --- ************************************************************** - -M3SetupFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {M3SetupFailureIEs} }, - ... -} - -M3SetupFailureIEs M3AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| - { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional}| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, - ... -} - --- ************************************************************** --- --- MCE CONFIGURATION UPDATE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- MCE Configuration Update --- --- ************************************************************** - -MCEConfigurationUpdate ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {MCEConfigurationUpdateIEs} }, - ... -} - -MCEConfigurationUpdateIEs M3AP-PROTOCOL-IES ::= { - { ID id-Global-MCE-ID CRITICALITY reject TYPE Global-MCE-ID PRESENCE optional}| - { ID id-MCEname CRITICALITY ignore TYPE MCEname PRESENCE optional}| - { ID id-MBMSServiceAreaList CRITICALITY reject TYPE MBMSServiceAreaListItem PRESENCE optional}, - ... -} - --- ************************************************************** --- --- MCE Configuration Update Acknowledge --- --- ************************************************************** - -MCEConfigurationUpdateAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {MCEConfigurationUpdateAcknowledgeIEs} }, - ... -} - - -MCEConfigurationUpdateAcknowledgeIEs M3AP-PROTOCOL-IES ::= { - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- MCE Configuration Update Failure --- --- ************************************************************** - -MCEConfigurationUpdateFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {MCEConfigurationUpdateFailureIEs} }, - ... -} - -MCEConfigurationUpdateFailureIEs M3AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| - { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional}| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, - ... -} - -END diff --git a/asn1/m3ap/M3AP-PDU-Descriptions.asn b/asn1/m3ap/M3AP-PDU-Descriptions.asn deleted file mode 100644 index ad0c9b6ea3..0000000000 --- a/asn1/m3ap/M3AP-PDU-Descriptions.asn +++ /dev/null @@ -1,213 +0,0 @@ --- M3AP-PDU-Descriptions.asn --- --- 3GPP TS 36.444 V11.1.0 (2012-03) --- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-b10.zip --- --- 9.3.3 Elementary Procedure Definitions --- - --- ************************************************************** --- --- Elementary Procedure definitions --- --- ************************************************************** - -M3AP-PDU-Descriptions { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-PDU-Descriptions (0) } -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - --- ************************************************************** --- --- IE parameter types from other modules. --- --- ************************************************************** - -IMPORTS - Criticality, - ProcedureCode -FROM M3AP-CommonDataTypes - - MBMSSessionStartRequest, - MBMSSessionStartResponse, - MBMSSessionStartFailure, - MBMSSessionStopRequest, - MBMSSessionStopResponse, - MBMSSessionUpdateRequest, - MBMSSessionUpdateResponse, - MBMSSessionUpdateFailure, - MCEConfigurationUpdate, - MCEConfigurationUpdateAcknowledge, - MCEConfigurationUpdateFailure, - M3SetupRequest, - M3SetupResponse, - M3SetupFailure, - ErrorIndication, - Reset, - ResetAcknowledge, - PrivateMessage - -FROM M3AP-PDU-Contents - - id-mBMSsessionStart, - id-mBMSsessionStop, - id-mBMSsessionUpdate, - id-mCEConfigurationUpdate, - id-m3Setup, - id-errorIndication, - id-Reset, - id-privateMessage -FROM M3AP-Constants; - - --- ************************************************************** --- --- Interface Elementary Procedure Class --- --- ************************************************************** - -M3AP-ELEMENTARY-PROCEDURE ::= CLASS { - &InitiatingMessage , - &SuccessfulOutcome OPTIONAL, - &UnsuccessfulOutcome OPTIONAL, - &procedureCode ProcedureCode UNIQUE, - &criticality Criticality DEFAULT ignore -} -WITH SYNTAX { - INITIATING MESSAGE &InitiatingMessage - [SUCCESSFUL OUTCOME &SuccessfulOutcome] - [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] - PROCEDURE CODE &procedureCode - [CRITICALITY &criticality] -} - --- ************************************************************** --- --- Interface PDU Definition --- --- ************************************************************** - -M3AP-PDU ::= CHOICE { - initiatingMessage InitiatingMessage, - successfulOutcome SuccessfulOutcome, - unsuccessfulOutcome UnsuccessfulOutcome, - ... -} - -InitiatingMessage ::= SEQUENCE { - procedureCode M3AP-ELEMENTARY-PROCEDURE.&procedureCode ({M3AP-ELEMENTARY-PROCEDURES}), - criticality M3AP-ELEMENTARY-PROCEDURE.&criticality ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value M3AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} - -SuccessfulOutcome ::= SEQUENCE { - procedureCode M3AP-ELEMENTARY-PROCEDURE.&procedureCode ({M3AP-ELEMENTARY-PROCEDURES}), - criticality M3AP-ELEMENTARY-PROCEDURE.&criticality ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value M3AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} - -UnsuccessfulOutcome ::= SEQUENCE { - procedureCode M3AP-ELEMENTARY-PROCEDURE.&procedureCode ({M3AP-ELEMENTARY-PROCEDURES}), - criticality M3AP-ELEMENTARY-PROCEDURE.&criticality ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value M3AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} - - --- ************************************************************** --- --- Interface Elementary Procedure List --- --- ************************************************************** - -M3AP-ELEMENTARY-PROCEDURES M3AP-ELEMENTARY-PROCEDURE ::= { - M3AP-ELEMENTARY-PROCEDURES-CLASS-1 | - M3AP-ELEMENTARY-PROCEDURES-CLASS-2 , - ... -} - -M3AP-ELEMENTARY-PROCEDURES-CLASS-1 M3AP-ELEMENTARY-PROCEDURE ::= { - mBMSsessionStart | - mBMSsessionStop | - mBMSsessionUpdate | - reset | - m3Setup | - mCEConfigurationUpdate , - ... -} - -M3AP-ELEMENTARY-PROCEDURES-CLASS-2 M3AP-ELEMENTARY-PROCEDURE ::= { - errorIndication | - privateMessage , - ... - -} - - --- ************************************************************** --- --- Interface Elementary Procedures --- --- ************************************************************** - -mBMSsessionStart M3AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE MBMSSessionStartRequest - SUCCESSFUL OUTCOME MBMSSessionStartResponse - UNSUCCESSFUL OUTCOME MBMSSessionStartFailure - PROCEDURE CODE id-mBMSsessionStart - CRITICALITY reject -} - -mBMSsessionStop M3AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE MBMSSessionStopRequest - SUCCESSFUL OUTCOME MBMSSessionStopResponse - PROCEDURE CODE id-mBMSsessionStop - CRITICALITY reject -} - -mBMSsessionUpdate M3AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE MBMSSessionUpdateRequest - SUCCESSFUL OUTCOME MBMSSessionUpdateResponse - UNSUCCESSFUL OUTCOME MBMSSessionUpdateFailure - PROCEDURE CODE id-mBMSsessionUpdate - CRITICALITY reject -} - -errorIndication M3AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE ErrorIndication - PROCEDURE CODE id-errorIndication - CRITICALITY ignore -} - -reset M3AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE Reset - SUCCESSFUL OUTCOME ResetAcknowledge - PROCEDURE CODE id-Reset - CRITICALITY reject -} - -privateMessage M3AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE PrivateMessage - PROCEDURE CODE id-privateMessage - CRITICALITY ignore -} - -mCEConfigurationUpdate M3AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE MCEConfigurationUpdate - SUCCESSFUL OUTCOME MCEConfigurationUpdateAcknowledge - UNSUCCESSFUL OUTCOME MCEConfigurationUpdateFailure - PROCEDURE CODE id-mCEConfigurationUpdate - CRITICALITY reject -} - - -m3Setup M3AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE M3SetupRequest - SUCCESSFUL OUTCOME M3SetupResponse - UNSUCCESSFUL OUTCOME M3SetupFailure - PROCEDURE CODE id-m3Setup - CRITICALITY reject -} - -END diff --git a/asn1/m3ap/Makefile.am b/asn1/m3ap/Makefile.am deleted file mode 100644 index 72d28e600b..0000000000 --- a/asn1/m3ap/Makefile.am +++ /dev/null @@ -1,23 +0,0 @@ -# Wireshark - Network traffic analyzer -# By Gerald Combs <gerald@wireshark.org> -# Copyright 1998 Gerald Combs -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - -include ../Makefile.preinc -include Makefile.common -include ../Makefile.inc - diff --git a/asn1/m3ap/Makefile.common b/asn1/m3ap/Makefile.common deleted file mode 100644 index b7a5b55674..0000000000 --- a/asn1/m3ap/Makefile.common +++ /dev/null @@ -1,45 +0,0 @@ -# Wireshark - Network traffic analyzer -# By Gerald Combs <gerald@wireshark.org> -# Copyright 1998 Gerald Combs -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - -PROTOCOL_NAME = m3ap - -EXT_ASN_FILE_LIST = - -ASN_FILE_LIST = \ - M3AP-CommonDataTypes.asn \ - M3AP-Constants.asn \ - M3AP-Containers.asn \ - M3AP-IEs.asn \ - M3AP-PDU-Contents.asn \ - M3AP-PDU-Descriptions.asn - -EXTRA_DIST = \ - $(EXTRA_DIST_COMMON) \ - $(ASN_FILE_LIST) \ - packet-$(PROTOCOL_NAME)-template.c \ - $(PROTOCOL_NAME).cnf - -SRC_FILES = \ - $(EXTRA_DIST) \ - $(EXT_ASN_FILE_LIST) - -A2W_FLAGS = - -EXTRA_CNF = - diff --git a/asn1/m3ap/Makefile.nmake b/asn1/m3ap/Makefile.nmake deleted file mode 100644 index fc70f2382f..0000000000 --- a/asn1/m3ap/Makefile.nmake +++ /dev/null @@ -1,26 +0,0 @@ -## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake -# -# Wireshark - Network traffic analyzer -# By Gerald Combs <gerald@wireshark.org> -# Copyright 1998 Gerald Combs -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - -include ../../config.nmake -include ../Makefile.preinc.nmake -include Makefile.common -include ../Makefile.inc.nmake - diff --git a/asn1/m3ap/m3ap.cnf b/asn1/m3ap/m3ap.cnf deleted file mode 100644 index 68a03d9832..0000000000 --- a/asn1/m3ap/m3ap.cnf +++ /dev/null @@ -1,340 +0,0 @@ -# m3ap.cnf -# m3ap conformation file - -#.OPT -PER -ALIGNED -#.END - -#.USE_VALS_EXT -ProcedureCode -ProtocolIE-ID - -#.EXPORTS - -#.PDU -M3AP-PDU - -#.MAKE_ENUM -ProcedureCode -ProtocolIE-ID - -#.NO_EMIT -# TBCD-STRING - -#.OMIT_ASSIGNMENT -# Get rid of unused code warnings -ProtocolIE-FieldPair -ProtocolIE-ContainerPair -ProtocolIE-ContainerPairList -ProtocolIE-ContainerList -Presence - -#.TYPE_RENAME -InitiatingMessage/value InitiatingMessage_value -SuccessfulOutcome/value SuccessfulOutcome_value -UnsuccessfulOutcome/value UnsuccessfulOutcome_value - -#.FIELD_RENAME -InitiatingMessage/value initiatingMessagevalue -UnsuccessfulOutcome/value unsuccessfulOutcome_value -SuccessfulOutcome/value successfulOutcome_value - -PrivateIE-Field/id private_id -ProtocolExtensionField/id ext_id - -PrivateIE-Field/value private_value -ProtocolIE-Field/value ie_field_value - -#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID -#.FN_FTR ProtocolIE-ID - if (tree) { - proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(ProtocolIE_ID, &m3ap_ProtocolIE_ID_vals_ext, "unknown (%d)")); - } -#.END - -#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue -# Currently not used -# FN_PARS ProtocolIE-FieldPair/firstValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairFirstValue -# FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue - -# FN_PARS ProtocolExtensionID VAL_PTR=&ProtocolExtensionID -#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue - -#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode -#.FN_FTR ProcedureCode - col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s", - val_to_str_ext(ProcedureCode, &m3ap_ProcedureCode_vals_ext, - "unknown message")); -#.END - -#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue -#.FN_HDR InitiatingMessage/value - message_type = INITIATING_MESSAGE; -#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue -#.FN_HDR SuccessfulOutcome/value - message_type = SUCCESSFUL_OUTCOME; -#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue -#.FN_HDR UnsuccessfulOutcome/value - message_type = UNSUCCESSFUL_OUTCOME; - -#--- Parameterization is not supported in asn2wrs --- - -#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES : IEsSetParam} ::= -# SEQUENCE (SIZE (lowerBound..upperBound)) OF -# ProtocolIE-Container {{IEsSetParam}} - -# FN_PARS ProtocolIE-ContainerList -#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound") -#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound") -# FN_HDR ProtocolIE-ContainerList -# static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = { -# { "lowerBound", ASN1_PAR_INTEGER }, -# { "upperBound", ASN1_PAR_INTEGER }, -# { NULL, (asn1_par_type)0 } -# }; -# asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars); -# END - -#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= -# SEQUENCE (SIZE (lowerBound..upperBound)) OF -# ProtocolIE-ContainerPair {{IEsSetParam}} - -# FN_PARS ProtocolIE-ContainerPairList -#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound") -#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound") -# FN_HDR ProtocolIE-ContainerPairList -# static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = { -# { "lowerBound", ASN1_PAR_INTEGER }, -# { "upperBound", ASN1_PAR_INTEGER }, -# { NULL, 0 } -# }; -# asn1_stack_frame_check(actx, "ProtocolIE-ContainerPairList", ProtocolIE_ContainerPairList_pars); -# END - -# following construction is not supported by asn2wrs -# PLMNidentity ::= TBCD-STRING (SIZE (3)) - -#.FN_BODY PLMN-Identity VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb=NULL; - - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - 3, 3, FALSE, ¶meter_tvb); - - if (!parameter_tvb) - return offset; - dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, E212_NONE, FALSE); -#.END - -#.FN_BODY IPAddress VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb=NULL; - gint tvb_len; - -%(DEFAULT_BODY)s - - if (!parameter_tvb) - return offset; - - tvb_len = tvb_reported_length(parameter_tvb); - switch (tvb_len) { - case 4: - proto_tree_add_item(tree, hf_m3ap_IPAddress_v4, parameter_tvb, 0, tvb_len, ENC_NA); - break; - case 6: - proto_tree_add_item(tree, hf_m3ap_IPAddress_v6, parameter_tvb, 0, tvb_len, ENC_NA); - break; - default: - proto_tree_add_expert(tree, actx->pinfo, &ei_m3ap_invalid_ip_address_len, parameter_tvb, 0, tvb_len); - break; - } -#.END - -#.FN_BODY Absolute-Time-ofMBMS-Data VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb=NULL; - const gchar *time_str; - gint tvb_len; - -%(DEFAULT_BODY)s - - if (!parameter_tvb) - return offset; - - tvb_len = tvb_reported_length(parameter_tvb); - - time_str = tvb_ntp_fmt_ts(parameter_tvb, 0); - proto_tree_add_string(tree, hf_m3ap_Absolute_Time_ofMBMS_Data_value, parameter_tvb, 0, tvb_len, time_str); -#.END - -#.FN_BODY MBMS-Service-Area VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb=NULL; - guint16 tvb_len; - -%(DEFAULT_BODY)s - - if (!parameter_tvb) - return offset; - - tvb_len = tvb_reported_length(parameter_tvb); - - dissect_gtpv2_mbms_service_area(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL); -#.END - -#.FN_BODY MBMS-Session-Duration VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb=NULL; - guint16 tvb_len; - - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - 3, 3, FALSE, ¶meter_tvb); - - if (!parameter_tvb) - return offset; - - tvb_len = tvb_reported_length(parameter_tvb); - - proto_item_append_text(actx->created_item, " "); - dissect_gtpv2_mbms_session_duration(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL); -#.END - -#.FN_BODY MinimumTimeToMBMSDataTransfer VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb=NULL; - guint16 tvb_len; - -%(DEFAULT_BODY)s - - if (!parameter_tvb) - return offset; - - tvb_len = tvb_reported_length(parameter_tvb); - dissect_gtpv2_mbms_time_to_data_xfer(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL); -#.END - -#------ Pretify info column ----- -#.FN_HDR MBMSSessionStartRequest - col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Request "); -#.FN_HDR MBMSSessionStartResponse - col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Response "); -#.FN_HDR MBMSSessionStartFailure - col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Failure "); -#.FN_HDR MBMSSessionStopRequest - col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Stop Request "); -#.FN_HDR MBMSSessionStopResponse - col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Stop Response "); -#.FN_HDR MBMSSessionUpdateRequest - col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Request "); -#.FN_HDR MBMSSessionUpdateResponse - col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Response "); -#.FN_HDR MBMSSessionUpdateFailure - col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Failure "); -#.FN_HDR ErrorIndication - col_set_str(actx->pinfo->cinfo, COL_INFO,"Error Indication "); -#.FN_HDR Reset - col_set_str(actx->pinfo->cinfo, COL_INFO,"Reset "); -#.FN_HDR ResetAcknowledge - col_set_str(actx->pinfo->cinfo, COL_INFO,"Reset Acknowledge "); -#.FN_HDR PrivateMessage - col_set_str(actx->pinfo->cinfo, COL_INFO,"Private Message "); -#.FN_HDR MCEConfigurationUpdate - col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update "); -#.FN_HDR MCEConfigurationUpdateAcknowledge - col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update Acknowledge "); -#.FN_HDR MCEConfigurationUpdateFailure - col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update Failure "); -#.FN_HDR M3SetupRequest - col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Request "); -#.FN_HDR M3SetupResponse - col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Response "); -#.FN_HDR M3SetupFailure - col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Failure "); - - -#.ASSIGN_VALUE_TO_TYPE # M3AP does not have constants assigned to types, they are pure INTEGER -# ProcedureCode -id-mBMSsessionStart ProcedureCode -id-mBMSsessionStop ProcedureCode -id-errorIndication ProcedureCode -id-privateMessage ProcedureCode -id-Reset ProcedureCode -id-mBMSsessionUpdate ProcedureCode -id-mCEConfigurationUpdate ProcedureCode -id-m3Setup ProcedureCode - -# ProtocolIE -id-MME-MBMS-M3AP-ID ProtocolIE-ID -id-MCE-MBMS-M3AP-ID ProtocolIE-ID -id-TMGI ProtocolIE-ID -id-MBMS-Session-ID ProtocolIE-ID -id-MBMS-E-RAB-QoS-Parameters ProtocolIE-ID -id-MBMS-Session-Duration ProtocolIE-ID -id-MBMS-Service-Area ProtocolIE-ID -id-TNL-Information ProtocolIE-ID -id-CriticalityDiagnostics ProtocolIE-ID -id-Cause ProtocolIE-ID -id-MBMS-Service-Area-List ProtocolIE-ID -id-MBMS-Service-Area-List-Item ProtocolIE-ID -id-TimeToWait ProtocolIE-ID -id-ResetType ProtocolIE-ID -id-MBMS-Service-associatedLogicalM3-ConnectionItem ProtocolIE-ID -id-MBMS-Service-associatedLogicalM3-ConnectionListResAck ProtocolIE-ID -id-MinimumTimeToMBMSDataTransfer ProtocolIE-ID -id-AllocationAndRetentionPriority ProtocolIE-ID -id-Global-MCE-ID ProtocolIE-ID -id-MCEname ProtocolIE-ID -id-MBMSServiceAreaList ProtocolIE-ID -id-Time-ofMBMS-DataTransfer ProtocolIE-ID -id-Time-ofMBMS-DataStop ProtocolIE-ID - -#.REGISTER - -#M3AP-PROTOCOL-IES -MME-MBMS-M3AP-ID N m3ap.ies id-MME-MBMS-M3AP-ID -MCE-MBMS-M3AP-ID N m3ap.ies id-MCE-MBMS-M3AP-ID -TMGI N m3ap.ies id-TMGI -MBMS-Session-ID N m3ap.ies id-MBMS-Session-ID -MBMS-E-RAB-QoS-Parameters N m3ap.ies id-MBMS-E-RAB-QoS-Parameters -MBMS-Session-Duration N m3ap.ies id-MBMS-Session-Duration -MBMS-Service-Area N m3ap.ies id-MBMS-Service-Area -TNL-Information N m3ap.ies id-TNL-Information -CriticalityDiagnostics N m3ap.ies id-CriticalityDiagnostics -Cause N m3ap.ies id-Cause -#MBMS-Service-Area-List N m3ap.ies id-MBMS-Service-Area-List -#MBMS-Service-Area-List-Item N m3ap.ies id-MBMS-Service-Area-List-Item -TimeToWait N m3ap.ies id-TimeToWait -ResetType N m3ap.ies id-ResetType -MBMS-Service-associatedLogicalM3-ConnectionItem N m3ap.ies id-MBMS-Service-associatedLogicalM3-ConnectionItem -MBMS-Service-associatedLogicalM3-ConnectionListResAck N m3ap.ies id-MBMS-Service-associatedLogicalM3-ConnectionListResAck -MinimumTimeToMBMSDataTransfer N m3ap.ies id-MinimumTimeToMBMSDataTransfer -AllocationAndRetentionPriority N m3ap.ies id-AllocationAndRetentionPriority -Global-MCE-ID N m3ap.ies id-Global-MCE-ID -MCEname N m3ap.ies id-MCEname -MBMSServiceAreaListItem N m3ap.ies id-MBMSServiceAreaList -Absolute-Time-ofMBMS-Data N m3ap.ies id-Time-ofMBMS-DataTransfer -Absolute-Time-ofMBMS-Data N m3ap.ies id-Time-ofMBMS-DataStop - -#M3AP-ELEMENTARY-PROCEDURE -MBMSSessionStartRequest N m3ap.proc.imsg id-mBMSsessionStart -MBMSSessionStartResponse N m3ap.proc.sout id-mBMSsessionStart -MBMSSessionStartFailure N m3ap.proc.uout id-mBMSsessionStart - -MBMSSessionStopRequest N m3ap.proc.imsg id-mBMSsessionStop -MBMSSessionStopResponse N m3ap.proc.sout id-mBMSsessionStop - -MBMSSessionUpdateRequest N m3ap.proc.imsg id-mBMSsessionUpdate -MBMSSessionUpdateResponse N m3ap.proc.sout id-mBMSsessionUpdate -MBMSSessionUpdateFailure N m3ap.proc.uout id-mBMSsessionUpdate - -ErrorIndication N m3ap.proc.imsg id-errorIndication - -Reset N m3ap.proc.imsg id-Reset -ResetAcknowledge N m3ap.proc.sout id-Reset - -PrivateMessage N m3ap.proc.imsg id-privateMessage - -MCEConfigurationUpdate N m3ap.proc.imsg id-mCEConfigurationUpdate -MCEConfigurationUpdateAcknowledge N m3ap.proc.sout id-mCEConfigurationUpdate -MCEConfigurationUpdateFailure N m3ap.proc.uout id-mCEConfigurationUpdate - -M3SetupRequest N m3ap.proc.imsg id-m3Setup -M3SetupResponse N m3ap.proc.sout id-m3Setup -M3SetupFailure N m3ap.proc.uout id-m3Setup - -#.END diff --git a/asn1/m3ap/packet-m3ap-template.c b/asn1/m3ap/packet-m3ap-template.c deleted file mode 100644 index 98cceefbc3..0000000000 --- a/asn1/m3ap/packet-m3ap-template.c +++ /dev/null @@ -1,218 +0,0 @@ -/* packet-m3ap.c - * Routines for M3 Application Protocol packet dissection - * - * Wireshark - Network traffic analyzer - * By Gerald Combs <gerald@wireshark.org> - * Copyright 1998 Gerald Combs - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Reference: 3GPP TS 36.444 v11.0.0 - */ - -#include "config.h" - -#include <epan/packet.h> - -#include <epan/strutil.h> -#include <epan/asn1.h> -#include <epan/sctpppids.h> -#include <epan/expert.h> - -#include "packet-ber.h" -#include "packet-per.h" -#include "packet-e212.h" -#include "packet-gtpv2.h" -#include "packet-ntp.h" - -#define PNAME "M3 Application Protocol" -#define PSNAME "M3AP" -#define PFNAME "m3ap" - -void proto_register_m3ap(void); -void proto_reg_handoff_m3ap(void); - -/* M3AP uses port 36444 as recommended by IANA. */ -#define M3AP_PORT 36444 -static dissector_handle_t m3ap_handle=NULL; - -#include "packet-m3ap-val.h" - -/* Initialize the protocol and registered fields */ -static int proto_m3ap = -1; - -static int hf_m3ap_Absolute_Time_ofMBMS_Data_value = -1; -static int hf_m3ap_IPAddress_v4 = -1; -static int hf_m3ap_IPAddress_v6 = -1; - -#include "packet-m3ap-hf.c" - -/* Initialize the subtree pointers */ -static int ett_m3ap = -1; - -#include "packet-m3ap-ett.c" - -static expert_field ei_m3ap_invalid_ip_address_len = EI_INIT; - -enum{ - INITIATING_MESSAGE, - SUCCESSFUL_OUTCOME, - UNSUCCESSFUL_OUTCOME -}; - -/* Global variables */ -static guint32 ProcedureCode; -static guint32 ProtocolIE_ID; -/*static guint32 ProtocolExtensionID; */ -static int global_m3ap_port = M3AP_PORT; -static guint32 message_type; - -/* Dissector tables */ -static dissector_table_t m3ap_ies_dissector_table; -static dissector_table_t m3ap_extension_dissector_table; -static dissector_table_t m3ap_proc_imsg_dissector_table; -static dissector_table_t m3ap_proc_sout_dissector_table; -static dissector_table_t m3ap_proc_uout_dissector_table; - -static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); -static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); -static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); -static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); -static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); - -#include "packet-m3ap-fn.c" - -static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) -{ - return (dissector_try_uint(m3ap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0; -} - -static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) -{ - return (dissector_try_uint(m3ap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0; -} - -static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) -{ - return (dissector_try_uint(m3ap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0; -} - -static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) -{ - return (dissector_try_uint(m3ap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0; -} - -static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) -{ - return (dissector_try_uint(m3ap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0; -} - - -static int -dissect_m3ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) -{ - proto_item *m3ap_item = NULL; - proto_tree *m3ap_tree = NULL; - - /* make entry in the Protocol column on summary display */ - col_set_str(pinfo->cinfo, COL_PROTOCOL, PNAME); - - /* create the m3ap protocol tree */ - if (tree) { - m3ap_item = proto_tree_add_item(tree, proto_m3ap, tvb, 0, -1, ENC_NA); - m3ap_tree = proto_item_add_subtree(m3ap_item, ett_m3ap); - - dissect_M3AP_PDU_PDU(tvb, pinfo, m3ap_tree, NULL); - } - return tvb_captured_length(tvb); -} -/*--- proto_register_m3ap -------------------------------------------*/ -void proto_register_m3ap(void) { - - /* List of fields */ - static hf_register_info hf[] = { - { &hf_m3ap_Absolute_Time_ofMBMS_Data_value, - { "Absolute-Time-ofMBMS-Data-value", "m3ap.Absolute_Time_ofMBMS_Data_value", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL } - }, - { &hf_m3ap_IPAddress_v4, - { "IPAddress", "m3ap.IPAddress_v4", - FT_IPv4, BASE_NONE, NULL, 0, - NULL, HFILL } - }, - { &hf_m3ap_IPAddress_v6, - { "IPAddress", "m3ap.IPAddress_v6", - FT_IPv6, BASE_NONE, NULL, 0, - NULL, HFILL } - }, - -#include "packet-m3ap-hfarr.c" - }; - - /* List of subtrees */ - static gint *ett[] = { - &ett_m3ap, -#include "packet-m3ap-ettarr.c" - }; - - expert_module_t* expert_m3ap; - - static ei_register_info ei[] = { - { &ei_m3ap_invalid_ip_address_len, { "m3ap.invalid_ip_address_len", PI_MALFORMED, PI_ERROR, "Invalid IP address length", EXPFILL }} - }; - - /* Register protocol */ - proto_m3ap = proto_register_protocol(PNAME, PSNAME, PFNAME); - /* Register fields and subtrees */ - proto_register_field_array(proto_m3ap, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); - expert_m3ap = expert_register_protocol(proto_m3ap); - expert_register_field_array(expert_m3ap, ei, array_length(ei)); - - /* Register dissector tables */ - m3ap_ies_dissector_table = register_dissector_table("m3ap.ies", "M3AP-PROTOCOL-IES", FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); - m3ap_extension_dissector_table = register_dissector_table("m3ap.extension", "M3AP-PROTOCOL-EXTENSION", FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); - m3ap_proc_imsg_dissector_table = register_dissector_table("m3ap.proc.imsg", "M3AP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); - m3ap_proc_sout_dissector_table = register_dissector_table("m3ap.proc.sout", "M3AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); - m3ap_proc_uout_dissector_table = register_dissector_table("m3ap.proc.uout", "M3AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_UINT32, BASE_DEC, DISSECTOR_TABLE_ALLOW_DUPLICATE); -} - - -/*--- proto_reg_handoff_m3ap ---------------------------------------*/ -void -proto_reg_handoff_m3ap(void) -{ - static gboolean inited = FALSE; - static guint SctpPort; - - if( !inited ) { - m3ap_handle = create_dissector_handle(dissect_m3ap, proto_m3ap); - dissector_add_uint("sctp.ppi", PROTO_3GPP_M3AP_PROTOCOL_ID, m3ap_handle); - inited = TRUE; -#include "packet-m3ap-dis-tab.c" - dissector_add_uint("m3ap.extension", 17, create_dissector_handle(dissect_AllocationAndRetentionPriority_PDU, proto_m3ap)); - } - else { - if (SctpPort != 0) { - dissector_delete_uint("sctp.port", SctpPort, m3ap_handle); - } - } - - SctpPort = global_m3ap_port; - if (SctpPort != 0) { - dissector_add_uint("sctp.port", SctpPort, m3ap_handle); - } -} |