From f6c3bbdee3af5484b7cf44099c2f06d8432d0690 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Tue, 2 Nov 2004 01:19:23 +0000 Subject: 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 --- asn1/gsmmap/GSMMAP.asn | 4791 ++++++++++++++++----------------- asn1/gsmmap/gsmmap.cnf | 46 +- asn1/gsmmap/packet-gsm_map-template.c | 1793 ++++++------ asn1/gsmmap/packet-gsm_map-template.h | 85 +- 4 files changed, 3355 insertions(+), 3360 deletions(-) (limited to 'asn1/gsmmap') 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 - * - * $Id: packet-gsm_map_asn1-template.c 12203 2004-10-05 09:18:55Z guy $ - * - * Ethereal - Network traffic analyzer - * By Gerald Combs - * 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 -#include -#include -#include - -#include -#include - -#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 + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs + * 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 +#include +#include +#include + +#include +#include + +#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 - * - * $Id: packet-gsm_map_asn1-template.c 12203 2004-10-05 09:18:55Z guy $ - * - * Ethereal - Network traffic analyzer - * By Gerald Combs - * 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 + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs + * 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 */ -- cgit v1.2.3