aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2007-02-16 21:02:19 +0000
committerAnders Broman <anders.broman@ericsson.com>2007-02-16 21:02:19 +0000
commit9288918d6b3163dd4c4e915bbfe0dee0e24d3e3d (patch)
treeda154b0f25e80e5e6fe1a50fca8106c8582cc538 /asn1
parent946897ace722239b5e01ede4f61baea8b361c5ec (diff)
From Florent Drouin:
A patch to update the gsm map definition up to 3GPP TS 29.002 V7.5.0 (2006-09) Release 7 There is a little impact on the GTP dissector, because I had to change the name of the Local ErrorCode in the gsm map asn1 definition due to a conflict with the Camel dissector. svn path=/trunk/; revision=20823
Diffstat (limited to 'asn1')
-rw-r--r--asn1/gsmmap/GSMMAP.asn1184
-rw-r--r--asn1/gsmmap/gsm_map-exp.cnf14
-rw-r--r--asn1/gsmmap/gsmmap.cnf10
-rw-r--r--asn1/gsmmap/packet-gsm_map-template.c149
4 files changed, 1031 insertions, 326 deletions
diff --git a/asn1/gsmmap/GSMMAP.asn b/asn1/gsmmap/GSMMAP.asn
index 01394e1bd9..987bf9b6cd 100644
--- a/asn1/gsmmap/GSMMAP.asn
+++ b/asn1/gsmmap/GSMMAP.asn
@@ -1,6 +1,7 @@
-- Expanded ASN1 Module 'MAP-Protocol'
--SIEMENS ASN.1 Compiler R5.70 (Production_5.70)
-- Date: 2003-09-04 Time: 14:14:00
+-- Updated to version 3GPP TS 29.002 V7.5.0 (2006-09) Release 7
MAP-Protocol{ 0 identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-Protocol (4) version5 (5) }
@@ -73,7 +74,7 @@ OPERATION ::= CHOICE {
localValue OperationLocalvalue,
globalValue OBJECT IDENTIFIER }
-OperationLocalvalue ::= INTEGER{
+GSMMAPOperationLocalvalue ::= INTEGER{
updateLocation (2),
cancelLocation (3),
provideRoamingNumber (4),
@@ -91,7 +92,8 @@ OperationLocalvalue ::= INTEGER{
registerPassword (17),
getPassword (18),
processUnstructuredSS-Data (19),
- releaseResources (20),
+ releaseResources (20),
+ mt-ForwardSM-VGCS (21),
sendRoutingInfo (22),
updateGprsLocation (23),
sendRoutingInfoForGprs (24),
@@ -149,19 +151,22 @@ OperationLocalvalue ::= INTEGER{
secureTransportClass2 (79),
secureTransportClass3 (80),
secureTransportClass4 (81),
- provideSubscriberLocation (83),
+ provideSubscriberLocation (83),
+ sendGroupCallInfo (84),
sendRoutingInfoForLCS (85),
subscriberLocationReport (86),
ist-Alert (87),
ist-Command (88),
noteMM-Event (89)
- }
+ }
+
+OperationLocalvalue ::= GSMMAPOperationLocalvalue
ERROR ::= CHOICE {
localValue LocalErrorcode,
globalValue OBJECT IDENTIFIER }
-LocalErrorcode ::= INTEGER{
+GSMMAPLocalErrorcode ::= INTEGER{
systemFailure (34),
dataMissing (35),
unexpectedDataValue (36),
@@ -218,7 +223,9 @@ LocalErrorcode ::= INTEGER{
unknownOrUnreachableLCSClient (58),
mm-EventNotSupported (59),
secureTransportError (4)
- }
+}
+
+LocalErrorcode ::= GSMMAPLocalErrorcode
-- PROBLEMS
@@ -256,7 +263,8 @@ Bss-APDU ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
... }
-SignalInfo2 ::= OCTET STRING ( SIZE (1 .. 2560 ) )
+-- not used
+-- SignalInfo2 ::= OCTET STRING ( SIZE (1 .. 2560 ) )
SupportedCamelPhases ::= BIT STRING {
phase1 (0 ),
@@ -305,7 +313,13 @@ VLR-Capability ::= SEQUENCE{
superChargerSupportedInServingNetworkEntity [3] SuperChargerInfo OPTIONAL,
longFTN-Supported [4] IMPLICIT NULL OPTIONAL,
supportedLCS-CapabilitySets [5] IMPLICIT SupportedLCS-CapabilitySets OPTIONAL,
- offeredCamel4CSIs [6] IMPLICIT OfferedCamel4CSIs OPTIONAL }
+ offeredCamel4CSIs [6] IMPLICIT OfferedCamel4CSIs OPTIONAL,
+ supportedRAT-TypesIndicator [7] IMPLICIT SupportedRAT-Types OPTIONAL }
+
+SupportedRAT-Types::= BIT STRING {
+ utran (0),
+ geran (1)} (SIZE (2..8))
+-- exception handling: bits 2 to 7 shall be ignored if received and not understood
SuperChargerInfo ::= CHOICE {
sendSubscriberData [0] IMPLICIT NULL,
@@ -362,9 +376,12 @@ SLR-Arg-PCS-Extensions ::= SEQUENCE {
...,
na-ESRK-Request [0] IMPLICIT NULL OPTIONAL }
-Teleservice ::= OCTET STRING ( SIZE( 1 .. 5 ) )
-Bearerservice ::= OCTET STRING ( SIZE( 1 .. 5 ) )
-Msc-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+-- not used
+-- Teleservice ::= OCTET STRING ( SIZE( 1 .. 5 ) )
+-- not used
+-- Bearerservice ::= OCTET STRING ( SIZE( 1 .. 5 ) )
+-- not used
+-- Msc-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-- End Wireshark adaptation
@@ -408,7 +425,13 @@ PurgeMSArg ::= [3] IMPLICIT SEQUENCE {
vlr-Number [0] IMPLICIT ISDN-AddressString OPTIONAL,
sgsn-Number [1] IMPLICIT ISDN-AddressString OPTIONAL,
extensionContainer ExtensionContainer OPTIONAL,
- ... }
+ ... }
+
+PurgeMSArgV2 ::= SEQUENCE {
+ imsi IMSI,
+ vlr-Number ISDN-AddressString OPTIONAL,
+ ... }
+
-- RESULT
PurgeMSRes ::= SEQUENCE {
freezeTMSI [0] IMPLICIT NULL OPTIONAL,
@@ -449,7 +472,12 @@ SendIdentificationRes ::= [3] IMPLICIT SEQUENCE {
authenticationSetList AuthenticationSetList OPTIONAL,
currentSecurityContext [2] IMPLICIT CurrentSecurityContext OPTIONAL,
extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
-...}
+ ...}
+
+SendIdentificationResV2 ::= SEQUENCE {
+ imsi IMSI OPTIONAL,
+ tripletList TripletList OPTIONAL,
+ ...}
AuthenticationSetList ::= CHOICE {
tripletList [0] IMPLICIT TripletList,
@@ -553,7 +581,9 @@ PrepareHO-ArgV3 ::= [3] IMPLICIT SEQUENCE {
iuSupportedCodecsList [18] IMPLICIT SupportedCodecsList OPTIONAL,
rab-ConfigurationIndicator [19] IMPLICIT NULL OPTIONAL,
uesbi-Iu [21] IMPLICIT UESBI-Iu OPTIONAL,
- imeisv [22] IMPLICIT IMEI OPTIONAL }
+ imeisv [22] IMPLICIT IMEI OPTIONAL,
+ alternativeChannelType [23] IMPLICIT RadioResourceInformation OPTIONAL,
+ tracePropagationList [25] IMPLICIT TracePropagationList OPTIONAL }
BSSMAP-ServiceHandoverList ::= SEQUENCE SIZE (1.. 7) OF
BSSMAP-ServiceHandoverInfo
@@ -589,8 +619,8 @@ PrepareHO-Res ::= SEQUENCE {
handoverNumber ISDN-AddressString OPTIONAL,
bss-APDU Bss-APDU OPTIONAL,
... }
-
-HandoverNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+-- Not used
+-- HandoverNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
PrepareHO-ResV3 ::= [3] IMPLICIT SEQUENCE {
handoverNumber [0] IMPLICIT ISDN-AddressString OPTIONAL,
@@ -650,8 +680,10 @@ ProtocolId ::= ENUMERATED {
ets-300102-1 ( 4 )
}
-Sgsn-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-Vlr-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+-- Not used
+-- Sgsn-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+--Vlr-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+
-- End Wireshark adaptation --
--sendEndSignal OPERATION
-- ARGUMENT
@@ -684,10 +716,10 @@ RNCId ::= OCTET STRING (SIZE (7))
-- octets 4 and 5 Location Area Code according to 3GPP TS 24.008
-- octets 6 and 7 RNC Id value according to 3GPP TS 25.413
-RelocationNumberList ::= SEQUENCE SIZE (1..7) OF
-RelocationNumber
+RelocationNumberList ::= SEQUENCE SIZE (1..maxNumOfRelocationNumber) OF
+ RelocationNumber
-MulticallBearerInfo ::= INTEGER (1..7)
+MulticallBearerInfo ::= INTEGER (1..maxNumOfRelocationNumber)
RelocationNumber ::= SEQUENCE {
handoverNumber ISDN-AddressString,
@@ -695,25 +727,30 @@ RelocationNumber ::= SEQUENCE {
-- RAB Identity is needed to relate the calls with the radio access bearers.
...}
-RAB-Id ::= INTEGER (1..255)
+RAB-Id ::= INTEGER (1..maxNrOfRABs)
+
+maxNrOfRABs INTEGER ::= 255
+
+maxNumOfRelocationNumber INTEGER ::= 7
RadioResourceInformation ::= OCTET STRING (SIZE (3..13))
-- Octets are coded according the Channel Type information element in 3GPP TS 48.008
-IntegrityProtectionInformation ::= OCTET STRING (SIZE (18..100))
+IntegrityProtectionInformation ::= OCTET STRING (SIZE (18..maxNumOfIntegrityInfo))
-- Octets contain a complete IntegrityProtectionInformation data type
-- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
-- mandated by 3GPP TS 25.413
-- Padding bits are included, if needed, in the least significant bits of the
-- last octet of the octet string.
+maxNumOfIntegrityInfo INTEGER ::= 100
-EncryptionInformation ::= OCTET STRING (SIZE (18..100))
+EncryptionInformation ::= OCTET STRING (SIZE (18..maxNumOfEncryptionInfo))
-- Octets contain a complete EncryptionInformation data type
-- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
-- mandated by 3GPP TS 25.413
-- Padding bits are included, if needed, in the least significant bits of the
-- last octet of the octet string.
-
+maxNumOfEncryptionInfo INTEGER ::= 100
--processAccessSignalling OPERATION
-- ARGUMENT
@@ -770,22 +807,24 @@ SelectedGSM-Algorithm ::= OCTET STRING (SIZE (1))
ForwardAccessSignallingArgV3 ::= [3] SEQUENCE {
an-APDU AccessNetworkSignalInfo,
- integrityProtectionInfo [0] IntegrityProtectionInformation OPTIONAL,
- encryptionInfo [1] EncryptionInformation OPTIONAL,
- keyStatus [2] KeyStatus OPTIONAL,
- allowedGSM-Algorithms [4] AllowedGSM-Algorithms OPTIONAL,
- allowedUMTS-Algorithms [5] AllowedUMTS-Algorithms OPTIONAL,
- radioResourceInformation [6] RadioResourceInformation OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
+ integrityProtectionInfo [0] IMPLICIT IntegrityProtectionInformation OPTIONAL,
+ encryptionInfo [1] IMPLICIT EncryptionInformation OPTIONAL,
+ keyStatus [2] IMPLICIT KeyStatus OPTIONAL,
+ allowedGSM-Algorithms [4] IMPLICIT AllowedGSM-Algorithms OPTIONAL,
+ allowedUMTS-Algorithms [5] IMPLICIT AllowedUMTS-Algorithms OPTIONAL,
+ radioResourceInformation [6] IMPLICIT RadioResourceInformation OPTIONAL,
+ extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
...,
- radioResourceList [7] RadioResourceList OPTIONAL,
- bssmap-ServiceHandover [9] BSSMAP-ServiceHandover OPTIONAL,
- ranap-ServiceHandover [8] RANAP-ServiceHandover OPTIONAL,
- bssmap-ServiceHandoverList [10] BSSMAP-ServiceHandoverList OPTIONAL,
- currentlyUsedCodec [11] Codec OPTIONAL,
- iuSupportedCodecsList [12] SupportedCodecsList OPTIONAL,
- rab-ConfigurationIndicator [13] NULL OPTIONAL,
- iuSelectedCodec [14] Codec OPTIONAL }
+ radioResourceList [7] IMPLICIT RadioResourceList OPTIONAL,
+ bssmap-ServiceHandover [9] IMPLICIT BSSMAP-ServiceHandover OPTIONAL,
+ ranap-ServiceHandover [8] IMPLICIT RANAP-ServiceHandover OPTIONAL,
+ bssmap-ServiceHandoverList [10] IMPLICIT BSSMAP-ServiceHandoverList OPTIONAL,
+ currentlyUsedCodec [11] IMPLICIT Codec OPTIONAL,
+ iuSupportedCodecsList [12] IMPLICIT SupportedCodecsList OPTIONAL,
+ rab-ConfigurationIndicator [13] IMPLICIT NULL OPTIONAL,
+ iuSelectedCodec [14] IMPLICIT Codec OPTIONAL,
+ alternativeChannelType [15] IMPLICIT RadioResourceInformation OPTIONAL,
+ tracePropagationList [17] IMPLICIT TracePropagationList OPTIONAL }
--Bss-APDU ::= SEQUENCE { ... defined elsewhere
-- ::= localValue : 34
@@ -801,19 +840,21 @@ AllowedUMTS-Algorithms ::= SEQUENCE {
extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
...}
-PermittedIntegrityProtectionAlgorithms ::= OCTET STRING (SIZE (1..9))
+PermittedIntegrityProtectionAlgorithms ::= OCTET STRING (SIZE (1..maxPermittedIntegrityProtectionAlgorithmsLength))
-- Octets contain a complete PermittedIntegrityProtectionAlgorithms data type
-- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
-- mandated by 3GPP TS 25.413.
-- Padding bits are included, if needed, in the least significant bits of the
-- last octet of the octet string.
+maxPermittedIntegrityProtectionAlgorithmsLength INTEGER ::= 9
-PermittedEncryptionAlgorithms ::= OCTET STRING (SIZE (1..9))
+PermittedEncryptionAlgorithms ::= OCTET STRING (SIZE (1..maxPermittedEncryptionAlgorithmsLength))
-- Octets contain a complete PermittedEncryptionAlgorithms data type
-- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
-- mandated by 3GPP TS 25.413
-- Padding bits are included, if needed, in the least significant bits of the
-- last octet of the octet string.
+maxPermittedEncryptionAlgorithmsLength INTEGER ::= 9
KeyStatus ::= ENUMERATED {
old (0),
@@ -914,11 +955,17 @@ Re-synchronisationInfo ::= SEQUENCE {
...}
RequestingNodeType ::= ENUMERATED {
- vlr (0),
- sgsn (1),
- ...}
+ vlr (0),
+ sgsn (1),
+ ...,
+ s-cscf (2),
+ bsf (3),
+ gan-aaa-server (4),
+ wlan-aaa-server (5)
+ }
+-- the values 2, 3, 4 and 5 shall not be used on the MAP-D or Gr interfaces
-- exception handling:
--- received values in the range 2-15 shall be treated as "vlr"
+-- received values in the range (6-15) shall be treated as "vlr"
-- received values greater than 15 shall be treated as "sgsn"
--checkIMEI OPERATION
@@ -946,7 +993,7 @@ CheckIMEIArgV3 ::= SEQUENCE {
CheckIMEIRes ::= SEQUENCE {
equipmentStatus EquipmentStatus OPTIONAL,
bmuef UESBI-Iu OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
+ extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
...}
RequestedEquipmentInfo::= BIT STRING {
@@ -981,11 +1028,17 @@ OverrideCategory ::= ENUMERATED {
overrideEnabled ( 0 ),
overrideDisabled ( 1 ) }
-BasicService ::= CHOICE {
- bearerservice [2] IMPLICIT Bearerservice,
- teleservice [3] IMPLICIT Teleservice}
+-- Not used anymore
+-- BasicService ::= CHOICE {
+-- bearerservice [2] IMPLICIT Bearerservice,
+-- teleservice [3] IMPLICIT Teleservice}
+
+-- BasicServiceGroupList ::= SEQUENCE OF BasicService
+BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
+ BasicServiceCode
+
+maxNumOfBasicServiceGroups INTEGER ::= 13
-BasicServiceGroupList ::= SEQUENCE OF BasicService
ODB-GeneralData ::= BIT STRING {
allOG-CallsBarred (0),
@@ -1016,44 +1069,49 @@ ODB-GeneralData ::= BIT STRING {
registrationCFNotToHPLMN-Barred (25),
registrationInterzonalCF-Barred (26),
registrationInterzonalCFNotToHPLMN-Barred (27),
- registrationInternationalCF-Barred (28)}
+ registrationInternationalCF-Barred (28)} (SIZE (15..32))
ODB-HPLMN-Data ::= BIT STRING {
plmn-SpecificBarringType1 (0 ),
plmn-SpecificBarringType2 (1 ),
plmn-SpecificBarringType3 (2 ),
- plmn-SpecificBarringType4 (3 )}
+ plmn-SpecificBarringType4 (3 )} (SIZE (4..32))
SubscriberStatus ::= ENUMERATED {
serviceGranted ( 0 ),
operatorDeterminedBarring ( 1 ) }
-BcsmTriggerDetectionPoint ::= ENUMERATED {
- collectedInfo ( 2 ),
- routeSelectFailure (4 ),
- termAttemptAuthorized ( 12 ),
- tBusy (13 ),
- tNoAnswer (14 ),
- ... }
+-- not used
+-- BcsmTriggerDetectionPoint ::= ENUMERATED {
+-- collectedInfo ( 2 ),
+-- routeSelectFailure (4 ),
+-- termAttemptAuthorized ( 12 ),
+-- tBusy (13 ),
+-- tNoAnswer (14 ),
+-- ... }
ServiceKey ::= INTEGER ( 0 .. 2147483647 )
-BcsmCamelTDPData ::= SEQUENCE {
- bcsmTriggerDetectionPoint BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCFAddress [0] IMPLICIT GsmSCF-Address,
- defaultCallHandling [1] IMPLICIT DefaultCallHandling,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
+-- not used
+-- BcsmCamelTDPData ::= SEQUENCE {
+-- bcsmTriggerDetectionPoint BcsmTriggerDetectionPoint,
+-- serviceKey ServiceKey,
+-- gsmSCFAddress [0] IMPLICIT GsmSCF-Address,
+-- defaultCallHandling [1] IMPLICIT DefaultCallHandling,
+-- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
+-- ... }
-BcsmCamelTDPDataList ::= SEQUENCE OF BcsmCamelTDPData
+-- not used
+-- BcsmCamelTDPDataList ::= SEQUENCE OF BcsmCamelTDPData
-GsmSCF-Address ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+-- not used
+-- GsmSCF-Address ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-DefaultCallHandling ::= ENUMERATED {
- continueCall ( 0 ),
- releaseCall ( 1 ),
- ... }
+-- Moved
+-- DefaultCallHandling ::= ENUMERATED {
+-- continueCall ( 0 ),
+-- releaseCall ( 1 ),
+-- ... }
O-CSI ::= SEQUENCE {
o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList,
@@ -1066,12 +1124,13 @@ O-CSI ::= SEQUENCE {
-- They may only be included in ATSI/ATM ack/NSDC message.
-- O-CSI shall not be segmented.
-O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..10) OF
+O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
O-BcsmCamelTDPData
-- O-BcsmCamelTDPDataList shall not contain more than one instance of
-- O-BcsmCamelTDPData containing the same value for o-BcsmTriggerDetectionPoint.
-- For CAMEL Phase 2, this means that only one instance of O-BcsmCamelTDPData is allowed
-- with o-BcsmTriggerDetectionPoint being equal to DP2.
+maxNumOfCamelTDPData INTEGER ::= 10
O-BcsmCamelTDPData ::= SEQUENCE {
o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
@@ -1082,8 +1141,6 @@ O-BcsmCamelTDPData ::= SEQUENCE {
...
}
-ISDN-AddressString ::= OCTET STRING
-
--insertSubscriberData OPERATION
-- ARGUMENT
InsertSubscriberDataArg ::= SEQUENCE {
@@ -1146,8 +1203,9 @@ LCSInformation ::= SEQUENCE {
-- add-lcs-PrivacyExceptionList with the same SS-Code, then the error unexpected
-- data value shall be returned.
-GMLC-List ::= SEQUENCE SIZE (1..5) OF ISDN-AddressString
+GMLC-List ::= SEQUENCE SIZE (1..maxNumOfGMLC) OF ISDN-AddressString
-- if segmentation is used, the complete GMLC-List shall be sent in one segment
+maxNumOfGMLC INTEGER ::= 5
NetworkAccessMode ::= ENUMERATED {
bothMSCAndSGSN (0),
@@ -1157,7 +1215,8 @@ NetworkAccessMode ::= ENUMERATED {
-- if unknown values are received in NetworkAccessMode
-- they shall be discarded.
-GPRSDataList ::= SEQUENCE SIZE (1..50) OF PDP-Context
+GPRSDataList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF PDP-Context
+maxNumOfPDP-Contexts INTEGER ::= 50
PDP-Context ::= SEQUENCE {
pdp-ContextId ContextId,
@@ -1174,7 +1233,7 @@ PDP-Context ::= SEQUENCE {
-- ext2-QoS-Subscribed may be present only if ext-QoS-Subscribed is present.
}
-ContextId ::= INTEGER (1..50)
+ContextId ::= INTEGER (1..maxNumOfPDP-Contexts)
GPRSSubscriptionData ::= SEQUENCE {
completeDataListIncluded NULL OPTIONAL,
@@ -1208,7 +1267,7 @@ GPRS-CSI ::= SEQUENCE {
-- If GPRS-CSI is segmented, gprs-CamelTDPDataList and camelCapabilityHandling shall be
-- present in the first segment
-GPRS-CamelTDPDataList ::= SEQUENCE SIZE (1..10) OF
+GPRS-CamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
GPRS-CamelTDPData
-- GPRS-CamelTDPDataList shall not contain more than one instance of
-- GPRS-CamelTDPData containing the same value for gprs-TriggerDetectionPoint.
@@ -1290,7 +1349,8 @@ LSAOnlyAccessIndicator ::= ENUMERATED {
accessOutsideLSAsAllowed (0),
accessOutsideLSAsRestricted (1)}
-LSADataList ::= SEQUENCE SIZE (1..20) OF LSAData
+LSADataList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF LSAData
+maxNumOfLSAs INTEGER ::= 20
LSAData ::= SEQUENCE {
lsaIdentity [0] IMPLICIT LSAIdentity,
@@ -1415,8 +1475,9 @@ LSAIdentityList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF
LSAIdentity
-BasicServiceList ::= SEQUENCE SIZE (1..70) OF
+BasicServiceList ::= SEQUENCE SIZE (1..maxNumOfBasicServices) OF
Ext-BasicServiceCode
+maxNumOfBasicServices INTEGER ::= 70
VlrCamelSubscriptionInfo ::= SEQUENCE {
o-CSI [0] IMPLICIT O-CSI OPTIONAL,
@@ -1435,7 +1496,7 @@ VlrCamelSubscriptionInfo ::= SEQUENCE {
}
-MT-smsCAMELTDP-CriteriaList ::= SEQUENCE SIZE (1.. 10) OF
+MT-smsCAMELTDP-CriteriaList ::= SEQUENCE SIZE (1.. maxNumOfCamelTDPData) OF
MT-smsCAMELTDP-Criteria
MT-smsCAMELTDP-Criteria ::= SEQUENCE {
@@ -1443,8 +1504,9 @@ MT-smsCAMELTDP-Criteria ::= SEQUENCE {
tpdu-TypeCriterion [0] IMPLICIT TPDU-TypeCriterion OPTIONAL,
... }
-TPDU-TypeCriterion ::= SEQUENCE SIZE (1..5) OF
+TPDU-TypeCriterion ::= SEQUENCE SIZE (1..maxNumOfTPDUTypes) OF
MT-SMS-TPDU-Type
+maxNumOfTPDUTypes INTEGER ::= 5
MT-SMS-TPDU-Type ::= ENUMERATED {
sms-DELIVER (0),
@@ -1473,8 +1535,9 @@ D-CSI ::= SEQUENCE {
-- and camelCapabilityHandling. Subsequent segments shall not contain
-- camelCapabilityHandling, but may contain dp-AnalysedInfoCriteriaList.
-DP-AnalysedInfoCriteriaList ::= SEQUENCE SIZE (1..10) OF
+DP-AnalysedInfoCriteriaList ::= SEQUENCE SIZE (1..maxNumOfDP-AnalysedInfoCriteria) OF
DP-AnalysedInfoCriterium
+maxNumOfDP-AnalysedInfoCriteria INTEGER ::= 10
DP-AnalysedInfoCriterium ::= SEQUENCE {
dialledNumber ISDN-AddressString,
@@ -1520,14 +1583,15 @@ MG-CSI ::= SEQUENCE {
Category ::= OCTET STRING (SIZE (1))
-- The internal structure is defined in ITU-T Rec Q.763.
-BearerServiceList ::= SEQUENCE SIZE (1..50) OF
+BearerServiceList ::= SEQUENCE SIZE (1..maxNumOfBearerServices) OF
Ext-BearerServiceCode
+maxNumOfBearerServices INTEGER ::= 50
-TeleserviceList ::= SEQUENCE SIZE (1..20) OF
+TeleserviceList ::= SEQUENCE SIZE (1..maxNumOfTeleservices) OF
Ext-TeleserviceCode
+maxNumOfTeleservices INTEGER ::= 20
-
-Ext-SS-InfoList ::= SEQUENCE SIZE (1..30) OF
+Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
Ext-SS-Info
Ext-SS-Info ::= CHOICE {
@@ -1602,12 +1666,12 @@ Ext-CallBarringFeature ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
...}
-ZoneCodeList ::= SEQUENCE SIZE (1..10)
+ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes)
OF ZoneCode
ZoneCode ::= OCTET STRING (SIZE (2))
-- internal structure is defined in TS 3GPP TS 23.003 [17]
-
+maxNumOfZoneCodes INTEGER ::= 10
EMLPP-Info ::= SEQUENCE {
maximumentitledPriority EMLPP-Priority,
@@ -1628,16 +1692,15 @@ CliRestrictionOption ::= ENUMERATED {
}
-SS-Status ::= OCTET STRING ( SIZE( 1 .. 5 ) )
-
CUG-Info ::= SEQUENCE {
cug-SubscriptionList CUG-SubscriptionList,
cug-FeatureList CUG-FeatureList OPTIONAL,
extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
...}
-CUG-SubscriptionList ::= SEQUENCE SIZE (0..10) OF
+CUG-SubscriptionList ::= SEQUENCE SIZE (0..maxNumOfCUG) OF
CUG-Subscription
+maxNumOfCUG INTEGER ::= 10
CUG-Subscription ::= SEQUENCE {
cug-Index CUG-Index,
@@ -1660,8 +1723,9 @@ IntraCUG-Options ::= ENUMERATED {
CUG-FeatureList ::= SEQUENCE SIZE (1..32) OF
CUG-Feature
-Ext-BasicServiceGroupList ::= SEQUENCE SIZE (1..32) OF
+Ext-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
Ext-BasicServiceCode
+maxNumOfExt-BasicServiceGroups INTEGER ::= 32
CUG-Feature ::= SEQUENCE {
basicService Ext-BasicServiceCode OPTIONAL,
@@ -1688,8 +1752,9 @@ Ext-SS-Data ::= SEQUENCE {
extensionContainer [5] IMPLICIT ExtensionContainer OPTIONAL,
...}
-LCS-PrivacyExceptionList ::= SEQUENCE SIZE (1..4) OF
+LCS-PrivacyExceptionList ::= SEQUENCE SIZE (1..maxNumOfPrivacyClass) OF
LCS-PrivacyClass
+maxNumOfPrivacyClass INTEGER ::= 4
LCS-PrivacyClass ::= SEQUENCE {
ss-Code SS-Code,
@@ -1725,14 +1790,17 @@ LCS-PrivacyClass ::= SEQUENCE {
-- if segmentation is used, the complete LCS-PrivacyClass shall be sent in one segment
}
-ExternalClientList ::= SEQUENCE SIZE (0..5) OF
+ExternalClientList ::= SEQUENCE SIZE (0..maxNumOfExternalClient) OF
ExternalClient
+maxNumOfExternalClient INTEGER ::= 5
-PLMNClientList ::= SEQUENCE SIZE (1..5) OF
+PLMNClientList ::= SEQUENCE SIZE (1..maxNumOfPLMNClient) OF
LCSClientInternalID
+maxNumOfPLMNClient INTEGER ::= 5
-Ext-ExternalClientList ::= SEQUENCE SIZE (1..35) OF
+Ext-ExternalClientList ::= SEQUENCE SIZE (1..maxNumOfExt-ExternalClient) OF
ExternalClient
+maxNumOfExt-ExternalClient INTEGER ::= 35
ExternalClient ::= SEQUENCE {
clientIdentity LCSClientExternalID,
@@ -1762,8 +1830,9 @@ NotificationToMSUser ::= ENUMERATED {
-- NotificationToMSUser.
-ServiceTypeList ::= SEQUENCE SIZE (1..32) OF
+ServiceTypeList ::= SEQUENCE SIZE (1..maxNumOfServiceType) OF
ServiceType
+maxNumOfServiceType INTEGER ::= 32
ServiceType ::= SEQUENCE {
serviceTypeIdentity LCSServiceTypeID,
@@ -1774,8 +1843,9 @@ ServiceType ::= SEQUENCE {
extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
... }
-MOLR-List ::= SEQUENCE SIZE (1..3) OF
+MOLR-List ::= SEQUENCE SIZE (1..maxNumOfMOLR-Class) OF
MOLR-Class
+maxNumOfMOLR-Class INTEGER ::= 3
MOLR-Class ::= SEQUENCE {
ss-Code SS-Code,
@@ -1783,7 +1853,8 @@ MOLR-Class ::= SEQUENCE {
extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
...}
-CallBarringFeatureList ::= SEQUENCE SIZE (1..32) OF CallBarringFeature
+CallBarringFeatureList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
+CallBarringFeature
CallBarringFeature ::= SEQUENCE {
basicService BasicServiceCode OPTIONAL,
@@ -1802,7 +1873,8 @@ ForwardingFeature ::= SEQUENCE {
...,
longForwardedToNumber [9] IMPLICIT FTN-AddressString OPTIONAL }
-LongForwardedToNumber ::= OCTET STRING ( SIZE (1 .. 20 ) )
+-- not used
+-- LongForwardedToNumber ::= OCTET STRING ( SIZE (1 .. 20 ) )
DestinationNumberCriteria ::= SEQUENCE {
@@ -1814,13 +1886,18 @@ DestinationNumberCriteria ::= SEQUENCE {
...}
-DestinationNumberList ::= SEQUENCE SIZE (1..10) OF
+DestinationNumberList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumbers) OF
ISDN-AddressString
-- The receiving entity shall not check the format of a number in
-- the dialled number list
+maxNumOfCamelDestinationNumbers INTEGER ::= 10
-DestinationNumberLengthList ::= SEQUENCE SIZE (1..3) OF
-INTEGER(1..15)
+-- Syntax in GSM specification is the following:
+-- DestinationNumberLengthList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumberLengths) OF
+-- INTEGER(1..maxNumOfISDN-AddressDigits)
+DestinationNumberLengthList ::= SEQUENCE SIZE (1..3) OF INTEGER(1..15)
+maxNumOfCamelDestinationNumberLengths INTEGER ::= 3
+maxNumOfISDN-AddressDigits INTEGER ::= 15
ForwardingInfo ::= SEQUENCE {
ss-Code SS-Code OPTIONAL,
@@ -1863,10 +1940,10 @@ MC-SS-Info ::= SEQUENCE {
extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL,
...}
-MaxMC-Bearers ::= INTEGER (2..7)
-
-MC-Bearers ::= INTEGER (1..7)
+MaxMC-Bearers ::= INTEGER (2..maxNumOfMC-Bearers)
+MC-Bearers ::= INTEGER (1..maxNumOfMC-Bearers)
+maxNumOfMC-Bearers INTEGER ::= 7
--reset OPERATION
-- ARGUMENT
@@ -1876,7 +1953,9 @@ ResetArg ::= SEQUENCE {
...}
-- ::= localValue : 37
-Hlr-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+
+-- not used
+-- Hlr-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
--forwardCheckSS-Indication OPERATION
-- ::= localValue : 38
@@ -1901,8 +1980,11 @@ RestoreDataRes ::= SEQUENCE {
-- unknownSubscriber localValue : 1}
-- ::= localValue : 57
-VBSDataList ::= SEQUENCE SIZE (1..50) OF VoiceBroadcastData
-VGCSDataList ::= SEQUENCE SIZE (1..50) OF VoiceGroupCallData
+VBSDataList ::= SEQUENCE SIZE (1..maxNumOfVBSGroupIds) OF VoiceBroadcastData
+maxNumOfVBSGroupIds INTEGER ::= 50
+
+VGCSDataList ::= SEQUENCE SIZE (1..maxNumOfVGCSGroupIds) OF VoiceGroupCallData
+maxNumOfVGCSGroupIds INTEGER ::= 50
VoiceGroupCallData ::= SEQUENCE {
groupId GroupId,
@@ -1913,7 +1995,19 @@ VoiceBroadcastData ::= SEQUENCE {
groupid GroupId,
broadcastInitEntitlement NULL OPTIONAL,
extensionContainer ExtensionContainer OPTIONAL,
-...}
+ ...,
+ additionalSubscriptions AdditionalSubscriptions OPTIONAL,
+ additionalInfo [0] IMPLICIT AdditionalInfo OPTIONAL }
+
+AdditionalInfo ::= BIT STRING (SIZE (1..136))
+-- Refers to Additional Info as specified in 3GPP TS 43.068
+
+AdditionalSubscriptions ::= BIT STRING {
+ privilegedUplinkRequest (0),
+ emergencyUplinkRequest (1),
+ emergencyReset (2)} (SIZE (3..8))
+-- Other bits than listed above shall be discarded.
+
GroupId ::= TBCD-STRING (SIZE (3))
-- When Group-Id is less than six characters in length, the TBCD filler (1111)
@@ -1921,19 +2015,174 @@ GroupId ::= TBCD-STRING (SIZE (3))
-- Refers to the Group Identification as specified in 3GPP TS 23.003
-- and 3GPP TS 43.068/ 43.069
+
+--
+-- Operation and maintenance data types
+--
+
--activateTraceMode OPERATION
-- ARGUMENT
ActivateTraceModeArg ::= SEQUENCE {
imsi [0] IMPLICIT IMSI OPTIONAL,
- traceReference [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 2 ) ),
- traceType [2] IMPLICIT INTEGER ( 0 .. 255 ),
- omc-Id [3] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL,
+ traceReference [1] IMPLICIT TraceReference,
+ traceType [2] IMPLICIT TraceType,
+ omc-Id [3] IMPLICIT AddressString OPTIONAL,
extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
+ ...,
+ traceReference2 [5] IMPLICIT TraceReference2 OPTIONAL,
+ traceDepthList [6] IMPLICIT TraceDepthList OPTIONAL,
+ traceNE-TypeList [7] IMPLICIT TraceNE-TypeList OPTIONAL,
+ traceInterfaceList [8] IMPLICIT TraceInterfaceList OPTIONAL,
+ traceEventList [9] IMPLICIT TraceEventList OPTIONAL }
+ -- RESULT
+
+TraceReference ::= OCTET STRING (SIZE (1..2))
+
+TraceReference2 ::= OCTET STRING (SIZE (3))
+
+TraceRecordingSessionReference ::= OCTET STRING (SIZE (2))
+
+TraceType ::= INTEGER (0..255)
+-- Trace types are fully defined in 3GPP TS 52.008. [61]
+
+TraceDepthList ::= SEQUENCE {
+ msc-s-TraceDepth [0] IMPLICIT TraceDepth OPTIONAL,
+ mgw-TraceDepth [1] IMPLICIT TraceDepth OPTIONAL,
+ sgsn-TraceDepth [2] IMPLICIT TraceDepth OPTIONAL,
+ ggsn-TraceDepth [3] IMPLICIT TraceDepth OPTIONAL,
+ rnc-TraceDepth [4] IMPLICIT TraceDepth OPTIONAL,
+ bmsc-TraceDepth [5] IMPLICIT TraceDepth OPTIONAL,
+ ...}
+
+TraceDepth ::= ENUMERATED {
+ minimum (0),
+ medium (1),
+ maximum (2),
+ ...}
+-- The value medium is applicable only for RNC. For other network elements, if value medium
+-- is received, value minimum shall be applied.
+
+TraceNE-TypeList ::= BIT STRING {
+ msc-s (0),
+ mgw (1),
+ sgsn (2),
+ ggsn (3),
+ rnc (4),
+ bm-sc (5)} (SIZE (6..16))
+-- Other bits than listed above shall be discarded.
+
+TraceInterfaceList ::= SEQUENCE {
+ msc-s-IList [0] IMPLICIT MSC-S-InterfaceList OPTIONAL,
+ mgw-IList [1] IMPLICIT MGW-InterfaceList OPTIONAL,
+ sgsn-IList [2] IMPLICIT SGSN-InterfaceList OPTIONAL,
+ ggsn-IList [3] IMPLICIT GGSN-InterfaceList OPTIONAL,
+ rnc-IList [4] IMPLICIT RNC-InterfaceList OPTIONAL,
+ bmsc-IList [5] IMPLICIT BMSC-InterfaceList OPTIONAL,
+ ...}
+
+MSC-S-InterfaceList ::= BIT STRING {
+ a (0),
+ iu (1),
+ mc (2),
+ map-g (3),
+ map-b (4),
+ map-e (5),
+ map-f (6),
+ cap (7),
+ map-d (8),
+ map-c (9)} (SIZE (10..16))
+-- Other bits than listed above shall be discarded.
+
+MGW-InterfaceList ::= BIT STRING {
+ mc (0),
+ nb-up (1),
+ iu-up (2)} (SIZE (3..8))
+-- Other bits than listed above shall be discarded.
+
+SGSN-InterfaceList ::= BIT STRING {
+ gb (0),
+ iu (1),
+ gn (2),
+ map-gr (3),
+ map-gd (4),
+ map-gf (5),
+ gs (6),
+ ge (7)} (SIZE (8..16))
+-- Other bits than listed above shall be discarded.
+
+GGSN-InterfaceList ::= BIT STRING {
+ gn (0),
+ gi (1),
+ gmb (2)} (SIZE (3..8))
+-- Other bits than listed above shall be discarded.
+
+RNC-InterfaceList ::= BIT STRING {
+ iu (0),
+ iur (1),
+ iub (2),
+ uu (3)} (SIZE (4..8))
+-- Other bits than listed above shall be discarded.
+
+BMSC-InterfaceList ::= BIT STRING {
+ gmb (0)} (SIZE (1..8))
+-- Other bits than listed above shall be discarded.
+
+TraceEventList ::= SEQUENCE {
+ msc-s-EList [0] IMPLICIT MSC-S-EventList OPTIONAL,
+ mgw-EList [1] IMPLICIT MGW-EventList OPTIONAL,
+ sgsn-EList [2] IMPLICIT SGSN-EventList OPTIONAL,
+ ggsn-EList [3] IMPLICIT GGSN-EventList OPTIONAL,
+ bmsc-EList [4] IMPLICIT BMSC-EventList OPTIONAL,
+ ...}
+
+MSC-S-EventList ::= BIT STRING {
+ mo-mtCall (0),
+ mo-mt-sms (1),
+ lu-imsiAttach-imsiDetach (2),
+ handovers (3),
+ ss (4)} (SIZE (5..16))
+-- Other bits than listed above shall be discarded.
+
+MGW-EventList ::= BIT STRING {
+ context (0)} (SIZE (1..8))
+-- Other bits than listed above shall be discarded.
+
+SGSN-EventList ::= BIT STRING {
+ pdpContext (0),
+ mo-mt-sms (1),
+ rau-gprsAttach-gprsDetach (2),
+ mbmsContext (3)} (SIZE (4..16))
+-- Other bits than listed above shall be discarded.
+
+GGSN-EventList ::= BIT STRING {
+ pdpContext (0),
+ mbmsContext (1)} (SIZE (2..8))
+-- Other bits than listed above shall be discarded.
+
+BMSC-EventList ::= BIT STRING {
+ mbmsMulticastServiceActivation (0)} (SIZE (1..8))
+-- Other bits than listed above shall be discarded.
+
+
+TracePropagationList ::= SEQUENCE {
+ traceReference [0] IMPLICIT TraceReference OPTIONAL,
+ traceType [1] IMPLICIT TraceType OPTIONAL,
+ traceReference2 [2] IMPLICIT TraceReference2 OPTIONAL,
+ traceRecordingSessionReference [3] IMPLICIT TraceRecordingSessionReference OPTIONAL,
+ rnc-TraceDepth [4] IMPLICIT TraceDepth OPTIONAL,
+ rnc-InterfaceList [5] IMPLICIT RNC-InterfaceList OPTIONAL,
+ msc-s-TraceDepth [6] IMPLICIT TraceDepth OPTIONAL,
+ msc-s-InterfaceList [7] IMPLICIT MSC-S-InterfaceList OPTIONAL,
+ msc-s-EventList [8] IMPLICIT MSC-S-EventList OPTIONAL,
+ mgw-TraceDepth [9] IMPLICIT TraceDepth OPTIONAL,
+ mgw-InterfaceList [10] IMPLICIT MGW-InterfaceList OPTIONAL,
+ mgw-EventList [11] IMPLICIT MGW-EventList OPTIONAL,
+ ...}
+
ActivateTraceModeRes ::= SEQUENCE {
extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
+ ...,
+ traceSupportIndicator [1] IMPLICIT NULL OPTIONAL}
-- ERRORS {
-- systemFailure localValue : 34,
-- dataMissing localValue : 35,
@@ -1947,9 +2196,11 @@ ActivateTraceModeRes ::= SEQUENCE {
-- ARGUMENT
DeactivateTraceModeArg ::= SEQUENCE {
imsi [0] IMPLICIT IMSI OPTIONAL,
- traceReference [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 2 ) ),
+ traceReference [1] IMPLICIT TraceReference,
extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
+ ...,
+ traceReference2 [3] IMPLICIT TraceReference2 OPTIONAL }
+
-- RESULT
DeactivateTraceModeRes ::= SEQUENCE {
extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
@@ -2035,7 +2286,8 @@ SendRoutingInfoRes ::= [3] SEQUENCE {
basicService2 [19] IMPLICIT Ext-BasicServiceCode OPTIONAL,
allowedServices [20] IMPLICIT AllowedServices OPTIONAL,
unavailabilityCause [21] IMPLICIT UnavailabilityCause OPTIONAL,
- releaseResourcesSupported [22] IMPLICIT NULL OPTIONAL
+ releaseResourcesSupported [22] IMPLICIT NULL OPTIONAL,
+ gsm-BearerCapability [23] IMPLICIT ExternalSignalInfo OPTIONAL
}
-- ERRORS {
-- systemFailure localValue : 34,
@@ -2079,7 +2331,15 @@ ExternalSignalInfo ::= SEQUENCE {
-- extensionContainer must not be used in version 2
...}
-SignalInfo ::= OCTET STRING (SIZE (1..200))
+SignalInfo ::= OCTET STRING (SIZE (1..maxSignalInfoLength))
+
+maxSignalInfoLength INTEGER ::= 200
+-- This NamedValue represents the theoretical maximum number of octets which is
+-- available to carry a single instance of the SignalInfo data type,
+-- without requiring segmentation to cope with the network layer service.
+-- However, the actual maximum size available for an instance of the data
+-- type may be lower, especially when other information elements
+-- have to be included in the same component.
Ext-ExternalSignalInfo ::= SEQUENCE {
ext-ProtocolId Ext-ProtocolId,
@@ -2101,7 +2361,14 @@ AccessNetworkSignalInfo ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
...}
-LongSignalInfo ::= OCTET STRING (SIZE (1..2560))
+LongSignalInfo ::= OCTET STRING (SIZE (1..maxLongSignalInfoLength))
+
+maxLongSignalInfoLength INTEGER ::= 2560
+ -- This Named Value represents the maximum number of octets which is available
+ -- to carry a single instance of the LongSignalInfo data type using
+ -- White Book SCCP with the maximum number of segments.
+ -- It takes account of the octets used by the lower layers of the protocol, and
+ -- other information elements which may be included in the same component.
CamelInfo ::= SEQUENCE {
supportedCamelPhases SupportedCamelPhases,
@@ -2137,6 +2404,9 @@ AlertingPattern ::= OCTET STRING (SIZE (1) )
-- all other values are reserved.
-- bits 21 : type of alerting
+-- Definition should be the following, but it doesn't work with gsmmap.cnf
+-- IMSI ::= TBCD-STRING (SIZE (3..8))
+-- digits of MCC, MNC, MSIN are concatenated in this order.
IMSI ::= OCTET STRING (SIZE (3..8))
-- digits of MCC, MNC, MSIN are concatenated in this order.
@@ -2168,9 +2438,10 @@ ASCI-CallReference ::= TBCD-STRING (SIZE (1..8))
TMSI ::= OCTET STRING (SIZE (1..4))
-SubscriberId ::= CHOICE {
- imsi [0] IMSI,
- tmsi [1] TMSI}
+-- not used
+-- SubscriberId ::= CHOICE {
+-- imsi [0] IMSI,
+-- tmsi [1] TMSI}
IMEI ::= TBCD-STRING (SIZE (8))
@@ -2184,8 +2455,8 @@ HLR-Id ::= IMSI
-- leading digits of IMSI, i.e. (MCC, MNC, leading digits of
-- MSIN) forming HLR Id defined in TS 3GPP TS 23.003 [17].
-HLR-List ::= SEQUENCE SIZE (1..50) OF HLR-Id
-
+HLR-List ::= SEQUENCE SIZE (1..maxNumOfHLR-Id) OF HLR-Id
+maxNumOfHLR-Id INTEGER ::= 50
SupportedCCBS-Phase ::= INTEGER (1..127)
-- exception handling:
@@ -2199,8 +2470,9 @@ CallDiversionTreatmentIndicator ::= OCTET STRING (SIZE(1))
-- network default is call diversion allowed
-SS-List ::= SEQUENCE SIZE (1..30) OF
+SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF
SS-Code
+maxNumOfSS INTEGER ::= 30
NAEA-PreferredCI ::= SEQUENCE {
naea-PreferredCIC [0] IMPLICIT NAEA-CIC,
@@ -2392,14 +2664,16 @@ LocationNumber ::= OCTET STRING (SIZE (2..10))
SubscriberState ::= CHOICE {
assumedIdle [0] IMPLICIT NULL,
camelBusy [1] IMPLICIT NULL,
---XXX netDetNotReachable IMPLICIT NetDetNotReachable,
+ netDetNotReachable NotReachableReason,
notProvidedFromVLR [2] IMPLICIT NULL
-}
-NetDetNotReachable ::= ENUMERATED {
- msPurged ( 0 ),
- imsiDetached ( 1 ),
- restrictedArea ( 2 ),
- notRegistered ( 3 ) }
+}
+
+-- not used
+-- NetDetNotReachable ::= ENUMERATED {
+-- msPurged ( 0 ),
+-- imsiDetached ( 1 ),
+-- restrictedArea ( 2 ),
+-- notRegistered ( 3 ) }
PS-SubscriberState ::= CHOICE {
notProvidedFromSGSN [0] IMPLICIT NULL,
@@ -2464,12 +2738,14 @@ NotReachableReason ::= ENUMERATED {
restrictedArea (2),
notRegistered (3)}
-RoamingNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+-- not used
+-- RoamingNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+-- not used
+-- Qos-Subscribed ::= OCTET STRING ( SIZE (1 .. 9 ) )
-Qos-Subscribed ::= OCTET STRING ( SIZE (1 .. 9 ) )
-
-ExtSignalInfo ::= OCTET STRING ( SIZE( 1 .. 200 ) )
+-- not used
+-- ExtSignalInfo ::= OCTET STRING ( SIZE( 1 .. 200 ) )
CUG-CheckInfo ::= SEQUENCE {
cug-Interlock CUG-Interlock,
@@ -2481,10 +2757,11 @@ ForwardingData ::= SEQUENCE {
forwardedToSubaddress [4] IMPLICIT ISDN-SubaddressString OPTIONAL,
forwardingOptions [6] IMPLICIT ForwardingOptions OPTIONAL,
extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL,
- longForwardedToNumber [8] IMPLICIT FTN-AddressString OPTIONAL,
- ... }
+ ...,
+ longForwardedToNumber [8] IMPLICIT FTN-AddressString OPTIONAL }
-Gmsc-Address ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+-- not used
+-- Gmsc-Address ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
--provideRoamingNumber OPERATION
-- ARGUMENT
@@ -2625,10 +2902,11 @@ SIWFSSignallingModifyRes ::= SEQUENCE {
-- systemFailure localValue : 34}
-- ::= localValue : 32
-Ccbs-Monitoring ::= ENUMERATED {
- stopMonitoring ( 0 ),
- startMonitoring ( 1 ),
- ... }
+-- not used
+-- Ccbs-Monitoring ::= ENUMERATED {
+-- stopMonitoring ( 0 ),
+-- startMonitoring ( 1 ),
+-- ... }
--setReportingState OPERATION
-- ARGUMENT
@@ -2807,7 +3085,8 @@ RemoteUserFreeRes ::= SEQUENCE {
-- busySubscriber localValue : 45}
-- localValue : 75
-TranslatedB-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+-- not used
+-- TranslatedB-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
SS-Data ::= SEQUENCE {
ss-Code SS-Code OPTIONAL,
@@ -2857,7 +3136,8 @@ SS-Info ::= CHOICE {
-- ss-Incompatibility localValue : 20}
-- ::= localValue : 10
-B-subscriberNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
+-- not used
+-- B-subscriberNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
--eraseSS OPERATION
-- ARGUMENT
@@ -3036,7 +3316,17 @@ FailureCause ::= ENUMERATED {
--registerPassword OPERATION
-- ARGUMENT
-SS-Code ::= OCTET STRING
+
+SS-Code ::= OCTET STRING (SIZE (1))
+-- This type is used to represent the code identifying a single
+-- supplementary service, a group of supplementary services, or
+-- all supplementary services. The services and abbreviations
+-- used are defined in TS 3GPP TS 22.004 [5]. The internal structure is
+-- defined as follows:
+--
+-- bits 87654321: group (bits 8765), and specific service
+-- (bits 4321)
+
-- RESULT
NewPassword ::= NumericString (SIZE( 4 ) )
-- ERRORS {
@@ -3054,6 +3344,7 @@ NewPassword ::= NumericString (SIZE( 4 ) )
--getPassword OPERATION
-- ARGUMENT
+-- GetPasswordArg is GuidanceInfo
GetPasswordArg ::= ENUMERATED {
enterPW ( 0 ),
enterNewPW ( 1 ),
@@ -3129,10 +3420,23 @@ RoutingInfoForSMArg ::= SEQUENCE {
extensionContainer [6] IMPLICIT ExtensionContainer OPTIONAL,
... ,
gprsSupportIndicator [7] IMPLICIT NULL OPTIONAL,
- sm-RP-MTI [8] IMPLICIT INTEGER ( 0 .. 10 ) OPTIONAL,
- sm-RP-SMEA [9] IMPLICIT OCTET STRING ( SIZE( 1 .. 12 ) ) OPTIONAL}
+ sm-RP-MTI [8] IMPLICIT SM-RP-MTI OPTIONAL,
+ sm-RP-SMEA [9] IMPLICIT SM-RP-SMEA OPTIONAL }
-- RESULT
+SM-RP-MTI ::= INTEGER (0..10)
+-- 0 SMS Deliver
+-- 1 SMS Status Report
+-- other values are reserved for future use and shall be discarded if
+-- received
+
+SM-RP-SMEA ::= OCTET STRING (SIZE (1..12))
+-- this parameter contains an address field which is encoded
+-- as defined in 3GPP TS 23.040. An address field contains 3 elements :
+-- address-length
+-- type-of-address
+-- address-value
+
RoutingInfoForSM-Res ::= SEQUENCE {
imsi IMSI,
locationInfoWithLMSI [0] IMPLICIT LocationInfoWithLMSI,
@@ -3204,6 +3508,7 @@ Sm-RP-DA ::= CHOICE {
noSM-RP-DA [5] IMPLICIT NULL
}
+-- In fact, the 3GPP uses SignalInfo instead, but it is used for SMS content decoding
Sm-RP-UI ::= OCTET STRING ( SIZE( 1 .. 200 ) )
ServiceCentreAddress ::= OCTET STRING ( SIZE( 1 .. 20 ) )
@@ -3234,8 +3539,8 @@ Mt-forwardSM-Res ::= SEQUENCE {
-- absentsubscriberSM localValue : 6}
-- ::= localValue : 44
-
-StoredMSISDN ::= ISDN-AddressString
+-- not used
+-- StoredMSISDN ::= ISDN-AddressString
Sm-DeliveryOutcome ::= ENUMERATED {
@@ -3258,7 +3563,7 @@ ReportSM-DeliveryStatusArg ::= SEQUENCE {
additionalAbsentSubscriberDiagnosticSM [5] IMPLICIT AbsentSubscriberDiagnosticSM OPTIONAL}
-- RESULT
ReportSM-DeliveryStatusRes ::= SEQUENCE {
- storedMSISDN StoredMSISDN OPTIONAL,
+ storedMSISDN ISDN-AddressString OPTIONAL,
extensionContainer ExtensionContainer OPTIONAL,
... }
-- ERRORS {
@@ -3271,16 +3576,26 @@ ReportSM-DeliveryStatusRes ::= SEQUENCE {
--informServiceCentre OPERATION
-- ARGUMENT
InformServiceCentreArg ::= SEQUENCE {
- storedMSISDN StoredMSISDN OPTIONAL,
- mw-Status BIT STRING {
- scAddressNotIncluded (0 ),
- mnrfSet (1 ),
- mcefSet (2 ),
- mnrgSet (3 )} ( SIZE( 6 .. 16 ) ) OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
+ storedMSISDN ISDN-AddressString OPTIONAL,
+ mw-Status MW-Status OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... ,
+ absentSubscriberDiagnosticSM AbsentSubscriberDiagnosticSM OPTIONAL,
+ additionalAbsentSubscriberDiagnosticSM [0] IMPLICIT AbsentSubscriberDiagnosticSM OPTIONAL }
+-- additionalAbsentSubscriberDiagnosticSM may be present only if
+-- absentSubscriberDiagnosticSM is present.
+-- if included, additionalAbsentSubscriberDiagnosticSM is for GPRS and
+-- absentSubscriberDiagnosticSM is for non-GPRS
-- ::= localValue : 63
+MW-Status ::= BIT STRING {
+ sc-AddressNotIncluded (0),
+ mnrf-Set (1),
+ mcef-Set (2) ,
+ mnrg-Set (3)} (SIZE (6..16))
+-- exception handling:
+-- bits 4 to 15 shall be ignored if received and not understood
+
--alertServiceCentre OPERATION
-- ARGUMENT
AlertServiceCentreArg ::= SEQUENCE {
@@ -3297,9 +3612,7 @@ AlertServiceCentreArg ::= SEQUENCE {
-- ARGUMENT
ReadyForSM-Arg ::= SEQUENCE {
imsi [0] IMPLICIT IMSI,
- alertReason ENUMERATED {
- msPresent ( 0 ),
- memoryAvailable ( 1 ) },
+ alertReason AlertReason,
alertReasonIndicator NULL OPTIONAL,
extensionContainer ExtensionContainer OPTIONAL,
... }
@@ -3313,6 +3626,35 @@ ReadyForSM-Res ::= SEQUENCE {
-- facilityNotSupported localValue : 21,
-- unknownSubscriber localValue : 1}
-- ::= localValue : 66
+AlertReason ::= ENUMERATED {
+ ms-Present (0),
+ memoryAvailable (1)}
+
+
+-- currently not implemented
+--
+Mt-ForwardSM-VGCS-Arg ::= SEQUENCE {
+ asciCallReference ASCI-CallReference,
+ sm-RP-OA Sm-RP-OA,
+ sm-RP-UI Sm-RP-UI,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+-- currently not implemented
+--
+Mt-ForwardSM-VGCS-Res ::= SEQUENCE {
+ sm-RP-UI [0] IMPLICIT Sm-RP-UI OPTIONAL,
+ dispatcherList [1] IMPLICIT DispatcherList OPTIONAL,
+ ongoingCall NULL OPTIONAL,
+ extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
+ ...}
+
+DispatcherList ::=
+ SEQUENCE SIZE (1..maxNumOfDispatchers) OF
+ ISDN-AddressString
+
+maxNumOfDispatchers INTEGER ::= 5
+
--provideSubscriberInfo OPERATION
-- ARGUMENT
@@ -3397,15 +3739,20 @@ RequestedInfo ::= SEQUENCE {
locationInformation [0] IMPLICIT NULL OPTIONAL,
subscriberState [1] IMPLICIT NULL OPTIONAL,
extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
+ ...,
currentLocation [3] IMPLICIT NULL OPTIONAL,
- requestedDomain [4] IMPLICIT ENUMERATED {
- cs-Domain (0 ),
- ps-Domain (1 ),
- ... } OPTIONAL,
+ requestedDomain [4] IMPLICIT DomainType OPTIONAL,
imei [6] IMPLICIT NULL OPTIONAL,
ms-classmark [5] IMPLICIT NULL OPTIONAL,
- mnpRequestedInfo [7] IMPLICIT NULL OPTIONAL,
- ... }
+ mnpRequestedInfo [7] IMPLICIT NULL OPTIONAL }
+
+DomainType ::= ENUMERATED {
+ cs-Domain (0),
+ ps-Domain (1),
+ ...}
+-- exception handling:
+-- reception of values > 1 shall be mapped to 'cs-Domain'
+
--anyTimeInterrogation OPERATION
-- ARGUMENT
AnyTimeInterrogationArg ::= SEQUENCE {
@@ -3448,7 +3795,9 @@ AnyTimeSubscriptionInterrogationRes ::= SEQUENCE {
extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL,
... ,
offeredCamel4CSIsInVLR [8] IMPLICIT OfferedCamel4CSIs OPTIONAL,
- offeredCamel4CSIsInSGSN [9] IMPLICIT OfferedCamel4CSIs OPTIONAL }
+ offeredCamel4CSIsInSGSN [9] IMPLICIT OfferedCamel4CSIs OPTIONAL,
+ msisdn-BS-List [10] IMPLICIT MSISDN-BS-List OPTIONAL }
+
-- ERRORS {
-- atsi-NotAllowed |
@@ -3472,9 +3821,18 @@ RequestedSubscriptionInfo ::= SEQUENCE {
supportedSGSN-CAMEL-Phases [5] IMPLICIT NULL OPTIONAL,
extensionContainer [6] IMPLICIT ExtensionContainer OPTIONAL,
...,
- additionalRequestedCAMEL-SubscriptionInfo
- [7] AdditionalRequestedCAMEL-SubscriptionInfo
-OPTIONAL }
+ additionalRequestedCAMEL-SubscriptionInfo [7] IMPLICIT AdditionalRequestedCAMEL-SubscriptionInfo OPTIONAL,
+ msisdn-BS-List-flag [8] IMPLICIT NULL OPTIONAL }
+
+MSISDN-BS-List ::= SEQUENCE SIZE (1..maxNumOfMSISDN) OF MSISDN-BS
+maxNumOfMSISDN INTEGER ::= 50
+
+
+MSISDN-BS ::= SEQUENCE {
+ msisdn ISDN-AddressString,
+ basicServiceList [0] IMPLICIT BasicServiceList OPTIONAL,
+ extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
+ ...}
RequestedCAMEL-SubscriptionInfo ::= ENUMERATED {
o-CSI (0),
@@ -3513,6 +3871,15 @@ CallBarringData ::= SEQUENCE {
--Password ::= NumericString ( FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9" )) (SIZE( 4 ) )
Password ::= NumericString (SIZE( 4 ) )
+-- GuidanceInfo is the previous GetPasswordArg
+GuidanceInfo ::= ENUMERATED {
+ enterPW (0),
+ enterNewPW (1),
+ enterNewPW-Again (2)}
+-- How this information is really delivered to the subscriber
+-- (display, announcement, ...) is not part of this
+-- specification.
+
BasicServiceCode ::= CHOICE {
bearerService [2] IMPLICIT BearerServiceCode,
teleservice [3] IMPLICIT TeleserviceCode}
@@ -3538,10 +3905,10 @@ TeleserviceCode ::= OCTET STRING (SIZE (1))
-- bits 87654321: group (bits 8765) and specific service
-- (bits 4321)
-O-BcsmCamelTDPCriteriaList ::= SEQUENCE SIZE (1..10) OF
+O-BcsmCamelTDPCriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
O-BcsmCamelTDP-Criteria
-T-BCSM-CAMEL-TDP-CriteriaList ::= SEQUENCE SIZE (1..10) OF
+T-BCSM-CAMEL-TDP-CriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
T-BCSM-CAMEL-TDP-Criteria
O-BcsmCamelTDP-Criteria ::= SEQUENCE {
@@ -3616,7 +3983,8 @@ OfferedCamel4Functionalities ::= BIT STRING {
subscribedEnhancedDialledServices (15),
servingNetworkEnhancedDialledServices (16),
criteriaForChangeOfPositionDP (17),
- serviceChangeDP (18)
+ serviceChangeDP (18),
+ collectInformation (19)
} (SIZE (15..64))
-- A node supporting Camel phase 4 shall mark in the BIT STRING all CAMEL4
-- functionalities it offers.
@@ -3640,7 +4008,8 @@ GenericServiceInfo ::= SEQUENCE {
nbrUser [4] IMPLICIT MC-Bearers OPTIONAL,
nbrSN [5] IMPLICIT MC-Bearers OPTIONAL }
-CCBS-FeatureList ::= SEQUENCE SIZE (1..5) OF CCBS-Feature
+CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF CCBS-Feature
+maxNumOfCCBS-Requests INTEGER ::= 5
CCBS-Feature ::= SEQUENCE {
ccbs-Index [0] IMPLICIT CCBS-Index OPTIONAL,
@@ -3649,13 +4018,15 @@ CCBS-Feature ::= SEQUENCE {
basicServiceGroup [3] IMPLICIT BasicServiceCode OPTIONAL,
...}
-CCBS-Index ::= INTEGER (1..5)
+CCBS-Index ::= INTEGER (1..maxNumOfCCBS-Requests)
-T-CauseValueCriteria ::= SEQUENCE SIZE(1..5) OF
+T-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-T-CauseValueCriteria) OF
CauseValue
+maxNumOfCAMEL-T-CauseValueCriteria INTEGER ::= 5
-O-CauseValueCriteria ::= SEQUENCE SIZE(1..5) OF
+O-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-O-CauseValueCriteria) OF
CauseValue
+maxNumOfCAMEL-O-CauseValueCriteria INTEGER ::= 5
CauseValue ::= OCTET STRING (SIZE(1))
-- Type extracted from Cause parameter in ITU-T Recommendation Q.763.
@@ -3663,8 +4034,9 @@ CauseValue ::= OCTET STRING (SIZE(1))
-BasicServiceCriteria ::= SEQUENCE SIZE(1..5) OF
+BasicServiceCriteria ::= SEQUENCE SIZE(1..maxNumOfCamelBasicServiceCriteria) OF
Ext-BasicServiceCode
+maxNumOfCamelBasicServiceCriteria INTEGER ::= 5
--anyTimeModification OPERATION ::= {
-- ARGUMENT SEQUENCE {
@@ -3803,6 +4175,7 @@ Ext-ForwardingInfoFor-CSE ::= SEQUENCE {
...}
+SS-Status ::= OCTET STRING ( SIZE( 1 .. 5 ) )
Ext-SS-Status ::= OCTET STRING (SIZE (1..5))
-- OCTET 1:
@@ -3866,13 +4239,14 @@ Ext-TeleserviceCode ::= OCTET STRING (SIZE (1..5))
-- Ext-TeleserviceCode includes all values defined for TeleserviceCode.
FTN-AddressString ::=
-AddressString (SIZE (1..15))
+AddressString (SIZE (1..maxFTN-AddressLength))
-- This type is used to represent forwarded-to numbers.
-- For long forwarded-to numbers (longer than 15 digits) NPI shall be unknown;
-- if NAI = international the first digits represent the country code (CC)
-- and the network destination code (NDC) as for E.164.
+maxFTN-AddressLength INTEGER ::= 15
-AddressString ::= OCTET STRING (SIZE (1..20))
+AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
-- This type is used to represent a number for addressing
-- purposes. It is composed of
-- a) one octet for nature of address, and numbering plan
@@ -3906,9 +4280,16 @@ AddressString ::= OCTET STRING (SIZE (1..20))
-- all other values are reserved.
-- b) The following octets representing digits of an address
-- encoded as a TBCD-STRING.
+maxAddressLength INTEGER ::= 20
+ISDN-AddressString ::= OCTET STRING
+-- It should be this definition, but it doesn't compile
+-- ISDN-AddressString ::=
+-- AddressString (SIZE (1..maxISDN-AddressLength))
+-- This type is used to represent ISDN numbers.
+-- maxISDN-AddressLength INTEGER ::= 9
-ISDN-SubaddressString ::= OCTET STRING (SIZE (1..21))
+ISDN-SubaddressString ::= OCTET STRING (SIZE (1..maxISDN-SubaddressLength))
-- This type is used to represent ISDN subaddresses.
-- It is composed of
-- a) one octet for type of subaddress and odd/even indicator.
@@ -3937,6 +4318,7 @@ ISDN-SubaddressString ::= OCTET STRING (SIZE (1..21))
-- to the user specification, subject to a maximum length of 20
-- octets. When interworking with X.25 networks BCD coding should
-- be applied.
+maxISDN-SubaddressLength INTEGER ::= 21
Ext-CallBarringInfoFor-CSE ::= SEQUENCE {
ss-Code [0] IMPLICIT SS-Code,
@@ -3959,9 +4341,10 @@ ODB-Data ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
...}
-ModifyNotificationToCSE ::= ENUMERATED {
- deactivate (0 ),
- activate (1 )}
+-- not used
+-- ModifyNotificationToCSE ::= ENUMERATED {
+-- deactivate (0 ),
+-- activate (1 )}
M-CSI ::= SEQUENCE {
@@ -3978,7 +4361,7 @@ M-CSI ::= SEQUENCE {
-SS-EventList ::= SEQUENCE SIZE (1..10) OF SS-Code
+SS-EventList ::= SEQUENCE SIZE (1..maxNumOfCamelSSEvents) OF SS-Code
-- Actions for the following SS-Code values are defined in CAMEL Phase 3:
-- ect SS-Code ::= '00110001'B
-- multiPTY SS-Code ::= '01010001'B
@@ -3988,6 +4371,7 @@ SS-EventList ::= SEQUENCE SIZE (1..10) OF SS-Code
-- When SS-CSI is sent to the VLR, it shall not contain a marking for ccbs.
-- If the VLR receives SS-CSI containing a marking for ccbs, the VLR shall discard the
-- ccbs marking in SS-CSI.
+maxNumOfCamelSSEvents INTEGER ::= 10
T-CSI ::= SEQUENCE {
t-BcsmCamelTDPDataList T-BcsmCamelTDPDataList,
@@ -4001,7 +4385,7 @@ T-CSI ::= SEQUENCE {
-- They may only be included in ATSI/ATM ack/NSDC message.
-- T-CSI shall not be segmented.
-T-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..10) OF
+T-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
T-BcsmCamelTDPData
--- T-BcsmCamelTDPDataList shall not contain more than one instance of
--- T-BcsmCamelTDPData containing the same value for t-BcsmTriggerDetectionPoint.
@@ -4033,7 +4417,7 @@ SMS-CSI ::= SEQUENCE {
-- If SMS-CSI is segmented, sms-CAMEL-TDP-DataList and camelCapabilityHandling shall be
-- present in the first segment
-SMS-CAMEL-TDP-DataList ::= SEQUENCE SIZE (1..10) OF
+SMS-CAMEL-TDP-DataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
SMS-CAMEL-TDP-Data
-- SMS-CAMEL-TDP-DataList shall not contain more than one instance of
-- SMS-CAMEL-TDP-Data containing the same value for sms-TriggerDetectionPoint.
@@ -4077,6 +4461,15 @@ DefaultSMS-Handling ::= ENUMERATED {
-- reception of values in range 2-31 shall be treated as "continueTransaction"
-- reception of values greater than 31 shall be treated as "releaseTransaction"
+
+DefaultCallHandling ::= ENUMERATED {
+ continueCall (0) ,
+ releaseCall (1) ,
+ ...}
+-- exception handling:
+-- reception of values in range 2-31 shall be treated as "continueCall"
+-- reception of values greater than 31 shall be treated as "releaseCall"
+
CamelCapabilityHandling ::= INTEGER(1..16)
-- value 1 = CAMEL phase 1,
-- value 2 = CAMEL phase 2,
@@ -4086,8 +4479,9 @@ CamelCapabilityHandling ::= INTEGER(1..16)
-MobilityTriggers ::= SEQUENCE SIZE (1..10) OF
+MobilityTriggers ::= SEQUENCE SIZE (1..maxNumOfMobilityTriggers) OF
MM-Code
+maxNumOfMobilityTriggers INTEGER ::= 10
MM-Code ::= OCTET STRING (SIZE (1))
@@ -4139,14 +4533,36 @@ MM-Code ::= OCTET STRING (SIZE (1))
--ss-InvocationNotification OPERATION
-- ARGUMENT
Ss-InvocationNotificationArg ::= SEQUENCE {
- imsi [0] IMPLICIT IMSI,
- msisdn [1] IMPLICIT ISDN-AddressString,
- ss-Event [2] IMPLICIT OCTET STRING ( SIZE( 1 ) ),
- ss-EventSpecification [3] IMPLICIT SEQUENCE ( SIZE( 1 .. 2 ) ) OF
- OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL,
- extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
+ imsi [0] IMPLICIT IMSI,
+ msisdn [1] IMPLICIT ISDN-AddressString,
+ ss-Event [2] IMPLICIT SS-Code,
+ ss-EventSpecification [3] IMPLICIT SS-EventSpecification OPTIONAL,
+ extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL,
+ ...,
+ b-subscriberNumber [5] IMPLICIT ISDN-AddressString OPTIONAL,
+ ccbs-RequestState [6] IMPLICIT CCBS-RequestState OPTIONAL }
-- RESULT
+-- The following SS-Code values are allowed :
+-- ect SS-Code ::= '00110001'B
+-- multiPTY SS-Code ::= '01010001'B
+-- cd SS-Code ::= '00100100'B
+-- ccbs SS-Code ::= '01000100'B
+
+CCBS-RequestState ::= ENUMERATED {
+ request (0),
+ recall (1),
+ active (2),
+ completed (3),
+ suspended (4),
+ frozen (5),
+ deleted (6)
+ }
+
+SS-EventSpecification ::= SEQUENCE SIZE (1..maxEventSpecification) OF
+ AddressString
+
+maxEventSpecification INTEGER ::= 2
+
Ss-InvocationNotificationRes ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
... }
@@ -4214,8 +4630,16 @@ PrepareGroupCallRes ::= SEQUENCE {
SendGroupCallEndSignalArg ::= SEQUENCE {
imsi IMSI OPTIONAL,
extensionContainer ExtensionContainer OPTIONAL,
- ... }
+ ... ,
+ talkerPriority [0] IMPLICIT TalkerPriority OPTIONAL,
+ additionalInfo [1] IMPLICIT AdditionalInfo OPTIONAL }
-- RESULT
+
+TalkerPriority ::= ENUMERATED {
+ normal (0),
+ privileged (1),
+ emergency (2)}
+
SendGroupCallEndSignalRes ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
... }
@@ -4228,11 +4652,59 @@ ProcessGroupCallSignallingArg ::= SEQUENCE {
uplinkReleaseIndication [1] IMPLICIT NULL OPTIONAL,
releaseGroupCall [2] IMPLICIT NULL OPTIONAL,
extensionContainer ExtensionContainer OPTIONAL,
- ... }
+ ... ,
+ talkerPriority [3] IMPLICIT TalkerPriority OPTIONAL,
+ additionalInfo [4] IMPLICIT AdditionalInfo OPTIONAL,
+ emergencyModeResetCommandFlag [5] IMPLICIT NULL OPTIONAL }
-- ::= localValue : 41
GroupKeyNumber ::= INTEGER (0..15)
+StateAttributes ::= SEQUENCE {
+ downlinkAttached [5] IMPLICIT NULL OPTIONAL,
+ uplinkAttached [6] IMPLICIT NULL OPTIONAL,
+ dualCommunication [7] IMPLICIT NULL OPTIONAL,
+ callOriginator [8] IMPLICIT NULL OPTIONAL }
+-- Refers to 3GPP TS 44.068 for definitions of StateAttributes fields.
+
+
+-- currently not implemented
+--
+SendGroupCallInfoArg ::= SEQUENCE {
+ groupRequestedInfo GroupRequestedInfo,
+ groupId GroupId,
+ cellId [0] IMPLICIT GlobalCellId OPTIONAL,
+ imsi [1] IMPLICIT IMSI OPTIONAL,
+ tmsi [2] IMPLICIT TMSI OPTIONAL,
+ additionalInfo [3] IMPLICIT AdditionalInfo OPTIONAL,
+ talkerPriority [4] IMPLICIT TalkerPriority OPTIONAL,
+ cksn [5] IMPLICIT Cksn OPTIONAL,
+ extensionContainer [6] IMPLICIT ExtensionContainer OPTIONAL,
+ ... }
+
+-- RequestedInfo changed to GroupRequestedInfo
+--
+GroupRequestedInfo ::= ENUMERATED {
+ anchorMSC-AddressAndASCI-CallReference (0),
+ imsiAndAdditionalInfoAndAdditionalSubscription (1),
+ ... }
+-- exception handling:
+-- an unrecognized value shall be rejected by the receiver with a return error cause of
+-- unexpected data value
+
+-- currently not implemented
+--
+SendGroupCallInfoRes ::= SEQUENCE {
+ anchorMSC-Address [0] IMPLICIT ISDN-AddressString OPTIONAL,
+ asciCallReference [1] IMPLICIT ASCI-CallReference OPTIONAL,
+ imsi [2] IMPLICIT IMSI OPTIONAL,
+ additionalInfo [3] IMPLICIT AdditionalInfo OPTIONAL,
+ additionalSubscriptions [4] IMPLICIT AdditionalSubscriptions OPTIONAL,
+ kc [5] IMPLICIT Kc OPTIONAL,
+ extensionContainer [6] IMPLICIT ExtensionContainer OPTIONAL,
+ ... }
+
+
--forwardGroupCallSignalling OPERATION
-- ARGUMENT
ForwardGroupCallSignallingArg ::= SEQUENCE {
@@ -4243,7 +4715,12 @@ ForwardGroupCallSignallingArg ::= SEQUENCE {
uplinkSeizedCommand [3] IMPLICIT NULL OPTIONAL,
uplinkReleaseCommand [4] IMPLICIT NULL OPTIONAL,
extensionContainer ExtensionContainer OPTIONAL,
- ... }
+ ... ,
+ stateAttributes [5] IMPLICIT StateAttributes OPTIONAL,
+ talkerPriority [6] IMPLICIT TalkerPriority OPTIONAL,
+ additionalInfo [7] IMPLICIT AdditionalInfo OPTIONAL,
+ emergencyModeResetCommandFlag [8] IMPLICIT NULL OPTIONAL,
+ sm-RP-UI [9] IMPLICIT Sm-RP-UI OPTIONAL }
-- ::= localValue : 42
--updateGprsLocation OPERATION
@@ -4284,7 +4761,8 @@ SGSN-Capability ::= SEQUENCE{
supportedCamelPhases [4] IMPLICIT SupportedCamelPhases OPTIONAL,
supportedLCS-CapabilitySets [5] IMPLICIT SupportedLCS-CapabilitySets OPTIONAL,
offeredCamel4CSIs [6] IMPLICIT OfferedCamel4CSIs OPTIONAL,
- smsCallBarringSupportIndicator [7] IMPLICIT NULL OPTIONAL }
+ smsCallBarringSupportIndicator [7] IMPLICIT NULL OPTIONAL,
+ supportedRAT-TypesIndicator [8] IMPLICIT SupportedRAT-Types OPTIONAL }
GSN-Address ::= OCTET STRING (SIZE (5..17))
-- Octets are coded according to TS 3GPP TS 23.003 [17]
@@ -4379,7 +4857,10 @@ ProvideSubscriberLocation-Arg ::= SEQUENCE {
lcsCodeword [12] IMPLICIT LCSCodeword OPTIONAL,
lcs-PrivacyCheck [13] IMPLICIT LCS-PrivacyCheck OPTIONAL,
areaEventInfo [14] IMPLICIT AreaEventInfo OPTIONAL,
- h-gmlc-Address [15] IMPLICIT GSN-Address OPTIONAL }
+ h-gmlc-Address [15] IMPLICIT GSN-Address OPTIONAL,
+ mo-lrShortCircuitIndicator [16] IMPLICIT NULL OPTIONAL,
+ periodicLDRInfo [17] IMPLICIT PeriodicLDRInfo OPTIONAL,
+ reportingPLMNList [18] IMPLICIT ReportingPLMNList OPTIONAL }
-- one of imsi or msisdn is mandatory
-- If a location estimate type indicates activate deferred location or cancel deferred
@@ -4396,7 +4877,8 @@ LocationEstimateType ::= ENUMERATED {
initialLocation (2),
...,
activateDeferredLocation (3),
- cancelDeferredLocation (4) }
+ cancelDeferredLocation (4),
+ notificationVerificationOnly (5) }
-- exception handling:
-- a ProvideSubscriberLocation-Arg containing an unrecognized LocationEstimateType
-- shall be rejected by the receiver with a return error cause of unexpected data value
@@ -4405,7 +4887,8 @@ DeferredLocationEventType ::= BIT STRING {
msAvailable (0) ,
enteringIntoArea (1),
leavingFromArea (2),
- beingInsideArea (3) } (SIZE (1..16))
+ beingInsideArea (3),
+ periodicLDR (4) } (SIZE (1..16))
-- beingInsideArea is always treated as oneTimeEvent regardless of the possible value
-- of occurrenceInfo inside areaEventInfo.
-- exception handling:
@@ -4440,7 +4923,9 @@ LCSClientName ::= SEQUENCE {
...,
lcs-FormatIndicator [3] IMPLICIT LCS-FormatIndicator OPTIONAL }
-NameString ::= USSD-String (SIZE (1..63))
+NameString ::= USSD-String (SIZE (1..maxNameStringLength))
+
+maxNameStringLength INTEGER ::= 63
LCSRequestorID ::= SEQUENCE {
dataCodingScheme [0] IMPLICIT USSD-DataCodingScheme,
@@ -4448,7 +4933,9 @@ LCSRequestorID ::= SEQUENCE {
...,
lcs-FormatIndicator [2] IMPLICIT LCS-FormatIndicator OPTIONAL }
-RequestorIDString ::= USSD-String (SIZE (1..63))
+RequestorIDString ::= USSD-String (SIZE (1..maxRequestorIDStringLength))
+
+maxRequestorIDStringLength INTEGER ::= 63
LCS-FormatIndicator ::= ENUMERATED {
logicalName (0),
@@ -4468,7 +4955,8 @@ LCS-QoS ::= SEQUENCE {
vertical-accuracy [2] IMPLICIT Vertical-Accuracy OPTIONAL,
responseTime [3] IMPLICIT ResponseTime OPTIONAL,
extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL,
- ...}
+ ...,
+ velocityRequest [5] IMPLICIT NULL OPTIONAL}
Horizontal-Accuracy ::= OCTET STRING (SIZE (1))
@@ -4502,7 +4990,9 @@ LCSCodeword ::= SEQUENCE {
lcsCodewordString [1] IMPLICIT LCSCodewordString,
...}
-LCSCodewordString ::= USSD-String (SIZE (1..20))
+LCSCodewordString ::= USSD-String (SIZE (1..maxLCSCodewordStringLength))
+
+maxLCSCodewordStringLength INTEGER ::= 20
LCS-PrivacyCheck ::= SEQUENCE {
callSessionUnrelated [0] IMPLICIT PrivacyCheckRelatedAction,
@@ -4528,7 +5018,9 @@ AreaEventInfo ::= SEQUENCE {
AreaDefinition ::= SEQUENCE {
areaList [0] IMPLICIT AreaList,
...}
-AreaList ::= SEQUENCE SIZE (1..10) OF Area
+AreaList ::= SEQUENCE SIZE (1..maxNumOfAreas) OF Area
+
+maxNumOfAreas INTEGER ::= 10
Area ::= SEQUENCE {
areaType [0] IMPLICIT AreaType,
@@ -4541,7 +5033,8 @@ AreaType ::= ENUMERATED {
locationAreaId (2),
routingAreaId (3),
cellGlobalId (4),
- ...}
+ ...,
+ utranCellId (5) }
AreaIdentification ::= OCTET STRING (SIZE (2..7))
-- The internal structure is defined as follows:
@@ -4564,6 +5057,44 @@ OccurrenceInfo ::= ENUMERATED {
IntervalTime ::= INTEGER (1..32767)
-- minimum interval time between area reports in seconds
+PeriodicLDRInfo ::= SEQUENCE {
+ reportingAmount ReportingAmount,
+ reportingInterval ReportingInterval,
+ ...}
+-- reportingInterval x reportingAmount shall not exceed 8639999 (99 days, 23 hours,
+-- 59 minutes and 59 seconds) for compatibility with OMA MLP and RLP
+
+ReportingAmount ::= INTEGER (1..maxReportingAmount)
+
+maxReportingAmount INTEGER ::= 8639999
+
+ReportingInterval ::= INTEGER (1..maxReportingInterval)
+
+-- ReportingInterval is in seconds
+
+maxReportingInterval INTEGER ::= 8639999
+
+ReportingPLMNList::= SEQUENCE {
+ plmn-ListPrioritized [0] IMPLICIT NULL OPTIONAL,
+ plmn-List [1] IMPLICIT PLMNList,
+ ...}
+
+PLMNList::= SEQUENCE SIZE (1..maxNumOfReportingPLMN) OF
+ReportingPLMN
+
+maxNumOfReportingPLMN INTEGER ::= 20
+
+ReportingPLMN::= SEQUENCE {
+ plmn-Id [0] IMPLICIT PLMN-Id,
+ ran-Technology [1] IMPLICIT RAN-Technology OPTIONAL,
+ ran-PeriodicLocationSupport [2] IMPLICIT NULL OPTIONAL,
+ ...}
+
+RAN-Technology ::= ENUMERATED {
+ gsm (0),
+ umts (1),
+ ...}
+
-- RESULT
ProvideSubscriberLocation-Res ::= SEQUENCE {
@@ -4576,7 +5107,10 @@ ProvideSubscriberLocation-Res ::= SEQUENCE {
geranPositioningData [4] IMPLICIT PositioningDataInformation OPTIONAL,
utranPositioningData [5] IMPLICIT UtranPositioningDataInfo OPTIONAL,
cellIdOrSai [6] IMPLICIT CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
- sai-Present [7] IMPLICIT NULL OPTIONAL }
+ sai-Present [7] IMPLICIT NULL OPTIONAL,
+ accuracyFulfilmentIndicator [8] IMPLICIT AccuracyFulfilmentIndicator OPTIONAL,
+ velocityEstimate [9] IMPLICIT VelocityEstimate OPTIONAL,
+ mo-lrShortCircuitIndicator [10] IMPLICIT NULL OPTIONAL }
-- if deferredmt-lrResponseIndicator is set, locationEstimate is ignored.
@@ -4604,6 +5138,11 @@ ProvideSubscriberLocation-Res ::= SEQUENCE {
-- positionMethodFailure localValue : 54}
-- ::= localValue : 83
+AccuracyFulfilmentIndicator ::= ENUMERATED {
+ requestedAccuracyFulfilled (0),
+ requestedAccuracyNotFulfilled (1),
+ ... }
+
Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..maxExt-GeographicalInformation))
-- Refers to geographical Information defined in 3GPP TS 23.032.
-- This is composed of 1 or more octets with an internal structure according to
@@ -4664,7 +5203,37 @@ maxExt-GeographicalInformation INTEGER ::= 20
-- the maximum length allows for further shapes in 3GPP TS 23.032 to be included in later
-- versions of 3GPP TS 29.002
-PositioningDataInformation ::= OCTET STRING (SIZE (2..10))
+VelocityEstimate ::= OCTET STRING (SIZE (4..7))
+-- Refers to Velocity description defined in 3GPP TS 23.032.
+-- This is composed of 4 or more octets with an internal structure according to
+-- 3GPP TS 23.032
+-- Octet 1: Type of velocity, only the following types in 3GPP TS 23.032 are allowed:
+-- (a) Horizontal Velocity
+-- (b) Horizontal with Vertical Velocity
+-- (c) Horizontal Velocity with Uncertainty
+-- (d) Horizontal with Vertical Velocity and Uncertainty
+-- For types Horizontal with Vertical Velocity and Horizontal with Vertical Velocity
+-- and Uncertainty, the direction of the Vertical Speed is also included in Octet 1
+-- Any other value in octet 1 shall be treated as invalid
+-- Octets 2 to 4 for case (a) Horizontal velocity:
+-- Bearing 1 octet
+-- Horizontal Speed 2 octets
+-- Octets 2 to 5 for case (b) - Horizontal with Vertical Velocity:
+-- Bearing 1 octet
+-- Horizontal Speed 2 octets
+-- Vertical Speed 1 octet
+-- Octets 2 to 5 for case (c) - Horizontal velocity with Uncertainty:
+-- Bearing 1 octet
+-- Horizontal Speed 2 octets
+-- Uncertainty Speed 1 octet
+-- Octets 2 to 7 for case (d) - Horizontal with Vertical Velocity and Uncertainty:
+-- Bearing 1 octet
+-- Horizontal Speed 2 octets
+-- Vertical Speed 1 octet
+-- Horizontal Uncertainty Speed 1 octet
+-- Vertical Uncertainty Speed 1 octet
+
+PositioningDataInformation ::= OCTET STRING (SIZE (2..maxPositioningDataInformation))
-- Refers to the Positioning Data defined in 3GPP TS 49.031.
-- This is composed of 2 or more octets with an internal structure according to
-- 3GPP TS 49.031.
@@ -4672,12 +5241,14 @@ PositioningDataInformation ::= OCTET STRING (SIZE (2..10))
maxPositioningDataInformation INTEGER ::= 10
-UtranPositioningDataInfo ::= OCTET STRING (SIZE (3..10))
+UtranPositioningDataInfo ::= OCTET STRING (SIZE (3..maxUtranPositioningDataInfo))
-- Refers to the Position Data defined in 3GPP TS 25.413.
-- This is composed of the positioningDataDiscriminator and the positioningDataSet
-- included in positionData as defined in 3GPP TS 25.413.
-Add-GeographicalInformation ::= OCTET STRING (SIZE (1..91))
+maxUtranPositioningDataInfo INTEGER ::= 11
+
+Add-GeographicalInformation ::= OCTET STRING (SIZE (1..maxAdd-GeographicalInformation))
-- Refers to geographical Information defined in 3GPP TS 23.032.
-- This is composed of 1 or more octets with an internal structure according to
-- 3GPP TS 23.032
@@ -4695,10 +5266,13 @@ Add-GeographicalInformation ::= OCTET STRING (SIZE (1..91))
-- 3GPP TS 23.032 shall be treated as invalid data by a receiver if not received
-- together with a valid Ext-GeographicalInformation parameter in the same message.
+maxAdd-GeographicalInformation INTEGER ::= 91
+-- the maximum length allows support for all the shapes currently defined in 3GPP TS 23.032
-TargetMS ::= CHOICE {
- imsi [0] IMPLICIT IMSI,
- msisdn [1] IMPLICIT ISDN-AddressString}
+-- not used
+-- TargetMS ::= CHOICE {
+-- imsi [0] IMPLICIT IMSI,
+-- msisdn [1] IMPLICIT ISDN-AddressString}
--sendRoutingInfoForLCS OPERATION
-- ARGUMENT
@@ -4766,7 +5340,12 @@ SubscriberLocationReport-Arg ::= SEQUENCE {
h-gmlc-Address [14] IMPLICIT GSN-Address OPTIONAL,
lcsServiceTypeID [15] IMPLICIT LCSServiceTypeID OPTIONAL,
sai-Present [17] IMPLICIT NULL OPTIONAL,
- pseudonymIndicator [18] IMPLICIT NULL OPTIONAL }
+ pseudonymIndicator [18] IMPLICIT NULL OPTIONAL,
+ velocityEstimate [19] IMPLICIT VelocityEstimate OPTIONAL,
+ accuracyFulfilmentIndicator [20] IMPLICIT AccuracyFulfilmentIndicator OPTIONAL,
+ sequenceNumber [21] IMPLICIT SequenceNumber OPTIONAL,
+ periodicLDRInfo [22] IMPLICIT PeriodicLDRInfo OPTIONAL,
+ mo-lrShortCircuitIndicator [23] IMPLICIT NULL OPTIONAL }
-- one of msisdn or imsi is mandatory
-- a location estimate that is valid for the locationEstimate parameter should
@@ -4797,7 +5376,8 @@ LCS-Event ::= ENUMERATED {
emergencyCallRelease (1),
mo-lr (2),
...,
- deferredmt-lrResponse (3) }
+ deferredmt-lrResponse (3),
+ deferredmo-lrTTTPInitiation (4) }
-- exception handling:
-- a SubscriberLocationReport-Arg containing an unrecognized LCS-Event
-- shall be rejected by a receiver with a return error cause of unexpected data value
@@ -4810,7 +5390,10 @@ TerminationCause ::= ENUMERATED {
mt-lrRestart (4),
privacyViolation (5),
...,
- shapeOfLocationEstimateNotSupported (6) }
+ shapeOfLocationEstimateNotSupported (6),
+ subscriberTermination (7),
+ uETermination (8),
+ networkTermination (9) }
-- mt-lrRestart shall be used to trigger the GMLC to restart the location procedure,
-- either because the sending node knows that the terminal has moved under coverage
-- of another MSC or SGSN (e.g. Send Identification received), or because the subscriber
@@ -4819,7 +5402,7 @@ TerminationCause ::= ENUMERATED {
-- exception handling
-- an unrecognized value shall be treated the same as value 1 (errorundefined)
-
+SequenceNumber ::= INTEGER (1..maxReportingAmount)
-- RESULT
@@ -4827,8 +5410,12 @@ SubscriberLocationReport-Res ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
...,
na-ESRK [0] IMPLICIT ISDN-AddressString OPTIONAL,
- na-ESRD [1] IMPLICIT ISDN-AddressString OPTIONAL }
-
+ na-ESRD [1] IMPLICIT ISDN-AddressString OPTIONAL,
+ h-gmlc-Address [2] IMPLICIT GSN-Address OPTIONAL,
+ mo-lrShortCircuitIndicator [3] IMPLICIT NULL OPTIONAL,
+ reportingPLMNList [4] IMPLICIT ReportingPLMNList OPTIONAL,
+ lcs-ReferenceNumber [5] IMPLICIT LCS-ReferenceNumber OPTIONAL }
+
-- na-ESRK and na-ESRD are mutually exclusive
--
-- exception handling
@@ -4938,16 +5525,45 @@ NetworkResource ::= ENUMERATED {
eir ( 6 ),
rss ( 7 ) }
+AdditionalNetworkResource ::= ENUMERATED {
+ sgsn (0),
+ ggsn (1),
+ gmlc (2),
+ gsmSCF (3),
+ nplr (4),
+ auc (5),
+ ...}
+-- if unknown value is received in AdditionalNetworkResource
+-- it shall be ignored.
+
+--PLMN_Data
+-- Alcatel Specific extension container
+PlmnContainer ::= [0] IMPLICIT SEQUENCE {
+ msisdn [0] IMPLICIT ISDN-AddressString OPTIONAL,
+ category [1] IMPLICIT Category OPTIONAL,
+ basicService BasicServiceCode OPTIONAL,
+ operatorSS-Code [4] IMPLICIT SEQUENCE ( SIZE( 1 .. 16 ) ) OF
+ OCTET STRING ( SIZE ( 1 ) ) OPTIONAL,
+ ...
+}
+
+
--systemFailure ERROR
-- PARAMETER
SystemFailureParam ::= CHOICE {
- networkResource NetworkResource,
- extensibleSystemFailureParam SEQUENCE {
- networkResource NetworkResource OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }}
+ networkResource NetworkResource,
+ -- networkResource must not be used in version 3
+ extensibleSystemFailureParam ExtensibleSystemFailureParam
+ -- extensibleSystemFailureParam must not be used in version <3
+ }
-- ::= localValue : 34
+ExtensibleSystemFailureParam ::= SEQUENCE {
+ networkResource NetworkResource OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ additionalNetworkResource [0] IMPLICIT AdditionalNetworkResource OPTIONAL }
+
--dataMissing ERROR
-- PARAMETER
DataMissingParam ::= SEQUENCE {
@@ -4965,14 +5581,12 @@ UnexpectedDataParam ::= SEQUENCE {
--facilityNotSupported ERROR
-- PARAMETER
FacilityNotSupParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ shapeOfLocationEstimateNotSupported [0] IMPLICIT NULL OPTIONAL,
+ neededLcsCapabilityNotSupportedInServingNode [1] IMPLICIT NULL OPTIONAL }
-- ::= localValue : 21
-OR-NotAllowedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
-...}
-
--incompatibleTerminal ERROR
-- PARAMETER
IncompatibleTerminalParam ::= SEQUENCE {
@@ -4990,12 +5604,17 @@ ResourceLimitationParam ::= SEQUENCE {
--unknownSubscriber ERROR
-- PARAMETER
UnknownSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- unknownSubscriberDiagnostic ENUMERATED {
- imsiUnknown ( 0 ),
- gprsSubscriptionUnknown ( 1 ),
- ... } OPTIONAL}
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ unknownSubscriberDiagnostic UnknownSubscriberDiagnostic OPTIONAL}
+
+UnknownSubscriberDiagnostic ::= ENUMERATED {
+ imsiUnknown (0),
+ gprsSubscriptionUnknown (1),
+ ...,
+ npdbMismatch (2)}
+ -- if unknown values are received in
+ -- UnknownSubscriberDiagnostic they shall be discarded
-- ::= localValue : 1
--numberChanged ERROR
@@ -5021,13 +5640,23 @@ UnidentifiedSubParam ::= SEQUENCE {
--roamingNotAllowed ERROR
-- PARAMETER
RoamingNotAllowedParam ::= SEQUENCE {
- roamingNotAllowedCause ENUMERATED {
- plmnRoamingNotAllowed ( 0 ),
- operatorDeterminedBarring ( 3 ) },
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
+ roamingNotAllowedCause RoamingNotAllowedCause,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ additionalRoamingNotAllowedCause [0] IMPLICIT AdditionalRoamingNotAllowedCause OPTIONAL }
+
+-- if the additionalRoamingNotallowedCause is received by the MSC/VLR or SGSN then the
+-- roamingNotAllowedCause shall be discarded.
-- ::= localValue : 8
+AdditionalRoamingNotAllowedCause ::= ENUMERATED {
+ supportedRAT-TypesNotAllowed (0),
+ ...}
+
+RoamingNotAllowedCause ::= ENUMERATED {
+ plmnRoamingNotAllowed (0),
+ operatorDeterminedBarring (3)}
+
--illegalSubscriber ERROR
-- PARAMETER
IllegalSubscriberParam ::= SEQUENCE {
@@ -5192,7 +5821,7 @@ ExtensibleCallBarredParam ::= SEQUENCE {
callBarringCause CallBarringCause OPTIONAL,
extensionContainer ExtensionContainer OPTIONAL,
... ,
- unauthorisedMessageOriginator [1] NULL OPTIONAL
+ unauthorisedMessageOriginator [1] IMPLICIT NULL OPTIONAL
}
--cug-Reject ERROR
@@ -5219,7 +5848,6 @@ Or-NotAllowedParam ::= SEQUENCE {
... }
-- ::= localValue : 48
-
--noGroupCallNumberAvailable ERROR
-- PARAMETER
NoGroupCallNbParam ::= SEQUENCE {
@@ -5339,17 +5967,24 @@ UnauthorizedRequestingNetwork-Param ::= SEQUENCE {
--unauthorizedLCSClient ERROR
-- PARAMETER
UnauthorizedLCSClient-Param ::= SEQUENCE {
- unauthorizedLCSClient-Diagnostic [0] IMPLICIT ENUMERATED {
- noAdditionalInformation ( 0 ),
- clientNotInMSPrivacyExceptionList ( 1 ),
- callToClientNotSetup ( 2 ),
- privacyOverrideNotApplicable ( 3 ),
- disallowedByLocalRegulatoryRequirements ( 4 ),
- ... } OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
+ unauthorizedLCSClient-Diagnostic [0] IMPLICIT UnauthorizedLCSClient-Diagnostic OPTIONAL,
+ extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
+ ... }
-- ::= localValue : 53
+UnauthorizedLCSClient-Diagnostic ::= ENUMERATED {
+ noAdditionalInformation (0),
+ clientNotInMSPrivacyExceptionList (1),
+ callToClientNotSetup (2),
+ privacyOverrideNotApplicable (3),
+ disallowedByLocalRegulatoryRequirements (4),
+ ...,
+ unauthorizedPrivacyClass (5),
+ unauthorizedCallSessionUnrelatedExternalClient (6),
+ unauthorizedCallSessionRelatedExternalClient (7) }
+-- exception handling:
+-- any unrecognized value shall be ignored
+
--positionMethodFailure ERROR
-- PARAMETER
PositionMethodFailure-Param ::= SEQUENCE {
@@ -5390,7 +6025,11 @@ MM-EventNotSupported-Param ::= SEQUENCE {
TargetCellOutsideGCA-Param ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
...
- }
+}
+
+OngoingGroupCallParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
SecureTransportErrorParam ::= SEQUENCE {
securityHeader SecurityHeader,
@@ -5436,18 +6075,19 @@ accessTypeNotAllowed-id OBJECT IDENTIFIER ::=
-- &ExtensionType AccessType,
-- &extensionId accessType-id}
-AccessTypePriv ::= SEQUENCE {
- access Access,
- version Version,
- ...}
+-- not used
+-- AccessTypePriv ::= SEQUENCE {
+-- access Access,
+-- version Version,
+-- ...}
-Access ::= ENUMERATED {
- gsm (1),
- geran (2),
- utran (3),
- ...}
+-- Access ::= ENUMERATED {
+-- gsm (1),
+-- geran (2),
+-- utran (3),
+-- ...}
-Version ::= INTEGER (1..20)
+-- Version ::= INTEGER (1..20)
END
diff --git a/asn1/gsmmap/gsm_map-exp.cnf b/asn1/gsmmap/gsm_map-exp.cnf
index 4b60d2b3cc..8659c9e92b 100644
--- a/asn1/gsmmap/gsm_map-exp.cnf
+++ b/asn1/gsmmap/gsm_map-exp.cnf
@@ -1,6 +1,6 @@
# Do not modify this file.
# It is created automatically by the ASN.1 to Wireshark dissector compiler
-# ./gsm_map-exp.cnf
+# .\gsm_map-exp.cnf
# ../../tools/asn2wrs.py -b -e -p gsm_map -c gsmmap.cnf -s packet-gsm_map-template GSMMAP.asn
#.MODULE
@@ -8,14 +8,12 @@ MAP-Protocol gsm_map
#.END
#.IMPORT_TAG
-LocalErrorcode BER_CLASS_UNI BER_UNI_TAG_INTEGER
+GSMMAPLocalErrorcode BER_CLASS_UNI BER_UNI_TAG_INTEGER
SupportedCamelPhases BER_CLASS_UNI BER_UNI_TAG_BITSTRING
-ISDN-AddressString BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
QoS-Subscribed BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
Ext-QoS-Subscribed BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
Ext2-QoS-Subscribed BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
LSAIdentity BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
-SS-Status BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
CUG-Info BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
CUG-Index BER_CLASS_UNI BER_UNI_TAG_INTEGER
CUG-Interlock BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
@@ -51,9 +49,11 @@ MS-Classmark2 BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
OfferedCamel4Functionalities BER_CLASS_UNI BER_UNI_TAG_BITSTRING
SS-ForBS-Code BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
CCBS-Feature BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+SS-Status BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
AgeOfLocationInformation BER_CLASS_UNI BER_UNI_TAG_INTEGER
Ext-BasicServiceCode BER_CLASS_ANY/*choice*/ -1/*choice*/
AddressString BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+ISDN-AddressString BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
ISDN-SubaddressString BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
GSN-Address BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
LocationType BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
@@ -73,14 +73,12 @@ ExtensionContainer BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
#.END
#.TYPE_ATTR
-LocalErrorcode TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_LocalErrorcode_vals) BITMASK = 0
+GSMMAPLocalErrorcode TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_GSMMAPLocalErrorcode_vals) BITMASK = 0
SupportedCamelPhases TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
-ISDN-AddressString TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
QoS-Subscribed TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
Ext-QoS-Subscribed TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
Ext2-QoS-Subscribed TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
LSAIdentity TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
-SS-Status TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
CUG-Info TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
CUG-Index TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
CUG-Interlock TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
@@ -116,9 +114,11 @@ MS-Classmark2 TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL
OfferedCamel4Functionalities TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
SS-ForBS-Code TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
CCBS-Feature TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+SS-Status TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
AgeOfLocationInformation TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
Ext-BasicServiceCode TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_Ext_BasicServiceCode_vals) BITMASK = 0
AddressString TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+ISDN-AddressString TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
ISDN-SubaddressString TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
GSN-Address TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
LocationType TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
diff --git a/asn1/gsmmap/gsmmap.cnf b/asn1/gsmmap/gsmmap.cnf
index 7c8279c3bf..d9e47d3ccc 100644
--- a/asn1/gsmmap/gsmmap.cnf
+++ b/asn1/gsmmap/gsmmap.cnf
@@ -28,6 +28,7 @@ ExtensionContainer
GeographicalInformation
GetPasswordArg
GPRSChargingID
+GSMMAPLocalErrorcode
GSN-Address
IMEI
IMSI
@@ -67,7 +68,6 @@ USSD-String
Ussd-Arg
Ussd-Res
UU-Data
-LocalErrorcode
#.PDU
@@ -134,18 +134,18 @@ Component
#.FN_BODY ReturnErrorParameter
offset = dissect_returnErrorData(pinfo, tree, tvb, offset);
-#.FN_PARS OperationLocalvalue
+#.FN_PARS GSMMAPOperationLocalvalue
VAL_PTR = &opcode
-#.FN_BODY OperationLocalvalue
+#.FN_BODY GSMMAPOperationLocalvalue
%(DEFAULT_BODY)s
if (check_col(pinfo->cinfo, COL_INFO)){
col_append_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, gsm_map_opr_code_strings, "Unknown GSM-MAP (%%u)"));
}
-#.FN_PARS LocalErrorcode
+#.FN_PARS GSMMAPLocalErrorcode
VAL_PTR = &errorCode
@@ -480,7 +480,7 @@ Component
* use ep_alloc ?
* TODO: Shouldent this function use USSD-DataCodingScheme to chose decoding method???
*/
- static char bigbuf[1024];
+ static unsigned char bigbuf[1024];
%(DEFAULT_BODY)s
if (!parameter_tvb)
diff --git a/asn1/gsmmap/packet-gsm_map-template.c b/asn1/gsmmap/packet-gsm_map-template.c
index 68f6417be3..0cebe542fe 100644
--- a/asn1/gsmmap/packet-gsm_map-template.c
+++ b/asn1/gsmmap/packet-gsm_map-template.c
@@ -25,7 +25,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* References: ETSI TS 129 002
- * Updated to ETSI TS 129 002 V6.9.0 (2005-3GPP TS 29.002 version 6.9.0 Release 6)
+ * Updated to ETSI TS 129 002 V7.5.0 (3GPP TS 29.002 V7.5.0 (2006-09) Release 7)
*/
#ifdef HAVE_CONFIG_H
@@ -171,8 +171,8 @@ static guint32 opcode=0;
static guint32 errorCode;
static proto_tree *top_tree;
static int application_context_version;
-gint protocolId;
-gint AccessNetworkProtocolId;
+guint protocolId;
+guint AccessNetworkProtocolId;
const char *obj_id = NULL;
static int gsm_map_tap = -1;
@@ -200,8 +200,7 @@ const value_string gsm_map_etsi_defined_pdp_vals[] = {
{ 0, NULL }
};
-char*
-unpack_digits(tvbuff_t *tvb, int offset){
+char * unpack_digits(tvbuff_t *tvb, int offset){
int length;
guint8 octet;
@@ -569,7 +568,7 @@ const value_string gsm_map_opr_code_strings[] = {
{ 2, "updateLocation" },
{ 3, "cancelLocation" },
{ 4, "provideRoamingNumber" },
- { 5, "noteSubscriberDataModified" },
+ { 5, "noteSubscriberDataModified" },
{ 6, "resumeCallHandling" },
{ 7, "insertSubscriberData" },
{ 8, "deleteSubscriberData" },
@@ -579,11 +578,12 @@ const value_string gsm_map_opr_code_strings[] = {
{ 12, "activateSS" },
{ 13, "deactivateSS" },
{ 14, "interrogateSS" },
- { 15, "authenticationFailureReport" },
+ { 15, "authenticationFailureReport" },
{ 17, "registerPassword" },
{ 18, "getPassword" },
{ 19, "processUnstructuredSS-Data" }, /* map-ac networkFunctionalSs (18) version1 (1) */
{ 20, "releaseResources" },
+ { 21, "mtForwardSM-VGCS" },
{ 22, "sendRoutingInfo" },
{ 23, "updateGprsLocation" },
{ 24, "sendRoutingInfoForGprs" },
@@ -642,10 +642,11 @@ const value_string gsm_map_opr_code_strings[] = {
{ 80, "secureTransportClass3" },
{ 81, "secureTransportClass4" },
{ 83, "provideSubscriberLocation" },
+ { 84, "sendGroupCallInfo" },
{ 85, "sendRoutingInfoForLCS" },
{ 86, "subscriberLocationReport" },
- { 87, "ist-Alert" },
- { 88, "ist-Command" },
+ { 87, "ist-Alert" },
+ { 88, "ist-Command" },
{ 89, "noteMM-Event" },
{ 0, NULL }
};
@@ -763,17 +764,6 @@ static const true_false_string gsm_map_Ss_Status_a_values = {
};
-static int
-dissect_gsm_map_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
- offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_index, &opcode);
-
- if (check_col(pinfo->cinfo, COL_INFO)){
- col_append_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, gsm_map_opr_code_strings, "Unknown GSM-MAP (%u)"));
- }
-
- return offset;
-}
-
static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
gint8 bug_class;
@@ -803,6 +793,9 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
case 4: /*provideRoamingNumber*/
offset=dissect_gsm_map_ProvideRoamingNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ case 5: /*noteSubscriberDataModified*/
+ offset=dissect_gsm_map_NoteSubscriberDataModifiedArg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
case 6: /*resumeCallHandling*/
offset=dissect_gsm_map_ResumeCallHandlingArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -812,11 +805,8 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
case 8: /*deleteSubscriberData*/
offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
- /* TODO find out why this isn't in the ASN1 file
- case 9: sendParameters
- offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- */
+ /* TODO find out why this isn't in the ASN1 file */
+ /* reserved sendParameters (9) */
case 10: /*registerSS*/
offset=dissect_gsm_map_RegisterSS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -833,17 +823,22 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
offset=dissect_gsm_map_SS_ForBS_Code(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 15: /*authenticationFailureReport*/
- offset=dissect_gsm_map_AuthenticationFailureReportArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
+ offset=dissect_gsm_map_AuthenticationFailureReportArg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ /* undefined 16 */
case 17: /*registerPassword*/
offset=dissect_gsm_map_SS_Code(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
break;
case 18: /*getPassword*/
offset=dissect_gsm_map_GetPasswordArg(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_getPassword);
break;
+ /* reserved processUnstructuredSS-Data (19) */
case 20: /*releaseResources*/
offset=dissect_gsm_map_ReleaseResourcesArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ case 21: /*mt-ForwardSM-VGCS*/
+ offset=dissect_gsm_map_Mt_ForwardSM_VGCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
case 22: /*sendRoutingInfo*/
offset=dissect_gsm_map_SendRoutingInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -859,6 +854,8 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
case 26: /*noteMsPresentForGprs*/
offset=dissect_gsm_map_NoteMsPresentForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ /* undefined 27 */
+ /* reserved performHandover (28) */
case 29: /*sendEndSignal*/
octet = tvb_get_guint8(tvb,0) & 0xf;
if ( octet == 3){ /* This is a V3 message ??? */
@@ -872,7 +869,8 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, hf_gsm_mapSendEndSignal);
}
break;
- case 31: /*provideSIWFSNumbe*/
+ /* reserved performSubsequentHandover (30) */
+ case 31: /*provideSIWFSNumber*/
offset=dissect_gsm_map_ProvideSIWFSNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 32: /*sIWFSSignallingModify*/
@@ -904,6 +902,8 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
}
break;
+ /* reserved noteInternalHandover (35) */
+ /* undefined 36 */
case 37: /*reset*/
offset=dissect_gsm_map_ResetArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -916,8 +916,11 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
case 40: /*sendGroupCallEndSignal*/
dissect_gsm_map_SendGroupCallEndSignalArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
- case 42: /*processGroupCallSignalling*/
- offset=dissect_gsm_map_ProcessGroupCallSignallingArg(FALSE, tvb, offset, pinfo, tree, -1);
+ case 41: /*processGroupCallSignalling*/
+ dissect_gsm_map_ProcessGroupCallSignallingArg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 42: /*forwardGroupCallSignalling*/
+ offset=dissect_gsm_map_ForwardGroupCallSignallingArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 43: /*checkIMEI*/
if ((application_context_version < 3 )&&(old_gsm_map_version == TRUE)){
@@ -938,12 +941,17 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
case 47: /*reportSM-DeliveryStatus*/
offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ /* reserved noteSubscriberPresent (48) */
+ /* reserved alertServiceCentreWithoutResult (49) */
case 50: /*activateTraceMode*/
offset=dissect_gsm_map_ActivateTraceModeArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 51: /*deactivateTraceMode*/
offset=dissect_gsm_map_DeactivateTraceModeArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ /* reserved traceSubscriberActivity (52) */
+ /* undefined 53 */
+ /* reserved beginSubscriberActivity (54) */
case 55: /*sendIdentification*/
offset=dissect_gsm_map_SendIdentificationArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -970,8 +978,8 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 62: /*AnyTimeSubscriptionInterrogation*/
- offset=dissect_gsm_map_AnyTimeSubscriptionInterrogationArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
+ offset=dissect_gsm_map_AnyTimeSubscriptionInterrogationArg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
case 63: /*informServiceCentre*/
offset=dissect_gsm_map_InformServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -979,8 +987,8 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
offset=dissect_gsm_map_AlertServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 65: /*AnyTimeModification*/
- offset=dissect_gsm_map_AnyTimeModificationArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
+ offset=dissect_gsm_map_AnyTimeModificationArg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
case 66: /*readyForSM*/
offset=dissect_gsm_map_ReadyForSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -1038,9 +1046,13 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
case 81: /*secureTransportClass1*/
offset=dissect_gsm_map_SecureTransportArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ /* undefined 82 */
case 83: /*provideSubscriberLocation*/
offset=dissect_gsm_map_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ case 84: /*sendGroupCallInfo*/
+ offset=dissect_gsm_map_SendGroupCallInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
case 85: /*sendRoutingInfoForLCS*/
offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -1085,7 +1097,10 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
offset=dissect_gsm_map_CancelLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 4: /*provideRoamingNumber*/
- offset=dissect_gsm_map_ProvideRoamingNumberRes(FALSE, tvb, offset, pinfo, tree, -1); /* TRUE florent */
+ offset=dissect_gsm_map_ProvideRoamingNumberRes(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 5: /*noteSubscriberDataModified*/
+ offset=dissect_gsm_map_NoteSubscriberDataModifiedRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 6: /*resumeCallHandling*/
offset=dissect_gsm_map_ResumeCallHandlingRes(FALSE, tvb, offset, pinfo, tree, -1);
@@ -1120,6 +1135,7 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
offset=dissect_gsm_map_AuthenticationFailureReportRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 17: /*registerPassword*/
+ /* change hf_gsm_map_ss_Code to something with password */
offset=dissect_gsm_map_NewPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
break;
case 18: /*getPassword*/
@@ -1128,6 +1144,9 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
case 20: /*releaseResources*/
offset=dissect_gsm_map_ReleaseResourcesRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ case 21: /*mt-ForwardSM-VGCS*/
+ offset=dissect_gsm_map_Mt_ForwardSM_VGCS_Res(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
case 22: /*sendRoutingInfo*/
/* This is done to get around a problem with IMPLICIT tag:s */
offset = get_ber_identifier(tvb, offset, &bug_class, &bug_pc, &bug_tag);
@@ -1180,6 +1199,9 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
case 46: /*mo-forwardSM*/
offset=dissect_gsm_map_Mo_forwardSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ case 47: /*reportSM-DeliveryStatus*/
+ offset=dissect_gsm_map_ReportSM_DeliveryStatusRes(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
case 48: /*reportSM-DeliveryStatus*/
offset=dissect_gsm_map_ReportSM_DeliveryStatusRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -1236,6 +1258,9 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
case 62: /*AnyTimeSubscriptionInterrogation*/
offset=dissect_gsm_map_AnyTimeSubscriptionInterrogationRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ case 64: /*alertServiceCentre*/
+ /* TRUE */
+ break;
case 65: /*AnyTimeModification*/
offset=dissect_gsm_map_AnyTimeModificationRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -1259,8 +1284,8 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
}
break;
case 69: /*prepareSubsequentHandover*/
- offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
- break;
+ offset=dissect_gsm_map_PrepareSubsequentHOResV3(TRUE, tvb, offset, pinfo, tree, -1);
+ break;
case 70: /*provideSubscriberInfo*/
offset=dissect_gsm_map_ProvideSubscriberInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -1294,8 +1319,11 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
case 83: /*provideSubscriberLocation*/
offset=dissect_gsm_map_ProvideSubscriberLocation_Res(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ case 84: /*sendGroupCallInfo*/
+ offset=dissect_gsm_map_SendGroupCallInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
case 85: /*sendRoutingInfoForLCS*/
- offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
+ offset=dissect_gsm_map_RoutingInfoForLCS_Res(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 86: /*subscriberLocationReport*/
offset=dissect_gsm_map_SubscriberLocationReport_Res(FALSE, tvb, offset, pinfo, tree, -1);
@@ -1359,6 +1387,9 @@ static int dissect_returnErrorData(packet_info *pinfo, proto_tree *tree, tvbuff_
case 16: /* IllegalSS-OperationParam */
offset=dissect_gsm_map_IllegalSS_OperationParam(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ case 17: /* SS-ErrorStatus */
+ offset=dissect_gsm_map_SS_Status(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
case 18: /* SS-NotAvailableParam */
offset=dissect_gsm_map_SS_NotAvailableParam(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -1371,6 +1402,9 @@ static int dissect_returnErrorData(packet_info *pinfo, proto_tree *tree, tvbuff_
case 21: /* FacilityNotSupParam */
offset=dissect_gsm_map_FacilityNotSupParam(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ case 22: /* OngoingGroupCallParam */
+ offset=dissect_gsm_map_OngoingGroupCallParam(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
case 27: /* AbsentSubscriberParam */
offset=dissect_gsm_map_AbsentSubscriberParam(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -1426,7 +1460,7 @@ static int dissect_returnErrorData(packet_info *pinfo, proto_tree *tree, tvbuff_
offset=dissect_gsm_map_ForwardingFailedParam(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 48: /* OR-NotAllowedParam */
- offset=dissect_gsm_map_OR_NotAllowedParam(FALSE, tvb, offset, pinfo, tree, -1);
+ offset=dissect_gsm_map_Or_NotAllowedParam(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 49: /* ATI-NotAllowedParam */
offset=dissect_gsm_map_ATI_NotAllowedParam(FALSE, tvb, offset, pinfo, tree, -1);
@@ -1467,6 +1501,21 @@ static int dissect_returnErrorData(packet_info *pinfo, proto_tree *tree, tvbuff_
}
return offset;
}
+
+/* Private extension container for PLMN Data */
+static void dissect_gsm_mapext_PlmnContainer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) {
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+
+ /* create display subtree for the protocol */
+ if(parent_tree){
+ item = proto_tree_add_text(parent_tree, tvb, 0, -1, "MAP Ext. Plmn Container");
+ tree = proto_item_add_subtree(item, ett_gsm_map_PlmnContainer);
+ }
+ dissect_gsm_map_PlmnContainer(FALSE, tvb, 0, pinfo, tree, -1);
+}
+
+
static guint8 gsmmap_pdu_type = 0;
static guint8 gsm_map_pdu_size = 0;
@@ -1596,6 +1645,7 @@ const value_string ssCode_vals[] = {
{ 0xb2 ,"callrelated - allow location by any value added LCS client to which a call is established from the target MS" },
{ 0xb3 ,"callunrelated - allow location by designated external value added LCS clients" },
{ 0xb4 ,"plmnoperator - allow location by designated PLMN operator LCS clients" },
+ { 0xb5 ,"serviceType - allow location by LCS clients of a designated LCS service type" },
{ 0xc0 ,"allMOLR-SS - all Mobile Originating Location Request Classes" },
{ 0xc1 ,"basicSelfLocation - allow an MS to request its own location" },
{ 0xc2 ,"autonomousSelfLocation - allow an MS to perform self location without interaction with the PLMN for a predetermined period of time" },
@@ -1833,35 +1883,42 @@ void proto_reg_handoff_gsm_map(void) {
map_handle = create_dissector_handle(dissect_gsm_map, proto_gsm_map);
register_ber_oid_dissector_handle("0.4.0.0.1.0.1.3", map_handle, proto_gsm_map, "itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version3(3)");
register_ber_oid_dissector_handle("0.4.0.0.1.0.1.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version2(2)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.1.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version2(1)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.2.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationCancel(2) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.2.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationCancel(2) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.2.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationCancel(2) version1(1)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.3.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) roamingNbEnquiry(3) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.3.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) roamingNbEnquiry(3) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.3.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) roamingNbEnquiry(3) version1(1)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.4.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) alerting(4) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.5.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locInfoRetrieval(5) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.5.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locInfoRetrieval(5) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.5.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locInfoRetrieval(5) version1(1)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.6.4", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) callControlTransfer(6) version4(4)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.6.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) callControlTransfer(6) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.7.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) reporting(7) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.8.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) callCompletion(8) version3(3)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.9.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) serviceTermination(9) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.10.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) reset(10) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.10.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) reset(10) version1(1)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.11.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) handoverControl(11) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.11.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) handoverControl(11) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.11.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) handoverControl(11) version1(1)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.12.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) sIWFSAllocation(12) version3(3)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.13.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) equipmentMngt(13) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.13.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) equipmentMngt(13) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.13.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) equipmentMngt(13) version1(1)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.14.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) infoRetrieval(14) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.14.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) infoRetrieval(14) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.14.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) infoRetrieval(14) version1(1)" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.15.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) interVlrInfoRetrieval(15) version1(1)" );
+ /* fallback to infoRetrieval(14) version1(1) and not interVlrInfoRetrieval(15) version1(1) */
+ /*register_ber_oid_dissector_handle("0.4.0.0.1.0.15.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) interVlrInfoRetrieval(15) version1(1)" );*/
register_ber_oid_dissector_handle("0.4.0.0.1.0.15.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) interVlrInfoRetrieval(15) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.15.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) interVlrInfoRetrieval(15) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.16.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataMngt(16) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.16.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataMngt(16) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.16.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataMngt(16) version1(1)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.17.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) tracing(17) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.17.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) tracing(17) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.17.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) tracing(17) version1(1)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.18.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkFunctionalSs(18) version2(2)" );
@@ -1876,6 +1933,7 @@ void proto_reg_handoff_gsm_map(void) {
register_ber_oid_dissector_handle("0.4.0.0.1.0.22.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataModificationNotification(22) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.23.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgAlert(23) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.23.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgAlert(23) version1(1)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.24.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) mwdMngt(24) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.24.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) mwdMngt(24) version2(2)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.24.1", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) mwdMngt(24) version1(1)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.25.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgMT-Relay(25) version3(3)" );
@@ -1885,17 +1943,24 @@ void proto_reg_handoff_gsm_map(void) {
register_ber_oid_dissector_handle("0.4.0.0.1.0.27.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) msPurging(27) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.28.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberInfoEnquiry(28) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.29.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) anyTimeInfoEnquiry(29) version3(3)" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.31.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) oupCallControl(31) version3(3)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.31.2", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) groupCallControl(31) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.32.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) gprsLocationUpdate(32) version3(3)" );
- register_ber_oid_dissector_handle("0.4.0.0.1.0.33.4", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) rsLocationInfoRetrieval(33) version4(4)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.33.4", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) gprsLocationInfoRetrieval(33) version4(4)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.33.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) gprsLocationInfoRetrieval(33) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.34.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) failureReport(34) version3(3)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.35.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) gprsNotify(35) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.36.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) ss-InvocationNotification(36) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.37.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationSvcGateway(37) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.38.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationSvcEnquiry(38) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.39.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) authenticationFailureReport(39) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.40.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) secureTransportHandling(40) version3(3)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.41.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgMT-Relay-VGCS(41) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.42.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) mm-EventReporting(42) version3(3)" );
register_ber_oid_dissector_handle("0.4.0.0.1.0.43.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) anyTimeInfoHandling(43) version3(3)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.44.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) resourceManagement(44) version3(3)" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.45.3", map_handle, proto_gsm_map,"itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) groupCallInfoRetrieval(45) version3(3)" );
+ /* Private extension container */
+ register_ber_oid_dissector("1.3.12.2.1006.53.2.1.3", dissect_gsm_mapext_PlmnContainer, proto_gsm_map,"iso(1) identified-organization(3) icd-ecma(12) membercompagny(2) alcatel(1006) amc(53) switch-infra-gsm-E10(2) E10-MAP-extension (1) PlmnContainer(3)" );
}
else {
range_foreach(ssn_range, range_delete_callback);