diff options
author | Guy Harris <guy@alum.mit.edu> | 2004-11-02 01:19:23 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2004-11-02 01:19:23 +0000 |
commit | f6c3bbdee3af5484b7cf44099c2f06d8432d0690 (patch) | |
tree | d79d0bd9c3980eb26701d4c159d28adc6b3bc22e /asn1 | |
parent | 02032272ad49271d5e23f024d50b139f89080a1f (diff) |
Get rid of CRs, and set svn:eol-style to native.
Set svn:keywords to ID.
Delete the eol-style property (it's svn:eol-style).
svn path=/trunk/; revision=12472
Diffstat (limited to 'asn1')
-rw-r--r-- | asn1/gsmmap/GSMMAP.asn | 4791 | ||||
-rw-r--r-- | asn1/gsmmap/gsmmap.cnf | 46 | ||||
-rw-r--r-- | asn1/gsmmap/packet-gsm_map-template.c | 1793 | ||||
-rw-r--r-- | asn1/gsmmap/packet-gsm_map-template.h | 85 |
4 files changed, 3355 insertions, 3360 deletions
diff --git a/asn1/gsmmap/GSMMAP.asn b/asn1/gsmmap/GSMMAP.asn index b0c58bb199..76c1180ba0 100644 --- a/asn1/gsmmap/GSMMAP.asn +++ b/asn1/gsmmap/GSMMAP.asn @@ -1,2396 +1,2395 @@ --- Expanded ASN1 Module 'MAP-Protocol'
---SIEMENS ASN.1 Compiler R5.70 (Production_5.70)
--- Date: 2003-09-04 Time: 14:14:00
-
-MAP-Protocol{ 0 identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-Protocol (4) version5 (5) }
-
-DEFINITIONS::=
-
-BEGIN
-
-
-Bss-APDU ::= SEQUENCE {
- protocolId ProtocolId,
- signalInfo OCTET STRING ( SIZE( 1 .. 200 ) ),
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
-
-SupportedCamelPhases ::= BIT STRING {
- phase1 (0 ),
- phase2 (1 )}
-
-Vlr-Capability ::= SEQUENCE {
- supportedCamelPhases [0] IMPLICIT SupportedCamelPhases OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- solsaSupportIndicator [2] IMPLICIT NULL OPTIONAL}
-
-Imsi ::= OCTET STRING
-Lmsi ::= OCTET STRING ( SIZE( 4 ) )
---updateLocation OPERATION
--- ARGUMENT
-UpdateLocationArg ::= SEQUENCE {
- imsi Imsi,
- msc-Number [1] IMPLICIT Msc-Number,
- vlr-Number Vlr-Number,
- lmsi [10] IMPLICIT Lmsi OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- vlr-Capability [6] IMPLICIT Vlr-Capability OPTIONAL}
--- RESULT
-UpdateLocationRes ::= SEQUENCE {
- hlr-Number Hlr-Number,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1,
--- roamingNotAllowed localValue : 8}
--- ::= localValue : 2
-
--- Ethereal adaptation
-PrivateExtensionList ::= SEQUENCE OF PrivateExtension
-
-PrivateExtension ::= SEQUENCE {
--- extId MAP-EXTENSION .&extensionId ,
--- extType MAP-EXTENSION .&ExtensionType OPTIONAL
---{ @extId } ) OPTIONAL
-}
-
-
-PcsExtensions ::= SEQUENCE {
- ...
- }
-Teleservice ::= OCTET STRING ( SIZE( 1 .. 5 ) )
-Msc-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
--- End Ethereal adaptation
-
-CancellationType ::= ENUMERATED {
- updateProcedure ( 0 ),
- subscriptionWithdraw ( 1 ),
- ... }
-
---cancelLocation OPERATION
--- ARGUMENT
-CancelLocationArg ::= [3] IMPLICIT SEQUENCE {
- identity CHOICE {
- imsi Imsi,
- imsi-WithLMSI SEQUENCE {
- imsi Imsi,
- lmsi Lmsi,
- ... }},
- cancellationType CancellationType OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-CancelLocationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36}
--- ::= localValue : 3
-
---purgeMS OPERATION
--- ARGUMENT
-PurgeMS-Arg ::= [3] IMPLICIT SEQUENCE {
- imsi Imsi,
- vlr-Number [0] IMPLICIT Vlr-Number OPTIONAL,
- sgsn-Number [1] IMPLICIT Sgsn-Number OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-PurgeMS-Res ::= SEQUENCE {
- freezeTMSI [0] IMPLICIT NULL OPTIONAL,
- freezeP-TMSI [1] IMPLICIT NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1}
--- ::= localValue : 67
-
---sendIdentification OPERATION
--- ARGUMENT
-Tmsi ::= OCTET STRING ( SIZE( 1 .. 4 ) )
--- RESULT
-SendIdentificationRes ::= SEQUENCE {
- imsi Imsi,
- authenticationSetList SEQUENCE ( SIZE( 1 .. 5 ) ) OF
- SEQUENCE {
- rand OCTET STRING ( SIZE( 16 ) ),
- sres OCTET STRING ( SIZE( 4 ) ),
- kc OCTET STRING ( SIZE( 8 ) ),
- ... } OPTIONAL,
- ... }
--- ERRORS {
--- dataMissing localValue : 35,
--- unidentifiedSubscriber localValue : 5}
--- ::= localValue : 55
-
---prepareHandover OPERATION
--- ARGUMENT
-PrepareHO-Arg ::= SEQUENCE {
- targetCellId OCTET STRING ( SIZE( 5 .. 7 ) ) OPTIONAL,
- ho-NumberNotRequired NULL OPTIONAL,
- bss-APDU Bss-APDU OPTIONAL,
- ... }
--- RESULT
-PrepareHO-Res ::= SEQUENCE {
- handoverNumber OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL,
- bss-APDU Bss-APDU OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- noHandoverNumberAvailable localValue : 25}
--- ::= localValue : 68
--- Ethereal adaptation --
-ProtocolId ::= ENUMERATED {
- gsm-0408 ( 1 ),
- gsm-0806 ( 2 ),
- gsm-BSSMAP ( 3 ),
- ets-300102-1 ( 4 )
-}
-
-Sgsn-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-Vlr-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
--- End Ethereal adaptation --
---sendEndSignal OPERATION
--- ARGUMENT
---Bss-APDU ::= SEQUENCE { ... defined elsewhere
--- ::= localValue : 29
-
---processAccessSignalling OPERATION
--- ARGUMENT
---Bss-APDU ::= SEQUENCE { ... defined elsewhere
--- ::= localValue : 33
-
---forwardAccessSignalling OPERATION
--- ARGUMENT
---Bss-APDU ::= SEQUENCE { ... defined elsewhere
--- ::= localValue : 34
-
---prepareSubsequentHandover OPERATION
--- ARGUMENT
-PrepareSubsequentHO-Arg ::= SEQUENCE {
- targetCellId OCTET STRING ( SIZE( 5 .. 7 ) ),
- targetMSC-Number OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ),
- bss-APDU Bss-APDU,
- ... }
--- RESULT
---bss-APDU ::= SEQUENCE { ... defined elsewhere
--- ERRORS {
--- unexpectedDataValue localValue : 36,
--- dataMissing localValue : 35,
--- unknownMSC localValue : 3,
--- subsequentHandoverFailure localValue : 26}
--- ::= localValue : 69
-
---sendAuthenticationInfo OPERATION
--- ARGUMENT
-SendAuthenticationInfoArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi,
- numberOfRequestedVectors INTEGER ( 1 .. 5 ),
- segmentationProhibited NULL OPTIONAL,
- immediateResponsePreferred [1] IMPLICIT NULL OPTIONAL,
- re-synchronisationInfo SEQUENCE {
- rand OCTET STRING ( SIZE (16 ) ),
- auts OCTET STRING ( SIZE (14 ) ),
- ... } OPTIONAL,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- requestingNodeType [3] IMPLICIT ENUMERATED {
- vlr (0 ),
- sgsn (1 ),
- ... } OPTIONAL,
- requestingPLMN-Id [4] IMPLICIT OCTET STRING ( SIZE (3 ) ) OPTIONAL}
-
--- RESULT
-SendAuthenticationInfoRes ::= SEQUENCE ( SIZE( 1 .. 5 ) ) OF
- SEQUENCE {
- rand OCTET STRING ( SIZE( 16 ) ),
- sres OCTET STRING ( SIZE( 4 ) ),
- kc OCTET STRING ( SIZE( 8 ) ),
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1}
--- ::= localValue : 56
-
---checkIMEI OPERATION
--- ARGUMENT
-CheckIMEIArg ::= Imei
-
-Imei ::= OCTET STRING ( SIZE( 8 ) )
--- RESULT
-EquipmentStatus ::= ENUMERATED {
- whiteListed ( 0 ),
- blackListed ( 1 ),
- greyListed ( 2 ) }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unknownEquipment localValue : 7}
--- ::= localValue : 43
-
-
-OverrideCategory ::= ENUMERATED {
- overrideEnabled ( 0 ),
- overrideDisabled ( 1 ) }
-
-BasicService ::= CHOICE {
- bearerService [2] IMPLICIT OCTET STRING,
- teleservice [3] IMPLICIT Teleservice}
-
-BasicServiceGroupList ::= SEQUENCE OF BasicService
-
-IntraCUG-Options ::= ENUMERATED {
- noCUG-Restrictions ( 0 ),
- cugIC-CallBarred ( 1 ),
- cugOG-CallBarred ( 2 ) }
-
-Odb-GeneralData ::= BIT STRING {
- allOGCallsBarred(0),
- internationalOGCallsBarred(1),
- internationalOGCallsNotToHPLMNCountryBarred(2),
- premiumRateInformationOGCallsBarred (3 ),
- premiumRateEntertainementOGCallsBarred (4 ),
- ssAccessBarred (5 ),
- interzonalOGCallsBarred (6 ),
- interzonalOGCallsNotToHPLMNCountryBarred (7 ),
- interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred (8 ),
- allECTBarred (9 ),
- chargeableECTBarred (10 ),
- internationalECTBarred (11 ),
- interzonalECTBarred (12 ),
- doublyChargeableECTBarred (13 ),
- multipleECTBarred (14 )}
-
-Odb-HPLMN-Data ::= BIT STRING {
- plmnSpecificBarringType1 (0 ),
- plmnSpecificBarringType2 (1 ),
- plmnSpecificBarringType3 (2 ),
- plmnSpecificBarringType4 (3 )}
-
-SubscriberStatus ::= ENUMERATED {
- serviceGranted ( 0 ),
- operatorDeterminedBarring ( 1 ) }
-
-BcsmTriggerDetectionPoint ::= ENUMERATED {
- collectedInfo ( 2 ),
- termAttemptAuthorized ( 12 ),
- ... }
-
-ServiceKey ::= INTEGER ( 0 .. 2147483647 )
-
-BcsmCamelTDPData ::= SEQUENCE {
- bcsmTriggerDetectionPoint BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCFAddress [0] IMPLICIT GsmSCF-Address,
- defaultCallHandling [1] IMPLICIT DefaultCallHandling,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
-
-BcsmCamelTDPDataList ::= SEQUENCE OF BcsmCamelTDPData
-
-GsmSCF-Address ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-
-DefaultCallHandling ::= ENUMERATED {
- continueCall ( 0 ),
- releaseCall ( 1 ),
- ... }
-
-O-CSI ::= SEQUENCE {
- o-BcsmCamelTDPDataList BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- camelCapabilityHandling [0] IMPLICIT INTEGER ( 1 .. 16 ) OPTIONAL}
-
-
-Msisdn ::= OCTET STRING
-
---insertSubscriberData OPERATION
--- ARGUMENT
-InsertSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi OPTIONAL,
- msisdn [1] IMPLICIT Msisdn OPTIONAL,
- category [2] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- subscriberStatus [3] IMPLICIT SubscriberStatus OPTIONAL,
- bearerServiceList [4] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF
- OCTET STRING ( SIZE( 1 .. 5 ) ) OPTIONAL,
- teleserviceList [6] IMPLICIT SEQUENCE ( SIZE( 1 .. 20 ) ) OF
- Teleservice OPTIONAL,
- provisionedSS [7] IMPLICIT SEQUENCE ( SIZE( 1 .. 30 ) ) OF
- CHOICE {
- forwardingInfo [0] IMPLICIT ForwardingInfo,
- callBarringInfo [1] IMPLICIT CallBarringInfo,
- cug-Info [2] IMPLICIT SEQUENCE {
- cug-SubscriptionList SEQUENCE ( SIZE( 0 .. 10 ) ) OF
- SEQUENCE {
- cug-Index INTEGER ( 0 .. 32767 ),
- cug-Interlock OCTET STRING ( SIZE( 4 ) ),
- intraCUG-Options IntraCUG-Options,
- basicServiceGroupList BasicServiceGroupList OPTIONAL,
- extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
- ... },
- cug-FeatureList SEQUENCE ( SIZE( 1 .. 32 ) ) OF
- SEQUENCE {
- basicService BasicService OPTIONAL,
- preferentialCUG-Indicator INTEGER ( 0 .. 32767 ) OPTIONAL,
- interCUG-Restrictions OCTET STRING ( SIZE( 1 ) ),
- extensionContainer ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
- ... },
- ss-Data2 [3] IMPLICIT SEQUENCE {
- ss-Code Ss-Code,
- ss-Status [4] IMPLICIT Ss-Status,
- ss-SubscriptionOption Ss-SubscriptionOption OPTIONAL,
- basicServiceGroupList BasicServiceGroupList OPTIONAL,
- extensionContainer [5] IMPLICIT ExtensionContainer OPTIONAL,
- ... },
- emlpp-Info [4] IMPLICIT SEQUENCE {
- maximumentitledPriority INTEGER ( 0 .. 15 ),
- defaultPriority INTEGER ( 0 .. 15 ),
- extensionContainer ExtensionContainer OPTIONAL,
- ... }} OPTIONAL,
- odb-Data [8] IMPLICIT SEQUENCE {
- odb-GeneralData Odb-GeneralData,
- odb-HPLMN-Data Odb-HPLMN-Data OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [9] IMPLICIT NULL OPTIONAL,
- regionalSubscriptionData [10] IMPLICIT SEQUENCE ( SIZE( 1 .. 10 ) ) OF
- OCTET STRING ( SIZE( 2 ) ) OPTIONAL,
- vbsSubscriptionData [11] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF
- SEQUENCE {
- groupid OCTET STRING ( SIZE( 3 ) ),
- broadcastInitEntitlement NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- vgcsSubscriptionData [12] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF
- SEQUENCE {
- groupId OCTET STRING ( SIZE( 3 ) ),
- extensionContainer ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- vlrCamelSubscriptionInfo [13] IMPLICIT SEQUENCE {
- o-CSI [0] IMPLICIT O-CSI OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... ,
- ss-CSI [2] IMPLICIT SEQUENCE {
- ss-CamelData SEQUENCE {
- ss-EventList SEQUENCE ( SIZE( 1 .. 10 ) ) OF
- OCTET STRING ( SIZE( 1 ) ),
- gsmSCF-Address GsmSCF-Address,
- extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
- ... },
- extensionContainer ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- o-BcsmCamelTDP-CriteriaList [4] IMPLICIT O-BcsmCamelTDP-CriteriaList OPTIONAL,
- tif-CSI [3] IMPLICIT NULL OPTIONAL} OPTIONAL,
- extensionContainer [14] IMPLICIT ExtensionContainer OPTIONAL,
- ... ,
- naea-PreferredCI [15] IMPLICIT Naea-PreferredCI OPTIONAL,
- gprsSubscriptionData [16] IMPLICIT SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
- gprsDataList [1] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF
- SEQUENCE {
- pdp-ContextId INTEGER ( 1 .. 50 ),
- pdp-Type [16] IMPLICIT OCTET STRING ( SIZE( 2 ) ),
- pdp-Address [17] IMPLICIT OCTET STRING ( SIZE( 1 .. 16 ) ) OPTIONAL,
- qos-Subscribed [18] IMPLICIT OCTET STRING ( SIZE( 3 ) ),
- vplmnAddressAllowed [19] IMPLICIT NULL OPTIONAL,
- apn [20] IMPLICIT OCTET STRING ( SIZE( 2 .. 63 ) ),
- extensionContainer [21] IMPLICIT ExtensionContainer OPTIONAL,
- ... },
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- roamingRestrictedInSgsnDueToUnsupportedFeature [23] IMPLICIT NULL OPTIONAL,
- networkAccessMode [24] IMPLICIT ENUMERATED {
- bothMSCAndSGSN ( 0 ),
- onlyMSC ( 1 ),
- onlySGSN ( 2 ),
- ... } OPTIONAL,
- lsaInformation [25] IMPLICIT SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
- lsaOnlyAccessIndicator [1] IMPLICIT ENUMERATED {
- accessOutsideLSAsAllowed ( 0 ),
- accessOutsideLSAsRestricted ( 1 ) } OPTIONAL,
- lsaDataList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 20 ) ) OF
- SEQUENCE {
- lsaIdentity [0] IMPLICIT OCTET STRING ( SIZE( 3 ) ),
- lsaAttributes [1] IMPLICIT OCTET STRING ( SIZE( 1 ) ),
- lsaActiveModeIndicator [2] IMPLICIT NULL OPTIONAL,
- extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- lmu-Indicator [21] IMPLICIT NULL OPTIONAL,
- lcsInformation [22] IMPLICIT SEQUENCE {
- gmlc-List [0] IMPLICIT SEQUENCE ( SIZE( 1 .. 5 ) ) OF
- OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL,
- lcs-PrivacyExceptionList [1] IMPLICIT SEQUENCE ( SIZE( 1 .. 4 ) ) OF
- SEQUENCE {
- ss-Code Ss-Code,
- ss-Status Ss-Status,
- notificationToMSUser [0] IMPLICIT NotificationToMSUser OPTIONAL,
- externalClientList [1] IMPLICIT SEQUENCE ( SIZE( 0 .. 5 ) ) OF
- SEQUENCE {
- clientIdentity SEQUENCE {
- externalAddress [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... },
- gmlc-Restriction [0] IMPLICIT ENUMERATED {
- gmlc-List ( 0 ),
- home-Country ( 1 ),
- ... } OPTIONAL,
- notificationToMSUser [1] IMPLICIT NotificationToMSUser OPTIONAL,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- plmnClientList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 5 ) ) OF
- ENUMERATED {
- broadcastService ( 0 ),
- o-andM-HPLMN ( 1 ),
- o-andM-VPLMN ( 2 ),
- anonymousLocation ( 3 ),
- targetMSsubscribedService ( 4 ),
- ... } OPTIONAL,
- extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- molr-List [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 3 ) ) OF
- SEQUENCE {
- ss-Code Ss-Code,
- ss-Status Ss-Status,
- extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- ... } OPTIONAL}
--- RESULT
-InsertSubscriberDataRes ::= SEQUENCE {
- teleserviceList [1] IMPLICIT SEQUENCE ( SIZE( 1 .. 20 ) ) OF
- Teleservice OPTIONAL,
- bearerServiceList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF
- OCTET STRING ( SIZE( 1 .. 5 ) ) OPTIONAL,
- ss-List [3] IMPLICIT SEQUENCE ( SIZE( 1 .. 30 ) ) OF
- OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- odb-GeneralData [4] IMPLICIT Odb-GeneralData OPTIONAL,
- regionalSubscriptionResponse [5] IMPLICIT RegionalSubscriptionResponse OPTIONAL,
-
- supportedCamelPhases [6] IMPLICIT SupportedCamelPhases OPTIONAL,
- extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unidentifiedSubscriber localValue : 5}
--- ::= localValue : 7
--- Ethereal adaptation --
-CliRestrictionOption ::= ENUMERATED {
- permanent ( 0 ),
- temporaryDefaultRestricted ( 1 ),
- temporaryDefaultAllowed ( 2 )
-}
-
-RegionalSubscriptionResponse ::= ENUMERATED {
- networkNodeAreaRestricted ( 0 ),
- tooManyZoneCodes ( 1 ),
- zoneCodesConflict ( 2 ),
- regionalSubscNotSupported ( 3 )
-}
-CallTypeCriteria ::= ENUMERATED {
- forwarded ( 0 ),
- notForwarded ( 1 )
-}
-Ss-Status ::= OCTET STRING ( SIZE( 1 .. 5 ) )
-ForwardedToNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-ForwardedToSubaddress ::= OCTET STRING ( SIZE( 1 .. 21 ) )
-
-CallBarringInfo ::= SEQUENCE {
- ss-Code Ss-Code,
- callBarringFeatureList SEQUENCE ( SIZE( 1 .. 32 ) ) OF
- SEQUENCE {
- basicService BasicService OPTIONAL,
- ss-Status [4] IMPLICIT Ss-Status,
- extensionContainer ExtensionContainer OPTIONAL,
- ... },
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
-ForwardingFeatureList ::= SEQUENCE {
- basicService BasicService OPTIONAL,
- ss-Status [4] IMPLICIT Ss-Status,
- forwardedToNumber [5] IMPLICIT ForwardedToNumber OPTIONAL,
- forwardedToSubaddress [8] IMPLICIT ForwardedToSubaddress OPTIONAL,
- forwardingOptions [6] IMPLICIT ForwardingOptions OPTIONAL,
- noReplyConditionTime [7] IMPLICIT INTEGER OPTIONAL,
- extensionContainer [9] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
-NotificationToMSUser ::= ENUMERATED {
- notifyLocationAllowed ( 0 ),
- notifyAndVerify-LocationAllowedIfNoResponse ( 1 ),
- notifyAndVerify-LocationNotAllowedIfNoResponse ( 2 ),
- ... }
-DestinationNumberCriteria ::= SEQUENCE {
- matchType [0] IMPLICIT MatchType,
- destinationNumberList [1] IMPLICIT SEQUENCE ( SIZE( 1 .. 10 ) ) OF
- OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL,
- destinationNumberLengthList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 3 ) ) OF
- INTEGER ( 1 .. 15 ) OPTIONAL,
- ... }
-ForwardingInfo ::= SEQUENCE {
- ss-Code Ss-Code,
- forwardingFeatureList SEQUENCE ( SIZE( 1 .. 32 ) ) OF ForwardingFeatureList,
- extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
-Naea-PreferredCI ::= SEQUENCE {
- naea-PreferredCIC [0] IMPLICIT OCTET STRING ( SIZE( 3 ) ),
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
-
-O-BcsmCamelTDP-CriteriaList ::= SEQUENCE ( SIZE( 1 .. 10 ) ) OF
- SEQUENCE {
- o-BcsmTriggerDetectionPoint BcsmTriggerDetectionPoint,
- destinationNumberCriteria [0] IMPLICIT DestinationNumberCriteria OPTIONAL,
- basicServiceCriteria [1] IMPLICIT BasicServiceGroupList OPTIONAL,
- callTypeCriteria [2] IMPLICIT CallTypeCriteria OPTIONAL,
- ... }
-Ss-SubscriptionOption ::= CHOICE {
- cliRestrictionOption [2] IMPLICIT CliRestrictionOption,
- overrideCategory [1] IMPLICIT OverrideCategory
-}
-ForwardingOptions ::= OCTET STRING ( SIZE( 1 ) )
--- noReplyConditionTime [7] IMPLICIT INTEGER ( 1 .. 100 ) OPTIONAL,
--- Changed to no size
--- End Ethereal adaptation --
---deleteSubscriberData OPERATION
--- ARGUMENT
-DeleteSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi,
- basicServiceList [1] IMPLICIT BasicServiceGroupList OPTIONAL,
- ss-List [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 30 ) ) OF
- OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [4] IMPLICIT NULL OPTIONAL,
- regionalSubscriptionIdentifier [5] IMPLICIT OCTET STRING ( SIZE( 2 ) ) OPTIONAL,
- vbsGroupIndication [7] IMPLICIT NULL OPTIONAL,
- vgcsGroupIndication [8] IMPLICIT NULL OPTIONAL,
- camelSubscriptionInfoWithdraw [9] IMPLICIT NULL OPTIONAL,
- extensionContainer [6] IMPLICIT ExtensionContainer OPTIONAL,
- ... ,
- gprsSubscriptionDataWithdraw [10] CHOICE {
- allGPRSData NULL,
- contextIdList SEQUENCE ( SIZE( 1 .. 50 ) ) OF
- INTEGER ( 1 .. 50 )} OPTIONAL,
- roamingRestrictedInSgsnDueToUnsuppportedFeature [11] IMPLICIT NULL OPTIONAL,
- lsaInformationWithdraw [12] CHOICE {
- allLSAData NULL,
- lsaIdentityList SEQUENCE ( SIZE( 1 .. 20 ) ) OF
- OCTET STRING ( SIZE( 3 ) )} OPTIONAL,
- gmlc-ListWithdraw [13] IMPLICIT NULL OPTIONAL}
--- RESULT
-DeleteSubscriberDataRes ::= SEQUENCE {
- regionalSubscriptionResponse [0] IMPLICIT RegionalSubscriptionResponse OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unidentifiedSubscriber localValue : 5}
--- ::= localValue : 8
-
---reset OPERATION
--- ARGUMENT
-ResetArg ::= SEQUENCE {
- hlr-Number Hlr-Number,
- hlr-List SEQUENCE ( SIZE( 1 .. 50 ) ) OF
- OCTET STRING ( SIZE( 3 .. 8 ) ) OPTIONAL,
- ... }
--- ::= localValue : 37
-Hlr-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
---forwardCheckSS-Indication OPERATION
--- ::= localValue : 38
-
---restoreData OPERATION
--- ARGUMENT
-RestoreDataArg ::= SEQUENCE {
- imsi Imsi,
- lmsi Lmsi OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- vlr-Capability [6] IMPLICIT Vlr-Capability OPTIONAL}
--- RESULT
-RestoreDataRes ::= SEQUENCE {
- hlr-Number Hlr-Number,
- msNotReachable NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1}
--- ::= localValue : 57
-
---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,
- extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-ActivateTraceModeRes ::= SEQUENCE {
- extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- facilityNotSupported localValue : 21,
--- unidentifiedSubscriber localValue : 5,
--- tracingBufferFull localValue : 40}
--- ::= localValue : 50
-
---deactivateTraceMode OPERATION
--- ARGUMENT
-DeactivateTraceModeArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi OPTIONAL,
- traceReference [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 2 ) ),
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-DeactivateTraceModeRes ::= SEQUENCE {
- extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- facilityNotSupported localValue : 21,
--- unidentifiedSubscriber localValue : 5}
--- ::= localValue : 51
-
---sendIMSI OPERATION
--- ARGUMENT
---Msisdn ::=defined elsewhere
--- RESULT
---Imsi ::= defined elsewhere
--- ERRORS {
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1}
--- ::= localValue : 58
-
---sendRoutingInfo OPERATION
--- ARGUMENT
-SendRoutingInfoArg ::= SEQUENCE {
- msisdn [0] IMPLICIT Msisdn,
- cug-CheckInfo [1] IMPLICIT Cug-CheckInfo OPTIONAL,
- numberOfForwarding [2] IMPLICIT INTEGER ( 1 .. 5 ) OPTIONAL,
- interrogationType [3] IMPLICIT ENUMERATED {
- basicCall ( 0 ),
- forwarding ( 1 ) },
- or-Interrogation [4] IMPLICIT NULL OPTIONAL,
- or-Capability [5] IMPLICIT INTEGER ( 1 .. 127 ) OPTIONAL,
- gmsc-Address [6] IMPLICIT Gmsc-Address,
- callReferenceNumber [7] IMPLICIT OCTET STRING ( SIZE( 1 .. 8 ) ) OPTIONAL,
- forwardingReason [8] IMPLICIT ENUMERATED {
- notReachable ( 0 ),
- busy ( 1 ),
- noReply ( 2 ) } OPTIONAL,
- basicServiceGroup [9] BasicService OPTIONAL,
- networkSignalInfo [10] IMPLICIT Bss-APDU OPTIONAL,
- camelInfo [11] IMPLICIT SEQUENCE {
- supportedCamelPhases SupportedCamelPhases,
- suppress-T-CSI NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- suppressionOfAnnouncement [12] IMPLICIT NULL OPTIONAL,
- extensionContainer [13] IMPLICIT ExtensionContainer OPTIONAL,
- ... ,
- alertingPattern [14] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- ccbs-Call [15] IMPLICIT NULL OPTIONAL,
- supportedCCBS-Phase [16] IMPLICIT INTEGER ( 1 .. 127 ) OPTIONAL,
- additionalSignalInfo [17] IMPLICIT AdditionalSignalInfo OPTIONAL}
--- RESULT
-SendRoutingInfoRes ::= [3] IMPLICIT SEQUENCE {
- imsi [9] IMPLICIT Imsi OPTIONAL,
- extendedRoutingInfo CHOICE {
- routingInfo CHOICE {
- roamingNumber RoamingNumber,
- forwardingData ForwardingData},
- camelRoutingInfo [8] IMPLICIT SEQUENCE {
- forwardingData ForwardingData OPTIONAL,
- gmscCamelSubscriptionInfo [0] IMPLICIT SEQUENCE {
- t-CSI [0] IMPLICIT SEQUENCE {
- t-BcsmCamelTDPDataList BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- camelCapabilityHandling [0] IMPLICIT INTEGER ( 1 .. 16 ) OPTIONAL} OPTIONAL,
- o-CSI [1] IMPLICIT O-CSI OPTIONAL,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... ,
- o-BcsmCamelTDP-CriteriaList [3] IMPLICIT O-BcsmCamelTDP-CriteriaList OPTIONAL},
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }} OPTIONAL,
- cug-CheckInfo [3] IMPLICIT Cug-CheckInfo OPTIONAL,
- cugSubscriptionFlag [6] IMPLICIT NULL OPTIONAL,
- subscriberInfo [7] IMPLICIT SubscriberInfo OPTIONAL,
- ss-List [1] IMPLICIT SEQUENCE ( SIZE( 1 .. 30 ) ) OF
- OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- basicService [5] BasicService OPTIONAL,
- forwardingInterrogationRequired [4] IMPLICIT NULL OPTIONAL,
- vmsc-Address [2] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL,
- extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
- ... ,
- naea-PreferredCI [10] IMPLICIT Naea-PreferredCI OPTIONAL,
- ccbs-Indicators [11] IMPLICIT SEQUENCE {
- ccbs-Possible [0] IMPLICIT NULL OPTIONAL,
- keepCCBS-CallIndicator [1] IMPLICIT NULL OPTIONAL,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- msisdn [12] IMPLICIT Msisdn OPTIONAL,
- numberPortabilityStatus [13] IMPLICIT ENUMERATED {
- notKnownToBePorted ( 0 ),
- ownNumberPortedOut ( 1 ),
- foreignNumberPortedToForeignNetwork ( 2 ),
- ... } OPTIONAL}
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- facilityNotSupported localValue : 21,
--- or-NotAllowed localValue : 48,
--- unknownSubscriber localValue : 1,
--- numberChanged localValue : 44,
--- bearerServiceNotProvisioned localValue : 10,
--- teleserviceNotProvisioned localValue : 11,
--- absentSubscriber localValue : 27,
--- busySubscriber localValue : 45,
--- noSubscriberReply localValue : 46,
--- callBarred localValue : 13,
--- cug-Reject localValue : 15,
--- forwardingViolation localValue : 14}
--- ::= localValue : 22
-MatchType ::= ENUMERATED {
- inhibiting ( 0 ),
- enabling ( 1 )
-}
-
-SubscriberState ::= CHOICE {
- assumedIdle [0] IMPLICIT NULL,
- camelBusy [1] IMPLICIT NULL,
---XXX netDetNotReachable IMPLICIT NetDetNotReachable,
- notProvidedFromVLR [2] IMPLICIT NULL
-}
-NetDetNotReachable ::= ENUMERATED {
- msPurged ( 0 ),
- imsiDetached ( 1 ),
- restrictedArea ( 2 ),
- notRegistered ( 3 ) }
-
-LocationInformation ::= SEQUENCE {
- ageOfLocationInformation INTEGER ( 0 .. 32767 ) OPTIONAL,
- geographicalInformation [0] IMPLICIT OCTET STRING ( SIZE( 8 ) ) OPTIONAL,
- vlr-number [1] IMPLICIT Vlr-Number OPTIONAL,
- locationNumber [2] IMPLICIT OCTET STRING ( SIZE( 2 .. 10 ) ) OPTIONAL,
- cellIdOrLAI [3] CHOICE {
- cellIdFixedLength [0] IMPLICIT OCTET STRING ( SIZE( 7 ) ),
- laiFixedLength [1] IMPLICIT OCTET STRING ( SIZE( 5 ) )} OPTIONAL,
- extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
-SubscriberInfo ::= SEQUENCE {
- locationInformation [0] IMPLICIT LocationInformation OPTIONAL,
- subscriberState [1] SubscriberState OPTIONAL,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
-RoamingNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-
-AdditionalSignalInfo ::= SEQUENCE {
- ext-ProtocolId ENUMERATED {
- ets-300356 ( 1 ),
- ... },
- signalInfo OCTET STRING ( SIZE( 1 .. 200 ) ),
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
-Cug-CheckInfo ::= SEQUENCE {
- cug-Interlock OCTET STRING ( SIZE( 4 ) ),
- cug-OutgoingAccess NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
-ForwardingData ::= SEQUENCE {
- forwardedToNumber [5] IMPLICIT ForwardedToNumber OPTIONAL,
- forwardedToSubaddress [4] IMPLICIT ForwardedToSubaddress OPTIONAL,
- forwardingOptions [6] IMPLICIT ForwardingOptions OPTIONAL,
- extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
-
-Gmsc-Address ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-
---provideRoamingNumber OPERATION
--- ARGUMENT
-ProvideRoamingNumberArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi,
- msc-Number [1] IMPLICIT Msc-Number,
- msisdn [2] IMPLICIT Msisdn OPTIONAL,
- lmsi [4] IMPLICIT Lmsi OPTIONAL,
- gsm-BearerCapability [5] IMPLICIT Bss-APDU OPTIONAL,
- networkSignalInfo [6] IMPLICIT Bss-APDU OPTIONAL,
- suppressionOfAnnouncement [7] IMPLICIT NULL OPTIONAL,
- gmsc-Address [8] IMPLICIT Gmsc-Address OPTIONAL,
- callReferenceNumber [9] IMPLICIT OCTET STRING ( SIZE( 1 .. 8 ) ) OPTIONAL,
- or-Interrogation [10] IMPLICIT NULL OPTIONAL,
- extensionContainer [11] IMPLICIT ExtensionContainer OPTIONAL,
- ... ,
- alertingPattern [12] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- ccbs-Call [13] IMPLICIT NULL OPTIONAL,
- supportedCamelPhasesInGMSC [15] IMPLICIT SupportedCamelPhases OPTIONAL,
- additionalSignalInfo [14] IMPLICIT AdditionalSignalInfo OPTIONAL,
- orNotSupportedInGMSC [16] IMPLICIT NULL OPTIONAL}
--- RESULT
-ProvideRoamingNumberRes ::= SEQUENCE {
- roamingNumber RoamingNumber,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- facilityNotSupported localValue : 21,
--- or-NotAllowed localValue : 48,
--- absentSubscriber localValue : 27,
--- noRoamingNumberAvailable localValue : 39}
--- ::= localValue : 4
-
---resumeCallHandling OPERATION
--- ARGUMENT
-ResumeCallHandlingArg ::= SEQUENCE {
- callReferenceNumber [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 8 ) ) OPTIONAL,
- basicServiceGroup [1] BasicService OPTIONAL,
- forwardingData [2] IMPLICIT ForwardingData OPTIONAL,
- imsi [3] IMPLICIT Imsi OPTIONAL,
- cug-CheckInfo [4] IMPLICIT Cug-CheckInfo OPTIONAL,
- o-CSI [5] IMPLICIT O-CSI OPTIONAL,
- extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL,
- ccbs-Possible [8] IMPLICIT NULL OPTIONAL,
- msisdn [9] IMPLICIT Msisdn OPTIONAL,
- uu-Data [10] IMPLICIT SEQUENCE {
- uuIndicator [0] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- uui [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 131 ) ) OPTIONAL,
- uusCFInteraction [2] IMPLICIT NULL OPTIONAL,
- extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- allInformationSent [11] IMPLICIT NULL OPTIONAL,
- ... }
--- RESULT
-ResumeCallHandlingRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- forwardingFailed localValue : 47,
--- or-NotAllowed localValue : 48,
--- unexpectedDataValue localValue : 36,
--- dataMissing localValue : 35}
--- ::= localValue : 6
-
---provideSIWFSNumber OPERATION
--- ARGUMENT
-ProvideSIWFSNumberArg ::= SEQUENCE {
- gsm-BearerCapability [0] IMPLICIT Bss-APDU,
- isdn-BearerCapability [1] IMPLICIT Bss-APDU,
- call-Direction [2] IMPLICIT OCTET STRING ( SIZE( 1 ) ),
- b-Subscriber-Address [3] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ),
- chosenChannel [4] IMPLICIT Bss-APDU,
- lowerLayerCompatibility [5] IMPLICIT Bss-APDU OPTIONAL,
- highLayerCompatibility [6] IMPLICIT Bss-APDU OPTIONAL,
- extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-ProvideSIWFSNumberRes ::= SEQUENCE {
- sIWFSNumber [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ),
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- resourceLimitation localValue : 51,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- systemFailure localValue : 34}
--- ::= localValue : 31
-
---sIWFSSignallingModify OPERATION
--- ARGUMENT
-SIWFSSignallingModifyArg ::= SEQUENCE {
- channelType [0] IMPLICIT Bss-APDU OPTIONAL,
- chosenChannel [1] IMPLICIT Bss-APDU OPTIONAL,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-SIWFSSignallingModifyRes ::= SEQUENCE {
- chosenChannel [0] IMPLICIT Bss-APDU OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- resourceLimitation localValue : 51,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- systemFailure localValue : 34}
--- ::= localValue : 32
-
-Ccbs-Monitoring ::= ENUMERATED {
- stopMonitoring ( 0 ),
- startMonitoring ( 1 ),
- ... }
-
---setReportingState OPERATION
--- ARGUMENT
-SetReportingStateArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi OPTIONAL,
- lmsi [1] IMPLICIT Lmsi OPTIONAL,
- ccbs-Monitoring [2] IMPLICIT Ccbs-Monitoring OPTIONAL,
- extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-Ccbs-SubscriberStatus ::= ENUMERATED {
- ccbsNotIdle ( 0 ),
- ccbsIdle ( 1 ),
- ccbsNotReachable ( 2 ),
- ... }
-
-SetReportingStateRes ::= SEQUENCE {
- ccbs-SubscriberStatus [0] IMPLICIT Ccbs-SubscriberStatus OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- unidentifiedSubscriber localValue : 5,
--- unexpectedDataValue localValue : 36,
--- dataMissing localValue : 35,
--- resourceLimitation localValue : 51,
--- facilityNotSupported localValue : 21}
--- ::= localValue : 73
-
-MonitoringMode ::= ENUMERATED {
- a-side ( 0 ),
- b-side ( 1 ),
- ... }
-
-CallOutcome ::= ENUMERATED {
- success ( 0 ),
- failure ( 1 ),
- busy ( 2 ),
- ... }
-
---statusReport OPERATION
--- ARGUMENT
-StatusReportArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi,
- eventReportData [1] IMPLICIT SEQUENCE {
- ccbs-SubscriberStatus [0] IMPLICIT Ccbs-SubscriberStatus OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- callReportdata [2] IMPLICIT SEQUENCE {
- monitoringMode [0] IMPLICIT MonitoringMode OPTIONAL,
- callOutcome [1] IMPLICIT CallOutcome OPTIONAL,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-StatusReportRes ::= SEQUENCE {
- extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- unknownSubscriber localValue : 1,
--- systemFailure localValue : 34,
--- unexpectedDataValue localValue : 36,
--- dataMissing localValue : 35}
--- ::= localValue : 74
-
-Ruf-Outcome ::= ENUMERATED {
- accepted ( 0 ),
- rejected ( 1 ),
- noResponseFromFreeMS ( 2 ),
- noResponseFromBusyMS ( 3 ),
- udubFromFreeMS ( 4 ),
- udubFromBusyMS ( 5 ),
- ... }
-
---remoteUserFree OPERATION
--- ARGUMENT
-RemoteUserFreeArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi,
- callInfo [1] IMPLICIT Bss-APDU,
- ccbs-Feature [2] IMPLICIT Ccbs-Feature,
- translatedB-Number [3] IMPLICIT TranslatedB-Number,
- replaceB-Number [4] IMPLICIT NULL OPTIONAL,
- alertingPattern [5] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- extensionContainer [6] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-RemoteUserFreeRes ::= SEQUENCE {
- ruf-Outcome [0] IMPLICIT Ruf-Outcome,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- unexpectedDataValue localValue : 36,
--- dataMissing localValue : 35,
--- incompatibleTerminal localValue : 28,
--- absentSubscriber localValue : 27,
--- systemFailure localValue : 34,
--- busySubscriber localValue : 45}
---ocalValue : 75
-TranslatedB-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-
-Ss-Data ::= SEQUENCE {
- ss-Code Ss-Code OPTIONAL,
- ss-Status [4] IMPLICIT Ss-Status OPTIONAL,
- ss-SubscriptionOption Ss-SubscriptionOption OPTIONAL,
- basicServiceGroupList BasicServiceGroupList OPTIONAL,
- ... ,
- defaultPriority INTEGER ( 0 .. 15 ) OPTIONAL}
-
-
---registerSS OPERATION
--- ARGUMENT
-RegisterSS-Arg ::= SEQUENCE {
- ss-Code Ss-Code,
- basicService BasicService OPTIONAL,
- forwardedToNumber [4] IMPLICIT ForwardedToNumber OPTIONAL,
- forwardedToSubaddress [6] IMPLICIT ForwardedToSubaddress OPTIONAL,
- noReplyConditionTime [5] IMPLICIT INTEGER OPTIONAL,
- ... ,
- defaultPriority [7] IMPLICIT INTEGER ( 0 .. 15 ) OPTIONAL}
--- RESULT
-Ss-Info ::= CHOICE {
- forwardingInfo [0] IMPLICIT ForwardingInfo,
- callBarringInfo [1] IMPLICIT CallBarringInfo,
- ss-Data [3] IMPLICIT Ss-Data}
-Ccbs-Feature ::= SEQUENCE {
- ccbs-Index [0] IMPLICIT INTEGER ( 1 .. 5 ) OPTIONAL,
- b-subscriberNumber [1] IMPLICIT B-subscriberNumber OPTIONAL,
- b-subscriberSubaddress [2] IMPLICIT OCTET STRING ( SIZE( 1 .. 21 ) ) OPTIONAL,
- basicServiceGroup [3] BasicService OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- bearerServiceNotProvisioned localValue : 10,
--- teleserviceNotProvisioned localValue : 11,
--- callBarred localValue : 13,
--- illegalSS-Operation localValue : 16,
--- ss-ErrorStatus localValue : 17,
--- ss-Incompatibility localValue : 20}
--- ::= localValue : 10
-
-B-subscriberNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-
---eraseSS OPERATION
--- ARGUMENT
-
-Ss-ForBS ::= SEQUENCE {
- ss-Code Ss-Code,
- basicService BasicService OPTIONAL,
- ... }
-
--- RESULT
---Ss-Info ::= CHOICE {.. defined elsewhere
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- bearerServiceNotProvisioned localValue : 10,
--- teleserviceNotProvisioned localValue : 11,
--- callBarred localValue : 13,
--- illegalSS-Operation localValue : 16,
--- ss-ErrorStatus localValue : 17}
--- ::= localValue : 11
-
---activateSS OPERATION
--- ARGUMENT
---Ss-ForBS ::= SEQUENCE { defined elsewhere
--- RESULT
---Ss-Info ::= CHOICE {.. defined elsewhere
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- bearerServiceNotProvisioned localValue : 10,
--- teleserviceNotProvisioned localValue : 11,
--- callBarred localValue : 13,
--- illegalSS-Operation localValue : 16,
--- ss-ErrorStatus localValue : 17,
--- ss-SubscriptionViolation localValue : 19,
--- ss-Incompatibility localValue : 20,
--- negativePW-Check localValue : 38,
--- numberOfPW-AttemptsViolation localValue : 43}
--- ::= localValue : 12
-
---deactivateSS OPERATION
--- ARGUMENT
---Ss-ForBS ::= SEQUENCE { defined elsewhere
--- RESULT
---Ss-Info ::= CHOICE {.. defined elsewhere
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- bearerServiceNotProvisioned localValue : 10,
--- teleserviceNotProvisioned localValue : 11,
--- callBarred localValue : 13,
--- illegalSS-Operation localValue : 16,
--- ss-ErrorStatus localValue : 17,
--- ss-SubscriptionViolation localValue : 19,
--- negativePW-Check localValue : 38,
--- numberOfPW-AttemptsViolation localValue : 43}
--- ::= localValue : 13
-
---interrogateSS OPERATION
--- ARGUMENT
---Ss-ForBS ::= SEQUENCE { defined elsewhere
--- RESULT
-InterrogateSS-Res ::= CHOICE {
- ss-Status [0] IMPLICIT Ss-Status,
- basicServiceGroupList [2] IMPLICIT BasicServiceGroupList,
- forwardingFeatureList [3] IMPLICIT SEQUENCE ( SIZE( 1 .. 13 ) ) OF
- ForwardingFeatureList,
- genericServiceInfo [4] IMPLICIT SEQUENCE {
- ss-Status Ss-Status,
- cliRestrictionOption [2] IMPLICIT CliRestrictionOption OPTIONAL,
- ... ,
- maximumEntitledPriority [0] IMPLICIT INTEGER ( 0 .. 15 ) OPTIONAL,
- defaultPriority [1] IMPLICIT INTEGER ( 0 .. 15 ) OPTIONAL,
- ccbs-FeatureList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 5 ) ) OF
- SEQUENCE {
- ccbs-Index [0] IMPLICIT INTEGER ( 1 .. 5 ) OPTIONAL,
- b-subscriberNumber [1] IMPLICIT B-subscriberNumber OPTIONAL,
- b-subscriberSubaddress [2] IMPLICIT OCTET STRING ( SIZE( 1 .. 21 ) ) OPTIONAL,
- basicServiceGroup [3] BasicService OPTIONAL,
- ... } OPTIONAL}}
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- bearerServiceNotProvisioned localValue : 10,
--- teleserviceNotProvisioned localValue : 11,
--- callBarred localValue : 13,
--- illegalSS-Operation localValue : 16,
--- ss-NotAvailable localValue : 18}
--- ::= localValue : 14
-
---processUnstructuredSS-Request OPERATION
--- ARGUMENT
-Ussd-Arg ::= SEQUENCE {
- ussd-DataCodingScheme OCTET STRING ( SIZE( 1 ) ),
- ussd-String OCTET STRING ( SIZE( 1 .. 160 ) ),
- ... ,
- alertingPattern OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- msisdn [0] IMPLICIT Msisdn OPTIONAL}
--- RESULT
-Ussd-Res ::= SEQUENCE {
- ussd-DataCodingScheme OCTET STRING ( SIZE( 1 ) ),
- ussd-String OCTET STRING ( SIZE( 1 .. 160 ) ),
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownAlphabet localValue : 71,
--- callBarred localValue : 13}
--- ::= localValue : 59
-
---unstructuredSS-Request OPERATION
--- ARGUMENT
---ussd-Arg ::= SEQUENCE { .. defined elsewhere
--- RESULT
---ussd-Res ::= SEQUENCE { ... defined elsewhere
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- absentSubscriber localValue : 27,
--- illegalSubscriber localValue : 9,
--- illegalEquipment localValue : 12,
--- unknownAlphabet localValue : 71,
--- ussd-Busy localValue : 72}
--- ::= localValue : 60
-
---unstructuredSS-Notify OPERATION
--- ARGUMENT
---ussd-Arg ::= SEQUENCE { .. defined elsewhere
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- absentSubscriber localValue : 27,
--- illegalSubscriber localValue : 9,
--- illegalEquipment localValue : 12,
--- unknownAlphabet localValue : 71,
--- ussd-Busy localValue : 72}
--- ::= localValue : 61
-
---registerPassword OPERATION
--- ARGUMENT
-Ss-Code ::= OCTET STRING
--- RESULT
-NewPassword ::= NumericString (SIZE( 4 ) )
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- callBarred localValue : 13,
--- ss-SubscriptionViolation localValue : 19,
--- pw-RegistrationFailure localValue : 37,
--- negativePW-Check localValue : 38,
--- numberOfPW-AttemptsViolation localValue : 43}
---LINKED {
- -- getPassword localValue : 18}
--- ::= localValue : 17
-
---getPassword OPERATION
--- ARGUMENT
-GetPasswordArg ::= ENUMERATED {
- enterPW ( 0 ),
- enterNewPW ( 1 ),
- enterNewPW-Again ( 2 ) }
--- RESULT
-CurrentPassword ::= NumericString (SIZE( 4 ) )
--- ::= localValue : 18
-
-
-ServiceIndicator ::= BIT STRING {
- clirInvoked (0 ),
- camelInvoked (1 )}
-
---registerCC-Entry OPERATION
--- ARGUMENT
-RegisterCC-EntryArg ::= SEQUENCE {
- ss-Code [0] IMPLICIT Ss-Code,
- ccbs-Data [1] IMPLICIT SEQUENCE {
- ccbs-Feature [0] IMPLICIT Ccbs-Feature,
- translatedB-Number [1] IMPLICIT TranslatedB-Number,
- serviceIndicator [2] IMPLICIT ServiceIndicator OPTIONAL,
- callInfo [3] IMPLICIT Bss-APDU,
- networkSignalInfo [4] IMPLICIT Bss-APDU,
- ... } OPTIONAL,
- ... }
--- RESULT
-RegisterCC-EntryRes ::= SEQUENCE {
- ccbs-Feature [0] IMPLICIT Ccbs-Feature OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- callBarred localValue : 13,
--- illegalSS-Operation localValue : 16,
--- ss-ErrorStatus localValue : 17,
--- ss-Incompatibility localValue : 20,
--- shortTermDenial localValue : 29,
--- longTermDenial localValue : 30,
--- facilityNotSupported localValue : 21}
--- ::= localValue : 76
-
---eraseCC-Entry OPERATION
--- ARGUMENT
-EraseCC-EntryArg ::= SEQUENCE {
- ss-Code [0] IMPLICIT Ss-Code,
- ccbs-Index [1] IMPLICIT INTEGER ( 1 .. 5 ) OPTIONAL,
- ... }
--- RESULT
-EraseCC-EntryRes ::= SEQUENCE {
- ss-Code [0] IMPLICIT Ss-Code,
- ss-Status [1] IMPLICIT Ss-Status OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- callBarred localValue : 13,
--- illegalSS-Operation localValue : 16,
--- ss-ErrorStatus localValue : 17}
--- ::= localValue : 77
-
---sendRoutingInfoForSM OPERATION
--- ARGUMENT
-RoutingInfoForSMArg ::= SEQUENCE {
- msisdn [0] IMPLICIT Msisdn,
- sm-RP-PRI [1] IMPLICIT BOOLEAN,
- serviceCentreAddress [2] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ),
- 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}
--- RESULT
-RoutingInfoForSMRes ::= SEQUENCE {
- imsi Imsi,
- locationInfoWithLMSI [0] IMPLICIT SEQUENCE {
- networkNode-Number [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ),
- lmsi Lmsi OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- gprsNodeIndicator [5] IMPLICIT NULL OPTIONAL,
- additional-Number [6] CHOICE {
- msc-Number [0] IMPLICIT Msc-Number,
- sgsn-Number [1] IMPLICIT Sgsn-Number} OPTIONAL},
- extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- facilityNotSupported localValue : 21,
--- unknownSubscriber localValue : 1,
--- teleserviceNotProvisioned localValue : 11,
--- callBarred localValue : 13,
--- absentsubscriberSM localValue : 6}
--- ::= localValue : 45
-
---mo-forwardSM OPERATION
--- ARGUMENT
-Mo-forwardSM-Arg ::= SEQUENCE {
- sm-RP-DA Sm-RP-DA,
- sm-RP-OA Sm-RP-OA,
- sm-RP-UI OCTET STRING ( SIZE( 1 .. 200 ) ),
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- imsi Imsi OPTIONAL}
--- RESULT
-Mo-forwardSM-Res ::= SEQUENCE {
- sm-RP-UI OCTET STRING ( SIZE( 1 .. 200 ) ) OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- unexpectedDataValue localValue : 36,
--- facilityNotSupported localValue : 21,
--- sm-DeliveryFailure localValue : 32}
--- ::= localValue : 46
-
-Sm-RP-OA ::= CHOICE {
- msisdn [2] IMPLICIT Msisdn,
- serviceCentreAddressOA [4] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ),
- noSM-RP-OA [5] IMPLICIT NULL}
-
-Sm-RP-DA ::= CHOICE {
- imsi [0] IMPLICIT Imsi,
- lmsi [1] IMPLICIT Lmsi,
- serviceCentreAddressDA [4] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ),
- noSM-RP-DA [5] IMPLICIT NULL
-}
---mt-forwardSM OPERATION
--- ARGUMENT
-Mt-forwardSM-Arg ::= SEQUENCE {
- sm-RP-DA Sm-RP-DA,
- sm-RP-OA Sm-RP-OA,
- sm-RP-UI OCTET STRING ( SIZE( 1 .. 200 ) ),
- moreMessagesToSend NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-Mt-forwardSM-Res ::= SEQUENCE {
- sm-RP-UI OCTET STRING ( SIZE( 1 .. 200 ) ) OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- facilityNotSupported localValue : 21,
--- unidentifiedSubscriber localValue : 5,
--- illegalSubscriber localValue : 9,
--- illegalEquipment localValue : 12,
--- subscriberBusyForMT-SMS localValue : 31,
--- sm-DeliveryFailure localValue : 32,
--- absentsubscriberSM localValue : 6}
--- ::= localValue : 44
-
-
-StoredMSISDN ::= Msisdn
-
-
-Sm-DeliveryOutcome ::= ENUMERATED {
- memoryCapacityExceeded ( 0 ),
- absentSubscriber ( 1 ),
- successfulTransfer ( 2 ) }
-
---reportSM-DeliveryStatus OPERATION
--- ARGUMENT
-ReportSM-DeliveryStatusArg ::= SEQUENCE {
- msisdn Msisdn,
- serviceCentreAddress OCTET STRING ( SIZE( 1 .. 20 ) ),
- sm-DeliveryOutcome Sm-DeliveryOutcome,
- absentSubscriberDiagnosticSM [0] IMPLICIT INTEGER ( 0 .. 255 ) OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... ,
- gprsSupportIndicator [2] IMPLICIT NULL OPTIONAL,
- deliveryOutcomeIndicator [3] IMPLICIT NULL OPTIONAL,
- additionalSM-DeliveryOutcome [4] IMPLICIT Sm-DeliveryOutcome OPTIONAL,
- additionalAbsentSubscriberDiagnosticSM [5] IMPLICIT INTEGER ( 0 .. 255 ) OPTIONAL}
--- RESULT
-ReportSM-DeliveryStatusRes ::= SEQUENCE {
- storedMSISDN StoredMSISDN OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1,
--- messageWaitingListFull localValue : 33}
--- ::= localValue : 47
-
---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,
- ... }
--- ::= localValue : 63
-
---alertServiceCentre OPERATION
--- ARGUMENT
-AlertServiceCentreArg ::= SEQUENCE {
- msisdn Msisdn,
- serviceCentreAddress OCTET STRING ( SIZE( 1 .. 20 ) ),
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36}
--- ::= localValue : 64
-
---readyForSM OPERATION
--- ARGUMENT
-ReadyForSM-Arg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi,
- alertReason ENUMERATED {
- msPresent ( 0 ),
- memoryAvailable ( 1 ) },
- alertReasonIndicator NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-ReadyForSM-Res ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- facilityNotSupported localValue : 21,
--- unknownSubscriber localValue : 1}
--- ::= localValue : 66
-
---provideSubscriberInfo OPERATION
--- ARGUMENT
-ProvideSubscriberInfoArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi,
- lmsi [1] IMPLICIT Lmsi OPTIONAL,
- requestedInfo [2] IMPLICIT RequestedInfo,
- extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-ProvideSubscriberInfoRes ::= SEQUENCE {
- subscriberInfo SubscriberInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36}
--- ::= localValue : 70
-RequestedInfo ::= SEQUENCE {
- locationInformation [0] IMPLICIT NULL OPTIONAL,
- subscriberState [1] IMPLICIT NULL OPTIONAL,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
---anyTimeInterrogation OPERATION
--- ARGUMENT
-AnyTimeInterrogationArg ::= SEQUENCE {
- subscriberIdentity [0] CHOICE {
- imsi [0] IMPLICIT Imsi,
- msisdn [1] IMPLICIT Msisdn},
- requestedInfo [1] IMPLICIT RequestedInfo,
- gsmSCF-Address [3] IMPLICIT GsmSCF-Address,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-AnyTimeInterrogationRes ::= SEQUENCE {
- subscriberInfo SubscriberInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- ati-NotAllowed localValue : 49,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1}
--- ::= localValue : 71
-
---ss-InvocationNotification OPERATION
--- ARGUMENT
-Ss-InvocationNotificationArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi,
- msisdn [1] IMPLICIT Msisdn,
- 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,
- ... }
--- RESULT
-Ss-InvocationNotificationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1}
--- ::= localValue : 72
-
---prepareGroupCall OPERATION
--- ARGUMENT
-PrepareGroupCallArg ::= SEQUENCE {
- teleservice Teleservice,
- asciCallReference OCTET STRING ( SIZE( 1 .. 8 ) ),
- codec-Info OCTET STRING ( SIZE( 5 .. 10 ) ),
- cipheringAlgorithm OCTET STRING ( SIZE( 1 ) ),
- groupKeyNumber [0] IMPLICIT INTEGER ( 0 .. 15 ) OPTIONAL,
- groupKey [1] IMPLICIT OCTET STRING ( SIZE( 8 ) ) OPTIONAL,
- priority [2] IMPLICIT INTEGER ( 0 .. 15 ) OPTIONAL,
- uplinkFree [3] IMPLICIT NULL OPTIONAL,
- extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-PrepareGroupCallRes ::= SEQUENCE {
- groupCallNumber OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ),
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- noGroupCallNumberAvailable localValue : 50,
--- unexpectedDataValue localValue : 36}
--- ::= localValue : 39
-
---sendGroupCallEndSignal OPERATION
--- ARGUMENT
-SendGroupCallEndSignalArg ::= SEQUENCE {
- imsi Imsi OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-SendGroupCallEndSignalRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 40
-
---processGroupCallSignalling OPERATION
--- ARGUMENT
-ProcessGroupCallSignallingArg ::= SEQUENCE {
- uplinkRequest [0] IMPLICIT NULL OPTIONAL,
- uplinkReleaseIndication [1] IMPLICIT NULL OPTIONAL,
- releaseGroupCall [2] IMPLICIT NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 41
-
---forwardGroupCallSignalling OPERATION
--- ARGUMENT
-ForwardGroupCallSignallingArg ::= SEQUENCE {
- imsi Imsi OPTIONAL,
- uplinkRequestAck [0] IMPLICIT NULL OPTIONAL,
- uplinkReleaseIndication [1] IMPLICIT NULL OPTIONAL,
- uplinkRejectCommand [2] IMPLICIT NULL OPTIONAL,
- uplinkSeizedCommand [3] IMPLICIT NULL OPTIONAL,
- uplinkReleaseCommand [4] IMPLICIT NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 42
-
---updateGprsLocation OPERATION
--- ARGUMENT
-UpdateGprsLocationArg ::= SEQUENCE {
- imsi Imsi,
- sgsn-Number Sgsn-Number,
- sgsn-Address OCTET STRING ( SIZE( 5 .. 17 ) ),
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- sgsn-Capability [0] IMPLICIT SEQUENCE {
- solsaSupportIndicator NULL OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL}
--- RESULT
-UpdateGprsLocationRes ::= SEQUENCE {
- hlr-Number Hlr-Number,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1,
--- roamingNotAllowed localValue : 8}
--- ::= localValue : 23
-
---sendRoutingInfoForGprs OPERATION
--- ARGUMENT
-SendRoutingInfoForGprsArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi,
- ggsn-Address [1] IMPLICIT Ggsn-Address OPTIONAL,
- ggsn-Number [2] IMPLICIT Ggsn-Number,
- extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-SendRoutingInfoForGprsRes ::= SEQUENCE {
- sgsn-Address [0] IMPLICIT OCTET STRING ( SIZE( 5 .. 17 ) ),
- ggsn-Address [1] IMPLICIT Ggsn-Address OPTIONAL,
- mobileNotReachableReason [2] IMPLICIT INTEGER ( 0 .. 255 ) OPTIONAL,
- extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- absentSubscriber localValue : 27,
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1}
--- ::= localValue : 24
-
-Ggsn-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-Ggsn-Address ::= OCTET STRING ( SIZE( 5 .. 17 ) )
---failureReport OPERATION
--- ARGUMENT
-FailureReportArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi,
- ggsn-Number [1] IMPLICIT Ggsn-Number,
- ggsn-Address [2] IMPLICIT Ggsn-Address OPTIONAL,
- extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-FailureReportRes ::= SEQUENCE {
- ggsn-Address [0] IMPLICIT Ggsn-Address OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1}
--- ::= localValue : 25
-
---noteMsPresentForGprs OPERATION
--- ARGUMENT
-NoteMsPresentForGprsArg ::= SEQUENCE {
- imsi [0] IMPLICIT Imsi,
- sgsn-Address [1] IMPLICIT OCTET STRING ( SIZE( 5 .. 17 ) ),
- ggsn-Address [2] IMPLICIT Ggsn-Address OPTIONAL,
- extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-NoteMsPresentForGprsRes ::= SEQUENCE {
- extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- unknownSubscriber localValue : 1}
--- ::= localValue : 26
-
-LcsClientType ::= ENUMERATED {
- emergencyServices ( 0 ),
- valueAddedServices ( 1 ),
- plmnOperatorServices ( 2 ),
- lawfulInterceptServices ( 3 ),
- ... }
-
-LcsClientExternalID ::= SEQUENCE {
- externalAddress [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
-
-LcsClientInternalID ::= ENUMERATED {
- broadcastService ( 0 ),
- o-andM-HPLMN ( 1 ),
- o-andM-VPLMN ( 2 ),
- anonymousLocation ( 3 ),
- targetMSsubscribedService ( 4 ),
- ... }
-
-LcsClientName ::= SEQUENCE {
- dataCodingScheme [0] IMPLICIT OCTET STRING,
- nameString [2] IMPLICIT OCTET STRING,
- ... }
-
-Lcs-ClientID ::= SEQUENCE {
- lcsClientType [0] IMPLICIT LcsClientType,
- lcsClientExternalID [1] IMPLICIT LcsClientExternalID OPTIONAL,
- lcsClientDialedByMS [2] IMPLICIT OCTET STRING OPTIONAL,
- lcsClientInternalID [3] IMPLICIT LcsClientInternalID OPTIONAL,
- lcsClientName [4] IMPLICIT LcsClientName OPTIONAL,
- ... }
-
-Lcs-Event ::= ENUMERATED {
- emergencyCallOrigination ( 0 ),
- emergencyCallRelease ( 1 ),
- mo-lr ( 2 ),
- ... }
-
-LcsLocationInfo ::= SEQUENCE {
- msc-Number Msc-Number,
- lmsi [0] IMPLICIT Lmsi OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
-
---provideSubscriberLocation OPERATION
--- ARGUMENT
-ProvideSubscriberLocation-Arg ::= SEQUENCE {
- locationType SEQUENCE {
- locationEstimateType [0] IMPLICIT ENUMERATED {
- currentLocation ( 0 ),
- currentOrLastKnownLocation ( 1 ),
- initialLocation ( 2 ),
- ... },
- ... },
- mlc-Number OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ),
- lcs-ClientID [0] IMPLICIT Lcs-ClientID OPTIONAL,
- privacyOverride [1] IMPLICIT NULL OPTIONAL,
- imsi [2] IMPLICIT Imsi OPTIONAL,
- msisdn [3] IMPLICIT Msisdn OPTIONAL,
- lmsi [4] IMPLICIT Lmsi OPTIONAL,
- imei [5] IMPLICIT Imei OPTIONAL,
- lcs-Priority [6] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- lcs-QoS [7] IMPLICIT SEQUENCE {
- horizontal-accuracy [0] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- verticalCoordinateRequest [1] IMPLICIT NULL OPTIONAL,
- vertical-accuracy [2] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
- responseTime [3] IMPLICIT SEQUENCE {
- responseTimeCategory ENUMERATED {
- lowdelay ( 0 ),
- delaytolerant ( 1 ),
- ... },
- ... } OPTIONAL,
- extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL,
- ... } OPTIONAL,
- extensionContainer [8] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-ProvideSubscriberLocation-Res ::= SEQUENCE {
- locationEstimate OCTET STRING ( SIZE( 1 .. 20 ) ),
- ageOfLocationEstimate [0] IMPLICIT INTEGER ( 0 .. 32767 ) OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- facilityNotSupported localValue : 21,
--- unidentifiedSubscriber localValue : 5,
--- illegalSubscriber localValue : 9,
--- illegalEquipment localValue : 12,
--- absentSubscriber localValue : 27,
--- unauthorizedRequestingNetwork localValue : 52,
--- unauthorizedLCSClient localValue : 53,
--- positionMethodFailure localValue : 54}
--- ::= localValue : 83
-
-TargetMS ::= CHOICE {
- imsi [0] IMPLICIT Imsi,
- msisdn [1] IMPLICIT Msisdn}
-
---sendRoutingInfoForLCS OPERATION
--- ARGUMENT
-RoutingInfoForLCS-Arg ::= SEQUENCE {
- mlcNumber [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ),
- targetMS [1] TargetMS,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-RoutingInfoForLCS-Res ::= SEQUENCE {
- targetMS [0] TargetMS,
- lcsLocationInfo [1] IMPLICIT LcsLocationInfo,
- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- facilityNotSupported localValue : 21,
--- unknownSubscriber localValue : 1,
--- absentSubscriber localValue : 27,
--- unauthorizedRequestingNetwork localValue : 52}
--- ::= localValue : 85
-
---subscriberLocationReport OPERATION
--- ARGUMENT
-SubscriberLocationReport-Arg ::= SEQUENCE {
- lcs-Event Lcs-Event,
- lcs-ClientID Lcs-ClientID,
- lcsLocationInfo LcsLocationInfo,
- msisdn [0] IMPLICIT Msisdn OPTIONAL,
- imsi [1] IMPLICIT Imsi OPTIONAL,
- imei [2] IMPLICIT Imei OPTIONAL,
- na-ESRD [3] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL,
- na-ESRK [4] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL,
- locationEstimate [5] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL,
- ageOfLocationEstimate [6] IMPLICIT INTEGER ( 0 .. 32767 ) OPTIONAL,
- extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- RESULT
-SubscriberLocationReport-Res ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ERRORS {
--- systemFailure localValue : 34,
--- dataMissing localValue : 35,
--- unexpectedDataValue localValue : 36,
--- resourceLimitation localValue : 51,
--- unknownSubscriber localValue : 1,
--- unauthorizedRequestingNetwork localValue : 52,
--- unknownOrUnreachableLCSClient localValue : 58}
--- ::= localValue : 86
-
-NetworkResource ::= ENUMERATED {
- plmn ( 0 ),
- hlr ( 1 ),
- vlr ( 2 ),
- pvlr ( 3 ),
- controllingMSC ( 4 ),
- vmsc ( 5 ),
- eir ( 6 ),
- rss ( 7 ) }
-
---systemFailure ERROR
--- PARAMETER
-SystemFailureParam ::= CHOICE {
- networkResource NetworkResource,
- extensibleSystemFailureParam SEQUENCE {
- networkResource NetworkResource OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }}
--- ::= localValue : 34
-
---dataMissing ERROR
--- PARAMETER
-DataMissingParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 35
-
---unexpectedDataValue ERROR
--- PARAMETER
-UnexpectedDataParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 36
-
---facilityNotSupported ERROR
--- PARAMETER
-FacilityNotSupParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 21
-
---incompatibleTerminal ERROR
--- PARAMETER
-IncompatibleTerminalParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 28
-
---resourceLimitation ERROR
--- PARAMETER
-ResourceLimitationParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 51
-
---unknownSubscriber ERROR
--- PARAMETER
-UnknownSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- unknownSubscriberDiagnostic ENUMERATED {
- imsiUnknown ( 0 ),
- gprsSubscriptionUnknown ( 1 ),
- ... } OPTIONAL}
--- ::= localValue : 1
-
---numberChanged ERROR
--- PARAMETER
-NumberChangedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 44
-
---unknownMSC ERROR
--- ::= localValue : 3
-
---unidentifiedSubscriber ERROR
--- PARAMETER
-UnidentifiedSubParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 5
-
---unknownEquipment ERROR
--- ::= localValue : 7
-
---roamingNotAllowed ERROR
--- PARAMETER
-RoamingNotAllowedParam ::= SEQUENCE {
- roamingNotAllowedCause ENUMERATED {
- plmnRoamingNotAllowed ( 0 ),
- operatorDeterminedBarring ( 3 ) },
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 8
-
---illegalSubscriber ERROR
--- PARAMETER
-IllegalSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 9
-
---illegalEquipment ERROR
--- PARAMETER
-IllegalEquipmentParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 12
-
---bearerServiceNotProvisioned ERROR
--- PARAMETER
-BearerServNotProvParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 10
-
---teleserviceNotProvisioned ERROR
--- PARAMETER
-TeleservNotProvParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 11
-
---noHandoverNumberAvailable ERROR
--- ::= localValue : 25
-
---subsequentHandoverFailure ERROR
--- ::= localValue : 26
-
---tracingBufferFull ERROR
--- PARAMETER
-TracingBufferFullParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 40
-
---noRoamingNumberAvailable ERROR
--- PARAMETER
-NoRoamingNbParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 39
-
---absentSubscriber ERROR
--- PARAMETER
-AbsentSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- absentSubscriberReason [0] IMPLICIT ENUMERATED {
- imsiDetach ( 0 ),
- restrictedArea ( 1 ),
- noPageResponse ( 2 ),
- ... } OPTIONAL}
--- ::= localValue : 27
-
---busySubscriber ERROR
--- PARAMETER
-BusySubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- ccbs-Possible [0] IMPLICIT NULL OPTIONAL,
- ccbs-Busy [1] IMPLICIT NULL OPTIONAL}
--- ::= localValue : 45
-
---noSubscriberReply ERROR
--- PARAMETER
-NoSubscriberReplyParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 46
-
---callBarred ERROR
--- PARAMETER
-CallBarredParam ::= CHOICE {
- callBarringCause CallBarringCause,
- extensibleCallBarredParam SEQUENCE {
- callBarringCause CallBarringCause OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- unauthorisedMessageOriginator [1] IMPLICIT NULL OPTIONAL}}
--- ::= localValue : 13
-CallBarringCause ::= ENUMERATED {
- barringServiceActive ( 0 ),
- operatorBarring ( 1 )
-}
-
---forwardingFailed ERROR
--- PARAMETER
-ForwardingFailedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 47
-
---or-NotAllowed ERROR
--- PARAMETER
-Or-NotAllowedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 48
-
---forwardingViolation ERROR
--- PARAMETER
-ForwardingViolationParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 14
-
---cug-Reject ERROR
--- PARAMETER
-Cug-RejectParam ::= SEQUENCE {
- cug-RejectCause ENUMERATED {
- incomingCallsBarredWithinCUG ( 0 ),
- subscriberNotMemberOfCUG ( 1 ),
- requestedBasicServiceViolatesCUG-Constraints ( 5 ),
- calledPartySS-InteractionViolation ( 7 ) } OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 15
-
---ati-NotAllowed ERROR
--- PARAMETER
-Ati-NotAllowedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 49
-
---noGroupCallNumberAvailable ERROR
--- PARAMETER
-NoGroupCallNbParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 50
-
---illegalSS-Operation ERROR
--- ::= localValue : 16
-
---ss-ErrorStatus ERROR
--- PARAMETER
--- Ss-Statis is also declared as OCTET STRING ( SIZE( 1..5 ) ) ???
--- Ss-Status ::= OCTET STRING ( SIZE( 1 ) )
--- ::= localValue : 17
-
---ss-NotAvailable ERROR
--- ::= localValue : 18
-
---ss-SubscriptionViolation ERROR
--- ::= localValue : 19
-
---ss-Incompatibility ERROR
--- PARAMETER
-Ss-IncompatibilityCause ::= SEQUENCE {
- ss-Code [1] IMPLICIT Ss-Code OPTIONAL,
- basicService BasicService OPTIONAL,
- ss-Status [4] IMPLICIT Ss-Status OPTIONAL,
- ... }
--- ::= localValue : 20
-
---unknownAlphabet ERROR
--- ::= localValue : 71
-
---ussd-Busy ERROR
--- ::= localValue : 72
-
---pw-RegistrationFailure ERROR
--- PARAMETER
-Pw-RegistrationFailureCause ::= ENUMERATED {
- undetermined ( 0 ),
- invalidFormat ( 1 ),
- newPasswordsMismatch ( 2 ) }
--- ::= localValue : 37
-
---negativePW-Check ERROR
--- ::= localValue : 38
-
---numberOfPW-AttemptsViolation ERROR
--- ::= localValue : 43
-
---shortTermDenial ERROR
--- PARAMETER
-ShortTermDenialParam ::= SEQUENCE {
- ... }
--- ::= localValue : 29
-
---longTermDenial ERROR
--- PARAMETER
-LongTermDenialParam ::= SEQUENCE {
- ... }
--- ::= localValue : 30
-
---subscriberBusyForMT-SMS ERROR
--- PARAMETER
-SubBusyForMT-SMS-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- gprsConnectionSuspended NULL OPTIONAL}
--- ::= localValue : 31
-
---sm-DeliveryFailure ERROR
--- PARAMETER
-Sm-DeliveryFailureCause ::= SEQUENCE {
- sm-EnumeratedDeliveryFailureCause ENUMERATED {
- memoryCapacityExceeded ( 0 ),
- equipmentProtocolError ( 1 ),
- equipmentNotSM-Equipped ( 2 ),
- unknownServiceCentre ( 3 ),
- sc-Congestion ( 4 ),
- invalidSME-Address ( 5 ),
- subscriberNotSC-Subscriber ( 6 ) },
- diagnosticInfo OCTET STRING ( SIZE( 1 .. 200 ) ) OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 32
-
---messageWaitingListFull ERROR
--- PARAMETER
-MessageWaitListFullParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 33
-
---absentsubscriberSM ERROR
--- PARAMETER
-AbsentSubscriberSM-Param ::= SEQUENCE {
- absentSubscriberDiagnosticSM INTEGER ( 0 .. 255 ) OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- additionalAbsentSubscriberDiagnosticSM [0] IMPLICIT INTEGER ( 0 .. 255 ) OPTIONAL}
--- ::= localValue : 6
-
---unauthorizedRequestingNetwork ERROR
--- PARAMETER
-UnauthorizedRequestingNetwork-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 52
-
---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,
- ... }
--- ::= localValue : 53
-
---positionMethodFailure ERROR
--- PARAMETER
-PositionMethodFailure-Param ::= SEQUENCE {
- positionMethodFailure-Diagnostic [0] IMPLICIT ENUMERATED {
- congestion ( 0 ),
- insufficientResources ( 1 ),
- insufficientMeasurementData ( 2 ),
- inconsistentMeasurementData ( 3 ),
- locationProcedureNotCompleted ( 4 ),
- locationProcedureNotSupportedByTargetMS ( 5 ),
- qoSNotAttainable ( 6 ),
- positionMethodNotAvailableInNetwork ( 7 ),
- positionMethodNotAvailableInLocationArea ( 8 ),
- ... } OPTIONAL,
- extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 54
-
---unknownOrUnreachableLCSClient ERROR
--- PARAMETER
-UnknownOrUnreachableLCSClient-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
--- ::= localValue : 58
-
-ExtensionContainer ::= SEQUENCE {
- privateExtensionList [0] IMPLICIT PrivateExtensionList OPTIONAL,
- pcsExtensions [1] IMPLICIT PcsExtensions OPTIONAL,
- ... }
-
-
-END
-
---
---B.2 Fully Expanded ASN.1 Source of MAP-DialogueInformation
---
--- Expanded ASN1 Module 'MAP-DialogueInformation'
---SIEMENS ASN.1 Compiler R5.70 (Production_5.70)
--- Date: 2003-09-04 Time: 14:14:14
---
---MAP-DialogueInformation{ 0 identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-DialogueInformation (3) version5 (5) }
---
---DEFINITIONS
---
---::=
---
---BEGIN
---
---EXPORTS
--- map-DialogueAS,
--- MAP-DialoguePDU;
---
---
---map-DialogueAS OBJECT IDENTIFIER ::= { ccitt (0) identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) 1 map-DialoguePDU (1) version1 (1) }
---
---MAP-DialoguePDU ::= CHOICE {
--- map-open [0] IMPLICIT SEQUENCE {
--- destinationReference [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL,
--- originationReference [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL,
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
--- map-accept [1] IMPLICIT SEQUENCE {
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
--- map-close [2] IMPLICIT SEQUENCE {
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
--- map-refuse [3] IMPLICIT SEQUENCE {
--- reason ENUMERATED {
--- noReasonGiven ( 0 ),
--- invalidDestinationReference ( 1 ),
--- invalidOriginatingReference ( 2 ) },
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
--- map-userAbort [4] IMPLICIT SEQUENCE {
--- map-UserAbortChoice CHOICE {
--- userSpecificReason [0] IMPLICIT NULL,
--- userResourceLimitation [1] IMPLICIT NULL,
--- resourceUnavailable [2] IMPLICIT ENUMERATED {
--- shortTermResourceLimitation ( 0 ),
--- longTermResourceLimitation ( 1 ) },
--- applicationProcedureCancellation [3] IMPLICIT ENUMERATED {
--- handoverCancellation ( 0 ),
--- radioChannelRelease ( 1 ),
--- networkPathRelease ( 2 ),
--- callRelease ( 3 ),
--- associatedProcedureFailure ( 4 ),
--- tandemDialogueRelease ( 5 ),
--- remoteOperationsFailure ( 6 ) }},
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
--- map-providerAbort [5] IMPLICIT SEQUENCE {
--- map-ProviderAbortReason ENUMERATED {
--- abnormalDialogue ( 0 ),
--- invalidPDU ( 1 ) },
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
---}
--- End Ethereal adaptation
---
---MAP-OpenInfo ::= SEQUENCE {
--- destinationReference [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL,
--- originationReference [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL,
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
---
---MAP-AcceptInfo ::= SEQUENCE {
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
---
---MAP-CloseInfo ::= SEQUENCE {
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
---
---MAP-RefuseInfo ::= SEQUENCE {
--- reason ENUMERATED {
--- noReasonGiven ( 0 ),
--- invalidDestinationReference ( 1 ),
--- invalidOriginatingReference ( 2 ) },
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
---
---Reason ::= ENUMERATED {
--- noReasonGiven ( 0 ),
--- invalidDestinationReference ( 1 ),
--- invalidOriginatingReference ( 2 ) }
---
---MAP-UserAbortInfo ::= SEQUENCE {
--- map-UserAbortChoice CHOICE {
--- userSpecificReason [0] IMPLICIT NULL,
--- userResourceLimitation [1] IMPLICIT NULL,
--- resourceUnavailable [2] IMPLICIT ENUMERATED {
--- shortTermResourceLimitation ( 0 ),
--- longTermResourceLimitation ( 1 ) },
--- applicationProcedureCancellation [3] IMPLICIT ENUMERATED {
--- handoverCancellation ( 0 ),
--- radioChannelRelease ( 1 ),
--- networkPathRelease ( 2 ),
--- callRelease ( 3 ),
--- associatedProcedureFailure ( 4 ),
--- tandemDialogueRelease ( 5 ),
--- remoteOperationsFailure ( 6 ) }},
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
---
---MAP-UserAbortChoice ::= CHOICE {
--- userSpecificReason [0] IMPLICIT NULL,
--- userResourceLimitation [1] IMPLICIT NULL,
--- resourceUnavailable [2] IMPLICIT ENUMERATED {
--- shortTermResourceLimitation ( 0 ),
--- longTermResourceLimitation ( 1 ) },
--- applicationProcedureCancellation [3] IMPLICIT ENUMERATED {
--- handoverCancellation ( 0 ),
--- radioChannelRelease ( 1 ),
--- networkPathRelease ( 2 ),
--- callRelease ( 3 ),
--- associatedProcedureFailure ( 4 ),
--- tandemDialogueRelease ( 5 ),
--- remoteOperationsFailure ( 6 ) }}
---
---ResourceUnavailableReason ::= ENUMERATED {
--- shortTermResourceLimitation ( 0 ),
--- longTermResourceLimitation ( 1 ) }
---
---ProcedureCancellationReason ::= ENUMERATED {
--- handoverCancellation ( 0 ),
--- radioChannelRelease ( 1 ),
--- networkPathRelease ( 2 ),
--- callRelease ( 3 ),
--- associatedProcedureFailure ( 4 ),
--- tandemDialogueRelease ( 5 ),
--- remoteOperationsFailure ( 6 ) }
---
---MAP-ProviderAbortInfo ::= SEQUENCE {
--- map-ProviderAbortReason ENUMERATED {
--- abnormalDialogue ( 0 ),
--- invalidPDU ( 1 ) },
--- ... ,
--- extensionContainer ExtensionContainer OPTIONAL,
---
---MAP-ProviderAbortReason ::= ENUMERATED {
--- abnormalDialogue ( 0 ),
--- invalidPDU ( 1 ) }
---
---
---END
-
+-- Expanded ASN1 Module 'MAP-Protocol' +--SIEMENS ASN.1 Compiler R5.70 (Production_5.70) +-- Date: 2003-09-04 Time: 14:14:00 + +MAP-Protocol{ 0 identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-Protocol (4) version5 (5) } + +DEFINITIONS::= + +BEGIN + + +Bss-APDU ::= SEQUENCE { + protocolId ProtocolId, + signalInfo OCTET STRING ( SIZE( 1 .. 200 ) ), + extensionContainer ExtensionContainer OPTIONAL, + ... } + +SupportedCamelPhases ::= BIT STRING { + phase1 (0 ), + phase2 (1 )} + +Vlr-Capability ::= SEQUENCE { + supportedCamelPhases [0] IMPLICIT SupportedCamelPhases OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + solsaSupportIndicator [2] IMPLICIT NULL OPTIONAL} + +Imsi ::= OCTET STRING +Lmsi ::= OCTET STRING ( SIZE( 4 ) ) +--updateLocation OPERATION +-- ARGUMENT +UpdateLocationArg ::= SEQUENCE { + imsi Imsi, + msc-Number [1] IMPLICIT Msc-Number, + vlr-Number Vlr-Number, + lmsi [10] IMPLICIT Lmsi OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + vlr-Capability [6] IMPLICIT Vlr-Capability OPTIONAL} +-- RESULT +UpdateLocationRes ::= SEQUENCE { + hlr-Number Hlr-Number, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1, +-- roamingNotAllowed localValue : 8} +-- ::= localValue : 2 + +-- Ethereal adaptation +PrivateExtensionList ::= SEQUENCE OF PrivateExtension + +PrivateExtension ::= SEQUENCE { +-- extId MAP-EXTENSION .&extensionId , +-- extType MAP-EXTENSION .&ExtensionType OPTIONAL +--{ @extId } ) OPTIONAL +} + + +PcsExtensions ::= SEQUENCE { + ... + } +Teleservice ::= OCTET STRING ( SIZE( 1 .. 5 ) ) +Msc-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) +-- End Ethereal adaptation + +CancellationType ::= ENUMERATED { + updateProcedure ( 0 ), + subscriptionWithdraw ( 1 ), + ... } + +--cancelLocation OPERATION +-- ARGUMENT +CancelLocationArg ::= [3] IMPLICIT SEQUENCE { + identity CHOICE { + imsi Imsi, + imsi-WithLMSI SEQUENCE { + imsi Imsi, + lmsi Lmsi, + ... }}, + cancellationType CancellationType OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- RESULT +CancelLocationRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36} +-- ::= localValue : 3 + +--purgeMS OPERATION +-- ARGUMENT +PurgeMS-Arg ::= [3] IMPLICIT SEQUENCE { + imsi Imsi, + vlr-Number [0] IMPLICIT Vlr-Number OPTIONAL, + sgsn-Number [1] IMPLICIT Sgsn-Number OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- RESULT +PurgeMS-Res ::= SEQUENCE { + freezeTMSI [0] IMPLICIT NULL OPTIONAL, + freezeP-TMSI [1] IMPLICIT NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1} +-- ::= localValue : 67 + +--sendIdentification OPERATION +-- ARGUMENT +Tmsi ::= OCTET STRING ( SIZE( 1 .. 4 ) ) +-- RESULT +SendIdentificationRes ::= SEQUENCE { + imsi Imsi, + authenticationSetList SEQUENCE ( SIZE( 1 .. 5 ) ) OF + SEQUENCE { + rand OCTET STRING ( SIZE( 16 ) ), + sres OCTET STRING ( SIZE( 4 ) ), + kc OCTET STRING ( SIZE( 8 ) ), + ... } OPTIONAL, + ... } +-- ERRORS { +-- dataMissing localValue : 35, +-- unidentifiedSubscriber localValue : 5} +-- ::= localValue : 55 + +--prepareHandover OPERATION +-- ARGUMENT +PrepareHO-Arg ::= SEQUENCE { + targetCellId OCTET STRING ( SIZE( 5 .. 7 ) ) OPTIONAL, + ho-NumberNotRequired NULL OPTIONAL, + bss-APDU Bss-APDU OPTIONAL, + ... } +-- RESULT +PrepareHO-Res ::= SEQUENCE { + handoverNumber OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL, + bss-APDU Bss-APDU OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- noHandoverNumberAvailable localValue : 25} +-- ::= localValue : 68 +-- Ethereal adaptation -- +ProtocolId ::= ENUMERATED { + gsm-0408 ( 1 ), + gsm-0806 ( 2 ), + gsm-BSSMAP ( 3 ), + ets-300102-1 ( 4 ) +} + +Sgsn-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) +Vlr-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) +-- End Ethereal adaptation -- +--sendEndSignal OPERATION +-- ARGUMENT +--Bss-APDU ::= SEQUENCE { ... defined elsewhere +-- ::= localValue : 29 + +--processAccessSignalling OPERATION +-- ARGUMENT +--Bss-APDU ::= SEQUENCE { ... defined elsewhere +-- ::= localValue : 33 + +--forwardAccessSignalling OPERATION +-- ARGUMENT +--Bss-APDU ::= SEQUENCE { ... defined elsewhere +-- ::= localValue : 34 + +--prepareSubsequentHandover OPERATION +-- ARGUMENT +PrepareSubsequentHO-Arg ::= SEQUENCE { + targetCellId OCTET STRING ( SIZE( 5 .. 7 ) ), + targetMSC-Number OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ), + bss-APDU Bss-APDU, + ... } +-- RESULT +--bss-APDU ::= SEQUENCE { ... defined elsewhere +-- ERRORS { +-- unexpectedDataValue localValue : 36, +-- dataMissing localValue : 35, +-- unknownMSC localValue : 3, +-- subsequentHandoverFailure localValue : 26} +-- ::= localValue : 69 + +--sendAuthenticationInfo OPERATION +-- ARGUMENT +SendAuthenticationInfoArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi, + numberOfRequestedVectors INTEGER ( 1 .. 5 ), + segmentationProhibited NULL OPTIONAL, + immediateResponsePreferred [1] IMPLICIT NULL OPTIONAL, + re-synchronisationInfo SEQUENCE { + rand OCTET STRING ( SIZE (16 ) ), + auts OCTET STRING ( SIZE (14 ) ), + ... } OPTIONAL, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + requestingNodeType [3] IMPLICIT ENUMERATED { + vlr (0 ), + sgsn (1 ), + ... } OPTIONAL, + requestingPLMN-Id [4] IMPLICIT OCTET STRING ( SIZE (3 ) ) OPTIONAL} + +-- RESULT +SendAuthenticationInfoRes ::= SEQUENCE ( SIZE( 1 .. 5 ) ) OF + SEQUENCE { + rand OCTET STRING ( SIZE( 16 ) ), + sres OCTET STRING ( SIZE( 4 ) ), + kc OCTET STRING ( SIZE( 8 ) ), + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1} +-- ::= localValue : 56 + +--checkIMEI OPERATION +-- ARGUMENT +CheckIMEIArg ::= Imei + +Imei ::= OCTET STRING ( SIZE( 8 ) ) +-- RESULT +EquipmentStatus ::= ENUMERATED { + whiteListed ( 0 ), + blackListed ( 1 ), + greyListed ( 2 ) } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unknownEquipment localValue : 7} +-- ::= localValue : 43 + + +OverrideCategory ::= ENUMERATED { + overrideEnabled ( 0 ), + overrideDisabled ( 1 ) } + +BasicService ::= CHOICE { + bearerService [2] IMPLICIT OCTET STRING, + teleservice [3] IMPLICIT Teleservice} + +BasicServiceGroupList ::= SEQUENCE OF BasicService + +IntraCUG-Options ::= ENUMERATED { + noCUG-Restrictions ( 0 ), + cugIC-CallBarred ( 1 ), + cugOG-CallBarred ( 2 ) } + +Odb-GeneralData ::= BIT STRING { + allOGCallsBarred(0), + internationalOGCallsBarred(1), + internationalOGCallsNotToHPLMNCountryBarred(2), + premiumRateInformationOGCallsBarred (3 ), + premiumRateEntertainementOGCallsBarred (4 ), + ssAccessBarred (5 ), + interzonalOGCallsBarred (6 ), + interzonalOGCallsNotToHPLMNCountryBarred (7 ), + interzonalOGCallsAndIntOGCallsNotToHPLMNCountryBarred (8 ), + allECTBarred (9 ), + chargeableECTBarred (10 ), + internationalECTBarred (11 ), + interzonalECTBarred (12 ), + doublyChargeableECTBarred (13 ), + multipleECTBarred (14 )} + +Odb-HPLMN-Data ::= BIT STRING { + plmnSpecificBarringType1 (0 ), + plmnSpecificBarringType2 (1 ), + plmnSpecificBarringType3 (2 ), + plmnSpecificBarringType4 (3 )} + +SubscriberStatus ::= ENUMERATED { + serviceGranted ( 0 ), + operatorDeterminedBarring ( 1 ) } + +BcsmTriggerDetectionPoint ::= ENUMERATED { + collectedInfo ( 2 ), + termAttemptAuthorized ( 12 ), + ... } + +ServiceKey ::= INTEGER ( 0 .. 2147483647 ) + +BcsmCamelTDPData ::= SEQUENCE { + bcsmTriggerDetectionPoint BcsmTriggerDetectionPoint, + serviceKey ServiceKey, + gsmSCFAddress [0] IMPLICIT GsmSCF-Address, + defaultCallHandling [1] IMPLICIT DefaultCallHandling, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } + +BcsmCamelTDPDataList ::= SEQUENCE OF BcsmCamelTDPData + +GsmSCF-Address ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) + +DefaultCallHandling ::= ENUMERATED { + continueCall ( 0 ), + releaseCall ( 1 ), + ... } + +O-CSI ::= SEQUENCE { + o-BcsmCamelTDPDataList BcsmCamelTDPDataList, + extensionContainer ExtensionContainer OPTIONAL, + ... , + camelCapabilityHandling [0] IMPLICIT INTEGER ( 1 .. 16 ) OPTIONAL} + + +Msisdn ::= OCTET STRING + +--insertSubscriberData OPERATION +-- ARGUMENT +InsertSubscriberDataArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi OPTIONAL, + msisdn [1] IMPLICIT Msisdn OPTIONAL, + category [2] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + subscriberStatus [3] IMPLICIT SubscriberStatus OPTIONAL, + bearerServiceList [4] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF + OCTET STRING ( SIZE( 1 .. 5 ) ) OPTIONAL, + teleserviceList [6] IMPLICIT SEQUENCE ( SIZE( 1 .. 20 ) ) OF + Teleservice OPTIONAL, + provisionedSS [7] IMPLICIT SEQUENCE ( SIZE( 1 .. 30 ) ) OF + CHOICE { + forwardingInfo [0] IMPLICIT ForwardingInfo, + callBarringInfo [1] IMPLICIT CallBarringInfo, + cug-Info [2] IMPLICIT SEQUENCE { + cug-SubscriptionList SEQUENCE ( SIZE( 0 .. 10 ) ) OF + SEQUENCE { + cug-Index INTEGER ( 0 .. 32767 ), + cug-Interlock OCTET STRING ( SIZE( 4 ) ), + intraCUG-Options IntraCUG-Options, + basicServiceGroupList BasicServiceGroupList OPTIONAL, + extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL, + ... }, + cug-FeatureList SEQUENCE ( SIZE( 1 .. 32 ) ) OF + SEQUENCE { + basicService BasicService OPTIONAL, + preferentialCUG-Indicator INTEGER ( 0 .. 32767 ) OPTIONAL, + interCUG-Restrictions OCTET STRING ( SIZE( 1 ) ), + extensionContainer ExtensionContainer OPTIONAL, + ... } OPTIONAL, + extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL, + ... }, + ss-Data2 [3] IMPLICIT SEQUENCE { + ss-Code Ss-Code, + ss-Status [4] IMPLICIT Ss-Status, + ss-SubscriptionOption Ss-SubscriptionOption OPTIONAL, + basicServiceGroupList BasicServiceGroupList OPTIONAL, + extensionContainer [5] IMPLICIT ExtensionContainer OPTIONAL, + ... }, + emlpp-Info [4] IMPLICIT SEQUENCE { + maximumentitledPriority INTEGER ( 0 .. 15 ), + defaultPriority INTEGER ( 0 .. 15 ), + extensionContainer ExtensionContainer OPTIONAL, + ... }} OPTIONAL, + odb-Data [8] IMPLICIT SEQUENCE { + odb-GeneralData Odb-GeneralData, + odb-HPLMN-Data Odb-HPLMN-Data OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } OPTIONAL, + roamingRestrictionDueToUnsupportedFeature [9] IMPLICIT NULL OPTIONAL, + regionalSubscriptionData [10] IMPLICIT SEQUENCE ( SIZE( 1 .. 10 ) ) OF + OCTET STRING ( SIZE( 2 ) ) OPTIONAL, + vbsSubscriptionData [11] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF + SEQUENCE { + groupid OCTET STRING ( SIZE( 3 ) ), + broadcastInitEntitlement NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } OPTIONAL, + vgcsSubscriptionData [12] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF + SEQUENCE { + groupId OCTET STRING ( SIZE( 3 ) ), + extensionContainer ExtensionContainer OPTIONAL, + ... } OPTIONAL, + vlrCamelSubscriptionInfo [13] IMPLICIT SEQUENCE { + o-CSI [0] IMPLICIT O-CSI OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... , + ss-CSI [2] IMPLICIT SEQUENCE { + ss-CamelData SEQUENCE { + ss-EventList SEQUENCE ( SIZE( 1 .. 10 ) ) OF + OCTET STRING ( SIZE( 1 ) ), + gsmSCF-Address GsmSCF-Address, + extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL, + ... }, + extensionContainer ExtensionContainer OPTIONAL, + ... } OPTIONAL, + o-BcsmCamelTDP-CriteriaList [4] IMPLICIT O-BcsmCamelTDP-CriteriaList OPTIONAL, + tif-CSI [3] IMPLICIT NULL OPTIONAL} OPTIONAL, + extensionContainer [14] IMPLICIT ExtensionContainer OPTIONAL, + ... , + naea-PreferredCI [15] IMPLICIT Naea-PreferredCI OPTIONAL, + gprsSubscriptionData [16] IMPLICIT SEQUENCE { + completeDataListIncluded NULL OPTIONAL, + gprsDataList [1] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF + SEQUENCE { + pdp-ContextId INTEGER ( 1 .. 50 ), + pdp-Type [16] IMPLICIT OCTET STRING ( SIZE( 2 ) ), + pdp-Address [17] IMPLICIT OCTET STRING ( SIZE( 1 .. 16 ) ) OPTIONAL, + qos-Subscribed [18] IMPLICIT OCTET STRING ( SIZE( 3 ) ), + vplmnAddressAllowed [19] IMPLICIT NULL OPTIONAL, + apn [20] IMPLICIT OCTET STRING ( SIZE( 2 .. 63 ) ), + extensionContainer [21] IMPLICIT ExtensionContainer OPTIONAL, + ... }, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL, + roamingRestrictedInSgsnDueToUnsupportedFeature [23] IMPLICIT NULL OPTIONAL, + networkAccessMode [24] IMPLICIT ENUMERATED { + bothMSCAndSGSN ( 0 ), + onlyMSC ( 1 ), + onlySGSN ( 2 ), + ... } OPTIONAL, + lsaInformation [25] IMPLICIT SEQUENCE { + completeDataListIncluded NULL OPTIONAL, + lsaOnlyAccessIndicator [1] IMPLICIT ENUMERATED { + accessOutsideLSAsAllowed ( 0 ), + accessOutsideLSAsRestricted ( 1 ) } OPTIONAL, + lsaDataList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 20 ) ) OF + SEQUENCE { + lsaIdentity [0] IMPLICIT OCTET STRING ( SIZE( 3 ) ), + lsaAttributes [1] IMPLICIT OCTET STRING ( SIZE( 1 ) ), + lsaActiveModeIndicator [2] IMPLICIT NULL OPTIONAL, + extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL, + extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL, + lmu-Indicator [21] IMPLICIT NULL OPTIONAL, + lcsInformation [22] IMPLICIT SEQUENCE { + gmlc-List [0] IMPLICIT SEQUENCE ( SIZE( 1 .. 5 ) ) OF + OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL, + lcs-PrivacyExceptionList [1] IMPLICIT SEQUENCE ( SIZE( 1 .. 4 ) ) OF + SEQUENCE { + ss-Code Ss-Code, + ss-Status Ss-Status, + notificationToMSUser [0] IMPLICIT NotificationToMSUser OPTIONAL, + externalClientList [1] IMPLICIT SEQUENCE ( SIZE( 0 .. 5 ) ) OF + SEQUENCE { + clientIdentity SEQUENCE { + externalAddress [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... }, + gmlc-Restriction [0] IMPLICIT ENUMERATED { + gmlc-List ( 0 ), + home-Country ( 1 ), + ... } OPTIONAL, + notificationToMSUser [1] IMPLICIT NotificationToMSUser OPTIONAL, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL, + plmnClientList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 5 ) ) OF + ENUMERATED { + broadcastService ( 0 ), + o-andM-HPLMN ( 1 ), + o-andM-VPLMN ( 2 ), + anonymousLocation ( 3 ), + targetMSsubscribedService ( 4 ), + ... } OPTIONAL, + extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL, + molr-List [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 3 ) ) OF + SEQUENCE { + ss-Code Ss-Code, + ss-Status Ss-Status, + extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL, + ... } OPTIONAL} +-- RESULT +InsertSubscriberDataRes ::= SEQUENCE { + teleserviceList [1] IMPLICIT SEQUENCE ( SIZE( 1 .. 20 ) ) OF + Teleservice OPTIONAL, + bearerServiceList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF + OCTET STRING ( SIZE( 1 .. 5 ) ) OPTIONAL, + ss-List [3] IMPLICIT SEQUENCE ( SIZE( 1 .. 30 ) ) OF + OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + odb-GeneralData [4] IMPLICIT Odb-GeneralData OPTIONAL, + regionalSubscriptionResponse [5] IMPLICIT RegionalSubscriptionResponse OPTIONAL, + + supportedCamelPhases [6] IMPLICIT SupportedCamelPhases OPTIONAL, + extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unidentifiedSubscriber localValue : 5} +-- ::= localValue : 7 +-- Ethereal adaptation -- +CliRestrictionOption ::= ENUMERATED { + permanent ( 0 ), + temporaryDefaultRestricted ( 1 ), + temporaryDefaultAllowed ( 2 ) +} + +RegionalSubscriptionResponse ::= ENUMERATED { + networkNodeAreaRestricted ( 0 ), + tooManyZoneCodes ( 1 ), + zoneCodesConflict ( 2 ), + regionalSubscNotSupported ( 3 ) +} +CallTypeCriteria ::= ENUMERATED { + forwarded ( 0 ), + notForwarded ( 1 ) +} +Ss-Status ::= OCTET STRING ( SIZE( 1 .. 5 ) ) +ForwardedToNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) +ForwardedToSubaddress ::= OCTET STRING ( SIZE( 1 .. 21 ) ) + +CallBarringInfo ::= SEQUENCE { + ss-Code Ss-Code, + callBarringFeatureList SEQUENCE ( SIZE( 1 .. 32 ) ) OF + SEQUENCE { + basicService BasicService OPTIONAL, + ss-Status [4] IMPLICIT Ss-Status, + extensionContainer ExtensionContainer OPTIONAL, + ... }, + extensionContainer ExtensionContainer OPTIONAL, + ... } +ForwardingFeatureList ::= SEQUENCE { + basicService BasicService OPTIONAL, + ss-Status [4] IMPLICIT Ss-Status, + forwardedToNumber [5] IMPLICIT ForwardedToNumber OPTIONAL, + forwardedToSubaddress [8] IMPLICIT ForwardedToSubaddress OPTIONAL, + forwardingOptions [6] IMPLICIT ForwardingOptions OPTIONAL, + noReplyConditionTime [7] IMPLICIT INTEGER OPTIONAL, + extensionContainer [9] IMPLICIT ExtensionContainer OPTIONAL, + ... } +NotificationToMSUser ::= ENUMERATED { + notifyLocationAllowed ( 0 ), + notifyAndVerify-LocationAllowedIfNoResponse ( 1 ), + notifyAndVerify-LocationNotAllowedIfNoResponse ( 2 ), + ... } +DestinationNumberCriteria ::= SEQUENCE { + matchType [0] IMPLICIT MatchType, + destinationNumberList [1] IMPLICIT SEQUENCE ( SIZE( 1 .. 10 ) ) OF + OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL, + destinationNumberLengthList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 3 ) ) OF + INTEGER ( 1 .. 15 ) OPTIONAL, + ... } +ForwardingInfo ::= SEQUENCE { + ss-Code Ss-Code, + forwardingFeatureList SEQUENCE ( SIZE( 1 .. 32 ) ) OF ForwardingFeatureList, + extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL, + ... } +Naea-PreferredCI ::= SEQUENCE { + naea-PreferredCIC [0] IMPLICIT OCTET STRING ( SIZE( 3 ) ), + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } + +O-BcsmCamelTDP-CriteriaList ::= SEQUENCE ( SIZE( 1 .. 10 ) ) OF + SEQUENCE { + o-BcsmTriggerDetectionPoint BcsmTriggerDetectionPoint, + destinationNumberCriteria [0] IMPLICIT DestinationNumberCriteria OPTIONAL, + basicServiceCriteria [1] IMPLICIT BasicServiceGroupList OPTIONAL, + callTypeCriteria [2] IMPLICIT CallTypeCriteria OPTIONAL, + ... } +Ss-SubscriptionOption ::= CHOICE { + cliRestrictionOption [2] IMPLICIT CliRestrictionOption, + overrideCategory [1] IMPLICIT OverrideCategory +} +ForwardingOptions ::= OCTET STRING ( SIZE( 1 ) ) +-- noReplyConditionTime [7] IMPLICIT INTEGER ( 1 .. 100 ) OPTIONAL, +-- Changed to no size +-- End Ethereal adaptation -- +--deleteSubscriberData OPERATION +-- ARGUMENT +DeleteSubscriberDataArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi, + basicServiceList [1] IMPLICIT BasicServiceGroupList OPTIONAL, + ss-List [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 30 ) ) OF + OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + roamingRestrictionDueToUnsupportedFeature [4] IMPLICIT NULL OPTIONAL, + regionalSubscriptionIdentifier [5] IMPLICIT OCTET STRING ( SIZE( 2 ) ) OPTIONAL, + vbsGroupIndication [7] IMPLICIT NULL OPTIONAL, + vgcsGroupIndication [8] IMPLICIT NULL OPTIONAL, + camelSubscriptionInfoWithdraw [9] IMPLICIT NULL OPTIONAL, + extensionContainer [6] IMPLICIT ExtensionContainer OPTIONAL, + ... , + gprsSubscriptionDataWithdraw [10] CHOICE { + allGPRSData NULL, + contextIdList SEQUENCE ( SIZE( 1 .. 50 ) ) OF + INTEGER ( 1 .. 50 )} OPTIONAL, + roamingRestrictedInSgsnDueToUnsuppportedFeature [11] IMPLICIT NULL OPTIONAL, + lsaInformationWithdraw [12] CHOICE { + allLSAData NULL, + lsaIdentityList SEQUENCE ( SIZE( 1 .. 20 ) ) OF + OCTET STRING ( SIZE( 3 ) )} OPTIONAL, + gmlc-ListWithdraw [13] IMPLICIT NULL OPTIONAL} +-- RESULT +DeleteSubscriberDataRes ::= SEQUENCE { + regionalSubscriptionResponse [0] IMPLICIT RegionalSubscriptionResponse OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unidentifiedSubscriber localValue : 5} +-- ::= localValue : 8 + +--reset OPERATION +-- ARGUMENT +ResetArg ::= SEQUENCE { + hlr-Number Hlr-Number, + hlr-List SEQUENCE ( SIZE( 1 .. 50 ) ) OF + OCTET STRING ( SIZE( 3 .. 8 ) ) OPTIONAL, + ... } +-- ::= localValue : 37 +Hlr-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) +--forwardCheckSS-Indication OPERATION +-- ::= localValue : 38 + +--restoreData OPERATION +-- ARGUMENT +RestoreDataArg ::= SEQUENCE { + imsi Imsi, + lmsi Lmsi OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + vlr-Capability [6] IMPLICIT Vlr-Capability OPTIONAL} +-- RESULT +RestoreDataRes ::= SEQUENCE { + hlr-Number Hlr-Number, + msNotReachable NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1} +-- ::= localValue : 57 + +--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, + extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +ActivateTraceModeRes ::= SEQUENCE { + extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- facilityNotSupported localValue : 21, +-- unidentifiedSubscriber localValue : 5, +-- tracingBufferFull localValue : 40} +-- ::= localValue : 50 + +--deactivateTraceMode OPERATION +-- ARGUMENT +DeactivateTraceModeArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi OPTIONAL, + traceReference [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 2 ) ), + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +DeactivateTraceModeRes ::= SEQUENCE { + extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- facilityNotSupported localValue : 21, +-- unidentifiedSubscriber localValue : 5} +-- ::= localValue : 51 + +--sendIMSI OPERATION +-- ARGUMENT +--Msisdn ::=defined elsewhere +-- RESULT +--Imsi ::= defined elsewhere +-- ERRORS { +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1} +-- ::= localValue : 58 + +--sendRoutingInfo OPERATION +-- ARGUMENT +SendRoutingInfoArg ::= SEQUENCE { + msisdn [0] IMPLICIT Msisdn, + cug-CheckInfo [1] IMPLICIT Cug-CheckInfo OPTIONAL, + numberOfForwarding [2] IMPLICIT INTEGER ( 1 .. 5 ) OPTIONAL, + interrogationType [3] IMPLICIT ENUMERATED { + basicCall ( 0 ), + forwarding ( 1 ) }, + or-Interrogation [4] IMPLICIT NULL OPTIONAL, + or-Capability [5] IMPLICIT INTEGER ( 1 .. 127 ) OPTIONAL, + gmsc-Address [6] IMPLICIT Gmsc-Address, + callReferenceNumber [7] IMPLICIT OCTET STRING ( SIZE( 1 .. 8 ) ) OPTIONAL, + forwardingReason [8] IMPLICIT ENUMERATED { + notReachable ( 0 ), + busy ( 1 ), + noReply ( 2 ) } OPTIONAL, + basicServiceGroup [9] BasicService OPTIONAL, + networkSignalInfo [10] IMPLICIT Bss-APDU OPTIONAL, + camelInfo [11] IMPLICIT SEQUENCE { + supportedCamelPhases SupportedCamelPhases, + suppress-T-CSI NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } OPTIONAL, + suppressionOfAnnouncement [12] IMPLICIT NULL OPTIONAL, + extensionContainer [13] IMPLICIT ExtensionContainer OPTIONAL, + ... , + alertingPattern [14] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + ccbs-Call [15] IMPLICIT NULL OPTIONAL, + supportedCCBS-Phase [16] IMPLICIT INTEGER ( 1 .. 127 ) OPTIONAL, + additionalSignalInfo [17] IMPLICIT AdditionalSignalInfo OPTIONAL} +-- RESULT +SendRoutingInfoRes ::= [3] IMPLICIT SEQUENCE { + imsi [9] IMPLICIT Imsi OPTIONAL, + extendedRoutingInfo CHOICE { + routingInfo CHOICE { + roamingNumber RoamingNumber, + forwardingData ForwardingData}, + camelRoutingInfo [8] IMPLICIT SEQUENCE { + forwardingData ForwardingData OPTIONAL, + gmscCamelSubscriptionInfo [0] IMPLICIT SEQUENCE { + t-CSI [0] IMPLICIT SEQUENCE { + t-BcsmCamelTDPDataList BcsmCamelTDPDataList, + extensionContainer ExtensionContainer OPTIONAL, + ... , + camelCapabilityHandling [0] IMPLICIT INTEGER ( 1 .. 16 ) OPTIONAL} OPTIONAL, + o-CSI [1] IMPLICIT O-CSI OPTIONAL, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... , + o-BcsmCamelTDP-CriteriaList [3] IMPLICIT O-BcsmCamelTDP-CriteriaList OPTIONAL}, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... }} OPTIONAL, + cug-CheckInfo [3] IMPLICIT Cug-CheckInfo OPTIONAL, + cugSubscriptionFlag [6] IMPLICIT NULL OPTIONAL, + subscriberInfo [7] IMPLICIT SubscriberInfo OPTIONAL, + ss-List [1] IMPLICIT SEQUENCE ( SIZE( 1 .. 30 ) ) OF + OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + basicService [5] BasicService OPTIONAL, + forwardingInterrogationRequired [4] IMPLICIT NULL OPTIONAL, + vmsc-Address [2] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL, + extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL, + ... , + naea-PreferredCI [10] IMPLICIT Naea-PreferredCI OPTIONAL, + ccbs-Indicators [11] IMPLICIT SEQUENCE { + ccbs-Possible [0] IMPLICIT NULL OPTIONAL, + keepCCBS-CallIndicator [1] IMPLICIT NULL OPTIONAL, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL, + msisdn [12] IMPLICIT Msisdn OPTIONAL, + numberPortabilityStatus [13] IMPLICIT ENUMERATED { + notKnownToBePorted ( 0 ), + ownNumberPortedOut ( 1 ), + foreignNumberPortedToForeignNetwork ( 2 ), + ... } OPTIONAL} +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- facilityNotSupported localValue : 21, +-- or-NotAllowed localValue : 48, +-- unknownSubscriber localValue : 1, +-- numberChanged localValue : 44, +-- bearerServiceNotProvisioned localValue : 10, +-- teleserviceNotProvisioned localValue : 11, +-- absentSubscriber localValue : 27, +-- busySubscriber localValue : 45, +-- noSubscriberReply localValue : 46, +-- callBarred localValue : 13, +-- cug-Reject localValue : 15, +-- forwardingViolation localValue : 14} +-- ::= localValue : 22 +MatchType ::= ENUMERATED { + inhibiting ( 0 ), + enabling ( 1 ) +} + +SubscriberState ::= CHOICE { + assumedIdle [0] IMPLICIT NULL, + camelBusy [1] IMPLICIT NULL, +--XXX netDetNotReachable IMPLICIT NetDetNotReachable, + notProvidedFromVLR [2] IMPLICIT NULL +} +NetDetNotReachable ::= ENUMERATED { + msPurged ( 0 ), + imsiDetached ( 1 ), + restrictedArea ( 2 ), + notRegistered ( 3 ) } + +LocationInformation ::= SEQUENCE { + ageOfLocationInformation INTEGER ( 0 .. 32767 ) OPTIONAL, + geographicalInformation [0] IMPLICIT OCTET STRING ( SIZE( 8 ) ) OPTIONAL, + vlr-number [1] IMPLICIT Vlr-Number OPTIONAL, + locationNumber [2] IMPLICIT OCTET STRING ( SIZE( 2 .. 10 ) ) OPTIONAL, + cellIdOrLAI [3] CHOICE { + cellIdFixedLength [0] IMPLICIT OCTET STRING ( SIZE( 7 ) ), + laiFixedLength [1] IMPLICIT OCTET STRING ( SIZE( 5 ) )} OPTIONAL, + extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL, + ... } +SubscriberInfo ::= SEQUENCE { + locationInformation [0] IMPLICIT LocationInformation OPTIONAL, + subscriberState [1] SubscriberState OPTIONAL, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } +RoamingNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) + +AdditionalSignalInfo ::= SEQUENCE { + ext-ProtocolId ENUMERATED { + ets-300356 ( 1 ), + ... }, + signalInfo OCTET STRING ( SIZE( 1 .. 200 ) ), + extensionContainer ExtensionContainer OPTIONAL, + ... } +Cug-CheckInfo ::= SEQUENCE { + cug-Interlock OCTET STRING ( SIZE( 4 ) ), + cug-OutgoingAccess NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +ForwardingData ::= SEQUENCE { + forwardedToNumber [5] IMPLICIT ForwardedToNumber OPTIONAL, + forwardedToSubaddress [4] IMPLICIT ForwardedToSubaddress OPTIONAL, + forwardingOptions [6] IMPLICIT ForwardingOptions OPTIONAL, + extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL, + ... } + +Gmsc-Address ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) + +--provideRoamingNumber OPERATION +-- ARGUMENT +ProvideRoamingNumberArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi, + msc-Number [1] IMPLICIT Msc-Number, + msisdn [2] IMPLICIT Msisdn OPTIONAL, + lmsi [4] IMPLICIT Lmsi OPTIONAL, + gsm-BearerCapability [5] IMPLICIT Bss-APDU OPTIONAL, + networkSignalInfo [6] IMPLICIT Bss-APDU OPTIONAL, + suppressionOfAnnouncement [7] IMPLICIT NULL OPTIONAL, + gmsc-Address [8] IMPLICIT Gmsc-Address OPTIONAL, + callReferenceNumber [9] IMPLICIT OCTET STRING ( SIZE( 1 .. 8 ) ) OPTIONAL, + or-Interrogation [10] IMPLICIT NULL OPTIONAL, + extensionContainer [11] IMPLICIT ExtensionContainer OPTIONAL, + ... , + alertingPattern [12] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + ccbs-Call [13] IMPLICIT NULL OPTIONAL, + supportedCamelPhasesInGMSC [15] IMPLICIT SupportedCamelPhases OPTIONAL, + additionalSignalInfo [14] IMPLICIT AdditionalSignalInfo OPTIONAL, + orNotSupportedInGMSC [16] IMPLICIT NULL OPTIONAL} +-- RESULT +ProvideRoamingNumberRes ::= SEQUENCE { + roamingNumber RoamingNumber, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- facilityNotSupported localValue : 21, +-- or-NotAllowed localValue : 48, +-- absentSubscriber localValue : 27, +-- noRoamingNumberAvailable localValue : 39} +-- ::= localValue : 4 + +--resumeCallHandling OPERATION +-- ARGUMENT +ResumeCallHandlingArg ::= SEQUENCE { + callReferenceNumber [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 8 ) ) OPTIONAL, + basicServiceGroup [1] BasicService OPTIONAL, + forwardingData [2] IMPLICIT ForwardingData OPTIONAL, + imsi [3] IMPLICIT Imsi OPTIONAL, + cug-CheckInfo [4] IMPLICIT Cug-CheckInfo OPTIONAL, + o-CSI [5] IMPLICIT O-CSI OPTIONAL, + extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL, + ccbs-Possible [8] IMPLICIT NULL OPTIONAL, + msisdn [9] IMPLICIT Msisdn OPTIONAL, + uu-Data [10] IMPLICIT SEQUENCE { + uuIndicator [0] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + uui [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 131 ) ) OPTIONAL, + uusCFInteraction [2] IMPLICIT NULL OPTIONAL, + extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL, + allInformationSent [11] IMPLICIT NULL OPTIONAL, + ... } +-- RESULT +ResumeCallHandlingRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- forwardingFailed localValue : 47, +-- or-NotAllowed localValue : 48, +-- unexpectedDataValue localValue : 36, +-- dataMissing localValue : 35} +-- ::= localValue : 6 + +--provideSIWFSNumber OPERATION +-- ARGUMENT +ProvideSIWFSNumberArg ::= SEQUENCE { + gsm-BearerCapability [0] IMPLICIT Bss-APDU, + isdn-BearerCapability [1] IMPLICIT Bss-APDU, + call-Direction [2] IMPLICIT OCTET STRING ( SIZE( 1 ) ), + b-Subscriber-Address [3] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ), + chosenChannel [4] IMPLICIT Bss-APDU, + lowerLayerCompatibility [5] IMPLICIT Bss-APDU OPTIONAL, + highLayerCompatibility [6] IMPLICIT Bss-APDU OPTIONAL, + extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +ProvideSIWFSNumberRes ::= SEQUENCE { + sIWFSNumber [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ), + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- resourceLimitation localValue : 51, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- systemFailure localValue : 34} +-- ::= localValue : 31 + +--sIWFSSignallingModify OPERATION +-- ARGUMENT +SIWFSSignallingModifyArg ::= SEQUENCE { + channelType [0] IMPLICIT Bss-APDU OPTIONAL, + chosenChannel [1] IMPLICIT Bss-APDU OPTIONAL, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +SIWFSSignallingModifyRes ::= SEQUENCE { + chosenChannel [0] IMPLICIT Bss-APDU OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- resourceLimitation localValue : 51, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- systemFailure localValue : 34} +-- ::= localValue : 32 + +Ccbs-Monitoring ::= ENUMERATED { + stopMonitoring ( 0 ), + startMonitoring ( 1 ), + ... } + +--setReportingState OPERATION +-- ARGUMENT +SetReportingStateArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi OPTIONAL, + lmsi [1] IMPLICIT Lmsi OPTIONAL, + ccbs-Monitoring [2] IMPLICIT Ccbs-Monitoring OPTIONAL, + extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +Ccbs-SubscriberStatus ::= ENUMERATED { + ccbsNotIdle ( 0 ), + ccbsIdle ( 1 ), + ccbsNotReachable ( 2 ), + ... } + +SetReportingStateRes ::= SEQUENCE { + ccbs-SubscriberStatus [0] IMPLICIT Ccbs-SubscriberStatus OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- unidentifiedSubscriber localValue : 5, +-- unexpectedDataValue localValue : 36, +-- dataMissing localValue : 35, +-- resourceLimitation localValue : 51, +-- facilityNotSupported localValue : 21} +-- ::= localValue : 73 + +MonitoringMode ::= ENUMERATED { + a-side ( 0 ), + b-side ( 1 ), + ... } + +CallOutcome ::= ENUMERATED { + success ( 0 ), + failure ( 1 ), + busy ( 2 ), + ... } + +--statusReport OPERATION +-- ARGUMENT +StatusReportArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi, + eventReportData [1] IMPLICIT SEQUENCE { + ccbs-SubscriberStatus [0] IMPLICIT Ccbs-SubscriberStatus OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL, + callReportdata [2] IMPLICIT SEQUENCE { + monitoringMode [0] IMPLICIT MonitoringMode OPTIONAL, + callOutcome [1] IMPLICIT CallOutcome OPTIONAL, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL, + extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +StatusReportRes ::= SEQUENCE { + extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- unknownSubscriber localValue : 1, +-- systemFailure localValue : 34, +-- unexpectedDataValue localValue : 36, +-- dataMissing localValue : 35} +-- ::= localValue : 74 + +Ruf-Outcome ::= ENUMERATED { + accepted ( 0 ), + rejected ( 1 ), + noResponseFromFreeMS ( 2 ), + noResponseFromBusyMS ( 3 ), + udubFromFreeMS ( 4 ), + udubFromBusyMS ( 5 ), + ... } + +--remoteUserFree OPERATION +-- ARGUMENT +RemoteUserFreeArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi, + callInfo [1] IMPLICIT Bss-APDU, + ccbs-Feature [2] IMPLICIT Ccbs-Feature, + translatedB-Number [3] IMPLICIT TranslatedB-Number, + replaceB-Number [4] IMPLICIT NULL OPTIONAL, + alertingPattern [5] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + extensionContainer [6] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +RemoteUserFreeRes ::= SEQUENCE { + ruf-Outcome [0] IMPLICIT Ruf-Outcome, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- unexpectedDataValue localValue : 36, +-- dataMissing localValue : 35, +-- incompatibleTerminal localValue : 28, +-- absentSubscriber localValue : 27, +-- systemFailure localValue : 34, +-- busySubscriber localValue : 45} +--ocalValue : 75 +TranslatedB-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) + +Ss-Data ::= SEQUENCE { + ss-Code Ss-Code OPTIONAL, + ss-Status [4] IMPLICIT Ss-Status OPTIONAL, + ss-SubscriptionOption Ss-SubscriptionOption OPTIONAL, + basicServiceGroupList BasicServiceGroupList OPTIONAL, + ... , + defaultPriority INTEGER ( 0 .. 15 ) OPTIONAL} + + +--registerSS OPERATION +-- ARGUMENT +RegisterSS-Arg ::= SEQUENCE { + ss-Code Ss-Code, + basicService BasicService OPTIONAL, + forwardedToNumber [4] IMPLICIT ForwardedToNumber OPTIONAL, + forwardedToSubaddress [6] IMPLICIT ForwardedToSubaddress OPTIONAL, + noReplyConditionTime [5] IMPLICIT INTEGER OPTIONAL, + ... , + defaultPriority [7] IMPLICIT INTEGER ( 0 .. 15 ) OPTIONAL} +-- RESULT +Ss-Info ::= CHOICE { + forwardingInfo [0] IMPLICIT ForwardingInfo, + callBarringInfo [1] IMPLICIT CallBarringInfo, + ss-Data [3] IMPLICIT Ss-Data} +Ccbs-Feature ::= SEQUENCE { + ccbs-Index [0] IMPLICIT INTEGER ( 1 .. 5 ) OPTIONAL, + b-subscriberNumber [1] IMPLICIT B-subscriberNumber OPTIONAL, + b-subscriberSubaddress [2] IMPLICIT OCTET STRING ( SIZE( 1 .. 21 ) ) OPTIONAL, + basicServiceGroup [3] BasicService OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- bearerServiceNotProvisioned localValue : 10, +-- teleserviceNotProvisioned localValue : 11, +-- callBarred localValue : 13, +-- illegalSS-Operation localValue : 16, +-- ss-ErrorStatus localValue : 17, +-- ss-Incompatibility localValue : 20} +-- ::= localValue : 10 + +B-subscriberNumber ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) + +--eraseSS OPERATION +-- ARGUMENT + +Ss-ForBS ::= SEQUENCE { + ss-Code Ss-Code, + basicService BasicService OPTIONAL, + ... } + +-- RESULT +--Ss-Info ::= CHOICE {.. defined elsewhere +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- bearerServiceNotProvisioned localValue : 10, +-- teleserviceNotProvisioned localValue : 11, +-- callBarred localValue : 13, +-- illegalSS-Operation localValue : 16, +-- ss-ErrorStatus localValue : 17} +-- ::= localValue : 11 + +--activateSS OPERATION +-- ARGUMENT +--Ss-ForBS ::= SEQUENCE { defined elsewhere +-- RESULT +--Ss-Info ::= CHOICE {.. defined elsewhere +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- bearerServiceNotProvisioned localValue : 10, +-- teleserviceNotProvisioned localValue : 11, +-- callBarred localValue : 13, +-- illegalSS-Operation localValue : 16, +-- ss-ErrorStatus localValue : 17, +-- ss-SubscriptionViolation localValue : 19, +-- ss-Incompatibility localValue : 20, +-- negativePW-Check localValue : 38, +-- numberOfPW-AttemptsViolation localValue : 43} +-- ::= localValue : 12 + +--deactivateSS OPERATION +-- ARGUMENT +--Ss-ForBS ::= SEQUENCE { defined elsewhere +-- RESULT +--Ss-Info ::= CHOICE {.. defined elsewhere +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- bearerServiceNotProvisioned localValue : 10, +-- teleserviceNotProvisioned localValue : 11, +-- callBarred localValue : 13, +-- illegalSS-Operation localValue : 16, +-- ss-ErrorStatus localValue : 17, +-- ss-SubscriptionViolation localValue : 19, +-- negativePW-Check localValue : 38, +-- numberOfPW-AttemptsViolation localValue : 43} +-- ::= localValue : 13 + +--interrogateSS OPERATION +-- ARGUMENT +--Ss-ForBS ::= SEQUENCE { defined elsewhere +-- RESULT +InterrogateSS-Res ::= CHOICE { + ss-Status [0] IMPLICIT Ss-Status, + basicServiceGroupList [2] IMPLICIT BasicServiceGroupList, + forwardingFeatureList [3] IMPLICIT SEQUENCE ( SIZE( 1 .. 13 ) ) OF + ForwardingFeatureList, + genericServiceInfo [4] IMPLICIT SEQUENCE { + ss-Status Ss-Status, + cliRestrictionOption [2] IMPLICIT CliRestrictionOption OPTIONAL, + ... , + maximumEntitledPriority [0] IMPLICIT INTEGER ( 0 .. 15 ) OPTIONAL, + defaultPriority [1] IMPLICIT INTEGER ( 0 .. 15 ) OPTIONAL, + ccbs-FeatureList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 5 ) ) OF + SEQUENCE { + ccbs-Index [0] IMPLICIT INTEGER ( 1 .. 5 ) OPTIONAL, + b-subscriberNumber [1] IMPLICIT B-subscriberNumber OPTIONAL, + b-subscriberSubaddress [2] IMPLICIT OCTET STRING ( SIZE( 1 .. 21 ) ) OPTIONAL, + basicServiceGroup [3] BasicService OPTIONAL, + ... } OPTIONAL}} +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- bearerServiceNotProvisioned localValue : 10, +-- teleserviceNotProvisioned localValue : 11, +-- callBarred localValue : 13, +-- illegalSS-Operation localValue : 16, +-- ss-NotAvailable localValue : 18} +-- ::= localValue : 14 + +--processUnstructuredSS-Request OPERATION +-- ARGUMENT +Ussd-Arg ::= SEQUENCE { + ussd-DataCodingScheme OCTET STRING ( SIZE( 1 ) ), + ussd-String OCTET STRING ( SIZE( 1 .. 160 ) ), + ... , + alertingPattern OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + msisdn [0] IMPLICIT Msisdn OPTIONAL} +-- RESULT +Ussd-Res ::= SEQUENCE { + ussd-DataCodingScheme OCTET STRING ( SIZE( 1 ) ), + ussd-String OCTET STRING ( SIZE( 1 .. 160 ) ), + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownAlphabet localValue : 71, +-- callBarred localValue : 13} +-- ::= localValue : 59 + +--unstructuredSS-Request OPERATION +-- ARGUMENT +--ussd-Arg ::= SEQUENCE { .. defined elsewhere +-- RESULT +--ussd-Res ::= SEQUENCE { ... defined elsewhere +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- absentSubscriber localValue : 27, +-- illegalSubscriber localValue : 9, +-- illegalEquipment localValue : 12, +-- unknownAlphabet localValue : 71, +-- ussd-Busy localValue : 72} +-- ::= localValue : 60 + +--unstructuredSS-Notify OPERATION +-- ARGUMENT +--ussd-Arg ::= SEQUENCE { .. defined elsewhere +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- absentSubscriber localValue : 27, +-- illegalSubscriber localValue : 9, +-- illegalEquipment localValue : 12, +-- unknownAlphabet localValue : 71, +-- ussd-Busy localValue : 72} +-- ::= localValue : 61 + +--registerPassword OPERATION +-- ARGUMENT +Ss-Code ::= OCTET STRING +-- RESULT +NewPassword ::= NumericString (SIZE( 4 ) ) +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- callBarred localValue : 13, +-- ss-SubscriptionViolation localValue : 19, +-- pw-RegistrationFailure localValue : 37, +-- negativePW-Check localValue : 38, +-- numberOfPW-AttemptsViolation localValue : 43} +--LINKED { + -- getPassword localValue : 18} +-- ::= localValue : 17 + +--getPassword OPERATION +-- ARGUMENT +GetPasswordArg ::= ENUMERATED { + enterPW ( 0 ), + enterNewPW ( 1 ), + enterNewPW-Again ( 2 ) } +-- RESULT +CurrentPassword ::= NumericString (SIZE( 4 ) ) +-- ::= localValue : 18 + + +ServiceIndicator ::= BIT STRING { + clirInvoked (0 ), + camelInvoked (1 )} + +--registerCC-Entry OPERATION +-- ARGUMENT +RegisterCC-EntryArg ::= SEQUENCE { + ss-Code [0] IMPLICIT Ss-Code, + ccbs-Data [1] IMPLICIT SEQUENCE { + ccbs-Feature [0] IMPLICIT Ccbs-Feature, + translatedB-Number [1] IMPLICIT TranslatedB-Number, + serviceIndicator [2] IMPLICIT ServiceIndicator OPTIONAL, + callInfo [3] IMPLICIT Bss-APDU, + networkSignalInfo [4] IMPLICIT Bss-APDU, + ... } OPTIONAL, + ... } +-- RESULT +RegisterCC-EntryRes ::= SEQUENCE { + ccbs-Feature [0] IMPLICIT Ccbs-Feature OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- callBarred localValue : 13, +-- illegalSS-Operation localValue : 16, +-- ss-ErrorStatus localValue : 17, +-- ss-Incompatibility localValue : 20, +-- shortTermDenial localValue : 29, +-- longTermDenial localValue : 30, +-- facilityNotSupported localValue : 21} +-- ::= localValue : 76 + +--eraseCC-Entry OPERATION +-- ARGUMENT +EraseCC-EntryArg ::= SEQUENCE { + ss-Code [0] IMPLICIT Ss-Code, + ccbs-Index [1] IMPLICIT INTEGER ( 1 .. 5 ) OPTIONAL, + ... } +-- RESULT +EraseCC-EntryRes ::= SEQUENCE { + ss-Code [0] IMPLICIT Ss-Code, + ss-Status [1] IMPLICIT Ss-Status OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- callBarred localValue : 13, +-- illegalSS-Operation localValue : 16, +-- ss-ErrorStatus localValue : 17} +-- ::= localValue : 77 + +--sendRoutingInfoForSM OPERATION +-- ARGUMENT +RoutingInfoForSMArg ::= SEQUENCE { + msisdn [0] IMPLICIT Msisdn, + sm-RP-PRI [1] IMPLICIT BOOLEAN, + serviceCentreAddress [2] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ), + 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} +-- RESULT +RoutingInfoForSMRes ::= SEQUENCE { + imsi Imsi, + locationInfoWithLMSI [0] IMPLICIT SEQUENCE { + networkNode-Number [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ), + lmsi Lmsi OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + gprsNodeIndicator [5] IMPLICIT NULL OPTIONAL, + additional-Number [6] CHOICE { + msc-Number [0] IMPLICIT Msc-Number, + sgsn-Number [1] IMPLICIT Sgsn-Number} OPTIONAL}, + extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- facilityNotSupported localValue : 21, +-- unknownSubscriber localValue : 1, +-- teleserviceNotProvisioned localValue : 11, +-- callBarred localValue : 13, +-- absentsubscriberSM localValue : 6} +-- ::= localValue : 45 + +--mo-forwardSM OPERATION +-- ARGUMENT +Mo-forwardSM-Arg ::= SEQUENCE { + sm-RP-DA Sm-RP-DA, + sm-RP-OA Sm-RP-OA, + sm-RP-UI OCTET STRING ( SIZE( 1 .. 200 ) ), + extensionContainer ExtensionContainer OPTIONAL, + ... , + imsi Imsi OPTIONAL} +-- RESULT +Mo-forwardSM-Res ::= SEQUENCE { + sm-RP-UI OCTET STRING ( SIZE( 1 .. 200 ) ) OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- unexpectedDataValue localValue : 36, +-- facilityNotSupported localValue : 21, +-- sm-DeliveryFailure localValue : 32} +-- ::= localValue : 46 + +Sm-RP-OA ::= CHOICE { + msisdn [2] IMPLICIT Msisdn, + serviceCentreAddressOA [4] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ), + noSM-RP-OA [5] IMPLICIT NULL} + +Sm-RP-DA ::= CHOICE { + imsi [0] IMPLICIT Imsi, + lmsi [1] IMPLICIT Lmsi, + serviceCentreAddressDA [4] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ), + noSM-RP-DA [5] IMPLICIT NULL +} +--mt-forwardSM OPERATION +-- ARGUMENT +Mt-forwardSM-Arg ::= SEQUENCE { + sm-RP-DA Sm-RP-DA, + sm-RP-OA Sm-RP-OA, + sm-RP-UI OCTET STRING ( SIZE( 1 .. 200 ) ), + moreMessagesToSend NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- RESULT +Mt-forwardSM-Res ::= SEQUENCE { + sm-RP-UI OCTET STRING ( SIZE( 1 .. 200 ) ) OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- facilityNotSupported localValue : 21, +-- unidentifiedSubscriber localValue : 5, +-- illegalSubscriber localValue : 9, +-- illegalEquipment localValue : 12, +-- subscriberBusyForMT-SMS localValue : 31, +-- sm-DeliveryFailure localValue : 32, +-- absentsubscriberSM localValue : 6} +-- ::= localValue : 44 + + +StoredMSISDN ::= Msisdn + + +Sm-DeliveryOutcome ::= ENUMERATED { + memoryCapacityExceeded ( 0 ), + absentSubscriber ( 1 ), + successfulTransfer ( 2 ) } + +--reportSM-DeliveryStatus OPERATION +-- ARGUMENT +ReportSM-DeliveryStatusArg ::= SEQUENCE { + msisdn Msisdn, + serviceCentreAddress OCTET STRING ( SIZE( 1 .. 20 ) ), + sm-DeliveryOutcome Sm-DeliveryOutcome, + absentSubscriberDiagnosticSM [0] IMPLICIT INTEGER ( 0 .. 255 ) OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... , + gprsSupportIndicator [2] IMPLICIT NULL OPTIONAL, + deliveryOutcomeIndicator [3] IMPLICIT NULL OPTIONAL, + additionalSM-DeliveryOutcome [4] IMPLICIT Sm-DeliveryOutcome OPTIONAL, + additionalAbsentSubscriberDiagnosticSM [5] IMPLICIT INTEGER ( 0 .. 255 ) OPTIONAL} +-- RESULT +ReportSM-DeliveryStatusRes ::= SEQUENCE { + storedMSISDN StoredMSISDN OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1, +-- messageWaitingListFull localValue : 33} +-- ::= localValue : 47 + +--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, + ... } +-- ::= localValue : 63 + +--alertServiceCentre OPERATION +-- ARGUMENT +AlertServiceCentreArg ::= SEQUENCE { + msisdn Msisdn, + serviceCentreAddress OCTET STRING ( SIZE( 1 .. 20 ) ), + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36} +-- ::= localValue : 64 + +--readyForSM OPERATION +-- ARGUMENT +ReadyForSM-Arg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi, + alertReason ENUMERATED { + msPresent ( 0 ), + memoryAvailable ( 1 ) }, + alertReasonIndicator NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- RESULT +ReadyForSM-Res ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- facilityNotSupported localValue : 21, +-- unknownSubscriber localValue : 1} +-- ::= localValue : 66 + +--provideSubscriberInfo OPERATION +-- ARGUMENT +ProvideSubscriberInfoArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi, + lmsi [1] IMPLICIT Lmsi OPTIONAL, + requestedInfo [2] IMPLICIT RequestedInfo, + extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +ProvideSubscriberInfoRes ::= SEQUENCE { + subscriberInfo SubscriberInfo, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36} +-- ::= localValue : 70 +RequestedInfo ::= SEQUENCE { + locationInformation [0] IMPLICIT NULL OPTIONAL, + subscriberState [1] IMPLICIT NULL OPTIONAL, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } +--anyTimeInterrogation OPERATION +-- ARGUMENT +AnyTimeInterrogationArg ::= SEQUENCE { + subscriberIdentity [0] CHOICE { + imsi [0] IMPLICIT Imsi, + msisdn [1] IMPLICIT Msisdn}, + requestedInfo [1] IMPLICIT RequestedInfo, + gsmSCF-Address [3] IMPLICIT GsmSCF-Address, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +AnyTimeInterrogationRes ::= SEQUENCE { + subscriberInfo SubscriberInfo, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- ati-NotAllowed localValue : 49, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1} +-- ::= localValue : 71 + +--ss-InvocationNotification OPERATION +-- ARGUMENT +Ss-InvocationNotificationArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi, + msisdn [1] IMPLICIT Msisdn, + 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, + ... } +-- RESULT +Ss-InvocationNotificationRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1} +-- ::= localValue : 72 + +--prepareGroupCall OPERATION +-- ARGUMENT +PrepareGroupCallArg ::= SEQUENCE { + teleservice Teleservice, + asciCallReference OCTET STRING ( SIZE( 1 .. 8 ) ), + codec-Info OCTET STRING ( SIZE( 5 .. 10 ) ), + cipheringAlgorithm OCTET STRING ( SIZE( 1 ) ), + groupKeyNumber [0] IMPLICIT INTEGER ( 0 .. 15 ) OPTIONAL, + groupKey [1] IMPLICIT OCTET STRING ( SIZE( 8 ) ) OPTIONAL, + priority [2] IMPLICIT INTEGER ( 0 .. 15 ) OPTIONAL, + uplinkFree [3] IMPLICIT NULL OPTIONAL, + extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +PrepareGroupCallRes ::= SEQUENCE { + groupCallNumber OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ), + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- noGroupCallNumberAvailable localValue : 50, +-- unexpectedDataValue localValue : 36} +-- ::= localValue : 39 + +--sendGroupCallEndSignal OPERATION +-- ARGUMENT +SendGroupCallEndSignalArg ::= SEQUENCE { + imsi Imsi OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- RESULT +SendGroupCallEndSignalRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 40 + +--processGroupCallSignalling OPERATION +-- ARGUMENT +ProcessGroupCallSignallingArg ::= SEQUENCE { + uplinkRequest [0] IMPLICIT NULL OPTIONAL, + uplinkReleaseIndication [1] IMPLICIT NULL OPTIONAL, + releaseGroupCall [2] IMPLICIT NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 41 + +--forwardGroupCallSignalling OPERATION +-- ARGUMENT +ForwardGroupCallSignallingArg ::= SEQUENCE { + imsi Imsi OPTIONAL, + uplinkRequestAck [0] IMPLICIT NULL OPTIONAL, + uplinkReleaseIndication [1] IMPLICIT NULL OPTIONAL, + uplinkRejectCommand [2] IMPLICIT NULL OPTIONAL, + uplinkSeizedCommand [3] IMPLICIT NULL OPTIONAL, + uplinkReleaseCommand [4] IMPLICIT NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 42 + +--updateGprsLocation OPERATION +-- ARGUMENT +UpdateGprsLocationArg ::= SEQUENCE { + imsi Imsi, + sgsn-Number Sgsn-Number, + sgsn-Address OCTET STRING ( SIZE( 5 .. 17 ) ), + extensionContainer ExtensionContainer OPTIONAL, + ... , + sgsn-Capability [0] IMPLICIT SEQUENCE { + solsaSupportIndicator NULL OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL} +-- RESULT +UpdateGprsLocationRes ::= SEQUENCE { + hlr-Number Hlr-Number, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1, +-- roamingNotAllowed localValue : 8} +-- ::= localValue : 23 + +--sendRoutingInfoForGprs OPERATION +-- ARGUMENT +SendRoutingInfoForGprsArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi, + ggsn-Address [1] IMPLICIT Ggsn-Address OPTIONAL, + ggsn-Number [2] IMPLICIT Ggsn-Number, + extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +SendRoutingInfoForGprsRes ::= SEQUENCE { + sgsn-Address [0] IMPLICIT OCTET STRING ( SIZE( 5 .. 17 ) ), + ggsn-Address [1] IMPLICIT Ggsn-Address OPTIONAL, + mobileNotReachableReason [2] IMPLICIT INTEGER ( 0 .. 255 ) OPTIONAL, + extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- absentSubscriber localValue : 27, +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1} +-- ::= localValue : 24 + +Ggsn-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) +Ggsn-Address ::= OCTET STRING ( SIZE( 5 .. 17 ) ) +--failureReport OPERATION +-- ARGUMENT +FailureReportArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi, + ggsn-Number [1] IMPLICIT Ggsn-Number, + ggsn-Address [2] IMPLICIT Ggsn-Address OPTIONAL, + extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +FailureReportRes ::= SEQUENCE { + ggsn-Address [0] IMPLICIT Ggsn-Address OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1} +-- ::= localValue : 25 + +--noteMsPresentForGprs OPERATION +-- ARGUMENT +NoteMsPresentForGprsArg ::= SEQUENCE { + imsi [0] IMPLICIT Imsi, + sgsn-Address [1] IMPLICIT OCTET STRING ( SIZE( 5 .. 17 ) ), + ggsn-Address [2] IMPLICIT Ggsn-Address OPTIONAL, + extensionContainer [3] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +NoteMsPresentForGprsRes ::= SEQUENCE { + extensionContainer [0] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- unknownSubscriber localValue : 1} +-- ::= localValue : 26 + +LcsClientType ::= ENUMERATED { + emergencyServices ( 0 ), + valueAddedServices ( 1 ), + plmnOperatorServices ( 2 ), + lawfulInterceptServices ( 3 ), + ... } + +LcsClientExternalID ::= SEQUENCE { + externalAddress [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } + +LcsClientInternalID ::= ENUMERATED { + broadcastService ( 0 ), + o-andM-HPLMN ( 1 ), + o-andM-VPLMN ( 2 ), + anonymousLocation ( 3 ), + targetMSsubscribedService ( 4 ), + ... } + +LcsClientName ::= SEQUENCE { + dataCodingScheme [0] IMPLICIT OCTET STRING, + nameString [2] IMPLICIT OCTET STRING, + ... } + +Lcs-ClientID ::= SEQUENCE { + lcsClientType [0] IMPLICIT LcsClientType, + lcsClientExternalID [1] IMPLICIT LcsClientExternalID OPTIONAL, + lcsClientDialedByMS [2] IMPLICIT OCTET STRING OPTIONAL, + lcsClientInternalID [3] IMPLICIT LcsClientInternalID OPTIONAL, + lcsClientName [4] IMPLICIT LcsClientName OPTIONAL, + ... } + +Lcs-Event ::= ENUMERATED { + emergencyCallOrigination ( 0 ), + emergencyCallRelease ( 1 ), + mo-lr ( 2 ), + ... } + +LcsLocationInfo ::= SEQUENCE { + msc-Number Msc-Number, + lmsi [0] IMPLICIT Lmsi OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } + +--provideSubscriberLocation OPERATION +-- ARGUMENT +ProvideSubscriberLocation-Arg ::= SEQUENCE { + locationType SEQUENCE { + locationEstimateType [0] IMPLICIT ENUMERATED { + currentLocation ( 0 ), + currentOrLastKnownLocation ( 1 ), + initialLocation ( 2 ), + ... }, + ... }, + mlc-Number OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ), + lcs-ClientID [0] IMPLICIT Lcs-ClientID OPTIONAL, + privacyOverride [1] IMPLICIT NULL OPTIONAL, + imsi [2] IMPLICIT Imsi OPTIONAL, + msisdn [3] IMPLICIT Msisdn OPTIONAL, + lmsi [4] IMPLICIT Lmsi OPTIONAL, + imei [5] IMPLICIT Imei OPTIONAL, + lcs-Priority [6] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + lcs-QoS [7] IMPLICIT SEQUENCE { + horizontal-accuracy [0] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + verticalCoordinateRequest [1] IMPLICIT NULL OPTIONAL, + vertical-accuracy [2] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL, + responseTime [3] IMPLICIT SEQUENCE { + responseTimeCategory ENUMERATED { + lowdelay ( 0 ), + delaytolerant ( 1 ), + ... }, + ... } OPTIONAL, + extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL, + ... } OPTIONAL, + extensionContainer [8] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +ProvideSubscriberLocation-Res ::= SEQUENCE { + locationEstimate OCTET STRING ( SIZE( 1 .. 20 ) ), + ageOfLocationEstimate [0] IMPLICIT INTEGER ( 0 .. 32767 ) OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- facilityNotSupported localValue : 21, +-- unidentifiedSubscriber localValue : 5, +-- illegalSubscriber localValue : 9, +-- illegalEquipment localValue : 12, +-- absentSubscriber localValue : 27, +-- unauthorizedRequestingNetwork localValue : 52, +-- unauthorizedLCSClient localValue : 53, +-- positionMethodFailure localValue : 54} +-- ::= localValue : 83 + +TargetMS ::= CHOICE { + imsi [0] IMPLICIT Imsi, + msisdn [1] IMPLICIT Msisdn} + +--sendRoutingInfoForLCS OPERATION +-- ARGUMENT +RoutingInfoForLCS-Arg ::= SEQUENCE { + mlcNumber [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ), + targetMS [1] TargetMS, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +RoutingInfoForLCS-Res ::= SEQUENCE { + targetMS [0] TargetMS, + lcsLocationInfo [1] IMPLICIT LcsLocationInfo, + extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- facilityNotSupported localValue : 21, +-- unknownSubscriber localValue : 1, +-- absentSubscriber localValue : 27, +-- unauthorizedRequestingNetwork localValue : 52} +-- ::= localValue : 85 + +--subscriberLocationReport OPERATION +-- ARGUMENT +SubscriberLocationReport-Arg ::= SEQUENCE { + lcs-Event Lcs-Event, + lcs-ClientID Lcs-ClientID, + lcsLocationInfo LcsLocationInfo, + msisdn [0] IMPLICIT Msisdn OPTIONAL, + imsi [1] IMPLICIT Imsi OPTIONAL, + imei [2] IMPLICIT Imei OPTIONAL, + na-ESRD [3] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL, + na-ESRK [4] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) ) OPTIONAL, + locationEstimate [5] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL, + ageOfLocationEstimate [6] IMPLICIT INTEGER ( 0 .. 32767 ) OPTIONAL, + extensionContainer [7] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- RESULT +SubscriberLocationReport-Res ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ERRORS { +-- systemFailure localValue : 34, +-- dataMissing localValue : 35, +-- unexpectedDataValue localValue : 36, +-- resourceLimitation localValue : 51, +-- unknownSubscriber localValue : 1, +-- unauthorizedRequestingNetwork localValue : 52, +-- unknownOrUnreachableLCSClient localValue : 58} +-- ::= localValue : 86 + +NetworkResource ::= ENUMERATED { + plmn ( 0 ), + hlr ( 1 ), + vlr ( 2 ), + pvlr ( 3 ), + controllingMSC ( 4 ), + vmsc ( 5 ), + eir ( 6 ), + rss ( 7 ) } + +--systemFailure ERROR +-- PARAMETER +SystemFailureParam ::= CHOICE { + networkResource NetworkResource, + extensibleSystemFailureParam SEQUENCE { + networkResource NetworkResource OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... }} +-- ::= localValue : 34 + +--dataMissing ERROR +-- PARAMETER +DataMissingParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 35 + +--unexpectedDataValue ERROR +-- PARAMETER +UnexpectedDataParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 36 + +--facilityNotSupported ERROR +-- PARAMETER +FacilityNotSupParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 21 + +--incompatibleTerminal ERROR +-- PARAMETER +IncompatibleTerminalParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 28 + +--resourceLimitation ERROR +-- PARAMETER +ResourceLimitationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 51 + +--unknownSubscriber ERROR +-- PARAMETER +UnknownSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... , + unknownSubscriberDiagnostic ENUMERATED { + imsiUnknown ( 0 ), + gprsSubscriptionUnknown ( 1 ), + ... } OPTIONAL} +-- ::= localValue : 1 + +--numberChanged ERROR +-- PARAMETER +NumberChangedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 44 + +--unknownMSC ERROR +-- ::= localValue : 3 + +--unidentifiedSubscriber ERROR +-- PARAMETER +UnidentifiedSubParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 5 + +--unknownEquipment ERROR +-- ::= localValue : 7 + +--roamingNotAllowed ERROR +-- PARAMETER +RoamingNotAllowedParam ::= SEQUENCE { + roamingNotAllowedCause ENUMERATED { + plmnRoamingNotAllowed ( 0 ), + operatorDeterminedBarring ( 3 ) }, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 8 + +--illegalSubscriber ERROR +-- PARAMETER +IllegalSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 9 + +--illegalEquipment ERROR +-- PARAMETER +IllegalEquipmentParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 12 + +--bearerServiceNotProvisioned ERROR +-- PARAMETER +BearerServNotProvParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 10 + +--teleserviceNotProvisioned ERROR +-- PARAMETER +TeleservNotProvParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 11 + +--noHandoverNumberAvailable ERROR +-- ::= localValue : 25 + +--subsequentHandoverFailure ERROR +-- ::= localValue : 26 + +--tracingBufferFull ERROR +-- PARAMETER +TracingBufferFullParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 40 + +--noRoamingNumberAvailable ERROR +-- PARAMETER +NoRoamingNbParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 39 + +--absentSubscriber ERROR +-- PARAMETER +AbsentSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... , + absentSubscriberReason [0] IMPLICIT ENUMERATED { + imsiDetach ( 0 ), + restrictedArea ( 1 ), + noPageResponse ( 2 ), + ... } OPTIONAL} +-- ::= localValue : 27 + +--busySubscriber ERROR +-- PARAMETER +BusySubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... , + ccbs-Possible [0] IMPLICIT NULL OPTIONAL, + ccbs-Busy [1] IMPLICIT NULL OPTIONAL} +-- ::= localValue : 45 + +--noSubscriberReply ERROR +-- PARAMETER +NoSubscriberReplyParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 46 + +--callBarred ERROR +-- PARAMETER +CallBarredParam ::= CHOICE { + callBarringCause CallBarringCause, + extensibleCallBarredParam SEQUENCE { + callBarringCause CallBarringCause OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + unauthorisedMessageOriginator [1] IMPLICIT NULL OPTIONAL}} +-- ::= localValue : 13 +CallBarringCause ::= ENUMERATED { + barringServiceActive ( 0 ), + operatorBarring ( 1 ) +} + +--forwardingFailed ERROR +-- PARAMETER +ForwardingFailedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 47 + +--or-NotAllowed ERROR +-- PARAMETER +Or-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 48 + +--forwardingViolation ERROR +-- PARAMETER +ForwardingViolationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 14 + +--cug-Reject ERROR +-- PARAMETER +Cug-RejectParam ::= SEQUENCE { + cug-RejectCause ENUMERATED { + incomingCallsBarredWithinCUG ( 0 ), + subscriberNotMemberOfCUG ( 1 ), + requestedBasicServiceViolatesCUG-Constraints ( 5 ), + calledPartySS-InteractionViolation ( 7 ) } OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 15 + +--ati-NotAllowed ERROR +-- PARAMETER +Ati-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 49 + +--noGroupCallNumberAvailable ERROR +-- PARAMETER +NoGroupCallNbParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 50 + +--illegalSS-Operation ERROR +-- ::= localValue : 16 + +--ss-ErrorStatus ERROR +-- PARAMETER +-- Ss-Statis is also declared as OCTET STRING ( SIZE( 1..5 ) ) ??? +-- Ss-Status ::= OCTET STRING ( SIZE( 1 ) ) +-- ::= localValue : 17 + +--ss-NotAvailable ERROR +-- ::= localValue : 18 + +--ss-SubscriptionViolation ERROR +-- ::= localValue : 19 + +--ss-Incompatibility ERROR +-- PARAMETER +Ss-IncompatibilityCause ::= SEQUENCE { + ss-Code [1] IMPLICIT Ss-Code OPTIONAL, + basicService BasicService OPTIONAL, + ss-Status [4] IMPLICIT Ss-Status OPTIONAL, + ... } +-- ::= localValue : 20 + +--unknownAlphabet ERROR +-- ::= localValue : 71 + +--ussd-Busy ERROR +-- ::= localValue : 72 + +--pw-RegistrationFailure ERROR +-- PARAMETER +Pw-RegistrationFailureCause ::= ENUMERATED { + undetermined ( 0 ), + invalidFormat ( 1 ), + newPasswordsMismatch ( 2 ) } +-- ::= localValue : 37 + +--negativePW-Check ERROR +-- ::= localValue : 38 + +--numberOfPW-AttemptsViolation ERROR +-- ::= localValue : 43 + +--shortTermDenial ERROR +-- PARAMETER +ShortTermDenialParam ::= SEQUENCE { + ... } +-- ::= localValue : 29 + +--longTermDenial ERROR +-- PARAMETER +LongTermDenialParam ::= SEQUENCE { + ... } +-- ::= localValue : 30 + +--subscriberBusyForMT-SMS ERROR +-- PARAMETER +SubBusyForMT-SMS-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... , + gprsConnectionSuspended NULL OPTIONAL} +-- ::= localValue : 31 + +--sm-DeliveryFailure ERROR +-- PARAMETER +Sm-DeliveryFailureCause ::= SEQUENCE { + sm-EnumeratedDeliveryFailureCause ENUMERATED { + memoryCapacityExceeded ( 0 ), + equipmentProtocolError ( 1 ), + equipmentNotSM-Equipped ( 2 ), + unknownServiceCentre ( 3 ), + sc-Congestion ( 4 ), + invalidSME-Address ( 5 ), + subscriberNotSC-Subscriber ( 6 ) }, + diagnosticInfo OCTET STRING ( SIZE( 1 .. 200 ) ) OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 32 + +--messageWaitingListFull ERROR +-- PARAMETER +MessageWaitListFullParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 33 + +--absentsubscriberSM ERROR +-- PARAMETER +AbsentSubscriberSM-Param ::= SEQUENCE { + absentSubscriberDiagnosticSM INTEGER ( 0 .. 255 ) OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ... , + additionalAbsentSubscriberDiagnosticSM [0] IMPLICIT INTEGER ( 0 .. 255 ) OPTIONAL} +-- ::= localValue : 6 + +--unauthorizedRequestingNetwork ERROR +-- PARAMETER +UnauthorizedRequestingNetwork-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 52 + +--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, + ... } +-- ::= localValue : 53 + +--positionMethodFailure ERROR +-- PARAMETER +PositionMethodFailure-Param ::= SEQUENCE { + positionMethodFailure-Diagnostic [0] IMPLICIT ENUMERATED { + congestion ( 0 ), + insufficientResources ( 1 ), + insufficientMeasurementData ( 2 ), + inconsistentMeasurementData ( 3 ), + locationProcedureNotCompleted ( 4 ), + locationProcedureNotSupportedByTargetMS ( 5 ), + qoSNotAttainable ( 6 ), + positionMethodNotAvailableInNetwork ( 7 ), + positionMethodNotAvailableInLocationArea ( 8 ), + ... } OPTIONAL, + extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 54 + +--unknownOrUnreachableLCSClient ERROR +-- PARAMETER +UnknownOrUnreachableLCSClient-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ... } +-- ::= localValue : 58 + +ExtensionContainer ::= SEQUENCE { + privateExtensionList [0] IMPLICIT PrivateExtensionList OPTIONAL, + pcsExtensions [1] IMPLICIT PcsExtensions OPTIONAL, + ... } + + +END + +-- +--B.2 Fully Expanded ASN.1 Source of MAP-DialogueInformation +-- +-- Expanded ASN1 Module 'MAP-DialogueInformation' +--SIEMENS ASN.1 Compiler R5.70 (Production_5.70) +-- Date: 2003-09-04 Time: 14:14:14 +-- +--MAP-DialogueInformation{ 0 identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-DialogueInformation (3) version5 (5) } +-- +--DEFINITIONS +-- +--::= +-- +--BEGIN +-- +--EXPORTS +-- map-DialogueAS, +-- MAP-DialoguePDU; +-- +-- +--map-DialogueAS OBJECT IDENTIFIER ::= { ccitt (0) identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) 1 map-DialoguePDU (1) version1 (1) } +-- +--MAP-DialoguePDU ::= CHOICE { +-- map-open [0] IMPLICIT SEQUENCE { +-- destinationReference [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL, +-- originationReference [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL, +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +-- map-accept [1] IMPLICIT SEQUENCE { +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +-- map-close [2] IMPLICIT SEQUENCE { +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +-- map-refuse [3] IMPLICIT SEQUENCE { +-- reason ENUMERATED { +-- noReasonGiven ( 0 ), +-- invalidDestinationReference ( 1 ), +-- invalidOriginatingReference ( 2 ) }, +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +-- map-userAbort [4] IMPLICIT SEQUENCE { +-- map-UserAbortChoice CHOICE { +-- userSpecificReason [0] IMPLICIT NULL, +-- userResourceLimitation [1] IMPLICIT NULL, +-- resourceUnavailable [2] IMPLICIT ENUMERATED { +-- shortTermResourceLimitation ( 0 ), +-- longTermResourceLimitation ( 1 ) }, +-- applicationProcedureCancellation [3] IMPLICIT ENUMERATED { +-- handoverCancellation ( 0 ), +-- radioChannelRelease ( 1 ), +-- networkPathRelease ( 2 ), +-- callRelease ( 3 ), +-- associatedProcedureFailure ( 4 ), +-- tandemDialogueRelease ( 5 ), +-- remoteOperationsFailure ( 6 ) }}, +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +-- map-providerAbort [5] IMPLICIT SEQUENCE { +-- map-ProviderAbortReason ENUMERATED { +-- abnormalDialogue ( 0 ), +-- invalidPDU ( 1 ) }, +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +--} +-- End Ethereal adaptation +-- +--MAP-OpenInfo ::= SEQUENCE { +-- destinationReference [0] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL, +-- originationReference [1] IMPLICIT OCTET STRING ( SIZE( 1 .. 20 ) ) OPTIONAL, +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +-- +--MAP-AcceptInfo ::= SEQUENCE { +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +-- +--MAP-CloseInfo ::= SEQUENCE { +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +-- +--MAP-RefuseInfo ::= SEQUENCE { +-- reason ENUMERATED { +-- noReasonGiven ( 0 ), +-- invalidDestinationReference ( 1 ), +-- invalidOriginatingReference ( 2 ) }, +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +-- +--Reason ::= ENUMERATED { +-- noReasonGiven ( 0 ), +-- invalidDestinationReference ( 1 ), +-- invalidOriginatingReference ( 2 ) } +-- +--MAP-UserAbortInfo ::= SEQUENCE { +-- map-UserAbortChoice CHOICE { +-- userSpecificReason [0] IMPLICIT NULL, +-- userResourceLimitation [1] IMPLICIT NULL, +-- resourceUnavailable [2] IMPLICIT ENUMERATED { +-- shortTermResourceLimitation ( 0 ), +-- longTermResourceLimitation ( 1 ) }, +-- applicationProcedureCancellation [3] IMPLICIT ENUMERATED { +-- handoverCancellation ( 0 ), +-- radioChannelRelease ( 1 ), +-- networkPathRelease ( 2 ), +-- callRelease ( 3 ), +-- associatedProcedureFailure ( 4 ), +-- tandemDialogueRelease ( 5 ), +-- remoteOperationsFailure ( 6 ) }}, +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +-- +--MAP-UserAbortChoice ::= CHOICE { +-- userSpecificReason [0] IMPLICIT NULL, +-- userResourceLimitation [1] IMPLICIT NULL, +-- resourceUnavailable [2] IMPLICIT ENUMERATED { +-- shortTermResourceLimitation ( 0 ), +-- longTermResourceLimitation ( 1 ) }, +-- applicationProcedureCancellation [3] IMPLICIT ENUMERATED { +-- handoverCancellation ( 0 ), +-- radioChannelRelease ( 1 ), +-- networkPathRelease ( 2 ), +-- callRelease ( 3 ), +-- associatedProcedureFailure ( 4 ), +-- tandemDialogueRelease ( 5 ), +-- remoteOperationsFailure ( 6 ) }} +-- +--ResourceUnavailableReason ::= ENUMERATED { +-- shortTermResourceLimitation ( 0 ), +-- longTermResourceLimitation ( 1 ) } +-- +--ProcedureCancellationReason ::= ENUMERATED { +-- handoverCancellation ( 0 ), +-- radioChannelRelease ( 1 ), +-- networkPathRelease ( 2 ), +-- callRelease ( 3 ), +-- associatedProcedureFailure ( 4 ), +-- tandemDialogueRelease ( 5 ), +-- remoteOperationsFailure ( 6 ) } +-- +--MAP-ProviderAbortInfo ::= SEQUENCE { +-- map-ProviderAbortReason ENUMERATED { +-- abnormalDialogue ( 0 ), +-- invalidPDU ( 1 ) }, +-- ... , +-- extensionContainer ExtensionContainer OPTIONAL, +-- +--MAP-ProviderAbortReason ::= ENUMERATED { +-- abnormalDialogue ( 0 ), +-- invalidPDU ( 1 ) } +-- +-- +--END diff --git a/asn1/gsmmap/gsmmap.cnf b/asn1/gsmmap/gsmmap.cnf index 6e6417d78f..4f907583ff 100644 --- a/asn1/gsmmap/gsmmap.cnf +++ b/asn1/gsmmap/gsmmap.cnf @@ -1,24 +1,22 @@ -# gsm_map.cnf
-# gsm_map conformation file
-
-# $Id: gsm_map.cnf 12205 2004-10-05 09:50:19Z etxrab $
-
-#.MODULE_IMPORT
-
-#.EXPORTS
-
-#.PDU
-
-#.NO_EMIT
-
-#.TYPE_RENAME
-
-#.FIELD_RENAME
-
-#.TYPE_ATTR
-Ss-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals)
-Teleservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
-
-#.END
-
-
+# gsm_map.cnf +# gsm_map conformation file + +# $Id$ + +#.MODULE_IMPORT + +#.EXPORTS + +#.PDU + +#.NO_EMIT + +#.TYPE_RENAME + +#.FIELD_RENAME + +#.TYPE_ATTR +Ss-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals) +Teleservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals) + +#.END diff --git a/asn1/gsmmap/packet-gsm_map-template.c b/asn1/gsmmap/packet-gsm_map-template.c index 369fb03bf2..31484ab272 100644 --- a/asn1/gsmmap/packet-gsm_map-template.c +++ b/asn1/gsmmap/packet-gsm_map-template.c @@ -1,897 +1,896 @@ -/* packet-gsm_map-template.c
- * Routines for GSM MobileApplication packet dissection
- * Copyright 2004, Anders Broman <anders.broman@ericsson.com>
- *
- * $Id: packet-gsm_map_asn1-template.c 12203 2004-10-05 09:18:55Z guy $
- *
- * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@ethereal.com>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * References: ETSI TS 129 002
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <glib.h>
-#include <epan/packet.h>
-#include <epan/conversation.h>
-#include <epan/tap.h>
-
-#include <stdio.h>
-#include <string.h>
-
-#include "packet-ber.h"
-#include "packet-gsm_map.h"
-
-#define PNAME "GSM_MobileAPplication"
-#define PSNAME "GSM_MAP"
-#define PFNAME "gsm_map"
-
-/* Initialize the protocol and registered fields */
-int proto_gsm_map = -1;
-static int hf_gsm_map_invokeCmd = -1; /* Opcode */
-static int hf_gsm_map_invokeid = -1; /* INTEGER */
-static int hf_gsm_map_absent = -1; /* NULL */
-static int hf_gsm_map_invokeId = -1; /* InvokeId */
-static int hf_gsm_map_invoke = -1; /* InvokePDU */
-static int hf_gsm_map_returnResult = -1; /* InvokePDU */
-static int hf_gsm_map_returnResult_result = -1;
-static int hf_gsm_map_getPassword = -1;
-static int hf_gsm_map_currentPassword = -1;
-#include "packet-gsm_map-hf.c"
-
-/* Initialize the subtree pointers */
-static gint ett_gsm_map = -1;
-static gint ett_gsm_map_InvokeId = -1;
-static gint ett_gsm_map_InvokePDU = -1;
-static gint ett_gsm_map_ReturnResultPDU = -1;
-static gint ett_gsm_map_ReturnResult_result = -1;
-static gint ett_gsm_map_GSMMAPPDU = -1;
-static int gsm_map_tap = -1;
-#include "packet-gsm_map-ett.c"
-
-static dissector_table_t sms_dissector_table; /* SMS TPDU */
-
-static int dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset);
-
-#include "packet-gsm_map-fn.c"
-
-/* Stuff included from the "old" packet-gsm_map.c for tapping purposes */
-static gchar *
-my_match_strval(guint32 val, const value_string *vs, gint *idx)
-{
- gint i = 0;
-
- while (vs[i].strptr) {
- if (vs[i].value == val)
- {
- *idx = i;
- return(vs[i].strptr);
- }
-
- i++;
- }
-
- *idx = -1;
- return(NULL);
-}
-/* End includes from old" packet-gsm_map.c */
-
-const value_string gsm_map_opr_code_strings[] = {
- { 2, "updateLocation" },
- { 3, "cancelLocation" },
- { 4, "provideRoamingNumber" },
- { 6, "resumeCallHandling" },
- { 7, "insertSubscriberData" },
- { 8, "deleteSubscriberData" },
- { 9, "sendParameters" }, /* map-ac infoRetrieval (14) version1 (1)*/
- { 10, "registerSS" },
- { 11, "eraseSS" },
- { 12, "activateSS" },
- { 13, "deactivateSS" },
- { 14, "interrogateSS" },
- { 17, "registerPassword" },
- { 18, "getPassword" },
- { 19, "processUnstructuredSS-Data" }, /* map-ac networkFunctionalSs (18) version1 (1) */
- { 22, "sendRoutingInfo" },
- { 23, "updateGprsLocation" },
- { 24, "sendRoutingInfoForGprs" },
- { 25, "failureReport" },
- { 26, "noteMsPresentForGprs" },
- { 28, "performHandover" }, /* map-ac handoverControl (11) version1 (1)*/
- { 29, "sendEndSignal" },
- { 30, "performSubsequentHandover" }, /* map-ac handoverControl (11) version1 (1) */
- { 31, "provideSIWFSNumber" },
- { 32, "sIWFSSignallingModify" },
- { 33, "processAccessSignalling" },
- { 34, "forwardAccessSignalling" },
- { 35, "noteInternalHandover" }, /* map-ac handoverControl (11) version1 (1) */
- { 37, "reset" },
- { 38, "forwardCheckSS-Indication" },
- { 39, "prepareGroupCall" },
- { 40, "sendGroupCallEndSignal" },
- { 41, "processGroupCallSignalling" },
- { 42, "forwardGroupCallSignalling" },
- { 43, "checkIMEI" },
- { 44, "mt-forwardSM" },
- { 45, "sendRoutingInfoForSM" },
- { 46, "mo-forwardSM" },
- { 47, "reportSM-DeliveryStatus" },
- { 48, "noteSubscriberPresent" }, /* map-ac mwdMngt (24) version1 (1) */
- { 49, "alertServiceCentreWithoutResult" }, /* map-ac shortMsgAlert (23) version1 (1) */
- { 50, "activateTraceMode" },
- { 51, "deactivateTraceMode" },
- { 52, "traceSubscriberActivity" }, /* map-ac handoverControl (11) version1 (1) */
- { 54, "beginSubscriberActivity" }, /* map-ac networkFunctionalSs (18) version1 (1) */
- { 55, "sendIdentification" },
- { 56, "sendAuthenticationInfo" },
- { 57, "restoreData" },
- { 58, "sendIMSI" },
- { 59, "processUnstructuredSS-Request" },
- { 60, "unstructuredSS-Request" },
- { 61, "unstructuredSS-Notify" },
- { 63, "informServiceCentre" },
- { 64, "alertServiceCentre" },
- { 66, "readyForSM" },
- { 67, "purgeMS" },
- { 68, "prepareHandover" },
- { 69, "prepareSubsequentHandover" },
- { 70, "provideSubscriberInfo" },
- { 71, "anyTimeInterrogation" },
- { 72, "ss-InvocationNotification" },
- { 73, "setReportingState" },
- { 74, "statusReport" },
- { 75, "remoteUserFree" },
- { 76, "registerCC-Entry" },
- { 77, "eraseCC-Entry" },
- { 83, "provideSubscriberLocation" },
- { 85, "sendRoutingInfoForLCS" },
- { 86, "subscriberLocationReport" },
- { 0, NULL }
-};
-
-static guint32 opcode=0;
-
-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(pinfo, tree, tvb, offset, hf_index, &opcode);
-
- if (check_col(pinfo->cinfo, COL_INFO)){
- col_set_str(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) {
- switch(opcode){
- case 2: /*updateLocation*/
- offset=dissect_gsm_map_UpdateLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 3: /*cancelLocation*/
- offset=dissect_gsm_map_CancelLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 4: /*provideRoamingNumber*/
- offset=dissect_gsm_map_ProvideRoamingNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 6: /*resumeCallHandling*/
- offset=dissect_gsm_map_ResumeCallHandlingArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 7: /*insertSubscriberData*/
- offset=dissect_gsm_map_InsertSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- 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;
- */
- case 10: /*registerSS*/
- offset=dissect_gsm_map_RegisterSS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 11: /*eraseSS*/
- offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 12: /*activateSS*/
- offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 13: /*deactivateSS*/
- offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 14: /*interrogateSS*/
- offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- 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;
- case 22: /*sendRoutingInfo*/
- offset=dissect_gsm_map_SendRoutingInfoForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 23: /*updateGprsLocation*/
- offset=dissect_gsm_map_UpdateGprsLocationArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 24: /*sendRoutingInfoForGprs*/
- offset=dissect_gsm_map_SendRoutingInfoForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 25: /*failureReport*/
- offset=dissect_gsm_map_FailureReportArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 26: /*noteMsPresentForGprs*/
- offset=dissect_gsm_map_NoteMsPresentForGprsArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 29: /*sendEndSignal*/
- offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 31: /*provideSIWFSNumbe*/
- offset=dissect_gsm_map_ProvideSIWFSNumberArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 32: /*sIWFSSignallingModify*/
- offset=dissect_gsm_map_SIWFSSignallingModifyArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 33: /*processAccessSignalling*/
- offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 34: /*forwardAccessSignalling*/
- offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 37: /*reset*/
- offset=dissect_gsm_map_ResetArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 38: /*forwardCheckSS-Indication*/
- return offset;
- break;
- case 39: /*prepareGroupCall*/
- offset=dissect_gsm_map_PrepareGroupCallArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- 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);
- break;
- case 43: /*checkIMEI*/
- offset=dissect_gsm_map_CheckIMEIArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 44: /*mt-forwardSM*/
- offset=dissect_gsm_map_CheckIMEIArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 45: /*sendRoutingInfoForSM*/
- offset=dissect_gsm_map_RoutingInfoForSMRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 46: /*mo-forwardSM*/
- offset=dissect_gsm_map_Mo_forwardSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 47: /*reportSM-DeliveryStatus*/
- offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- 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;
- case 55: /*sendIdentification*/
- offset=dissect_gsm_map_Tmsi(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 56: /*sendAuthenticationInfo*/
- offset=dissect_gsm_map_SendAuthenticationInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 57: /*restoreData*/
- offset=dissect_gsm_map_RestoreDataArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 58: /*sendIMSI*/
- offset=dissect_gsm_map_Msisdn(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 59: /*processUnstructuredSS-Request*/
- offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 60: /*unstructuredSS-Request*/
- offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 61: /*unstructuredSS-Notify*/
- offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 63: /*informServiceCentre*/
- offset=dissect_gsm_map_InformServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 64: /*alertServiceCentre*/
- offset=dissect_gsm_map_AlertServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 66: /*readyForSM*/
- offset=dissect_gsm_map_ReadyForSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 67: /*purgeMS*/
- offset=dissect_gsm_map_PurgeMS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 68: /*prepareHandover*/
- offset=dissect_gsm_map_PrepareHO_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 69: /*prepareSubsequentHandover*/
- offset=dissect_gsm_map_PrepareSubsequentHO_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 70: /*provideSubscriberInfo*/
- offset=dissect_gsm_map_ProvideSubscriberInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 71: /*anyTimeInterrogation*/
- offset=dissect_gsm_map_AnyTimeInterrogationArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 72: /*ss-InvocationNotificatio*/
- offset=dissect_gsm_map_Ss_InvocationNotificationArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 73: /*setReportingState*/
- offset=dissect_gsm_map_SetReportingStateArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 74: /*statusReport*/
- offset=dissect_gsm_map_StatusReportArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 75: /*remoteUserFree*/
- offset=dissect_gsm_map_RemoteUserFreeArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 76: /*registerCC-Entry*/
- offset=dissect_gsm_map_RegisterCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 77: /*eraseCC-Entry*/
- offset=dissect_gsm_map_EraseCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 83: /*provideSubscriberLocation*/
- offset=dissect_gsm_map_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 85: /*sendRoutingInfoForLCS*/
- offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 86: /*subscriberLocationReport*/
- offset=dissect_gsm_map_SubscriberLocationReport_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- default:
- proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
- }
- return offset;
-}
-
-
-static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- switch(opcode){
- case 2: /*updateLocation*/
- offset=dissect_gsm_map_UpdateLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 3: /*cancelLocation*/
- 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);
- break;
- case 6: /*resumeCallHandling*/
- offset=dissect_gsm_map_ResumeCallHandlingRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 7: /*insertSubscriberData*/
- offset=dissect_gsm_map_InsertSubscriberDataRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 8: /*deleteSubscriberData*/
- offset=dissect_gsm_map_DeleteSubscriberDataRes(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;
- */
- case 10: /*registerSS*/
- offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 11: /*eraseSS*/
- offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 12: /*activateSS*/
- offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 13: /*deactivateSS*/
- offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 14: /*interrogateSS*/
- offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 17: /*registerPassword*/
- offset=dissect_gsm_map_NewPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
- break;
- case 18: /*getPassword*/
- offset=dissect_gsm_map_CurrentPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_currentPassword);
- break;
- case 22: /*sendRoutingInfo*/
- offset=dissect_gsm_map_SendRoutingInfoForGprsRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 23: /*updateGprsLocation*/
- offset=dissect_gsm_map_UpdateGprsLocationRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 24: /*sendRoutingInfoForGprs*/
- offset=dissect_gsm_map_SendRoutingInfoForGprsRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 25: /*failureReport*/
- offset=dissect_gsm_map_FailureReportRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 26: /*noteMsPresentForGprs*/
- offset=dissect_gsm_map_NoteMsPresentForGprsRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 29: /*sendEndSignal
- /* Taken from MAP-MobileServiceOperations{ 0 identified-organization (4) etsi (0) mobileDomain
- * (0) gsm-Network (1) modules (3) map-MobileServiceOperations (5) version9 (9) }
- */
- offset=dissect_gsm_map_ExtensionContainer(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 31: /*provideSIWFSNumbe*/
- offset=dissect_gsm_map_ProvideSIWFSNumberRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 32: /*provideSIWFSNumbe*/
- offset=dissect_gsm_map_SIWFSSignallingModifyRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 39: /*prepareGroupCall*/
- offset=dissect_gsm_map_PrepareGroupCallRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 40: /*sendGroupCallEndSignal*/
- dissect_gsm_map_SendGroupCallEndSignalRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 43: /*checkIMEI*/
- offset=dissect_gsm_map_EquipmentStatus(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 45: /*sendRoutingInfoForSM*/
- offset=dissect_gsm_map_RoutingInfoForSMRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 46: /*mo-forwardSM*/
- offset=dissect_gsm_map_Mo_forwardSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 48: /*reportSM-DeliveryStatus*/
- offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 50: /*activateTraceMode*/
- offset=dissect_gsm_map_ActivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 51: /*deactivateTraceMode*/
- offset=dissect_gsm_map_DeactivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 55: /*sendIdentification*/
- offset=dissect_gsm_map_SendIdentificationRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 57: /*restoreData*/
- offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 58: /*sendIMSI*/
- offset=dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 59: /*unstructuredSS-Request*/
- offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 60: /*unstructuredSS-Request*/
- offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 61: /*unstructuredSS-Notify*/
- /* TRUE ? */
- proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
- break;
- case 66: /*readyForSM*/
- offset=dissect_gsm_map_ReadyForSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 67: /*purgeMS*/
- offset=dissect_gsm_map_PurgeMS_Res(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 68: /*prepareHandover*/
- offset=dissect_gsm_map_PrepareHO_Res(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 69: /*prepareSubsequentHandover*/
- offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 70: /*provideSubscriberInfo*/
- offset=dissect_gsm_map_ProvideSubscriberInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 71: /*anyTimeInterrogation*/
- offset=dissect_gsm_map_AnyTimeInterrogationRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 72: /*ss-InvocationNotificatio*/
- offset=dissect_gsm_map_Ss_InvocationNotificationRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 73: /*setReportingState*/
- offset=dissect_gsm_map_SetReportingStateRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 74: /*statusReport*/
- offset=dissect_gsm_map_StatusReportRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 75: /*remoteUserFree*/
- offset=dissect_gsm_map_RemoteUserFreeRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 76: /*registerCC-Entry*/
- offset=dissect_gsm_map_RegisterCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 77: /*eraseCC-Entry*/
- offset=dissect_gsm_map_EraseCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 83: /*provideSubscriberLocation*/
- offset=dissect_gsm_map_ProvideSubscriberLocation_Res(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 85: /*sendRoutingInfoForLCS*/
- offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- case 86: /*subscriberLocationReport*/
- offset=dissect_gsm_map_SubscriberLocationReport_Res(FALSE, tvb, offset, pinfo, tree, -1);
- break;
- default:
- proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
- }
- return offset;
-}
-
-static int
-dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_gsm_map_Opcode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeCmd);
-}
-
-static int dissect_invokeid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_ber_integer(pinfo, tree, tvb, offset, hf_gsm_map_invokeid, NULL);
-}
-
-
-static const value_string InvokeId_vals[] = {
- { 0, "invokeid" },
- { 1, "absent" },
- { 0, NULL }
-};
-
-static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_absent);
-}
-
-
-static const ber_choice InvokeId_choice[] = {
- { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeid },
- { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent },
- { 0, 0, 0, 0, NULL }
-};
-
-static int
-dissect_gsm_map_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
- offset = dissect_ber_choice(pinfo, tree, tvb, offset,
- InvokeId_choice, hf_index, ett_gsm_map_InvokeId);
-
- return offset;
-}
-static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_gsm_map_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeId);
-}
-
-static const ber_sequence InvokePDU_sequence[] = {
- { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
- { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
- { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeData },
- { 0, 0, 0, NULL }
-};
-
-static int
-dissect_gsm_map_InvokePDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
- offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- InvokePDU_sequence, hf_index, ett_gsm_map_InvokePDU);
-
- return offset;
-}
-static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_gsm_map_InvokePDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_invoke);
-}
-
-static const ber_sequence ReturnResult_result_sequence[] = {
- { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
- { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_returnResultData },
- { 0, 0, 0, NULL }
-};
-static int
-dissect_returnResult_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- offset = dissect_ber_sequence(FALSE, pinfo, tree, tvb, offset,
- ReturnResult_result_sequence, hf_gsm_map_returnResult_result, ett_gsm_map_ReturnResult_result);
-
- return offset;
-}
-
-static const ber_sequence ReturnResultPDU_sequence[] = {
- { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
- { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_returnResult_result },
- { 0, 0, 0, NULL }
-};
-
-static int
-dissect_gsm_map_returnResultPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
- offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- ReturnResultPDU_sequence, hf_index, ett_gsm_map_ReturnResultPDU);
-
- return offset;
-}
-static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_gsm_map_returnResultPDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnResult);
-}
-
-static const value_string GSMMAPPDU_vals[] = {
- { 1, "invoke" },
- { 2, "returnResult" },
- { 3, "returnError" },
- { 4, "reject" },
- { 0, NULL }
-};
-
-static const ber_choice GSMMAPPDU_choice[] = {
- { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
- { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl },
-#ifdef REMOVED
- { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
- { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
-#endif
- { 0, 0, 0, 0, NULL }
-};
-
-static guint8 gsmmap_pdu_type = 0;
-static guint8 gsm_map_pdu_size = 0;
-
-static int
-dissect_gsm_map_GSMMAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
-
- gsmmap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
- /* Get the length and add 2 */
- gsm_map_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
-
- offset = dissect_ber_choice(pinfo, tree, tvb, offset,
- GSMMAPPDU_choice, hf_index, ett_gsm_map_GSMMAPPDU);
-
- if (check_col(pinfo->cinfo, COL_INFO)){
- col_prepend_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, gsm_map_opr_code_strings, "Unknown GSM-MAP (%u)"));
- }
-
- return offset;
-}
-
-
-
-
-static void
-dissect_gsm_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
-{
- proto_item *item=NULL;
- proto_tree *tree=NULL;
- /* Used for gsm_map TAP */
- static gsm_map_tap_rec_t tap_rec;
- gint op_idx;
- gchar *str = NULL;
-
-
- if (check_col(pinfo->cinfo, COL_PROTOCOL))
- {
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP");
- }
-
- /* create display subtree for the protocol */
- if(parent_tree){
- item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, FALSE);
- tree = proto_item_add_subtree(item, ett_gsm_map);
- }
-
- dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, pinfo, tree, -1);
- str = my_match_strval(opcode, gsm_map_opr_code_strings, &op_idx);
-
- tap_rec.invoke = FALSE;
- if ( gsmmap_pdu_type == 1 )
- tap_rec.invoke = TRUE;
- tap_rec.opr_code_idx = op_idx;
- tap_rec.size = gsm_map_pdu_size;
- tap_queue_packet(gsm_map_tap, pinfo, &tap_rec);
-
-
-
-}
-
-static const value_string ssCode_vals[] = {
- { 0x00, "allSS - all SS" },
- { 0x10 ,"allLineIdentificationSS - all line identification SS" },
- { 0x11 ,"clip - calling line identification presentation" },
- { 0x12 ,"clir - calling line identification restriction" },
- { 0x13 ,"colp - connected line identification presentation" },
- { 0x14 ,"colr - connected line identification restriction" },
- { 0x15 ,"mci - malicious call identification" },
- { 0x18 ,"allNameIdentificationSS - all name indentification SS" },
- { 0x19 ,"cnap - calling name presentation" },
- { 0x20 ,"allForwardingSS - all forwarding SS" },
- { 0x21 ,"cfu - call forwarding unconditional" },
- { 0x28 ,"allCondForwardingSS - all conditional forwarding SS" },
- { 0x29 ,"cfb - call forwarding busy" },
- { 0x2a ,"cfnry - call forwarding on no reply" },
- { 0x2b ,"cfnrc - call forwarding on mobile subscriber not reachable" },
- { 0x24 ,"cd - call deflection" },
- { 0x30 ,"allCallOfferingSS - all call offering SS includes also all forwarding SS" },
- { 0x31 ,"ect - explicit call transfer" },
- { 0x32 ,"mah - mobile access hunting" },
- { 0x40 ,"allCallCompletionSS - all Call completion SS" },
- { 0x41 ,"cw - call waiting" },
- { 0x42 ,"hold - call hold" },
- { 0x43 ,"ccbs-A - completion of call to busy subscribers, originating side" },
- { 0x44 ,"ccbs-B - completion of call to busy subscribers, destination side" },
- { 0x45 ,"mc - multicall" },
- { 0x50 ,"allMultiPartySS - all multiparty SS" },
- { 0x51 ,"multiPTY - multiparty" },
- { 0x60 ,"allCommunityOfInterestSS - all community of interest SS" },
- { 0x61 ,"cug - closed user group" },
- { 0x70 ,"allChargingSS - all charging SS" },
- { 0x71 ,"aoci - advice of charge information" },
- { 0x72 ,"aocc - advice of charge charging" },
- { 0x80 ,"allAdditionalInfoTransferSS - all additional information transfer SS" },
- { 0x81 ,"uus1 - UUS1 user-to-user signalling" },
- { 0x82 ,"uus2 - UUS2 user-to-user signalling" },
- { 0x83 ,"uus3 - UUS3 user-to-user signalling" },
- { 0x90 ,"allCallRestrictionSS - all Callrestriction SS" },
- { 0x91 ,"barringOfOutgoingCalls" },
- { 0x92 ,"baoc - barring of all outgoing calls" },
- { 0x93 ,"boic - barring of outgoing international calls" },
- { 0x94 ,"boicExHC - barring of outgoing international calls except those directed to the home PLMN" },
- { 0x99 ,"barringOfIncomingCalls" },
- { 0x9a ,"baic - barring of all incoming calls" },
- { 0x9b ,"bicRoam - barring of incoming calls when roaming outside home PLMN Country" },
- { 0xf0 ,"allPLMN-specificSS" },
- { 0xa0 ,"allCallPrioritySS - all call priority SS" },
- { 0xa1 ,"emlpp - enhanced Multilevel Precedence Pre-emption (EMLPP) service" },
- { 0xb0 ,"allLCSPrivacyException - all LCS Privacy Exception Classes" },
- { 0xb1 ,"universal - allow location by any LCS client" },
- { 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" },
- { 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" },
- { 0xc3 ,"transferToThirdParty - allow an MS to request transfer of its location to another LCS client" },
-
- { 0xf1 ,"plmn-specificSS-1" },
- { 0xf2 ,"plmn-specificSS-2" },
- { 0xf3 ,"plmn-specificSS-3" },
- { 0xf4 ,"plmn-specificSS-4" },
- { 0xf5 ,"plmn-specificSS-5" },
- { 0xf6 ,"plmn-specificSS-6" },
- { 0xf7 ,"plmn-specificSS-7" },
- { 0xf8 ,"plmn-specificSS-8" },
- { 0xf9 ,"plmn-specificSS-9" },
- { 0xfa ,"plmn-specificSS-a" },
- { 0xfb ,"plmn-specificSS-b" },
- { 0xfc ,"plmn-specificSS-c" },
- { 0xfd ,"plmn-specificSS-d" },
- { 0xfe ,"plmn-specificSS-e" },
- { 0xff ,"plmn-specificSS-f" },
- { 0, NULL }
-};
-
-static const value_string Teleservice_vals[] = {
-{0x00, "allTeleservices" },
-{0x10, "allSpeechTransmissionServices" },
-{0x11, "telephony" },
-{0x12, "emergencyCalls" },
-{0x20, "allShortMessageServices" },
-{0x21, "shortMessageMT-PP" },
-{0x22, "shortMessageMO-PP" },
-{0x60, "allFacsimileTransmissionServices" },
-{0x61, "facsimileGroup3AndAlterSpeech" },
-{0x62, "automaticFacsimileGroup3" },
-{0x63, "facsimileGroup4" },
-
-{0x70, "allDataTeleservices" },
-{0x80, "allTeleservices-ExeptSMS" },
-
-{0x90, "allVoiceGroupCallServices" },
-{0x91, "voiceGroupCall" },
-{0x92, "voiceBroadcastCall" },
-
-{0xd0, "allPLMN-specificTS" },
-{0xd1, "plmn-specificTS-1" },
-{0xd2, "plmn-specificTS-2" },
-{0xd3, "plmn-specificTS-3" },
-{0xd4, "plmn-specificTS-4" },
-{0xd5, "plmn-specificTS-5" },
-{0xd6, "plmn-specificTS-6" },
-{0xd7, "plmn-specificTS-7" },
-{0xd8, "plmn-specificTS-8" },
-{0xd9, "plmn-specificTS-9" },
-{0xda, "plmn-specificTS-A" },
-{0xdb, "plmn-specificTS-B" },
-{0xdc, "plmn-specificTS-C" },
-{0xdd, "plmn-specificTS-D" },
-{0xde, "plmn-specificTS-E" },
-{0xdf, "plmn-specificTS-F" },
- { 0, NULL }
-};
-
-/*--- proto_register_gsm_map -------------------------------------------*/
-void proto_register_gsm_map(void) {
-
- /* List of fields */
- static hf_register_info hf[] = {
- { &hf_gsm_map_invokeCmd,
- { "invokeCmd", "gsm_map.invokeCmd",
- FT_UINT32, BASE_DEC, VALS(gsm_map_opr_code_strings), 0,
- "InvokePDU/invokeCmd", HFILL }},
- { &hf_gsm_map_invokeid,
- { "invokeid", "gsm_map.invokeid",
- FT_INT32, BASE_DEC, NULL, 0,
- "InvokeId/invokeid", HFILL }},
- { &hf_gsm_map_absent,
- { "absent", "gsm_map.absent",
- FT_NONE, BASE_NONE, NULL, 0,
- "InvokeId/absent", HFILL }},
- { &hf_gsm_map_invokeId,
- { "invokeId", "gsm_map.invokeId",
- FT_UINT32, BASE_DEC, VALS(InvokeId_vals), 0,
- "InvokePDU/invokeId", HFILL }},
- { &hf_gsm_map_currentPassword,
- { "currentPassword", "gsm_map.currentPassword",
- FT_STRING, BASE_NONE, NULL, 0,
- "", HFILL }},
- { &hf_gsm_map_invoke,
- { "invoke", "gsm_map.invoke",
- FT_NONE, BASE_NONE, NULL, 0,
- "GSMMAPPDU/invoke", HFILL }},
- { &hf_gsm_map_returnResult,
- { "returnResult", "gsm_map.returnResult",
- FT_NONE, BASE_NONE, NULL, 0,
- "GSMMAPPDU/returnResult", HFILL }},
- { &hf_gsm_map_getPassword,
- { "Password", "gsm_map.password",
- FT_UINT8, BASE_DEC, VALS(GetPasswordArg_vals), 0,
- "Password", HFILL }},
-
-
-#include "packet-gsm_map-hfarr.c"
- };
-
- /* List of subtrees */
- static gint *ett[] = {
- &ett_gsm_map,
- &ett_gsm_map_InvokeId,
- &ett_gsm_map_InvokePDU,
- &ett_gsm_map_ReturnResultPDU,
- &ett_gsm_map_ReturnResult_result,
- &ett_gsm_map_GSMMAPPDU,
-#include "packet-gsm_map-ettarr.c"
- };
-
- /* Register protocol */
- proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
-/*XXX register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map);*/
- /* Register fields and subtrees */
- proto_register_field_array(proto_gsm_map, hf, array_length(hf));
- proto_register_subtree_array(ett, array_length(ett));
-
- sms_dissector_table =
- register_dissector_table("gsm_map.sms_tpdu", "GSM SMS TPDU",
- FT_UINT8, BASE_DEC);
-
- gsm_map_tap = register_tap("gsm_map");
-
-}
-
-
-/*--- proto_reg_handoff_gsm_map ---------------------------------------*/
-void proto_reg_handoff_gsm_map(void) {
- dissector_handle_t map_handle;
-
- map_handle = create_dissector_handle(dissect_gsm_map, proto_gsm_map);
- dissector_add("tcap.itu_ssn", 6, map_handle);
- dissector_add("tcap.itu_ssn", 7, map_handle);
- dissector_add("tcap.itu_ssn", 8, map_handle);
- dissector_add("tcap.itu_ssn", 9, map_handle);
-}
-
+/* packet-gsm_map-template.c + * Routines for GSM MobileApplication packet dissection + * Copyright 2004, Anders Broman <anders.broman@ericsson.com> + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * References: ETSI TS 129 002 + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <glib.h> +#include <epan/packet.h> +#include <epan/conversation.h> +#include <epan/tap.h> + +#include <stdio.h> +#include <string.h> + +#include "packet-ber.h" +#include "packet-gsm_map.h" + +#define PNAME "GSM_MobileAPplication" +#define PSNAME "GSM_MAP" +#define PFNAME "gsm_map" + +/* Initialize the protocol and registered fields */ +int proto_gsm_map = -1; +static int hf_gsm_map_invokeCmd = -1; /* Opcode */ +static int hf_gsm_map_invokeid = -1; /* INTEGER */ +static int hf_gsm_map_absent = -1; /* NULL */ +static int hf_gsm_map_invokeId = -1; /* InvokeId */ +static int hf_gsm_map_invoke = -1; /* InvokePDU */ +static int hf_gsm_map_returnResult = -1; /* InvokePDU */ +static int hf_gsm_map_returnResult_result = -1; +static int hf_gsm_map_getPassword = -1; +static int hf_gsm_map_currentPassword = -1; +#include "packet-gsm_map-hf.c" + +/* Initialize the subtree pointers */ +static gint ett_gsm_map = -1; +static gint ett_gsm_map_InvokeId = -1; +static gint ett_gsm_map_InvokePDU = -1; +static gint ett_gsm_map_ReturnResultPDU = -1; +static gint ett_gsm_map_ReturnResult_result = -1; +static gint ett_gsm_map_GSMMAPPDU = -1; +static int gsm_map_tap = -1; +#include "packet-gsm_map-ett.c" + +static dissector_table_t sms_dissector_table; /* SMS TPDU */ + +static int dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset); + +#include "packet-gsm_map-fn.c" + +/* Stuff included from the "old" packet-gsm_map.c for tapping purposes */ +static gchar * +my_match_strval(guint32 val, const value_string *vs, gint *idx) +{ + gint i = 0; + + while (vs[i].strptr) { + if (vs[i].value == val) + { + *idx = i; + return(vs[i].strptr); + } + + i++; + } + + *idx = -1; + return(NULL); +} +/* End includes from old" packet-gsm_map.c */ + +const value_string gsm_map_opr_code_strings[] = { + { 2, "updateLocation" }, + { 3, "cancelLocation" }, + { 4, "provideRoamingNumber" }, + { 6, "resumeCallHandling" }, + { 7, "insertSubscriberData" }, + { 8, "deleteSubscriberData" }, + { 9, "sendParameters" }, /* map-ac infoRetrieval (14) version1 (1)*/ + { 10, "registerSS" }, + { 11, "eraseSS" }, + { 12, "activateSS" }, + { 13, "deactivateSS" }, + { 14, "interrogateSS" }, + { 17, "registerPassword" }, + { 18, "getPassword" }, + { 19, "processUnstructuredSS-Data" }, /* map-ac networkFunctionalSs (18) version1 (1) */ + { 22, "sendRoutingInfo" }, + { 23, "updateGprsLocation" }, + { 24, "sendRoutingInfoForGprs" }, + { 25, "failureReport" }, + { 26, "noteMsPresentForGprs" }, + { 28, "performHandover" }, /* map-ac handoverControl (11) version1 (1)*/ + { 29, "sendEndSignal" }, + { 30, "performSubsequentHandover" }, /* map-ac handoverControl (11) version1 (1) */ + { 31, "provideSIWFSNumber" }, + { 32, "sIWFSSignallingModify" }, + { 33, "processAccessSignalling" }, + { 34, "forwardAccessSignalling" }, + { 35, "noteInternalHandover" }, /* map-ac handoverControl (11) version1 (1) */ + { 37, "reset" }, + { 38, "forwardCheckSS-Indication" }, + { 39, "prepareGroupCall" }, + { 40, "sendGroupCallEndSignal" }, + { 41, "processGroupCallSignalling" }, + { 42, "forwardGroupCallSignalling" }, + { 43, "checkIMEI" }, + { 44, "mt-forwardSM" }, + { 45, "sendRoutingInfoForSM" }, + { 46, "mo-forwardSM" }, + { 47, "reportSM-DeliveryStatus" }, + { 48, "noteSubscriberPresent" }, /* map-ac mwdMngt (24) version1 (1) */ + { 49, "alertServiceCentreWithoutResult" }, /* map-ac shortMsgAlert (23) version1 (1) */ + { 50, "activateTraceMode" }, + { 51, "deactivateTraceMode" }, + { 52, "traceSubscriberActivity" }, /* map-ac handoverControl (11) version1 (1) */ + { 54, "beginSubscriberActivity" }, /* map-ac networkFunctionalSs (18) version1 (1) */ + { 55, "sendIdentification" }, + { 56, "sendAuthenticationInfo" }, + { 57, "restoreData" }, + { 58, "sendIMSI" }, + { 59, "processUnstructuredSS-Request" }, + { 60, "unstructuredSS-Request" }, + { 61, "unstructuredSS-Notify" }, + { 63, "informServiceCentre" }, + { 64, "alertServiceCentre" }, + { 66, "readyForSM" }, + { 67, "purgeMS" }, + { 68, "prepareHandover" }, + { 69, "prepareSubsequentHandover" }, + { 70, "provideSubscriberInfo" }, + { 71, "anyTimeInterrogation" }, + { 72, "ss-InvocationNotification" }, + { 73, "setReportingState" }, + { 74, "statusReport" }, + { 75, "remoteUserFree" }, + { 76, "registerCC-Entry" }, + { 77, "eraseCC-Entry" }, + { 83, "provideSubscriberLocation" }, + { 85, "sendRoutingInfoForLCS" }, + { 86, "subscriberLocationReport" }, + { 0, NULL } +}; + +static guint32 opcode=0; + +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(pinfo, tree, tvb, offset, hf_index, &opcode); + + if (check_col(pinfo->cinfo, COL_INFO)){ + col_set_str(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) { + switch(opcode){ + case 2: /*updateLocation*/ + offset=dissect_gsm_map_UpdateLocationArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 3: /*cancelLocation*/ + offset=dissect_gsm_map_CancelLocationArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 4: /*provideRoamingNumber*/ + offset=dissect_gsm_map_ProvideRoamingNumberArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 6: /*resumeCallHandling*/ + offset=dissect_gsm_map_ResumeCallHandlingArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 7: /*insertSubscriberData*/ + offset=dissect_gsm_map_InsertSubscriberDataArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + 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; + */ + case 10: /*registerSS*/ + offset=dissect_gsm_map_RegisterSS_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 11: /*eraseSS*/ + offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 12: /*activateSS*/ + offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 13: /*deactivateSS*/ + offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 14: /*interrogateSS*/ + offset=dissect_gsm_map_Ss_ForBS(FALSE, tvb, offset, pinfo, tree, -1); + break; + 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; + case 22: /*sendRoutingInfo*/ + offset=dissect_gsm_map_SendRoutingInfoForGprsArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 23: /*updateGprsLocation*/ + offset=dissect_gsm_map_UpdateGprsLocationArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 24: /*sendRoutingInfoForGprs*/ + offset=dissect_gsm_map_SendRoutingInfoForGprsArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 25: /*failureReport*/ + offset=dissect_gsm_map_FailureReportArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 26: /*noteMsPresentForGprs*/ + offset=dissect_gsm_map_NoteMsPresentForGprsArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 29: /*sendEndSignal*/ + offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 31: /*provideSIWFSNumbe*/ + offset=dissect_gsm_map_ProvideSIWFSNumberArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 32: /*sIWFSSignallingModify*/ + offset=dissect_gsm_map_SIWFSSignallingModifyArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 33: /*processAccessSignalling*/ + offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 34: /*forwardAccessSignalling*/ + offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 37: /*reset*/ + offset=dissect_gsm_map_ResetArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 38: /*forwardCheckSS-Indication*/ + return offset; + break; + case 39: /*prepareGroupCall*/ + offset=dissect_gsm_map_PrepareGroupCallArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + 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); + break; + case 43: /*checkIMEI*/ + offset=dissect_gsm_map_CheckIMEIArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 44: /*mt-forwardSM*/ + offset=dissect_gsm_map_CheckIMEIArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 45: /*sendRoutingInfoForSM*/ + offset=dissect_gsm_map_RoutingInfoForSMRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 46: /*mo-forwardSM*/ + offset=dissect_gsm_map_Mo_forwardSM_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 47: /*reportSM-DeliveryStatus*/ + offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + 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; + case 55: /*sendIdentification*/ + offset=dissect_gsm_map_Tmsi(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 56: /*sendAuthenticationInfo*/ + offset=dissect_gsm_map_SendAuthenticationInfoArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 57: /*restoreData*/ + offset=dissect_gsm_map_RestoreDataArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 58: /*sendIMSI*/ + offset=dissect_gsm_map_Msisdn(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 59: /*processUnstructuredSS-Request*/ + offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 60: /*unstructuredSS-Request*/ + offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 61: /*unstructuredSS-Notify*/ + offset=dissect_gsm_map_Ussd_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 63: /*informServiceCentre*/ + offset=dissect_gsm_map_InformServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 64: /*alertServiceCentre*/ + offset=dissect_gsm_map_AlertServiceCentreArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 66: /*readyForSM*/ + offset=dissect_gsm_map_ReadyForSM_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 67: /*purgeMS*/ + offset=dissect_gsm_map_PurgeMS_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 68: /*prepareHandover*/ + offset=dissect_gsm_map_PrepareHO_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 69: /*prepareSubsequentHandover*/ + offset=dissect_gsm_map_PrepareSubsequentHO_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 70: /*provideSubscriberInfo*/ + offset=dissect_gsm_map_ProvideSubscriberInfoArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 71: /*anyTimeInterrogation*/ + offset=dissect_gsm_map_AnyTimeInterrogationArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 72: /*ss-InvocationNotificatio*/ + offset=dissect_gsm_map_Ss_InvocationNotificationArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 73: /*setReportingState*/ + offset=dissect_gsm_map_SetReportingStateArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 74: /*statusReport*/ + offset=dissect_gsm_map_StatusReportArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 75: /*remoteUserFree*/ + offset=dissect_gsm_map_RemoteUserFreeArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 76: /*registerCC-Entry*/ + offset=dissect_gsm_map_RegisterCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 77: /*eraseCC-Entry*/ + offset=dissect_gsm_map_EraseCC_EntryArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 83: /*provideSubscriberLocation*/ + offset=dissect_gsm_map_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 85: /*sendRoutingInfoForLCS*/ + offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 86: /*subscriberLocationReport*/ + offset=dissect_gsm_map_SubscriberLocationReport_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + default: + proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob"); + } + return offset; +} + + +static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + switch(opcode){ + case 2: /*updateLocation*/ + offset=dissect_gsm_map_UpdateLocationRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 3: /*cancelLocation*/ + 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); + break; + case 6: /*resumeCallHandling*/ + offset=dissect_gsm_map_ResumeCallHandlingRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 7: /*insertSubscriberData*/ + offset=dissect_gsm_map_InsertSubscriberDataRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 8: /*deleteSubscriberData*/ + offset=dissect_gsm_map_DeleteSubscriberDataRes(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; + */ + case 10: /*registerSS*/ + offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 11: /*eraseSS*/ + offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 12: /*activateSS*/ + offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 13: /*deactivateSS*/ + offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 14: /*interrogateSS*/ + offset=dissect_gsm_map_Ss_Info(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 17: /*registerPassword*/ + offset=dissect_gsm_map_NewPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code); + break; + case 18: /*getPassword*/ + offset=dissect_gsm_map_CurrentPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_currentPassword); + break; + case 22: /*sendRoutingInfo*/ + offset=dissect_gsm_map_SendRoutingInfoForGprsRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 23: /*updateGprsLocation*/ + offset=dissect_gsm_map_UpdateGprsLocationRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 24: /*sendRoutingInfoForGprs*/ + offset=dissect_gsm_map_SendRoutingInfoForGprsRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 25: /*failureReport*/ + offset=dissect_gsm_map_FailureReportRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 26: /*noteMsPresentForGprs*/ + offset=dissect_gsm_map_NoteMsPresentForGprsRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 29: /*sendEndSignal + /* Taken from MAP-MobileServiceOperations{ 0 identified-organization (4) etsi (0) mobileDomain + * (0) gsm-Network (1) modules (3) map-MobileServiceOperations (5) version9 (9) } + */ + offset=dissect_gsm_map_ExtensionContainer(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 31: /*provideSIWFSNumbe*/ + offset=dissect_gsm_map_ProvideSIWFSNumberRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 32: /*provideSIWFSNumbe*/ + offset=dissect_gsm_map_SIWFSSignallingModifyRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 39: /*prepareGroupCall*/ + offset=dissect_gsm_map_PrepareGroupCallRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 40: /*sendGroupCallEndSignal*/ + dissect_gsm_map_SendGroupCallEndSignalRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 43: /*checkIMEI*/ + offset=dissect_gsm_map_EquipmentStatus(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 45: /*sendRoutingInfoForSM*/ + offset=dissect_gsm_map_RoutingInfoForSMRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 46: /*mo-forwardSM*/ + offset=dissect_gsm_map_Mo_forwardSM_Res(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 48: /*reportSM-DeliveryStatus*/ + offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 50: /*activateTraceMode*/ + offset=dissect_gsm_map_ActivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 51: /*deactivateTraceMode*/ + offset=dissect_gsm_map_DeactivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 55: /*sendIdentification*/ + offset=dissect_gsm_map_SendIdentificationRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 57: /*restoreData*/ + offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 58: /*sendIMSI*/ + offset=dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 59: /*unstructuredSS-Request*/ + offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 60: /*unstructuredSS-Request*/ + offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 61: /*unstructuredSS-Notify*/ + /* TRUE ? */ + proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob"); + break; + case 66: /*readyForSM*/ + offset=dissect_gsm_map_ReadyForSM_Res(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 67: /*purgeMS*/ + offset=dissect_gsm_map_PurgeMS_Res(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 68: /*prepareHandover*/ + offset=dissect_gsm_map_PrepareHO_Res(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 69: /*prepareSubsequentHandover*/ + offset=dissect_gsm_map_Bss_APDU(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 70: /*provideSubscriberInfo*/ + offset=dissect_gsm_map_ProvideSubscriberInfoRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 71: /*anyTimeInterrogation*/ + offset=dissect_gsm_map_AnyTimeInterrogationRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 72: /*ss-InvocationNotificatio*/ + offset=dissect_gsm_map_Ss_InvocationNotificationRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 73: /*setReportingState*/ + offset=dissect_gsm_map_SetReportingStateRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 74: /*statusReport*/ + offset=dissect_gsm_map_StatusReportRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 75: /*remoteUserFree*/ + offset=dissect_gsm_map_RemoteUserFreeRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 76: /*registerCC-Entry*/ + offset=dissect_gsm_map_RegisterCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 77: /*eraseCC-Entry*/ + offset=dissect_gsm_map_EraseCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 83: /*provideSubscriberLocation*/ + offset=dissect_gsm_map_ProvideSubscriberLocation_Res(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 85: /*sendRoutingInfoForLCS*/ + offset=dissect_gsm_map_RoutingInfoForLCS_Arg(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 86: /*subscriberLocationReport*/ + offset=dissect_gsm_map_SubscriberLocationReport_Res(FALSE, tvb, offset, pinfo, tree, -1); + break; + default: + proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob"); + } + return offset; +} + +static int +dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_gsm_map_Opcode(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeCmd); +} + +static int dissect_invokeid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_ber_integer(pinfo, tree, tvb, offset, hf_gsm_map_invokeid, NULL); +} + + +static const value_string InvokeId_vals[] = { + { 0, "invokeid" }, + { 1, "absent" }, + { 0, NULL } +}; + +static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_gsm_map_NULL(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_absent); +} + + +static const ber_choice InvokeId_choice[] = { + { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeid }, + { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent }, + { 0, 0, 0, 0, NULL } +}; + +static int +dissect_gsm_map_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_ber_choice(pinfo, tree, tvb, offset, + InvokeId_choice, hf_index, ett_gsm_map_InvokeId); + + return offset; +} +static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_gsm_map_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_invokeId); +} + +static const ber_sequence InvokePDU_sequence[] = { + { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId }, + { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd }, + { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeData }, + { 0, 0, 0, NULL } +}; + +static int +dissect_gsm_map_InvokePDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset, + InvokePDU_sequence, hf_index, ett_gsm_map_InvokePDU); + + return offset; +} +static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_gsm_map_InvokePDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_invoke); +} + +static const ber_sequence ReturnResult_result_sequence[] = { + { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd }, + { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_returnResultData }, + { 0, 0, 0, NULL } +}; +static int +dissect_returnResult_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + offset = dissect_ber_sequence(FALSE, pinfo, tree, tvb, offset, + ReturnResult_result_sequence, hf_gsm_map_returnResult_result, ett_gsm_map_ReturnResult_result); + + return offset; +} + +static const ber_sequence ReturnResultPDU_sequence[] = { + { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId }, + { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_returnResult_result }, + { 0, 0, 0, NULL } +}; + +static int +dissect_gsm_map_returnResultPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset, + ReturnResultPDU_sequence, hf_index, ett_gsm_map_ReturnResultPDU); + + return offset; +} +static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_gsm_map_returnResultPDU(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_returnResult); +} + +static const value_string GSMMAPPDU_vals[] = { + { 1, "invoke" }, + { 2, "returnResult" }, + { 3, "returnError" }, + { 4, "reject" }, + { 0, NULL } +}; + +static const ber_choice GSMMAPPDU_choice[] = { + { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl }, + { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl }, +#ifdef REMOVED + { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl }, + { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl }, +#endif + { 0, 0, 0, 0, NULL } +}; + +static guint8 gsmmap_pdu_type = 0; +static guint8 gsm_map_pdu_size = 0; + +static int +dissect_gsm_map_GSMMAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + + gsmmap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f; + /* Get the length and add 2 */ + gsm_map_pdu_size = tvb_get_guint8(tvb, offset+1)+2; + + offset = dissect_ber_choice(pinfo, tree, tvb, offset, + GSMMAPPDU_choice, hf_index, ett_gsm_map_GSMMAPPDU); + + if (check_col(pinfo->cinfo, COL_INFO)){ + col_prepend_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, gsm_map_opr_code_strings, "Unknown GSM-MAP (%u)")); + } + + return offset; +} + + + + +static void +dissect_gsm_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) +{ + proto_item *item=NULL; + proto_tree *tree=NULL; + /* Used for gsm_map TAP */ + static gsm_map_tap_rec_t tap_rec; + gint op_idx; + gchar *str = NULL; + + + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + { + col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP"); + } + + /* create display subtree for the protocol */ + if(parent_tree){ + item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, FALSE); + tree = proto_item_add_subtree(item, ett_gsm_map); + } + + dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, pinfo, tree, -1); + str = my_match_strval(opcode, gsm_map_opr_code_strings, &op_idx); + + tap_rec.invoke = FALSE; + if ( gsmmap_pdu_type == 1 ) + tap_rec.invoke = TRUE; + tap_rec.opr_code_idx = op_idx; + tap_rec.size = gsm_map_pdu_size; + tap_queue_packet(gsm_map_tap, pinfo, &tap_rec); + + + +} + +static const value_string ssCode_vals[] = { + { 0x00, "allSS - all SS" }, + { 0x10 ,"allLineIdentificationSS - all line identification SS" }, + { 0x11 ,"clip - calling line identification presentation" }, + { 0x12 ,"clir - calling line identification restriction" }, + { 0x13 ,"colp - connected line identification presentation" }, + { 0x14 ,"colr - connected line identification restriction" }, + { 0x15 ,"mci - malicious call identification" }, + { 0x18 ,"allNameIdentificationSS - all name indentification SS" }, + { 0x19 ,"cnap - calling name presentation" }, + { 0x20 ,"allForwardingSS - all forwarding SS" }, + { 0x21 ,"cfu - call forwarding unconditional" }, + { 0x28 ,"allCondForwardingSS - all conditional forwarding SS" }, + { 0x29 ,"cfb - call forwarding busy" }, + { 0x2a ,"cfnry - call forwarding on no reply" }, + { 0x2b ,"cfnrc - call forwarding on mobile subscriber not reachable" }, + { 0x24 ,"cd - call deflection" }, + { 0x30 ,"allCallOfferingSS - all call offering SS includes also all forwarding SS" }, + { 0x31 ,"ect - explicit call transfer" }, + { 0x32 ,"mah - mobile access hunting" }, + { 0x40 ,"allCallCompletionSS - all Call completion SS" }, + { 0x41 ,"cw - call waiting" }, + { 0x42 ,"hold - call hold" }, + { 0x43 ,"ccbs-A - completion of call to busy subscribers, originating side" }, + { 0x44 ,"ccbs-B - completion of call to busy subscribers, destination side" }, + { 0x45 ,"mc - multicall" }, + { 0x50 ,"allMultiPartySS - all multiparty SS" }, + { 0x51 ,"multiPTY - multiparty" }, + { 0x60 ,"allCommunityOfInterestSS - all community of interest SS" }, + { 0x61 ,"cug - closed user group" }, + { 0x70 ,"allChargingSS - all charging SS" }, + { 0x71 ,"aoci - advice of charge information" }, + { 0x72 ,"aocc - advice of charge charging" }, + { 0x80 ,"allAdditionalInfoTransferSS - all additional information transfer SS" }, + { 0x81 ,"uus1 - UUS1 user-to-user signalling" }, + { 0x82 ,"uus2 - UUS2 user-to-user signalling" }, + { 0x83 ,"uus3 - UUS3 user-to-user signalling" }, + { 0x90 ,"allCallRestrictionSS - all Callrestriction SS" }, + { 0x91 ,"barringOfOutgoingCalls" }, + { 0x92 ,"baoc - barring of all outgoing calls" }, + { 0x93 ,"boic - barring of outgoing international calls" }, + { 0x94 ,"boicExHC - barring of outgoing international calls except those directed to the home PLMN" }, + { 0x99 ,"barringOfIncomingCalls" }, + { 0x9a ,"baic - barring of all incoming calls" }, + { 0x9b ,"bicRoam - barring of incoming calls when roaming outside home PLMN Country" }, + { 0xf0 ,"allPLMN-specificSS" }, + { 0xa0 ,"allCallPrioritySS - all call priority SS" }, + { 0xa1 ,"emlpp - enhanced Multilevel Precedence Pre-emption (EMLPP) service" }, + { 0xb0 ,"allLCSPrivacyException - all LCS Privacy Exception Classes" }, + { 0xb1 ,"universal - allow location by any LCS client" }, + { 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" }, + { 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" }, + { 0xc3 ,"transferToThirdParty - allow an MS to request transfer of its location to another LCS client" }, + + { 0xf1 ,"plmn-specificSS-1" }, + { 0xf2 ,"plmn-specificSS-2" }, + { 0xf3 ,"plmn-specificSS-3" }, + { 0xf4 ,"plmn-specificSS-4" }, + { 0xf5 ,"plmn-specificSS-5" }, + { 0xf6 ,"plmn-specificSS-6" }, + { 0xf7 ,"plmn-specificSS-7" }, + { 0xf8 ,"plmn-specificSS-8" }, + { 0xf9 ,"plmn-specificSS-9" }, + { 0xfa ,"plmn-specificSS-a" }, + { 0xfb ,"plmn-specificSS-b" }, + { 0xfc ,"plmn-specificSS-c" }, + { 0xfd ,"plmn-specificSS-d" }, + { 0xfe ,"plmn-specificSS-e" }, + { 0xff ,"plmn-specificSS-f" }, + { 0, NULL } +}; + +static const value_string Teleservice_vals[] = { +{0x00, "allTeleservices" }, +{0x10, "allSpeechTransmissionServices" }, +{0x11, "telephony" }, +{0x12, "emergencyCalls" }, +{0x20, "allShortMessageServices" }, +{0x21, "shortMessageMT-PP" }, +{0x22, "shortMessageMO-PP" }, +{0x60, "allFacsimileTransmissionServices" }, +{0x61, "facsimileGroup3AndAlterSpeech" }, +{0x62, "automaticFacsimileGroup3" }, +{0x63, "facsimileGroup4" }, + +{0x70, "allDataTeleservices" }, +{0x80, "allTeleservices-ExeptSMS" }, + +{0x90, "allVoiceGroupCallServices" }, +{0x91, "voiceGroupCall" }, +{0x92, "voiceBroadcastCall" }, + +{0xd0, "allPLMN-specificTS" }, +{0xd1, "plmn-specificTS-1" }, +{0xd2, "plmn-specificTS-2" }, +{0xd3, "plmn-specificTS-3" }, +{0xd4, "plmn-specificTS-4" }, +{0xd5, "plmn-specificTS-5" }, +{0xd6, "plmn-specificTS-6" }, +{0xd7, "plmn-specificTS-7" }, +{0xd8, "plmn-specificTS-8" }, +{0xd9, "plmn-specificTS-9" }, +{0xda, "plmn-specificTS-A" }, +{0xdb, "plmn-specificTS-B" }, +{0xdc, "plmn-specificTS-C" }, +{0xdd, "plmn-specificTS-D" }, +{0xde, "plmn-specificTS-E" }, +{0xdf, "plmn-specificTS-F" }, + { 0, NULL } +}; + +/*--- proto_register_gsm_map -------------------------------------------*/ +void proto_register_gsm_map(void) { + + /* List of fields */ + static hf_register_info hf[] = { + { &hf_gsm_map_invokeCmd, + { "invokeCmd", "gsm_map.invokeCmd", + FT_UINT32, BASE_DEC, VALS(gsm_map_opr_code_strings), 0, + "InvokePDU/invokeCmd", HFILL }}, + { &hf_gsm_map_invokeid, + { "invokeid", "gsm_map.invokeid", + FT_INT32, BASE_DEC, NULL, 0, + "InvokeId/invokeid", HFILL }}, + { &hf_gsm_map_absent, + { "absent", "gsm_map.absent", + FT_NONE, BASE_NONE, NULL, 0, + "InvokeId/absent", HFILL }}, + { &hf_gsm_map_invokeId, + { "invokeId", "gsm_map.invokeId", + FT_UINT32, BASE_DEC, VALS(InvokeId_vals), 0, + "InvokePDU/invokeId", HFILL }}, + { &hf_gsm_map_currentPassword, + { "currentPassword", "gsm_map.currentPassword", + FT_STRING, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_gsm_map_invoke, + { "invoke", "gsm_map.invoke", + FT_NONE, BASE_NONE, NULL, 0, + "GSMMAPPDU/invoke", HFILL }}, + { &hf_gsm_map_returnResult, + { "returnResult", "gsm_map.returnResult", + FT_NONE, BASE_NONE, NULL, 0, + "GSMMAPPDU/returnResult", HFILL }}, + { &hf_gsm_map_getPassword, + { "Password", "gsm_map.password", + FT_UINT8, BASE_DEC, VALS(GetPasswordArg_vals), 0, + "Password", HFILL }}, + + +#include "packet-gsm_map-hfarr.c" + }; + + /* List of subtrees */ + static gint *ett[] = { + &ett_gsm_map, + &ett_gsm_map_InvokeId, + &ett_gsm_map_InvokePDU, + &ett_gsm_map_ReturnResultPDU, + &ett_gsm_map_ReturnResult_result, + &ett_gsm_map_GSMMAPPDU, +#include "packet-gsm_map-ettarr.c" + }; + + /* Register protocol */ + proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME); +/*XXX register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map);*/ + /* Register fields and subtrees */ + proto_register_field_array(proto_gsm_map, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + + sms_dissector_table = + register_dissector_table("gsm_map.sms_tpdu", "GSM SMS TPDU", + FT_UINT8, BASE_DEC); + + gsm_map_tap = register_tap("gsm_map"); + +} + + +/*--- proto_reg_handoff_gsm_map ---------------------------------------*/ +void proto_reg_handoff_gsm_map(void) { + dissector_handle_t map_handle; + + map_handle = create_dissector_handle(dissect_gsm_map, proto_gsm_map); + dissector_add("tcap.itu_ssn", 6, map_handle); + dissector_add("tcap.itu_ssn", 7, map_handle); + dissector_add("tcap.itu_ssn", 8, map_handle); + dissector_add("tcap.itu_ssn", 9, map_handle); +} diff --git a/asn1/gsmmap/packet-gsm_map-template.h b/asn1/gsmmap/packet-gsm_map-template.h index a670c1ec93..3d7dd9ebb0 100644 --- a/asn1/gsmmap/packet-gsm_map-template.h +++ b/asn1/gsmmap/packet-gsm_map-template.h @@ -1,43 +1,42 @@ -/* packet-gsm_map-template.h
- * Routines for GSM MAP packet dissection
- * Copyright 2004, Anders Broman <anders.broman@ericsson.com>
- *
- * $Id: packet-gsm_map_asn1-template.c 12203 2004-10-05 09:18:55Z guy $
- *
- * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@ethereal.com>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef PACKET_GSM_MAP_H
-#define PACKET_GSM_MAP_H
-
-/* Defines for the GSM MAP taps */
-#define GSM_MAP_MAX_NUM_OPR_CODES 256
-
-typedef struct _gsm_map_tap_rec_t {
- gboolean invoke;
- guint8 opr_code_idx;
- guint16 size;
-} gsm_map_tap_rec_t;
-
-ETH_VAR_IMPORT const value_string gsm_map_opr_code_strings[];
-
-/* #include "packet-gsm_map-exp.h"*/
-
-#endif /* PACKET_GSM_MAP_H */
-
+/* packet-gsm_map-template.h + * Routines for GSM MAP packet dissection + * Copyright 2004, Anders Broman <anders.broman@ericsson.com> + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef PACKET_GSM_MAP_H +#define PACKET_GSM_MAP_H + +/* Defines for the GSM MAP taps */ +#define GSM_MAP_MAX_NUM_OPR_CODES 256 + +typedef struct _gsm_map_tap_rec_t { + gboolean invoke; + guint8 opr_code_idx; + guint16 size; +} gsm_map_tap_rec_t; + +ETH_VAR_IMPORT const value_string gsm_map_opr_code_strings[]; + +/* #include "packet-gsm_map-exp.h"*/ + +#endif /* PACKET_GSM_MAP_H */ |