Preparations for updated CAMEL dissector.
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 4 Jul 2007 13:27:44 +0000 (13:27 +0000)
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 4 Jul 2007 13:27:44 +0000 (13:27 +0000)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@22239 f5534014-38df-0310-8fa8-9805f1628bb7

21 files changed:
asn1/camel/CAP-GPRS-ReferenceNumber.asn [new file with mode: 0644]
asn1/camel/CAP-SMS-ops-args.asn [new file with mode: 0644]
asn1/camel/CAP-U-ABORT-Data.asn [new file with mode: 0644]
asn1/camel/CAP-classes.asn [new file with mode: 0644]
asn1/camel/CAP-datatypes.asn [new file with mode: 0644]
asn1/camel/CAP-errorcodes.asn [new file with mode: 0644]
asn1/camel/CAP-errortypes.asn [new file with mode: 0644]
asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn [new file with mode: 0644]
asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn [new file with mode: 0644]
asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn [new file with mode: 0644]
asn1/camel/CAP-object-identifiers.asn [new file with mode: 0644]
asn1/camel/CAP-operationcodes.asn [new file with mode: 0644]
asn1/gsmmap/gsm_map-exp.cnf
asn1/gsmmap/gsmmap.cnf
asn1/gsmmap/packet-gsm_map-template.c
asn1/inap/inap.cnf
asn1/inap/packet-inap-template.h
epan/dissectors/packet-gsm_map.c
epan/dissectors/packet-gsm_map.h
epan/dissectors/packet-inap.c
epan/dissectors/packet-inap.h

diff --git a/asn1/camel/CAP-GPRS-ReferenceNumber.asn b/asn1/camel/CAP-GPRS-ReferenceNumber.asn
new file mode 100644 (file)
index 0000000..746c4b4
--- /dev/null
@@ -0,0 +1,35 @@
+-- $Id$
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 8.1.1       GPRS Reference Number
+CAP-GPRS-ReferenceNumber {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-dialogueInformation(111) version5(4)}
+-- Module CAP-GPRS-ReferenceNumber is updated to version5(4) for Rel-6. The definitions
+-- in this module are not modified, compared to Rel-5.
+
+DEFINITIONS ::= BEGIN
+
+EXPORTS
+       id-CAP-GPRS-ReferenceNumber,
+       cAP-GPRS-ReferenceNumber-Abstract-Syntax;
+
+IMPORTS
+
+       Integer4
+FROM CS1-DataTypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+modules(0) cs1-datatypes(2) version1(0)}
+;
+
+id-CAP-GPRS-ReferenceNumber OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) as(1) cap-GPRS-ReferenceNumber(5) version3(2)}
+
+cAP-GPRS-ReferenceNumber-Abstract-Syntax ABSTRACT-SYNTAX ::= {CAP-GPRS-ReferenceNumber IDENTIFIED BY id-CAP-GPRS-ReferenceNumber}
+
+CAP-GPRS-ReferenceNumber ::= SEQUENCE {
+       destinationReference                            [0] Integer4                                                            OPTIONAL,
+       originationReference                            [1] Integer4                                                            OPTIONAL
+       }
+--  This parameter is used to identify the relationship between SGSN and the gsmSCF.
+
+END -- of CAP-GPRS-ReferenceNumber
+
+
+
diff --git a/asn1/camel/CAP-SMS-ops-args.asn b/asn1/camel/CAP-SMS-ops-args.asn
new file mode 100644 (file)
index 0000000..aa1cf41
--- /dev/null
@@ -0,0 +1,267 @@
+-- $Id$
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 7   SMS Control
+-- 7.1 SMS operations and arguments
+CAP-SMS-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-SMS-ops-args(105) version5(4)}
+-- The module CAP-SMS-ops-args is updated to version5(4) for Rel-6. The OPERATION definitions
+-- are not modified.
+
+DEFINITIONS IMPLICIT TAGS::= BEGIN
+
+-- This module contains the operations and operation arguments used for the
+-- smsSSF- gsmSCF interface, for the control of MO-SMS and MT-SMS.
+
+-- The table in subclause 2.1 lists the specifications that contain the modules
+-- that are used by CAP.
+
+IMPORTS
+
+       errortypes,
+       datatypes,
+       operationcodes,
+       classes,
+       ros-InformationObjects,
+       tc-Messages
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
+
+       OPERATION
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+       ServiceKey
+FROM CS1-DataTypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+modules(0) cs1-datatypes(2) version1(0)}
+
+       MiscCallInfo
+FROM CS2-datatypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+cs2(20) modules(0) in-cs2-datatypes (0) version1(0)}
+
+       IMEI,
+       IMSI,
+       ISDN-AddressString
+FROM MAP-CommonDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CommonDataTypes(18) version9(9)}
+
+       GPRSMSClass,
+       LocationInformation,
+       MS-Classmark2
+FROM MAP-MS-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-MS-DataTypes(11) version9(9)}
+
+       PARAMETERS-BOUND
+FROM CAP-classes classes
+
+       opcode-connectSMS,
+       opcode-continueSMS,
+       opcode-eventReportSMS,
+       opcode-furnishChargingInformationSMS,
+       opcode-initialDPSMS,
+       opcode-releaseSMS,
+       opcode-requestReportSMSEvent,
+       opcode-resetTimerSMS
+FROM CAP-operationcodes operationcodes
+-- The CAP Operation identifiers for CAP V3 and CAP V4 for SMS in Rel-6 are the same as in Rel-5.
+
+       CalledPartyBCDNumber {},
+       EventSpecificInformationSMS,
+       EventTypeSMS,
+       Extensions {},
+       FCISMSBillingChargingCharacteristics,
+       LocationInformationGPRS,
+       RPCause,
+       SMS-AddressString,
+       SMSEvent,
+       TimeAndTimezone {},
+       TimerID,
+       TimerValue,
+       TPDataCodingScheme,
+       TPProtocolIdentifier,
+       TPShortMessageSpecificInfo,
+       TPValidityPeriod
+FROM CAP-datatypes datatypes
+-- For Rel-6, the CAP-datatypes module is updated to version5(4); Object Identifier 'datatypes'
+-- is also updated to version5(4). As a result, the present module uses Rel-6 data type definitions.
+
+       missingCustomerRecord,
+       missingParameter,
+       parameterOutOfRange,
+       systemFailure,
+       taskRefused,
+       unexpectedComponentSequence,
+       unexpectedDataValue,
+       unexpectedParameter
+FROM CAP-errortypes errortypes
+-- For Rel-6, the CAP-errortypes module is updated to version5(4); Object Identifier
+-- 'errortypes' is also updated to version5(4). As a result, the present module uses Rel-6
+-- error type definitions.
+
+       CallReferenceNumber
+FROM MAP-CH-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CH-DataTypes(13) version9(9)}
+
+;
+
+connectSMS {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                ConnectSMSArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter}
+       CODE                    opcode-connectSMS}
+--  Direction: gsmSCF -> gsmSSF or gprsSSF, Timer: Tconsms
+--  This operation is used to request the smsSSF to perform the SMS processing
+--  actions to route or forward a short message to a specified destination.
+
+ConnectSMSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       callingPartysNumber                                     [0] SMS-AddressString                                           OPTIONAL,
+       destinationSubscriberNumber                     [1] CalledPartyBCDNumber {bound}                        OPTIONAL,
+       sMSCAddress                                                     [2] ISDN-AddressString                                          OPTIONAL,
+       extensions                                                      [10] Extensions {bound}                                         OPTIONAL,
+       ...
+       }
+
+continueSMS OPERATION ::= {
+       RETURN RESULT   FALSE
+       ALWAYS RESPONDS FALSE
+       CODE                    opcode-continueSMS}
+-- Direction: gsmSCF -> smsSSF, Timer: Tcuesms 
+-- This operation is used to request the smsSSF to proceed with
+-- Short Message processing at the DP at which it previously suspended
+-- Short Message processing to await gsmSCF instructions (i.e. proceed
+-- to the next Point in Association in the SMS FSM). The smsSSF
+-- continues SMS processing without substituting new data from the gsmSCF.
+
+eventReportSMS {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                EventReportSMSArg {bound}
+       RETURN RESULT   FALSE
+       ALWAYS RESPONDS FALSE
+       CODE                    opcode-eventReportSMS}
+--  Direction: gsmSSF or gprsSSF -> gsmSCF, Timer: Terbsms
+--  This operation is used to notify the gsmSCF of a Short Message related event (FSM events
+--  such as submission, delivery or failure) previously requested by the gsmSCF in a
+--  RequestReportSMSEvent operation.
+
+EventReportSMSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       eventTypeSMS                                            [0] EventTypeSMS,
+       eventSpecificInformationSMS                     [1] EventSpecificInformationSMS                         OPTIONAL,
+       miscCallInfo                                            [2] MiscCallInfo DEFAULT {messageType request},
+       extensions                                                      [10] Extensions {bound}                                         OPTIONAL,
+       ...
+       }
+
+furnishChargingInformationSMS {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                FurnishChargingInformationSMSArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter}
+       CODE                    opcode-furnishChargingInformationSMS}
+--  Direction: gsmSCF ?? gsmSSF or gprsSSF, Timer: Tfcisms 
+--  This operation is used to request the smsSSF to generate, register a charging record
+--  or to include some information in the default SM record. The registered charging record is
+--  intended for off line charging of the Short Message.
+
+FurnishChargingInformationSMSArg {PARAMETERS-BOUND : bound} ::=
+       FCISMSBillingChargingCharacteristics {bound}
+
+initialDPSMS {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                InitialDPSMSArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingCustomerRecord |
+                                       missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter}
+       CODE                    opcode-initialDPSMS}
+--  Direction: gsmSSF or gprsSSF -> gsmSCF, Timer: Tidpsms
+--  This operation is used after a TDP to indicate request for service.
+
+InitialDPSMSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       serviceKey                                                      [0] ServiceKey,
+       destinationSubscriberNumber                     [1] CalledPartyBCDNumber {bound}                        OPTIONAL,
+       callingPartyNumber                                      [2] SMS-AddressString                                           OPTIONAL,
+       eventTypeSMS                                            [3] EventTypeSMS                                                        OPTIONAL,
+       iMSI                                                            [4] IMSI                                                                        OPTIONAL,
+       locationInformationMSC                          [5] LocationInformation                                         OPTIONAL,
+       locationInformationGPRS                         [6] LocationInformationGPRS                                     OPTIONAL,
+       sMSCAddress                                                     [7] ISDN-AddressString                                          OPTIONAL,
+       timeAndTimezone                                         [8] TimeAndTimezone {bound}                                     OPTIONAL,
+       tPShortMessageSpecificInfo                      [9] TPShortMessageSpecificInfo                          OPTIONAL,
+       tPProtocolIdentifier                            [10] TPProtocolIdentifier                                       OPTIONAL,
+       tPDataCodingScheme                                      [11] TPDataCodingScheme                                         OPTIONAL,
+       tPValidityPeriod                                        [12] TPValidityPeriod                                           OPTIONAL,
+       extensions                                                      [13] Extensions {bound}                                         OPTIONAL,
+       ...,
+       smsReferenceNumber                                      [14] CallReferenceNumber                                        OPTIONAL,
+       mscAddress                                                      [15] ISDN-AddressString                                         OPTIONAL,
+       sgsn-Number                                                     [16] ISDN-AddressString                                         OPTIONAL,
+       ms-Classmark2                                           [17] MS-Classmark2                                                      OPTIONAL,
+       gPRSMSClass                                             [18] GPRSMSClass                                                        OPTIONAL,
+       iMEI                                                            [19] IMEI                                                                       OPTIONAL,
+       calledPartyNumber                                       [20] ISDN-AddressString                                         OPTIONAL
+       }
+
+releaseSMS OPERATION ::= {
+       ARGUMENT                ReleaseSMSArg
+       RETURN RESULT   FALSE
+       ALWAYS RESPONDS FALSE
+       CODE                    opcode-releaseSMS}
+--  Direction: gsmSCF -> gsmSSF or gprsSSF, Timer: Trelsms
+--  This operation is used to prevent an attempt to submit or deliver a short message. 
+
+ReleaseSMSArg ::= RPCause
+
+requestReportSMSEvent {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                RequestReportSMSEventArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter}
+       CODE                    opcode-requestReportSMSEvent}
+--  Direction: gsmSCF -> gsmSSF or gprsSSF, Timer: Trrbsms
+--  This operation is used to request the gsmSSF or gprsSSF to monitor for a
+--  Short Message related event (FSM events such as submission, delivery or failure)
+--  and to send a notification to the gsmSCF when the event is detected.
+
+RequestReportSMSEventArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       sMSEvents                                                       [0] SEQUENCE SIZE (1..bound.&numOfSMSEvents) OF SMSEvent,
+       extensions                                                      [10] Extensions {bound}                                         OPTIONAL,
+       ...
+       }
+--  Indicates the Short Message related events(s) for notification.
+
+resetTimerSMS {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                ResetTimerSMSArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter}
+       CODE                    opcode-resetTimerSMS}
+-- Direction: gsmSCF -> smsSSF, Timer: Trtsms 
+-- This operation is used to request the smsSSF to refresh an application
+-- timer in the smsSSF.
+
+ResetTimerSMSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       timerID                                                         [0] TimerID     DEFAULT tssf,
+       timervalue                                                      [1] TimerValue,
+       extensions                                                      [2] Extensions {bound}                                          OPTIONAL,
+       ...
+       }
+
+END
\ No newline at end of file
diff --git a/asn1/camel/CAP-U-ABORT-Data.asn b/asn1/camel/CAP-U-ABORT-Data.asn
new file mode 100644 (file)
index 0000000..308c9c5
--- /dev/null
@@ -0,0 +1,48 @@
+-- $Id$
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 5.7 User Abort Data
+CAP-U-ABORT-Data {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-u-abort-data(110) version5(4)}
+
+DEFINITIONS ::= BEGIN
+
+id-CAP-U-ABORT-Reason OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-Network(1) as(1) cap-u-abort-reason(2) version3(2)}
+
+cAP-U-ABORT-Reason-Abstract-Syntax ABSTRACT-SYNTAX ::= {CAP-U-ABORT-REASON IDENTIFIED BY
+id-CAP-U-ABORT-Reason}
+
+CAP-U-ABORT-REASON ::= ENUMERATED {
+       no-reason-given                         (1),
+       application-timer-expired       (2),
+       not-allowed-procedures          (3),
+       abnormal-processing                     (4),
+       congestion                                      (5),
+       invalid-reference                       (6),
+       missing-reference                       (7),
+       overlapping-dialogue            (8)
+       }
+-- application-timer-expired   shall be set when application timer (e.g. Tssf) is expired.
+-- not-allowed-procedures              shall be set when received signal is not allowed in CAP
+--                                                             procedures.
+--                                                             For example, when a class 4 operation is received from the
+--                                                             gsmSCF and the operation is not allowed in gsmSSF FSM.
+--                                                             (gsmSSF FSM cannot continue state transition). (e.g. ReleaseCall
+--                                                             operation received in Waiting for End of Temporary Connection
+--                                                             state.)
+-- abnormal-processing                 shall be set when abnormal procedures occur at entity action.
+-- congestion                                  shall be set when requested resource is unavailable due to
+--                                                             congestion at TC user (CAP) level.
+-- invalid-reference                   shall be set if the received destinationReference is unknown or
+--                                                             for a known destination Reference the received originationReference
+--                                                             does not match with the stored originationReference.
+--                                                             This abort reason is used for CAP defined GPRS-ReferenceNumber.
+-- missing-reference                   shall be set when the destinationReference or the
+--                                                             originationReference is absent in the received message but is
+--                                                             required to be present according to the procedures in
+--                                                             subclause 14.1.7.
+--                                                             This abort reason is used for CAP defined GPRS-ReferenceNumber.
+-- overlapping-dialogue                        shall be used by the gprsSSF to indicate to the gsmSCF that a
+--                                                             specific instance already has a TC dialogue open. This error
+--                                                             cause is typically obtained when both the gsmSCF and gprsSSF
+--                                                             open a new dialogue at the same time.
+-- no-reason-given                             shall be set when any other reasons above do not apply
+END -- of CAP-U-ABORT-Data
diff --git a/asn1/camel/CAP-classes.asn b/asn1/camel/CAP-classes.asn
new file mode 100644 (file)
index 0000000..dc1a87b
--- /dev/null
@@ -0,0 +1,307 @@
+-- $Id: camel.asn 20835 2007-02-17 20:04:10Z etxrab $
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 5.5 Classes
+CAP-classes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1)
+modules(3) cap-classes(54) version5(4)}
+
+DEFINITIONS ::= BEGIN
+
+IMPORTS
+
+       ROS-OBJECT-CLASS,
+       Code
+FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+
+       id-rosObject-gprsSSF,
+       id-rosObject-gsmSRF,
+       id-rosObject-gsmSSF,
+       id-rosObject-smsSSF-V3,
+       id-rosObject-smsSSF-V4,
+       ros-InformationObjects,
+       gsmSSF-gsmSCF-Protocol,
+       gsmSCF-gsmSRF-Protocol,
+       smsSSF-gsmSCF-Protocol,
+       gprsSSF-gsmSCF-Protocol
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
+
+       capSsfToScfGeneric,
+       capAssistHandoffssfToScf,
+       capScfToSsfGeneric
+FROM CAP-gsmSSF-gsmSCF-pkgs-contracts-acs gsmSSF-gsmSCF-Protocol
+
+       gsmSRF-gsmSCF-contract
+FROM CAP-gsmSCF-gsmSRF-pkgs-contracts-acs gsmSCF-gsmSRF-Protocol
+
+       cap3SMS,
+       cap4SMS
+FROM CAP-smsSSF-gsmSCF-pkgs-contracts-acs smsSSF-gsmSCF-Protocol
+
+       capGprsSsfToScf,
+       capGsmScfToGprsSsf
+FROM CAP-gprsSSF-gsmSCF-pkgs-contracts-acs gprsSSF-gsmSCF-Protocol
+
+       CriticalityType
+FROM CS2-datatypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1) cs2(20)
+modules(0) in-cs2-datatypes(0) version1(0)}
+
+;
+
+gsmSSF ROS-OBJECT-CLASS ::= {
+       INITIATES       {capSsfToScfGeneric|
+                               capAssistHandoffssfToScf}
+       RESPONDS        {capScfToSsfGeneric}
+       ID                      id-rosObject-gsmSSF}
+-- The Rel-6 'gsmSSF' definition uses the Rel-6 capSsfToScfGeneric, capAssistHandoffssfToScf
+-- and capScfToSsfGeneric CONTRACT definitions.
+
+gsmSRF ROS-OBJECT-CLASS ::= {
+       INITIATES       {gsmSRF-gsmSCF-contract}
+       ID                      id-rosObject-gsmSRF}
+-- The Rel-6 'gsmSRF' definition uses the Rel-6 gsmSRF-gsmSCF-contract CONTRACT definition.
+
+smsSSF-V3 ROS-OBJECT-CLASS ::= {
+       INITIATES       {cap3SMS}
+       ID                      id-rosObject-smsSSF-V3}
+-- The Rel-6 'smsSSF-V3' definition uses the Rel-6 cap3SMS CONTRACT definition. The smsSSF-V3
+-- ROS-OBJECT-CLASS is used for MO SMS control.
+
+smsSSF-V4 ROS-OBJECT-CLASS ::= {
+       INITIATES       {cap4SMS}
+       ID                      id-rosObject-smsSSF-V4}
+-- The Rel-6 'smsSSF-V4' definition uses the Rel-6 cap4SMS CONTRACT definition. The smsSSF-V4
+-- ROS-OBJECT-CLASS is used for MT SMS control.
+
+gprsSSF ROS-OBJECT-CLASS ::= {
+       INITIATES       {capGprsSsfToScf}
+       RESPONDS        {capGsmScfToGprsSsf}
+       ID                      id-rosObject-gprsSSF}
+-- The Rel-6 'gprsSSF' definition uses the Rel-6 capGprsSsfTogsmScf and capGsmScfToGprsSsf
+-- CONTRACT definitions.
+
+EXTENSION ::= CLASS {
+       &ExtensionType,
+       &criticality            CriticalityType DEFAULT ignore,
+       &id     Code}
+
+WITH SYNTAX {
+       EXTENSION-SYNTAX        &ExtensionType
+       CRITICALITY                     &criticality
+       IDENTIFIED BY           &id
+       }
+-- Only value Global OBJECT IDENTIFIER is used for &id;
+-- Only the value ignore (0) is used for &criticality.
+
+-- Example of addition of an extension named 'Some Network Specific Indicator' of type
+-- BOOLEAN, with criticality 'ignore' and identified by global Object Identifier.
+--
+-- Example of definition using the above information object class:
+--
+-- SomeNetworkSpecificIndicator EXTENSION ::= {
+--     EXTENSION-SYNTAX        BOOLEAN
+--     CRITICALITY                     ignore
+--     IDENTIFIED BY           global : {itu-t(0) identified-organization(4) organisation(0) gsm(1)
+--                                                              capextension(2)}
+--     }
+
+-- Example of transfer syntax, using the ExtensionField datatype as specified in clause 5.
+-- Assuming the value of the extension is set to TRUE, the extensions parameter becomes
+-- a Sequence of type {itu-t(0) identified-organization(4) organisation(0) gsm(1)
+-- capextension(2)}, criticality ENUMERATED ::= ignore(0) and value [1] EXPLICIT BOOLEAN
+-- ::= TRUE.
+--
+-- Use of ITU-T Recommendation Q.1400 [52] defined Extension is for further study.
+-- In addition the extension mechanism marker is used to identify the future minor additions
+-- to CAP.
+
+firstExtension EXTENSION ::= {
+       EXTENSION-SYNTAX        NULL
+       CRITICALITY                     ignore
+       IDENTIFIED BY           global : {itu-t(0) identified-organization(4) organisation(0) gsm(1)
+                                               capextension(2)}
+       }
+-- firstExtension is just an example.
+
+SupportedExtensions EXTENSION ::= {firstExtension, ...
+-- full set of network operator extensions --
+}
+-- SupportedExtension is the full set of the network operator extensions.
+
+PARAMETERS-BOUND ::= CLASS {
+       &minAccessPointNameLength                                       INTEGER,
+       &maxAccessPointNameLength                                       INTEGER,
+       &minAChBillingChargingLength                            INTEGER,
+       &maxAChBillingChargingLength                            INTEGER,
+       &minAttributesLength                                            INTEGER,
+       &maxAttributesLength                                            INTEGER,
+       &maxBearerCapabilityLength                                      INTEGER,
+       &minCalledPartyBCDNumberLength                          INTEGER,
+       &maxCalledPartyBCDNumberLength                          INTEGER,
+       &minCalledPartyNumberLength                                     INTEGER,
+       &maxCalledPartyNumberLength                                     INTEGER,
+       &minCallingPartyNumberLength                            INTEGER,
+       &maxCallingPartyNumberLength                            INTEGER,
+       &minCallResultLength                                            INTEGER,
+       &maxCallResultLength                                            INTEGER,
+       &minCarrierLength                                                       INTEGER,
+       &maxCarrierLength                                                       INTEGER,
+       &minCauseLength                                                         INTEGER,
+       &maxCauseLength                                                         INTEGER,
+       &minDigitsLength                                                        INTEGER,
+       &maxDigitsLength                                                        INTEGER,
+       &minFCIBillingChargingDataLength                        INTEGER,
+       &maxFCIBillingChargingDataLength                        INTEGER,
+       &minFCIBillingChargingLength                            INTEGER,
+       &maxFCIBillingChargingLength                            INTEGER,
+       &minGenericNumberLength                                         INTEGER,
+       &maxGenericNumberLength                                         INTEGER,
+       &minGPRSCauseLength                                                     INTEGER,
+       &maxGPRSCauseLength                                                     INTEGER,
+       &minIPSSPCapabilitiesLength                                     INTEGER,
+       &maxIPSSPCapabilitiesLength                                     INTEGER,
+       &minLocationNumberLength                                        INTEGER,
+       &maxLocationNumberLength                                        INTEGER,
+       &minLowLayerCompatibilityLength             INTEGER,
+       &maxLowLayerCompatibilityLength             INTEGER,
+       &minMessageContentLength                                        INTEGER,
+       &maxMessageContentLength                                        INTEGER,
+       &minOriginalCalledPartyIDLength                         INTEGER,
+       &maxOriginalCalledPartyIDLength                         INTEGER,
+       &minPDPAddressLength                                            INTEGER,
+       &maxPDPAddressLength                                            INTEGER,
+       &minRedirectingPartyIDLength                            INTEGER,
+       &maxRedirectingPartyIDLength                            INTEGER,
+       &minScfIDLength                                                         INTEGER,
+       &maxScfIDLength                                                         INTEGER,
+       &minSCIBillingChargingLength                            INTEGER,
+       &maxSCIBillingChargingLength                            INTEGER,
+       &minTimeAndTimezoneLength                                       INTEGER,
+       &maxTimeAndTimezoneLength                                       INTEGER,
+       &numOfBCSMEvents                                                        INTEGER,
+       &numOfChangeOfPositionControlInfo                       INTEGER,
+       &numOfCSs                                                                       INTEGER,
+       &numOfSMSEvents                                                         INTEGER,
+       &numOfGPRSEvents                                                        INTEGER,
+       &numOfExtensions                                                        INTEGER,
+       &numOfGenericNumbers                                            INTEGER,
+       &numOfMessageIDs                                                        INTEGER}
+
+WITH SYNTAX {
+       MINIMUM-FOR-ACCESS-POINT-NAME                           &minAccessPointNameLength
+       MAXIMUM-FOR-ACCESS-POINT-NAME                           &maxAccessPointNameLength
+       MINIMUM-FOR-ACH-BILLING-CHARGING                        &minAChBillingChargingLength
+       MAXIMUM-FOR-ACH-BILLING-CHARGING                        &maxAChBillingChargingLength
+       MINIMUM-FOR-ATTRIBUTES                                          &minAttributesLength
+       MAXIMUM-FOR-ATTRIBUTES                                          &maxAttributesLength
+       MAXIMUM-FOR-BEARER-CAPABILITY                           &maxBearerCapabilityLength
+       MINIMUM-FOR-CALLED-PARTY-BCD-NUMBER                     &minCalledPartyBCDNumberLength
+       MAXIMUM-FOR-CALLED-PARTY-BCD-NUMBER                     &maxCalledPartyBCDNumberLength
+       MINIMUM-FOR-CALLED-PARTY-NUMBER                         &minCalledPartyNumberLength
+       MAXIMUM-FOR-CALLED-PARTY-NUMBER                         &maxCalledPartyNumberLength
+       MINIMUM-FOR-CALLING-PARTY-NUMBER                        &minCallingPartyNumberLength
+       MAXIMUM-FOR-CALLING-PARTY-NUMBER                        &maxCallingPartyNumberLength
+       MINIMUM-FOR-CALL-RESULT                                         &minCallResultLength
+       MAXIMUM-FOR-CALL-RESULT                                         &maxCallResultLength
+       MINIMUM-FOR-CARRIER                                                     &minCarrierLength
+       MAXIMUM-FOR-CARRIER                                                     &maxCarrierLength
+       MINIMUM-FOR-CAUSE                                                       &minCauseLength
+       MAXIMUM-FOR-CAUSE                                                       &maxCauseLength
+       MINIMUM-FOR-DIGITS                                                      &minDigitsLength
+       MAXIMUM-FOR-DIGITS                                                      &maxDigitsLength
+       MINIMUM-FOR-FCI-BILLING-CHARGING-DATA           &minFCIBillingChargingDataLength
+       MAXIMUM-FOR-FCI-BILLING-CHARGING-DATA           &maxFCIBillingChargingDataLength
+       MINIMUM-FOR-FCI-BILLING-CHARGING                        &minFCIBillingChargingLength
+       MAXIMUM-FOR-FCI-BILLING-CHARGING                        &maxFCIBillingChargingLength
+       MINIMUM-FOR-GENERIC-NUMBER                                      &minGenericNumberLength
+       MAXIMUM-FOR-GENERIC-NUMBER                                      &maxGenericNumberLength
+       MINIMUM-FOR-GPRS-CAUSE-LENGTH                           &minGPRSCauseLength
+       MAXIMUM-FOR-GPRS-CAUSE-LENGTH                           &maxGPRSCauseLength
+       MINIMUM-FOR-IP-SSP-CAPABILITIES                         &minIPSSPCapabilitiesLength
+       MAXIMUM-FOR-IP-SSP-CAPABILITIES                         &maxIPSSPCapabilitiesLength
+       MINIMUM-FOR-LOCATION-NUMBER                                     &minLocationNumberLength
+       MAXIMUM-FOR-LOCATION-NUMBER                                     &maxLocationNumberLength
+    MINIMUM-FOR-LOW-LAYER-COMPATIBILITY                        &minLowLayerCompatibilityLength
+       MAXIMUM-FOR-LOW-LAYER-COMPATIBILITY             &maxLowLayerCompatibilityLength
+       MINIMUM-FOR-MESSAGE-CONTENT                                     &minMessageContentLength
+       MAXIMUM-FOR-MESSAGE-CONTENT                                     &maxMessageContentLength
+       MINIMUM-FOR-ORIGINAL-CALLED-PARTY-ID            &minOriginalCalledPartyIDLength
+       MAXIMUM-FOR-ORIGINAL-CALLED-PARTY-ID            &maxOriginalCalledPartyIDLength
+       MINIMUM-FOR-PDP-ADDRESS-LENGTH                          &minPDPAddressLength
+       MAXIMUM-FOR-PDP-ADDRESS-LENGTH                          &maxPDPAddressLength
+       MINIMUM-FOR-REDIRECTING-ID                                      &minRedirectingPartyIDLength
+       MAXIMUM-FOR-REDIRECTING-ID                                      &maxRedirectingPartyIDLength
+       MINIMUM-FOR-GSMSCF-ID                                           &minScfIDLength
+       MAXIMUM-FOR-GSMSCF-ID                                           &maxScfIDLength
+       MINIMUM-FOR-SCI-BILLING-CHARGING                        &minSCIBillingChargingLength
+       MAXIMUM-FOR-SCI-BILLING-CHARGING                        &maxSCIBillingChargingLength
+       MINIMUM-FOR-TIME-AND-TIMEZONE                           &minTimeAndTimezoneLength
+       MAXIMUM-FOR-TIME-AND-TIMEZONE                           &maxTimeAndTimezoneLength
+       NUM-OF-BCSM-EVENT                                                       &numOfBCSMEvents
+       NUM-OF-CHANGE-OF-POSITION-CONTROL-INFO          &numOfChangeOfPositionControlInfo
+       NUM-OF-CSS                                                                      &numOfCSs
+       NUM-OF-SMS-EVENTS                                                       &numOfSMSEvents
+       NUM-OF-GPRS-EVENTS                                                      &numOfGPRSEvents
+       NUM-OF-EXTENSIONS                                                       &numOfExtensions
+       NUM-OF-GENERIC-NUMBERS                                          &numOfGenericNumbers
+       NUM-OF-MESSAGE-IDS                                                      &numOfMessageIDs}
+
+cAPSpecificBoundSet PARAMETERS-BOUND ::= {
+       MINIMUM-FOR-ACCESS-POINT-NAME                           1
+       MAXIMUM-FOR-ACCESS-POINT-NAME                           100
+       MINIMUM-FOR-ACH-BILLING-CHARGING                        5
+       MAXIMUM-FOR-ACH-BILLING-CHARGING                        177
+       MINIMUM-FOR-ATTRIBUTES                                          2
+       MAXIMUM-FOR-ATTRIBUTES                                          10
+       MAXIMUM-FOR-BEARER-CAPABILITY                           11
+       MINIMUM-FOR-CALLED-PARTY-BCD-NUMBER                     1
+       MAXIMUM-FOR-CALLED-PARTY-BCD-NUMBER                     41
+       MINIMUM-FOR-CALLED-PARTY-NUMBER                         2
+       MAXIMUM-FOR-CALLED-PARTY-NUMBER                         18
+       MINIMUM-FOR-CALLING-PARTY-NUMBER                        2
+       MAXIMUM-FOR-CALLING-PARTY-NUMBER                        10
+       MINIMUM-FOR-CALL-RESULT                                         12
+       MAXIMUM-FOR-CALL-RESULT                                         193
+       MINIMUM-FOR-CARRIER                                                     4
+       MAXIMUM-FOR-CARRIER                                                     4
+       MINIMUM-FOR-CAUSE                                                       2
+       MAXIMUM-FOR-CAUSE                                                       32
+       MINIMUM-FOR-DIGITS                                                      2
+       MAXIMUM-FOR-DIGITS                                                      16
+       MINIMUM-FOR-FCI-BILLING-CHARGING-DATA           1
+       MAXIMUM-FOR-FCI-BILLING-CHARGING-DATA           160
+       MINIMUM-FOR-FCI-BILLING-CHARGING                        5
+       MAXIMUM-FOR-FCI-BILLING-CHARGING                        225
+       MINIMUM-FOR-GENERIC-NUMBER                                      3
+       MAXIMUM-FOR-GENERIC-NUMBER                                      11
+       MINIMUM-FOR-GPRS-CAUSE-LENGTH                           1
+       MAXIMUM-FOR-GPRS-CAUSE-LENGTH                           1
+       MINIMUM-FOR-IP-SSP-CAPABILITIES                         1
+       MAXIMUM-FOR-IP-SSP-CAPABILITIES                         4
+       MINIMUM-FOR-LOCATION-NUMBER                                     2
+       MAXIMUM-FOR-LOCATION-NUMBER                                     10
+       MINIMUM-FOR-LOW-LAYER-COMPATIBILITY                 1
+       MAXIMUM-FOR-LOW-LAYER-COMPATIBILITY                 16
+       MINIMUM-FOR-MESSAGE-CONTENT                                     1
+       MAXIMUM-FOR-MESSAGE-CONTENT                                     127
+       MINIMUM-FOR-ORIGINAL-CALLED-PARTY-ID            2
+       MAXIMUM-FOR-ORIGINAL-CALLED-PARTY-ID            10
+       MINIMUM-FOR-PDP-ADDRESS-LENGTH                          1
+       MAXIMUM-FOR-PDP-ADDRESS-LENGTH                          63
+       MINIMUM-FOR-REDIRECTING-ID                                      2
+       MAXIMUM-FOR-REDIRECTING-ID                                      10
+       MINIMUM-FOR-GSMSCF-ID                                           2
+       MAXIMUM-FOR-GSMSCF-ID                                           10
+       MINIMUM-FOR-SCI-BILLING-CHARGING                        4
+       MAXIMUM-FOR-SCI-BILLING-CHARGING                        225
+       MINIMUM-FOR-TIME-AND-TIMEZONE                           8
+       MAXIMUM-FOR-TIME-AND-TIMEZONE                           8
+       NUM-OF-BCSM-EVENT                                                       30
+       NUM-OF-CHANGE-OF-POSITION-CONTROL-INFO          10
+       NUM-OF-CSS                                                                      127
+       NUM-OF-SMS-EVENTS                                                       10
+       NUM-OF-GPRS-EVENTS                                                      10
+       NUM-OF-EXTENSIONS                                                       10
+       NUM-OF-GENERIC-NUMBERS                                          5
+       NUM-OF-MESSAGE-IDS                                                      16}
+
+END
\ No newline at end of file
diff --git a/asn1/camel/CAP-datatypes.asn b/asn1/camel/CAP-datatypes.asn
new file mode 100644 (file)
index 0000000..717c228
--- /dev/null
@@ -0,0 +1,1518 @@
+-- $Id$
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 5   Common CAP Types
+-- 5.1 Data types
+CAP-datatypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-datatypes(52) version5(4)}
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+IMPORTS
+
+       Duration,
+       Integer4,
+       Interval,
+       LegID,
+       ServiceKey
+FROM CS1-DataTypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+modules(0) cs1-datatypes(2) version1(0)}
+
+       BothwayThroughConnectionInd,
+       CriticalityType,
+       MiscCallInfo
+FROM CS2-datatypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+cs2(20) modules(0) in-cs2-datatypes(0) version1(0)}
+
+       AddressString,
+       CellGlobalIdOrServiceAreaIdFixedLength,
+       Ext-BasicServiceCode,
+       IMSI,
+       ISDN-AddressString,
+       LAIFixedLength,
+       NAEA-CIC
+FROM MAP-CommonDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CommonDataTypes(18) version9(9)}
+
+       Ext-QoS-Subscribed,
+       Ext2-QoS-Subscribed,
+       GeographicalInformation,
+       GSN-Address,
+       LocationInformation,
+       LSAIdentity,
+       QoS-Subscribed,
+       RAIdentity,
+       SubscriberState,
+       GPRSChargingID
+FROM MAP-MS-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-MS-DataTypes(11) version9(9)}
+
+       CallReferenceNumber,
+       SuppressionOfAnnouncement
+FROM MAP-CH-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CH-DataTypes(13) version9(9)}
+
+       tc-Messages,
+       classes
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
+
+       TCInvokeIdSet
+FROM TCAPMessages tc-Messages
+
+       EXTENSION,
+       PARAMETERS-BOUND,
+       SupportedExtensions
+FROM CAP-classes classes
+
+       ExtensionContainer
+FROM MAP-ExtensionDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-ExtensionDataTypes(21) version9(9)}
+
+;
+
+AccessPointName {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minAccessPointNameLength .. bound.&maxAccessPointNameLength))
+-- Indicates the AccessPointName, refer to 3GPP TS 24.008 [9] for the encoding.
+-- It shall be coded as in the value part defined in 3GPP TS 24.008,
+-- i.e. the 3GPP TS 24.008 IEI and 3GPP TS 24.008 octet length indicator
+-- shall not be included.
+
+AChBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE
+       (bound.&minAChBillingChargingLength .. bound.&maxAChBillingChargingLength))
+       (CONSTRAINED BY {-- shall be the result of the BER-encoded value of the type --
+       CAMEL-AChBillingChargingCharacteristics {bound}})
+-- The AChBillingChargingCharacteristics parameter specifies the charging related information
+-- to be provided by the gsmSSF and the conditions on which this information has to be reported
+-- back to the gsmSCF with the ApplyChargingReport operation. The value of the
+-- AChBillingChargingCharacteristics of type OCTET STRING carries a value of the ASN.1 data type:
+-- CAMEL-AChBillingChargingCharacteristics. The normal encoding rules are used to encode this
+-- value.
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+AChChargingAddress {PARAMETERS-BOUND : bound} ::= CHOICE {
+       legID                           [2] LegID,
+       srfConnection           [50] CallSegmentID {bound}
+       }
+
+AdditionalCallingPartyNumber {PARAMETERS-BOUND : bound} ::= Digits {bound}
+-- Indicates the Additional Calling Party Number.
+
+AlertingPattern ::= OCTET STRING (SIZE(3))
+-- Indicates a specific pattern that is used to alert a subscriber
+-- (e.g. distinctive ringing, tones, etc.).
+-- The encoding of the last octet of this parameter is as defined in 3GPP TS 29.002 [11].
+-- Only the trailing OCTET is used, the remaining OCTETS shall be sent as NULL (zero)
+-- The receiving side shall ignore the leading two OCTETS.
+
+AOCBeforeAnswer ::= SEQUENCE {
+       aOCInitial                                                      [0] CAI-GSM0224,
+       aOCSubsequent                                           [1] AOCSubsequent                                                       OPTIONAL
+       }
+
+AOCGPRS ::= SEQUENCE {
+       aOCInitial                                                      [0] CAI-GSM0224,
+       aOCSubsequent                                           [1] AOCSubsequent                                                       OPTIONAL
+       }
+
+AOCSubsequent ::= SEQUENCE {
+       cAI-GSM0224                                                     [0] CAI-GSM0224 ,
+       tariffSwitchInterval                            [1] INTEGER (1..86400)                                          OPTIONAL
+       }
+-- tariffSwitchInterval is measured in 1 second units
+
+AppendFreeFormatData ::= ENUMERATED {
+       overwrite       (0),
+       append          (1)
+       }
+
+ApplicationTimer ::=INTEGER (0..2047)
+-- Used by the gsmSCF to set a timer in the gsmSSF. The timer is in seconds.
+
+AssistingSSPIPRoutingAddress {PARAMETERS-BOUND : bound} ::= Digits {bound}
+-- Indicates the destination address of the gsmSRF for the assist procedure.
+
+AudibleIndicator ::= CHOICE {
+       tone                                                            BOOLEAN,
+       burstList                                                       [1] BurstList
+       }
+
+BackwardServiceInteractionInd ::= SEQUENCE {
+       conferenceTreatmentIndicator            [1] OCTET STRING (SIZE(1))                                      OPTIONAL,
+       -- acceptConferenceRequest      'xxxx xx01'B
+       -- rejectConferenceRequest      'xxxx xx10'B
+       -- if absent from Connect or ContinueWithArgument,
+       -- then CAMEL service does not affect conference treatement
+       callCompletionTreatmentIndicator         [2] OCTET STRING (SIZE(1))                                     OPTIONAL,
+       -- acceptCallCompletionServiceRequest   'xxxx xx01'B,
+       -- rejectCallCompletionServiceRequest   'xxxx xx10'B
+       -- if absent from Connect or ContinueWithArgument,
+       -- then CAMEL service does not affect call completion treatment
+       ...
+       }
+
+BasicGapCriteria {PARAMETERS-BOUND : bound} ::= CHOICE {
+       calledAddressValue                                      [0] Digits {bound},
+       gapOnService                                            [2] GapOnService,
+       calledAddressAndService                         [29] SEQUENCE {
+               calledAddressValue                                      [0] Digits {bound},
+               serviceKey                                                      [1] ServiceKey,
+               ...
+               },
+       callingAddressAndService                        [30] SEQUENCE {
+               callingAddressValue                                     [0] Digits {bound},
+               serviceKey                                                      [1] ServiceKey,
+               ...
+               }
+       }
+-- Both calledAddressValue and callingAddressValue can be
+-- incomplete numbers, in the sense that a limited amount of digits can be given.
+-- For the handling of numbers starting with the same digit string refer to the detailed
+-- procedure of the CallGap operation
+
+BCSMEvent{PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       eventTypeBCSM                                           [0] EventTypeBCSM,
+       monitorMode                                                     [1] MonitorMode,
+       legID                                                           [2] LegID                                                                       OPTIONAL,
+       dpSpecificCriteria                                      [30] DpSpecificCriteria {bound}                         OPTIONAL,
+       automaticRearm                                          [50] NULL                                                                       OPTIONAL,
+       ...
+       }
+-- Indicates the BCSM Event information for monitoring.
+
+BCSM-Failure {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       legID                                                           [0]     LegID                                                                   OPTIONAL,
+       cause                                                           [2]     Cause {bound}                                                   OPTIONAL,
+       ...
+       }
+
+BearerCapability {PARAMETERS-BOUND : bound} ::= CHOICE {
+       bearerCap                                                       [0] OCTET STRING (SIZE(2..bound.&maxBearerCapabilityLength))
+       }
+-- Indicates the type of bearer capability connection to the user. For bearerCap, the ISUP User
+-- Service Information, ETSI EN 300 356-1 [23]
+-- encoding shall be used.
+
+Burst ::= SEQUENCE {
+       numberOfBursts                                          [0]     INTEGER (1..3)          DEFAULT 1,
+       burstInterval                                           [1]     INTEGER (1..1200)       DEFAULT 2,                                              
+       numberOfTonesInBurst                            [2] INTEGER (1..3)              DEFAULT 3,
+       toneDuration                                            [3]     INTEGER (1..20)         DEFAULT 2,
+       toneInterval                                            [4]     INTEGER (1..20)         DEFAULT 2,
+       ...
+       }
+-- burstInterval, toneDurartion and toneInterval are measured in 100 millisecond units
+
+BurstList ::= SEQUENCE {
+       warningPeriod                                           [0] INTEGER     (1..1200) DEFAULT 30,
+       bursts                                                          [1] Burst,
+       ...
+       }
+-- warningPeriod is measured in 1 second units.
+
+CAI-GSM0224 ::= SEQUENCE {
+       e1                                                                      [0] INTEGER (0..8191)                                           OPTIONAL,
+       e2                                                                      [1] INTEGER (0..8191)                                           OPTIONAL,
+       e3                                                                      [2] INTEGER (0..8191)                                           OPTIONAL,
+       e4                                                                      [3] INTEGER (0..8191)                                           OPTIONAL,
+       e5                                                                      [4] INTEGER (0..8191)                                           OPTIONAL,
+       e6                                                                      [5] INTEGER (0..8191)                                           OPTIONAL,
+       e7                                                                      [6] INTEGER (0..8191)                                           OPTIONAL
+       }
+-- Indicates Charge Advice Information to the Mobile Station. For information regarding
+-- parameter usage, refer to 3GPP TS 22.024 [2].
+
+CalledPartyBCDNumber {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minCalledPartyBCDNumberLength .. bound.&maxCalledPartyBCDNumberLength))
+-- Indicates the Called Party Number, including service selection information.
+-- Refer to 3GPP TS 24.008 [9] for encoding.
+-- This data type carries only the 'type of number', 'numbering plan
+-- identification' and 'number digit' fields defined in 3GPP TS 24.008 [9];
+-- it does not carry the 'called party BCD number IEI' or 'length of called
+-- party BCD number contents'.
+-- In the context of the DestinationSubscriberNumber field in ConnectSMSArg or 
+-- InitialDPSMSArg, a CalledPartyBCDNumber may also contain an alphanumeric 
+-- character string. In this case, type-of-number '101'B is used, in accordance 
+-- with 3GPP TS 23.040 [6]. The address is coded in accordance with the 
+-- GSM 7-bit default alphabet definition and the SMS packing rules 
+-- as specified in 3GPP TS 23.038 [15] in this case.
+
+CalledPartyNumber {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minCalledPartyNumberLength .. bound.&maxCalledPartyNumberLength))
+-- Indicates the Called Party Number. Refer to ETS EN 300 356-1 [23] for encoding.
+
+-- A CalledPartyNumber may contain national-specific values of the Nature Of Address
+-- indicator. The filling-in of the national-specific Nature Of Address indicator
+-- values shall be done in accordance with the national ISUP of the gsmSSF country, e.g.
+-- ANSI T1.113-1995 [92].
+-- In terms of ETS EN 300 356-1 [23], the Destination Address Field is not present if the
+-- destination address length is set to zero. This is the case e.g. when the ANSI
+-- ISUP Nature Of Address indicator indicates no number present, operator requested
+-- (1110100) or no number present, cut-through call to carrier (1110101).
+-- See also see 3GPP TS 23.078 [7].
+
+CallingPartyNumber {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minCallingPartyNumberLength .. bound.&maxCallingPartyNumberLength))
+-- Indicates the Calling Party Number. Refer to ETSI EN 300 356-1 [23] for encoding.
+
+CallResult {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minCallResultLength .. bound.&maxCallResultLength))
+       (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type -
+       CAMEL-CallResult {bound}})
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+-- This parameter provides the gsmSCF with the charging related information previously requested
+-- using the ApplyCharging operation. This shall include the partyToCharge parameter as
+-- received in the related ApplyCharging operation to correlate the result to the request
+
+CallSegmentFailure {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       callSegmentID                                           [0] CallSegmentID {bound}                                       OPTIONAL,
+       cause                                                           [2]     Cause {bound}                                                   OPTIONAL,
+       ...
+       }
+
+CallSegmentID {PARAMETERS-BOUND : bound} ::= INTEGER (1..bound.&numOfCSs)
+
+CallSegmentToCancel {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       invokeID                                                        [0]     InvokeID                                                                OPTIONAL,
+       callSegmentID                                           [1]     CallSegmentID {bound}                                   OPTIONAL,
+       ...
+       }
+
+CAMEL-AChBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= CHOICE {
+       timeDurationCharging                            [0] SEQUENCE {
+               maxCallPeriodDuration                           [0] INTEGER (1..864000),
+               releaseIfdurationExceeded                       [1] BOOLEAN DEFAULT FALSE,
+               tariffSwitchInterval                            [2] INTEGER (1..86400)                                  OPTIONAL,
+               audibleIndicator                                        [3] AudibleIndicator DEFAULT tone: FALSE,       
+               extensions                                                      [4] Extensions {bound}                                  OPTIONAL,
+               ...
+               }
+       }
+-- tariffSwitchInterval is measured in 1 second units.
+-- maxCallPeriodDuration is measured in 100 millisecond units
+
+CAMEL-CallResult {PARAMETERS-BOUND : bound} ::= CHOICE {
+       timeDurationChargingResult                      [0] SEQUENCE {
+               partyToCharge                                           [0] ReceivingSideID,
+               timeInformation                                         [1] TimeInformation,
+               legActive                                                       [2] BOOLEAN DEFAULT TRUE,
+               callLegReleasedAtTcpExpiry                      [3] NULL                                                                OPTIONAL,
+               extensions                                                      [4] Extensions {bound}                                  OPTIONAL,
+               aChChargingAddress                                      [5] AChChargingAddress {bound}
+                                                                                                       DEFAULT legID:receivingSideID:leg1,
+               ...
+               }
+       }
+
+CAMEL-FCIBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= CHOICE{
+       fCIBCCCAMELsequence1                            [0] SEQUENCE {
+               freeFormatData                                          [0] OCTET STRING (SIZE(
+                       bound.&minFCIBillingChargingDataLength .. bound.&maxFCIBillingChargingDataLength)),
+               partyToCharge                                           [1] SendingSideID DEFAULT sendingSideID: leg1,
+               appendFreeFormatData                            [2] AppendFreeFormatData DEFAULT overwrite,
+               ...
+               }
+       }
+
+CAMEL-FCIGPRSBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= SEQUENCE{
+       fCIBCCCAMELsequence1                            [0] SEQUENCE {
+               freeFormatData                                          [0] OCTET STRING (SIZE(
+                       bound.&minFCIBillingChargingDataLength .. bound.&maxFCIBillingChargingDataLength)),
+               pDPID                                                           [1] PDPID OPTIONAL,
+               appendFreeFormatData                            [2] AppendFreeFormatData DEFAULT overwrite,
+               ...
+               }
+       }
+
+CAMEL-FCISMSBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= CHOICE{
+       fCIBCCCAMELsequence1                            [0] SEQUENCE {
+               freeFormatData                                          [0] OCTET STRING (SIZE(
+                       bound.&minFCIBillingChargingDataLength .. bound.&maxFCIBillingChargingDataLength)),
+               appendFreeFormatData                            [1] AppendFreeFormatData DEFAULT overwrite
+               }
+       }
+
+CAMEL-SCIBillingChargingCharacteristics ::= CHOICE {
+       aOCBeforeAnswer                                         [0] AOCBeforeAnswer,
+       aOCAfterAnswer                                          [1] AOCSubsequent,
+       aOC-extension                                           [2]     CAMEL-SCIBillingChargingCharacteristicsAlt
+       }
+
+CAMEL-SCIBillingChargingCharacteristicsAlt ::= SEQUENCE {
+       ...
+       }
+--     This datatype is for extension in future releases.
+
+CAMEL-SCIGPRSBillingChargingCharacteristics ::= SEQUENCE {
+       aOCGPRS                                                         [0] AOCGPRS,
+       pDPID                                                           [1] PDPID                                                                       OPTIONAL,
+       ...
+       }
+
+Carrier {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minCarrierLength .. bound.&maxCarrierLength))
+-- This parameter is used for North America (na) only.
+-- It contains the carrier selection field (first octet) followed by Carrier ID
+-- information (North America (na)).
+
+-- The Carrier selection is one octet and is encoded as:
+-- 00000000            No indication
+-- 00000001            Selected carrier identification code (CIC) pre subscribed and not
+--                             input by calling party
+-- 00000010            Selected carrier identification code (CIC) pre subscribed and input by
+--                             calling party
+-- 00000011            Selected carrier identification code (CIC) pre subscribed, no
+--                             indication of whether input by calling party (undetermined)
+-- 00000100            Selected carrier identification code (CIC) not pre subscribed and
+--                             input by calling party
+-- 00000101
+--     to                      Spare
+-- 11111110
+-- 11111111            Reserved
+
+-- Refer to ANSI T1.113-1995 [92] for encoding of na carrier ID information (3 octets).
+
+Cause {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minCauseLength .. bound.&maxCauseLength))
+-- Indicates the cause for interface related information.
+-- Refer to ETSI EN 300 356-1 [23] Cause parameter for encoding.
+-- For the use of cause and location values refer to ITU-T Recommendation Q.850 [47]
+-- Shall always include the cause value and shall also include the diagnostics field,
+-- if available.
+
+CGEncountered ::= ENUMERATED {
+       noCGencountered                                         (0),
+       manualCGencountered                                     (1),
+       scpOverload                                                     (2)
+       }
+-- Indicates the type of automatic call gapping encountered, if any.
+
+ChangeOfPositionControlInfo {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE (1..bound.&numOfChangeOfPositionControlInfo) OF ChangeOfLocation {bound}
+
+ChangeOfLocation {PARAMETERS-BOUND : bound} ::= CHOICE {
+       cellGlobalId                                            [0] CellGlobalIdOrServiceAreaIdFixedLength,
+       serviceAreaId                                           [1] CellGlobalIdOrServiceAreaIdFixedLength,
+       locationAreaId                                          [2] LAIFixedLength,
+       inter-SystemHandOver                            [3] NULL,
+       inter-PLMNHandOver                                      [4] NULL,
+       inter-MSCHandOver                                       [5] NULL,
+       changeOfLocationAlt                                     [6] ChangeOfLocationAlt {bound}
+}
+-- The cellGlobalId shall contain a Cell Global Identification. 
+-- The serviceAreaId shall contain a Service Area Identification.
+
+ChangeOfLocationAlt {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       ...
+       }
+
+ChargeIndicator ::= OCTET STRING (SIZE (1))
+--  As specified in ITU-T Recommendation Q.763 as follows:
+--      no indication  'xxxx xx00'B
+--      no charge              'xxxx xx01'B
+--      charge                 'xxxx xx10'B
+--      spare                  'xxxx xx11'B
+--  Sending entity shall fill the upper six bits with '0's.
+--  Receiving entity shall ignore the upper six bits.
+
+ChargeNumber {PARAMETERS-BOUND : bound} ::= LocationNumber {bound}
+-- Information sent in either direction indicating the chargeable number for the call and
+-- consisting of the odd/even indicator, nature of address indicator, numbering plan indicator,
+-- and address signals.
+
+-- Uses the LocationNumber format which is based on the Location Number format as defined
+-- in ITU-T Recommendation Q.763 [45].
+-- For example, the ChargeNumber may be a third party number to which a call is billed for
+-- the 3rd party billing service. In this case, the calling party may request operator assistance
+-- to charge the call to, for example, their home number.
+
+-- For NA, this parameter uniquely identifies the chargeable number for a call sent into a North
+-- American long distance carrier. It transports the ChargeNumber Parameter Field as defined in
+-- ANSI T1.113-1995 [92]. This provides
+--  - 1 octet for the nature of address indicator field, plus
+--  - 1 octet for a numbering plan field, plus
+--  - up to 5 octets for the address signal (up to 10 digits)
+
+-- The Charge Number in ANSI T1.113-1995 [92] normally contains a 10 digit national number within
+-- the North American Numbering Plan (NANP); longer (e.g. international) charge numbers are not
+-- supported in ANSI T1.113-1995 [92].
+
+ChargingCharacteristics ::= CHOICE {
+       maxTransferredVolume                            [0]     INTEGER (1..4294967295),
+       maxElapsedTime                                          [1] INTEGER (1..86400)
+       }
+--     maxTransferredVolume is measured in number of bytes
+--     maxElapsedTime is measured in seconds
+
+ChargingResult ::= CHOICE {
+       transferredVolume                                       [0] TransferredVolume,
+       elapsedTime                                                     [1]     ElapsedTime
+       }
+
+ChargingRollOver ::= CHOICE {
+       transferredVolumeRollOver                       [0] TransferredVolumeRollOver,
+       elapsedTimeRollOver                                     [1]     ElapsedTimeRollOver
+       }
+-- transferredVolumeRollOver shall be reported if ApplyChargingReportGPRS reports volume and
+-- a roll-over has occurred in one or more volume counters. Otherwise, it shall be absent.
+-- elapsedTimeRollOver shall be reported if ApplyChargingReportGPRS reports duration and
+-- a roll-over has occurred in one or more duration counters. Otherwise, it shall be absent.
+
+CollectedDigits ::= SEQUENCE {
+       minimumNbOfDigits                                       [0] INTEGER (1..30)     DEFAULT 1,
+       maximumNbOfDigits                                       [1] INTEGER (1..30),
+       endOfReplyDigit                                         [2] OCTET STRING (SIZE (1..2))                          OPTIONAL,
+       cancelDigit                                                     [3] OCTET STRING (SIZE (1..2))                          OPTIONAL,
+       startDigit                                                      [4] OCTET STRING (SIZE (1..2))                          OPTIONAL,
+       firstDigitTimeOut                                       [5] INTEGER (1..127)                                            OPTIONAL,
+       interDigitTimeOut                                       [6] INTEGER (1..127)                                            OPTIONAL,
+       errorTreatment                                          [7] ErrorTreatment DEFAULT stdErrorAndInfo,
+       interruptableAnnInd                                     [8] BOOLEAN DEFAULT TRUE,
+       voiceInformation                                        [9] BOOLEAN DEFAULT FALSE,
+       voiceBack                                                       [10] BOOLEAN DEFAULT FALSE
+       }
+-- The use of voiceBack and the support of voice recognition via voiceInformation
+-- is network operator specific.
+-- The endOfReplyDigit, cancelDigit, and startDigit parameters have been
+-- designated as OCTET STRING, and are to be encoded as BCD, one digit per octet
+-- only, contained in the four least significant bits of each OCTET. The following encoding shall
+-- be applied for the non-decimal characters:
+-- 1011 (*), 1100 (#).
+-- The usage is service dependent.
+-- firstDigitTimeOut and interDigitTimeOut are measured in seconds.
+
+CollectedInfo ::= CHOICE {
+       collectedDigits                                         [0] CollectedDigits
+       }
+
+ConnectedNumberTreatmentInd ::= ENUMERATED {
+       noINImpact                                                      (0),
+       presentationRestricted                          (1),
+       presentCalledINNumber                           (2),
+       presentCallINNumberRestricted           (3)
+}
+-- This parameter is used to suppress or to display the connected number.
+
+ControlType ::= ENUMERATED {
+       sCPOverloaded                                           (0),
+       manuallyInitiated                                       (1)
+       }
+
+CompoundCriteria {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       basicGapCriteria                                        [0] BasicGapCriteria {bound},
+       scfID                                                           [1] ScfID {bound}                                                       OPTIONAL
+       }
+
+CorrelationID {PARAMETERS-BOUND : bound} ::= Digits {bound}
+-- used by gsmSCF for correlation with a previous operation.
+
+DateAndTime ::= OCTET STRING (SIZE(7))
+--  DateAndTime is BCD encoded. The year digit indicating millenium occupies bits
+--  0-3 of the first octet, and the year digit indicating century occupies bits
+--  4-7 of the first octet.
+--  The year digit indicating decade occupies bits 0-3 of the second octet,
+--  whilst the digit indicating the year within the decade occupies bits 4-7 of
+--  the second octet.
+--  The most significant month digit occupies bits 0-3 of the third octet,
+--  and the least significant month digit occupies bits 4-7 of the third octet.
+--  The most significant day digit occupies bits 0-3 of the fourth octet,
+--  and the least significant day digit occupies bits 4-7 of the fourth octet.
+--  The most significant hours digit occupies bits 0-3 of the fifth octet,
+--  and the least significant digit occupies bits 4-7 of the fifth octet.
+--  The most significant minutes digit occupies bits 0-3 of the sixth octet,
+--  and the least significant digit occupies bits 4-7 of the sixth octet.
+--  The most significant seconds digit occupies bits 0-3 of the seventh octet,
+--  and the least seconds significant digit occupies bits 4-7 of the seventh octet.
+--  For the encoding of digits in an octet, refer to the timeAndtimezone parameter.
+
+DestinationRoutingAddress {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE(1) OF
+                                                                                                       CalledPartyNumber {bound}
+-- Indicates the Called Party Number.
+
+Digits {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minDigitsLength .. bound.&maxDigitsLength))
+-- Indicates the address signalling digits.
+-- Refer to ETSI EN 300 356-1 [23] Generic Number & Generic Digits parameters for encoding.
+-- The coding of the subfields 'NumberQualifier' in Generic Number and 'TypeOfDigits' in
+-- Generic Digits are irrelevant to the CAP;
+-- the ASN.1 tags are sufficient to identify the parameter.
+-- The ISUP format does not allow to exclude these subfields,
+-- therefore the value is network operator specific.
+--
+-- The following parameters shall use Generic Number:
+--  - AdditionalCallingPartyNumber for InitialDP
+--  - AssistingSSPIPRoutingAddress for EstablishTemporaryConnection
+--  - CorrelationID for AssistRequestInstructions
+--  - CalledAddressValue for all occurrences, CallingAddressValue for all occurrences.
+--
+-- The following parameters shall use Generic Digits:
+--  - CorrelationID in EstablishTemporaryConnection
+--  - number in VariablePart
+--  - digitsResponse in ReceivedInformationArg
+--     - midCallEvents in oMidCallSpecificInfo and tMidCallSpecificInfo
+--
+-- In the digitsResponse and midCallevents, the digits may also include the '*', '#',
+-- a, b, c and d digits by using the IA5 character encoding scheme. If the BCD even or
+-- BCD odd encoding scheme is used, then the following encoding shall be applied for the
+-- non-decimal characters: 1011 (*), 1100 (#).
+--
+-- AssistingSSPIPRoutingAddress in EstablishTemporaryConnection and CorrelationID in
+-- AssistRequestInstructions may contain a Hex B digit as address signal. Refer to
+-- Annex A.6 for the usage of the Hex B digit.
+--
+-- Note that when CorrelationID is transported in Generic Digits, then the digits shall
+-- always be BCD encoded.
+
+DpSpecificCriteria {PARAMETERS-BOUND : bound}::= CHOICE {
+       applicationTimer                                        [1] ApplicationTimer,
+       midCallControlInfo                                      [2]     MidCallControlInfo, 
+       dpSpecificCriteriaAlt                           [3] DpSpecificCriteriaAlt {bound}
+       }
+--  Exception handling: reception of DpSpecificCriteriaAlt shall be treated like       
+--  reception of no DpSpecificCriteria.
+--  The gsmSCF may set a timer in the gsmSSF for the No_Answer event.
+--  If the user does not answer the call within the allotted time,
+--  then the gsmSSF reports the event to the gsmSCF.
+--     The gsmSCF may define a criterion for the detection of DTMF digits during a call.
+--     The gsmSCF may define other criteria in the dpSpecificCriteriaAlt alternative 
+--  in future releases.
+
+DpSpecificCriteriaAlt {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       ...,
+       changeOfPositionControlInfo                     [0]     ChangeOfPositionControlInfo {bound},
+       numberOfDigits                                  [1]     NumberOfDigits                                  OPTIONAL,
+       interDigitTimeout                               [2]     INTEGER (1..127)                                OPTIONAL
+       }
+-- interDigitTimeout                           duration in seconds.
+
+DpSpecificInfoAlt {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       ...,
+       oServiceChangeSpecificInfo                      [0] SEQUENCE {
+               ext-basicServiceCode                            [0] Ext-BasicServiceCode                        OPTIONAL,
+               ...,
+               initiatorOfServiceChange                        [1] InitiatorOfServiceChange                    OPTIONAL,
+               natureOfServiceChange                           [2] NatureOfServiceChange                       OPTIONAL
+               },
+       tServiceChangeSpecificInfo                      [1] SEQUENCE {
+               ext-basicServiceCode                            [0] Ext-BasicServiceCode                        OPTIONAL,
+               ...,
+               initiatorOfServiceChange                        [1] InitiatorOfServiceChange                    OPTIONAL,
+               natureOfServiceChange                           [2] NatureOfServiceChange                       OPTIONAL
+               },
+       collectedInfoSpecificInfo                       [2] SEQUENCE {
+               calledPartyNumber                               [0]     CalledPartyNumber                       OPTIONAL,
+               ...
+               }
+       }
+--     This datatype is for extension in future releases.
+
+ElapsedTime ::= CHOICE {
+       timeGPRSIfNoTariffSwitch                        [0] INTEGER (0..86400),
+       timeGPRSIfTariffSwitch                          [1] SEQUENCE {
+               timeGPRSSinceLastTariffSwitch           [0] INTEGER (0..86400),
+               timeGPRSTariffSwitchInterval            [1] INTEGER (0..86400)                                  OPTIONAL
+               }
+       }
+--     timeGPRSIfNoTariffSwitch is measured in seconds
+--     timeGPRSSinceLastTariffSwitch and timeGPRSTariffSwitchInterval are measured in seconds
+
+ElapsedTimeRollOver ::= CHOICE {
+       rO-TimeGPRSIfNoTariffSwitch                     [0] INTEGER (0..255),
+       rO-TimeGPRSIfTariffSwitch                       [1] SEQUENCE {
+               rO-TimeGPRSSinceLastTariffSwitch        [0] INTEGER (0..255)                                    OPTIONAL,
+               rO-TimeGPRSTariffSwitchInterval         [1] INTEGER (0..255)                                    OPTIONAL
+               }
+       }
+--     rO-TimeGPRSIfNoTariffSwitch, rO-TimeGPRSSinceLastTariffSwitch and
+--     rO-TimeGPRSTariffSwitchInterval
+--     present counters indicating the number of parameter range rollovers.
+
+EndUserAddress {PARAMETERS-BOUND: bound} ::= SEQUENCE {
+       pDPTypeOrganization                                     [0] OCTET STRING (SIZE(1)),
+       pDPTypeNumber                                           [1] OCTET STRING (SIZE(1)),
+       pDPAddress                                                      [2] OCTET STRING (SIZE(
+               bound.&minPDPAddressLength .. bound.&maxPDPAddressLength))                                      OPTIONAL
+       }
+-- Indicates the EndUserAddress, refer to 3GPP TS 29.060 [12] for the encoding.
+-- The pDPTypeOrganization shall use the least significant 4 bits of the octet encoded.
+-- The sender of this parameter shall set the most significant 4 bits of the octet to 1.
+-- The receiver of this parameter shall ignore the most significant 4 bits of this octet.
+
+ErrorTreatment ::= ENUMERATED {
+       stdErrorAndInfo                                         (0),
+       help                                                            (1),
+       repeatPrompt                                            (2)
+       }
+-- stdErrorAndInfomeans returning the 'ImproperCallerResponse' error in the event of an error
+-- condition during collection of user info.
+
+EventSpecificInformationBCSM {PARAMETERS-BOUND : bound} ::= CHOICE {
+       routeSelectFailureSpecificInfo          [2] SEQUENCE {
+               failureCause                                            [0] Cause {bound}                                               OPTIONAL,
+               ...
+               },
+       oCalledPartyBusySpecificInfo            [3] SEQUENCE {
+               busyCause                                                       [0] Cause {bound}                                               OPTIONAL,
+               ...
+               },
+       oNoAnswerSpecificInfo                           [4] SEQUENCE {
+               -- no specific info defined --
+               ...
+               },
+       oAnswerSpecificInfo                                     [5] SEQUENCE {
+               destinationAddress                                      [50] CalledPartyNumber {bound}                  OPTIONAL,
+               or-Call                                                         [51] NULL                                                               OPTIONAL,
+               forwardedCall                                           [52] NULL                                                               OPTIONAL,
+               chargeIndicator                                         [53] ChargeIndicator                                    OPTIONAL,
+               ext-basicServiceCode                            [54] Ext-BasicServiceCode                               OPTIONAL,
+               ext-basicServiceCode2                           [55] Ext-BasicServiceCode                               OPTIONAL,
+               ...
+               },
+       oMidCallSpecificInfo                            [6] SEQUENCE {
+               midCallEvents                                           [1] CHOICE {
+                       dTMFDigitsCompleted                                     [3] Digits {bound},
+                       dTMFDigitsTimeOut                                       [4] Digits {bound}
+                       }                                                                                                                                               OPTIONAL,
+               ...
+               },
+       oDisconnectSpecificInfo                         [7] SEQUENCE {
+               releaseCause                                            [0] Cause {bound}                                               OPTIONAL,
+               ...
+               },
+       tBusySpecificInfo                                       [8] SEQUENCE {
+               busyCause                                                       [0] Cause {bound}                                               OPTIONAL,
+               callForwarded                                           [50] NULL                                                               OPTIONAL,
+               routeNotPermitted                                       [51] NULL                                                               OPTIONAL,
+               forwardingDestinationNumber                     [52] CalledPartyNumber {bound}                  OPTIONAL,
+               ...
+               },
+       tNoAnswerSpecificInfo                           [9] SEQUENCE {
+               callForwarded                                           [50] NULL                                                               OPTIONAL,
+               forwardingDestinationNumber                     [52] CalledPartyNumber {bound}                  OPTIONAL,
+               ...
+               },
+       tAnswerSpecificInfo                                     [10] SEQUENCE {
+               destinationAddress                                      [50] CalledPartyNumber {bound}                  OPTIONAL,
+               or-Call                                                         [51] NULL                                                               OPTIONAL,
+               forwardedCall                                           [52] NULL                                                               OPTIONAL,
+               chargeIndicator                                         [53] ChargeIndicator                                    OPTIONAL,
+               ext-basicServiceCode                            [54] Ext-BasicServiceCode                               OPTIONAL,
+               ext-basicServiceCode2                           [55] Ext-BasicServiceCode                               OPTIONAL,
+               ...
+               },
+       tMidCallSpecificInfo                            [11] SEQUENCE {
+               midCallEvents                                           [1] CHOICE {
+                       dTMFDigitsCompleted                                     [3] Digits {bound},
+                       dTMFDigitsTimeOut                                       [4] Digits {bound}
+                       }                                                                                                                                               OPTIONAL,
+               ...
+               },
+       tDisconnectSpecificInfo                         [12] SEQUENCE {
+               releaseCause                                            [0] Cause {bound}                                               OPTIONAL,
+               ...
+               },
+       oTermSeizedSpecificInfo                         [13] SEQUENCE {
+               locationInformation                                     [50] LocationInformation                                OPTIONAL,
+               ...
+               },
+       callAcceptedSpecificInfo                        [20] SEQUENCE {
+               locationInformation                                     [50] LocationInformation                                OPTIONAL,
+               ...
+               },
+       oAbandonSpecificInfo                            [21] SEQUENCE {
+               routeNotPermitted                                       [50] NULL                                                               OPTIONAL,
+               ...
+               },
+       oChangeOfPositionSpecificInfo           [50] SEQUENCE {
+               locationInformation                                     [50] LocationInformation                                OPTIONAL,
+               ...,
+        metDPCriteriaList                   [51] MetDPCriteriaList {bound}                     OPTIONAL
+               },
+       tChangeOfPositionSpecificInfo           [51] SEQUENCE {
+               locationInformation                                     [50] LocationInformation                                OPTIONAL,
+               ...,
+        metDPCriteriaList                   [51] MetDPCriteriaList {bound}                     OPTIONAL
+               },
+       dpSpecificInfoAlt                                   [52] DpSpecificInfoAlt {bound}
+       }
+-- Indicates the call related information specific to the event.
+
+EventSpecificInformationSMS ::= CHOICE {
+       o-smsFailureSpecificInfo                        [0] SEQUENCE {
+               failureCause                                            [0] MO-SMSCause                                                 OPTIONAL,
+               ...
+               },
+       o-smsSubmissionSpecificInfo                     [1] SEQUENCE {
+               -- no specific info defined-
+               ...
+               },
+       t-smsFailureSpecificInfo                        [2] SEQUENCE {
+               failureCause                                            [0] MT-SMSCause                                                 OPTIONAL,
+               ...
+               },
+       t-smsDeliverySpecificInfo                       [3] SEQUENCE {
+               -- no specific info defined-
+               ...
+               }
+       }
+
+EventTypeBCSM ::= ENUMERATED {
+       collectedInfo                                           (2),
+       analyzedInformation                                     (3),
+       routeSelectFailure                                      (4),
+       oCalledPartyBusy                                        (5),
+       oNoAnswer                                                       (6),
+       oAnswer                                                         (7),
+       oMidCall                                                        (8),
+       oDisconnect                                                     (9),
+       oAbandon                                                        (10),
+       termAttemptAuthorized                           (12),
+       tBusy                                                           (13),
+       tNoAnswer                                                       (14),
+       tAnswer                                                         (15),
+       tMidCall                                                        (16),
+       tDisconnect                                                     (17),
+       tAbandon                                                        (18),
+       oTermSeized                                                     (19),
+       callAccepted                                            (27),
+       oChangeOfPosition                                       (50),
+       tChangeOfPosition                                       (51),
+       ...,
+       oServiceChange                                          (52),
+       tServiceChange                                          (53)
+       }
+-- Indicates the BCSM detection point event.
+-- Values analyzedInformation and termAttemptAuthorized may be used
+-- for TDPs only.
+-- Exception handling: reception of an unrecognized value shall be treated
+-- like reception of no detection point.
+
+EventTypeSMS ::= ENUMERATED {
+       sms-CollectedInfo                                       (1),
+       o-smsFailure                                            (2),
+       o-smsSubmission                                         (3),
+       sms-DeliveryRequested                           (11),
+       t-smsFailure                                            (12),
+       t-smsDelivery                                           (13)
+       }
+-- Values sms-CollectedInfo and sms-DeliveryRequested may be used for TDPs only.
+
+Extensions {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE (1..bound.&numOfExtensions) OF ExtensionField
+ExtensionField ::= SEQUENCE {
+       type                                                            EXTENSION.&id ({SupportedExtensions}),
+                                                                               -- shall identify the value of an EXTENSION type
+       criticality                                                     CriticalityType DEFAULT ignore,
+       value                                                           [1] EXTENSION.&ExtensionType ({SupportedExtensions}{@type}),
+       ...
+       }
+-- This parameter indicates an extension of an argument data type.
+-- Its content is network operator specific
+
+FCIBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minFCIBillingChargingLength .. bound.&maxFCIBillingChargingLength))
+       (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type --
+       CAMEL-FCIBillingChargingCharacteristics {bound}})
+-- This parameter indicates the billing and/or charging characteristics.
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+FCIGPRSBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minFCIBillingChargingLength .. bound.&maxFCIBillingChargingLength))
+       (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type -
+       CAMEL-FCIGPRSBillingChargingCharacteristics {bound}})
+-- This parameter indicates the GPRS billing and/or charging characteristics.
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+FCISMSBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minFCIBillingChargingLength .. bound.&maxFCIBillingChargingLength))
+       (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type -
+       CAMEL-FCISMSBillingChargingCharacteristics {bound}})
+-- This parameter indicates the SMS billing and/or charging characteristics.
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+ForwardServiceInteractionInd ::= SEQUENCE {
+       conferenceTreatmentIndicator            [1] OCTET STRING (SIZE(1))                                      OPTIONAL,
+       -- acceptConferenceRequest      'xxxx xx01'B
+       -- rejectConferenceRequest      'xxxx xx10'B
+       -- if absent from Connect or ContinueWithArgument,
+       -- then CAMEL service does not affect conference treatment
+       callDiversionTreatmentIndicator         [2] OCTET STRING (SIZE(1))                                      OPTIONAL,
+       -- callDiversionAllowed         'xxxx xx01'B
+       -- callDiversionNotAllowed      'xxxx xx10'B
+       -- if absent from Connect or ContinueWithArgument,
+       -- then CAMEL service does not affect call diversion treatment
+       callingPartyRestrictionIndicator        [4] OCTET STRING (SIZE(1))                                      OPTIONAL,
+       -- noINImpact                           'xxxx xx01'B
+       -- presentationRestricted       'xxxx xx10'B
+       -- if absent from Connect or ContinueWithArgument,
+       -- then CAMEL service does not affect calling party restriction treatment
+...
+       }
+
+GapCriteria {PARAMETERS-BOUND : bound}::= CHOICE {
+       basicGapCriteria                                        BasicGapCriteria {bound},
+       compoundGapCriteria                                     CompoundCriteria {bound}
+       }
+
+GapIndicators ::= SEQUENCE {
+       duration                                                        [0] Duration,
+       gapInterval                                                     [1] Interval,
+       ...
+       }
+-- Indicates the call gapping characteristics.
+-- No call gapping when gapInterval equals 0.
+
+GapOnService ::= SEQUENCE {
+       serviceKey                                                      [0] ServiceKey,
+       ...
+       }
+
+GapTreatment {PARAMETERS-BOUND : bound} ::= CHOICE {
+       informationToSend                                       [0] InformationToSend {bound},
+       releaseCause                                            [1] Cause {bound}
+       }
+-- The default value for Cause is the same as in ISUP.
+
+GenericNumber {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minGenericNumberLength .. bound.&maxGenericNumberLength))
+-- Indicates a generic number. Refer to ETSI EN 300 356-1 [23] Generic number for encoding.
+
+GenericNumbers {PARAMETERS-BOUND : bound} ::= SET SIZE(1..bound.&numOfGenericNumbers) OF GenericNumber {bound}
+
+GPRS-QoS ::= CHOICE {
+       short-QoS-format                                        [0]     QoS-Subscribed,
+       long-QoS-format                                         [1]     Ext-QoS-Subscribed
+       }
+-- Short-QoS-format shall be sent for QoS in pre GSM release 99 format.
+-- Long-QoS-format shall be sent for QoS in GSM release 99 (and beyond) format.
+-- Which of the two QoS formats shall be sent is determined by which QoS
+-- format is available in the SGSN at the time of sending.
+-- Refer to 3GPP TS 29.002 [11] for encoding details of QoS-Subscribed and
+-- Ext-QoS-Subscribed.
+
+GPRS-QoS-Extension ::= SEQUENCE {
+       supplement-to-long-QoS-format           [0] Ext2-QoS-Subscribed,
+       ...
+       }
+
+GPRSCause {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE
+                       (bound.&minGPRSCauseLength .. bound.&maxGPRSCauseLength))
+-- Shall only include the cause value.
+
+--     00000000   Unspecified
+--  All other values shall be interpreted as 'Unspecified'.
+--
+-- This parameter indicates the cause for CAP interface related information.
+-- The GPRSCause mapping to/from GTP cause values specified in the 3GPP TS 29.060 [12] and
+-- to/from 3GPP TS 24.008 [9] GMM cause and SM cause values are outside scope of this document.
+
+GPRSEvent ::= SEQUENCE {
+       gPRSEventType                                           [0] GPRSEventType,
+       monitorMode                                                     [1] MonitorMode
+       }
+--  Indicates the GPRS event information for monitoring.
+
+GPRSEventSpecificInformation {PARAMETERS-BOUND : bound} ::= CHOICE {
+
+       attachChangeOfPositionSpecificInformation
+                                                                               [0] SEQUENCE {
+                       locationInformationGPRS                 [0] LocationInformationGPRS                             OPTIONAL,
+                       ...
+                       },
+
+       pdp-ContextchangeOfPositionSpecificInformation
+                                                                               [1] SEQUENCE {
+                       accessPointName                                 [0]     AccessPointName {bound}                         OPTIONAL,
+                       chargingID                                              [1]     GPRSChargingID                                          OPTIONAL,
+                       locationInformationGPRS                 [2] LocationInformationGPRS                     OPTIONAL,
+                       endUserAddress                                  [3]     EndUserAddress {bound}                          OPTIONAL,
+                       qualityOfService                                [4]     QualityOfService                                        OPTIONAL,
+                       timeAndTimeZone                                 [5]     TimeAndTimezone {bound}                         OPTIONAL,
+                       ...,
+                       gGSNAddress                                             [6]     GSN-Address                                                     OPTIONAL
+                       },
+
+       detachSpecificInformation                       [2] SEQUENCE {
+                       initiatingEntity                                [0] InitiatingEntity                                    OPTIONAL,
+                       ...,
+                       routeingAreaUpdate                              [1]     NULL                                                            OPTIONAL
+                       },
+
+       disconnectSpecificInformation           [3] SEQUENCE {
+                       initiatingEntity                                [0] InitiatingEntity                                    OPTIONAL,
+                       ...,
+                       routeingAreaUpdate                              [1]     NULL                                                            OPTIONAL
+                       },
+
+       pDPContextEstablishmentSpecificInformation
+                                                                               [4]     SEQUENCE {
+                       accessPointName                                 [0]     AccessPointName {bound}                         OPTIONAL,
+                       endUserAddress                                  [1]     EndUserAddress {bound}                          OPTIONAL,
+                       qualityOfService                                [2]     QualityOfService                                        OPTIONAL,
+                       locationInformationGPRS                 [3] LocationInformationGPRS                     OPTIONAL,
+                       timeAndTimeZone                                 [4]     TimeAndTimezone {bound}                         OPTIONAL,
+                       pDPInitiationType                               [5] PDPInitiationType                                   OPTIONAL,
+                       ...,
+                       secondaryPDP-context                    [6] NULL                                                                OPTIONAL
+                       },
+
+       pDPContextEstablishmentAcknowledgementSpecificInformation
+                                                                               [5]     SEQUENCE {
+                       accessPointName                                 [0]     AccessPointName {bound}                         OPTIONAL,
+                       chargingID                                              [1] GPRSChargingID                                              OPTIONAL,
+                       endUserAddress                                  [2]     EndUserAddress {bound}                          OPTIONAL,
+                       qualityOfService                                [3]     QualityOfService                                        OPTIONAL,
+                       locationInformationGPRS                 [4] LocationInformationGPRS                     OPTIONAL,
+                       timeAndTimeZone                                 [5]     TimeAndTimezone {bound}                         OPTIONAL,
+                       ...,
+                       gGSNAddress                                             [6]     GSN-Address                                                     OPTIONAL
+                       }
+               }
+
+GPRSEventType ::= ENUMERATED {
+       attach                                                          (1),
+       attachChangeOfPosition                          (2),
+       detached                                                        (3),
+       pdp-ContextEstablishment                        (11),
+       pdp-ContextEstablishmentAcknowledgement (12),
+       disonnect                                                       (13),
+       pdp-ContextChangeOfPosition                     (14)
+       }
+
+InbandInfo {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       messageID                                                       [0] MessageID {bound},
+       numberOfRepetitions                                     [1] INTEGER (1..127)                                            OPTIONAL,
+       duration                                                        [2] INTEGER (0..32767)                                          OPTIONAL,
+       interval                                                        [3] INTEGER (0..32767)                                          OPTIONAL,
+...
+       }
+-- Interval is the time in seconds between each repeated announcement. Duration is the total
+-- amount of time in seconds, including repetitions and intervals.
+-- The end of announcement is either the end of duration or numberOfRepetitions,
+-- whatever comes first.
+-- duration with value 0 indicates infinite duration
+
+InformationToSend {PARAMETERS-BOUND : bound} ::= CHOICE {
+       inbandInfo                                                      [0] InbandInfo {bound},
+       tone                                                            [1] Tone
+       }
+
+InitiatingEntity ::= ENUMERATED {
+       mobileStation                                           (0),
+       sgsn                                                    (1),
+       hlr                                                     (2),
+       ggsn                                                    (3)
+       }
+
+InitiatorOfServiceChange ::= ENUMERATED {
+       a-side                                                  (0),
+       b-side                                                  (1)
+       }
+
+InvokeID ::= TCInvokeIdSet
+
+IPRoutingAddress {PARAMETERS-BOUND : bound} ::= CalledPartyNumber {bound}
+-- Indicates the routeing address for the IP.
+
+IPSSPCapabilities {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minIPSSPCapabilitiesLength .. bound.&maxIPSSPCapabilitiesLength))
+--  Indicates the gsmSRF resources available. The parameter has two parts, a standard and a
+--  bilateral part. The standard part indicates capabilities defined as optional in CAP
+--  that shall be recognised (but not necessarily supported) by a gsmSCF. The bilateral
+--  part contains further information that is not specified in this standard, but which is set
+--  according to bilateral agreements between network operators and/or equipment vendors.
+--  The last octet of the standard part is indicated by bit 7 being set to 0, otherwise Bit 7 of
+--  a standard part octet is set to 1 indicating that the standard part continues in the following
+--  octet. Coding is as follows:
+
+--  Octet 1                                    Standard Part for CAP
+--  Bit        Value                           Meaning
+--  0  0                                       IPRoutingAddress not supported
+--             1                                       IPRoutingAddress supported
+--  1  0                                       VoiceBack not supported
+--             1                                       VoiceBack supported
+--  2  0                                       VoiceInformation not supported, via speech recognition
+--             1                                       VoiceInformation supported, via speech recognition
+--  3  0                                       VoiceInformation not supported, via voice recognition
+--             1                                       VoiceInformation supported, via voice recognition
+--  4  0                                       Generation of voice announcements from Text not supported
+--             1                                       Generation of voice announcements from Text supported
+--  5  -                                       Reserved
+--  6  -                                       Reserved
+--  7  0                                       End of standard part
+--             1                                       This value is reserved in CAP
+--
+--  Octets 2 to 4                      Bilateral Part: Network operator/equipment vendor specific
+
+LegOrCallSegment {PARAMETERS-BOUND : bound} ::= CHOICE {
+       callSegmentID                                           [0] CallSegmentID {bound},
+       legID                                                           [1] LegID
+       }
+
+LegType ::= OCTET STRING (SIZE(1))
+leg1 LegType   ::= '01'H
+leg2 LegType   ::= '02'H
+
+LocationInformationGPRS                ::= SEQUENCE {
+       cellGlobalIdOrServiceAreaIdOrLAI        [0] OCTET STRING (SIZE(5..7))                           OPTIONAL,
+       routeingAreaIdentity                            [1] RAIdentity                                                          OPTIONAL,
+       geographicalInformation                         [2] GeographicalInformation                                     OPTIONAL,
+       sgsn-Number                                                     [3] ISDN-AddressString                                          OPTIONAL,
+       selectedLSAIdentity                                     [4] LSAIdentity                                                         OPTIONAL,
+       extensionContainer                                      [5] ExtensionContainer                                          OPTIONAL,
+       ...,
+       sai-Present                                                     [6] NULL                                                                        OPTIONAL
+}
+-- cellGlobalIdOrServiceAreaIdOrLAI shall contain the value part of the
+-- CellGlobalIdOrServiceAreaIdFixedLength type or the LAIFixedLength type (i.e. excluding tags
+-- and lengths) as defined in 3GPP TS 29.002 [13].
+-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
+-- a Service Area Identity.
+
+LocationNumber {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE (
+       bound.&minLocationNumberLength .. bound.&maxLocationNumberLength))
+-- Indicates the Location Number for the calling party.
+-- Refer to ETSI EN 300 356-1 [23] for encoding.
+
+LowLayerCompatibility {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE (
+       bound.&minLowLayerCompatibilityLength .. bound.&maxLowLayerCompatibilityLength))
+-- indicates the LowLayerCompatibility for the calling party.
+-- Refer to 3GPP TS 24.008 [9] for encoding.
+-- It shall be coded as in the value part defined in 3GPP TS 24.008.
+-- i.e. the 3GPP TS 24.008 IEI and 3GPP TS 24.008 octet length indicator
+-- shall not be included.
+
+MessageID {PARAMETERS-BOUND : bound} ::= CHOICE {
+       elementaryMessageID                                     [0] Integer4,
+       text                                                            [1] SEQUENCE {
+               messageContent                                          [0] IA5String (SIZE(
+                       bound.&minMessageContentLength .. bound.&maxMessageContentLength)),
+               attributes                                                      [1] OCTET STRING (SIZE(
+                       bound.&minAttributesLength .. bound.&maxAttributesLength))                              OPTIONAL
+       },
+       elementaryMessageIDs                            [29] SEQUENCE SIZE (1.. bound.&numOfMessageIDs) OF Integer4,
+       variableMessage                                         [30] SEQUENCE {
+               elementaryMessageID                                     [0] Integer4,
+               variableParts                                           [1] SEQUENCE SIZE (1..5) OF VariablePart {bound}
+               }
+       }
+-- Use of the text parameter is network operator/equipment vendor specific.
+
+MetDPCriteriaList {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE (1..bound.&numOfChangeOfPositionControlInfo) OF MetDPCriterion {bound}
+
+MetDPCriterion {PARAMETERS-BOUND : bound} ::= CHOICE {
+       enteringCellGlobalId                            [0] CellGlobalIdOrServiceAreaIdFixedLength,
+       leavingCellGlobalId                                     [1] CellGlobalIdOrServiceAreaIdFixedLength,
+       enteringServiceAreaId                           [2] CellGlobalIdOrServiceAreaIdFixedLength,
+       leavingServiceAreaId                            [3] CellGlobalIdOrServiceAreaIdFixedLength,
+       enteringLocationAreaId                          [4] LAIFixedLength,
+       leavingLocationAreaId                           [5] LAIFixedLength,
+       inter-SystemHandOverToUMTS                      [6] NULL,
+       inter-SystemHandOverToGSM                       [7] NULL,
+       inter-PLMNHandOver                                      [8] NULL,
+       inter-MSCHandOver                                       [9] NULL,
+       metDPCriterionAlt                                       [10] MetDPCriterionAlt {bound}
+}
+-- The enteringCellGlobalId and leavingCellGlobalId shall contain a Cell Global Identification. 
+-- The enteringServiceAreaId and leavingServiceAreaId shall contain a Service Area Identification.
+
+MetDPCriterionAlt {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       ...
+       }
+
+MidCallControlInfo ::= SEQUENCE {
+       minimumNumberOfDigits                           [0]     INTEGER (1..30) DEFAULT 1,
+       maximumNumberOfDigits                           [1]     INTEGER (1..30) DEFAULT 30,
+       endOfReplyDigit                                         [2]     OCTET STRING (SIZE (1..2))                              OPTIONAL,
+       cancelDigit                                                     [3]     OCTET STRING (SIZE (1..2))                              OPTIONAL,
+       startDigit                                                      [4]     OCTET STRING (SIZE (1..2))                              OPTIONAL,
+       interDigitTimeout                                       [6]     INTEGER (1..127) DEFAULT 10,
+       ...
+       }
+--
+-- - minimumNumberOfDigits                     specifies the minumum number of digits that shall be collected
+-- - maximumNumberOfDigits                     specifies the maximum number of digits that shall be collected
+-- - endOfReplyDigit                           specifies the digit string that denotes the end of the digits
+--                                                                     to be collected.
+-- - cancelDigit                                       specifies the digit string that indicates that the input shall
+--                                                                     be erased and digit collection shall start afresh.
+-- - startDigit                                                specifies the digit string that denotes the start of the digits
+--                                                                     to be collected.
+-- - interDigitTimeout                         specifies the maximum duration in seconds between successive
+--                                                                     digits.
+--
+-- endOfReplyDigit, cancelDigit and startDigit shall contain digits in the range 0..9, '*' and '#'
+-- only. The collected digits string, reported to the gsmSCF, shall include the endOfReplyDigit and
+-- the startDigit, if present.
+--
+-- endOfReplyDigit, cancelDigit and startDigit shall be encoded as BCD digits. Each octet shall
+-- contain one BCD digit, in the 4 least significant bits of each octet.
+-- The following encoding shall be used for the over-decadic digits: 1011 (*), 1100 (#).
+
+MonitorMode ::= ENUMERATED {
+       interrupted                                                     (0),
+       notifyAndContinue                                       (1),
+       transparent                                                     (2)
+       }
+-- Indicates the event is relayed and/or processed by the SSP.
+-- Transparent means that the gsmSSF or gprsSSF does not notify the gsmSCF of the event.
+-- For the use of this parameter refer to the procedure descriptions in clause 11.
+-- For the RequestNotificationCharging operation, 'interrupted' shall not be used in MonitorMode.
+
+MO-SMSCause ::= ENUMERATED {
+       systemFailure                                           (0),
+       unexpectedDataValue                                     (1),
+       facilityNotSupported                            (2),
+       sM-DeliveryFailure                                      (3),
+       releaseFromRadioInterface                       (4)
+       }
+-- MO SMS error values which are reported to gsmSCF.
+-- Most of these values are received from the SMSC as a response to
+-- MO-ForwardSM operation.
+
+MT-SMSCause ::= OCTET STRING (SIZE (1))
+-- This variable is sent to the gsmSCF for a Short Message delivery failure
+-- notification.
+-- If the delivery failure is due to RP-ERROR RPDU received from the MS,
+-- then MT-SMSCause shall be set to the RP-Cause component in the RP-ERROR RPDU.
+-- Refer to 3GPP TS 24.011 [10] for the encoding of RP-Cause values.
+-- Otherwise, if the delivery failure is due to internal failure in the MSC or SGSN
+-- or time-out from the MS, then MT-SMSCause shall be set to 'Protocol error,
+-- unspecified', as defined in 3GPP TS 24.011 [10].
+
+NAOliInfo ::= OCTET STRING (SIZE (1))
+--  NA Oli information takes the same value as defined in ANSI T1.113-1995 [92]
+--  e.g.       '3D'H  - Decimal value 61 - Cellular Service (Type 1)
+--                     '3E'H  - Decimal value 62 - Cellular Service (Type 2)
+--                     '3F'H  - Decimal value 63 - Cellular Service (roaming)
+
+NatureOfServiceChange ::= ENUMERATED {
+       userInitiated                                           (0),
+       networkInitiated                                        (1)
+       }
+
+NumberOfDigits ::= INTEGER (1..255)
+--  Indicates the number of digits to be collected.
+
+OCSIApplicable ::= NULL
+--  Indicates that the Originating CAMEL Subscription Information, if present, shall be
+--  applied on the outgoing call leg created with a Connect operation. For the use of this
+--  parameter see 3GPP TS 23.078 [7].
+
+OriginalCalledPartyID {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minOriginalCalledPartyIDLength .. bound.&maxOriginalCalledPartyIDLength))
+--  Indicates the original called number. Refer to ETSI EN 300 356-1 [23] Original Called Number
+--  for encoding.
+
+PDPID ::= OCTET STRING (SIZE (1))
+--     PDP Identifier is a counter used to identify a specific PDP Context within a control
+--     relationship between gprsSSF and gsmSCF.
+
+PDPInitiationType ::= ENUMERATED {
+       mSInitiated                                                     (0),
+       networkInitiated                                        (1)
+       }
+
+QualityOfService ::= SEQUENCE {
+       requested-QoS                                           [0]     GPRS-QoS                                                                OPTIONAL,
+       subscribed-QoS                                          [1]     GPRS-QoS                                                                OPTIONAL,
+       negotiated-QoS                                          [2]     GPRS-QoS                                                                OPTIONAL,
+       ...,
+       requested-QoS-Extension                         [3]     GPRS-QoS-Extension                                              OPTIONAL,
+       subscribed-QoS-Extension                        [4]     GPRS-QoS-Extension                                              OPTIONAL,
+       negotiated-QoS-Extension                        [5]     GPRS-QoS-Extension                                              OPTIONAL
+       }
+
+ReceivingSideID ::= CHOICE {
+       receivingSideID                                         [1] LegType
+       }
+-- used to identify LegID in operations sent from gsmSSF to gsmSCF
+
+RedirectingPartyID {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE (
+       bound.&minRedirectingPartyIDLength .. bound.&maxRedirectingPartyIDLength))
+-- Indicates redirecting number.
+-- Refer to ETSI EN 300 356-1 [23] Redirecting number for encoding.
+
+RequestedInformationList {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE (1.. numOfInfoItems) OF RequestedInformation {bound}
+
+RequestedInformationTypeList ::= SEQUENCE SIZE (1.. numOfInfoItems) OF RequestedInformationType
+
+RequestedInformation {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       requestedInformationType                        [0] RequestedInformationType,
+       requestedInformationValue                       [1] RequestedInformationValue {bound},
+...
+       }
+
+RequestedInformationType ::= ENUMERATED {
+       callAttemptElapsedTime                          (0),
+       callStopTime                                            (1),
+       callConnectedElapsedTime                        (2),
+       releaseCause                                            (30)
+       }
+
+RequestedInformationValue {PARAMETERS-BOUND : bound} ::= CHOICE {
+       callAttemptElapsedTimeValue                     [0] INTEGER (0..255),
+       callStopTimeValue                                       [1] DateAndTime,
+       callConnectedElapsedTimeValue           [2] Integer4,
+       releaseCauseValue                                       [30] Cause {bound}
+       }
+-- The callAttemptElapsedTimeValue is specified in seconds. The unit for the
+-- callConnectedElapsedTimeValue is 100 milliseconds
+
+RPCause ::= OCTET STRING (SIZE (1))
+-- RP cause according to 3GPP TS 24.011 [10] or 3GPP TS 29.002 [11].
+-- GsmSCF shall send this cause in the ReleaseSMS operation.
+-- For a MO-SMS service, the MSC or SGSN shall send the RP Cause to the originating MS.
+-- It shall be used to overwrite the RP-Cause element in the RP-ERROR RPDU.
+-- For a MT-SMS service, the MSC or SGSN shall send the RP Cause to the sending SMS-GMSC.
+-- It shall be used to overwrite the RP-Cause element in the RP-ERROR RPDU.
+
+ScfID {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minScfIDLength .. bound.&maxScfIDLength))
+-- defined by network operator.
+-- Indicates the gsmSCF identity.
+
+SCIBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE (
+       bound.&minSCIBillingChargingLength .. bound.&maxSCIBillingChargingLength))
+       (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type --
+       CAMEL-SCIBillingChargingCharacteristics})
+-- Indicates AOC information to be sent to a Mobile Station
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+SCIGPRSBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE (
+       bound.&minSCIBillingChargingLength .. bound.&maxSCIBillingChargingLength))
+       (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type -
+       CAMEL-SCIGPRSBillingChargingCharacteristics})
+-- Indicates AOC information to be sent to a Mobile Station
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+SendingSideID ::= CHOICE {sendingSideID [0] LegType}
+-- used to identify LegID in operations sent from gsmSCF to gsmSSF
+
+ServiceInteractionIndicatorsTwo ::= SEQUENCE {
+       forwardServiceInteractionInd            [0]     ForwardServiceInteractionInd                    OPTIONAL,
+       -- applicable to operations InitialDP, Connect and ContinueWithArgument.
+       backwardServiceInteractionInd           [1]     BackwardServiceInteractionInd                   OPTIONAL,
+       -- applicable to operations Connect and ContinueWithArgument.
+       bothwayThroughConnectionInd                     [2] BothwayThroughConnectionInd                         OPTIONAL,
+       -- applicable to ConnectToResource and EstablishTemporaryConnection
+       connectedNumberTreatmentInd                     [4]     ConnectedNumberTreatmentInd                             OPTIONAL,
+       -- applicable to Connect and ContinueWithArgument
+       nonCUGCall                                                      [13] NULL                                                                       OPTIONAL,
+       -- applicable to Connect and ContinueWithArgument
+       -- indicates that no parameters for CUG shall be used for the call (i.e. the call shall
+       -- be a non-CUG call).
+       -- If not present, it indicates one of three things:
+       --  a) continue with modified CUG information (when one or more of either CUG Interlock Code
+       --     and Outgoing Access Indicator are present), or
+       --  b) continue with original CUG information (when neither CUG Interlock Code or Outgoing
+       --     Access Indicator are present), i.e. no IN impact.
+       --  c) continue with the original non-CUG call.
+       holdTreatmentIndicator                          [50] OCTET STRING (SIZE(1))                                     OPTIONAL,
+       -- applicable to InitialDP, Connect and ContinueWithArgument
+       -- acceptHoldRequest    'xxxx xx01'B
+       -- rejectHoldRequest    'xxxx xx10'B
+       -- if absent from Connect or ContinueWithArgument,
+       -- then CAMEL service does not affect call hold treatment
+       cwTreatmentIndicator                            [51] OCTET STRING (SIZE(1))                                     OPTIONAL,
+       -- applicable to InitialDP, Connect and ContinueWithArgument
+       -- acceptCw     'xxxx xx01'B
+       -- rejectCw     'xxxx xx10'B
+       -- if absent from Connect or ContinueWithArgument,
+       -- then CAMEL service does not affect call waiting treatment
+       ectTreatmentIndicator                           [52] OCTET STRING (SIZE(1))                                     OPTIONAL,
+       -- applicable to InitialDP, Connect and ContinueWithArgument
+       -- acceptEctRequest     'xxxx xx01'B
+       -- rejectEctRequest     'xxxx xx10'B
+       -- if absent from Connect or ContinueWithArgument,
+       -- then CAMEL service does not affect explicit call transfer treatment
+       ...
+       }
+
+SGSNCapabilities ::= OCTET STRING (SIZE (1))
+
+--  Indicates the SGSN capabilities. The coding of the parameter is as follows:
+--  Bit        Value                           Meaning
+--  0  0                                       AoC not supported by SGSN
+--             1                                       AoC supported by SGSN
+--  1  -                                       This bit is reserved in CAP V.3
+--  2  -                                       This bit is reserved in CAP V.3
+--  3  -                                       This bit is reserved in CAP V.3
+--  4  -                                       This bit is reserved in CAP V.3
+--  5  -                                       This bit is reserved in CAP V.3
+--  6  -                                       This bit is reserved in CAP V.3
+--  7  -                                       This bit is reserved in CAP V.3
+
+SMS-AddressString ::= AddressString (SIZE (1 .. maxSMS-AddressStringLength))
+-- This data type is used to transport CallingPartyNumber for MT-SMS.
+-- If this data type is used for MO-SMS, then the maximum number of digits shall be 16.
+-- An SMS-AddressString may contain an alphanumeric character string. In this 
+-- case, a nature of address indicator '101'B is used, in accordance with 
+-- 3GPP TS 23.040 [6]. The address is coded in accordance with the GSM 7-bit 
+-- default alphabet definition and the SMS packing rules as specified in 
+-- 3GPP TS 23.038 [15] in this case.
+
+maxSMS-AddressStringLength INTEGER ::= 11
+
+SMSEvent ::= SEQUENCE {
+       eventTypeSMS                                            [0] EventTypeSMS,
+       monitorMode                                                     [1] MonitorMode
+       }
+
+TariffSwitchInterval ::= INTEGER (1 .. 86400)
+-- TariffSwitchInterval is measured in 1 second units
+
+TimeAndTimezone {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+       bound.&minTimeAndTimezoneLength .. bound.&maxTimeAndTimezoneLength))
+--  Indicates the time and timezone, relative to GMT. This parameter is BCD encoded.
+--  The year digit indicating millenium occupies bits 0-3 of the first octet, and the year
+--  digit indicating century occupies bits 4-7 of the first octet.
+--  The year digit indicating decade occupies bits 0-3 of the second octet, whilst the digit
+--  indicating the year within the decade occupies bits 4-7 of the second octet.
+--  The most significant month digit occupies bits 0-3 of the third octet, and the least
+--  significant month digit occupies bits 4-7 of the third octet.
+--  The most significant day digit occupies bits 0-3 of the fourth octet, and the least
+--  significant day digit occupies bits 4-7 of the fourth octet.
+--  The most significant hours digit occupies bits 0-3 of the fifth octet, and the least
+--  significant hours digit occupies bits 4-7 of the fifth octet.
+--  The most significant minutes digit occupies bits 0-3 of the sixth octet, and the least
+--  significant minutes digit occupies bits 4-7 of the sixth octet.
+--  The most significant seconds digit occupies bits 0-3 of the seventh octet, and the least
+--  significant seconds digit occupies bits 4-7 of the seventh octet.
+--
+--  The timezone information occupies the eighth octet. For the encoding of Timezone refer to
+--  3GPP TS 23.040 [6].
+--
+--  The BCD digits are packed and encoded as follows:
+--
+--  Bit         7  6  5   4  |  3  2  1  0
+--       2nd digit    | 1st digit          Octet 1
+--       3rd digit    | 4th digit          Octet 2
+--                      ..                   ..
+--       nth digit    | n-1th digit        Octet m
+--
+--       0000          digit 0
+--       0001          digit 1
+--       0010          digit 2
+--       0011          digit 3
+--       0100          digit 4
+--       0101          digit 5
+--       0110          digit 6
+--       0111          digit 7
+--       1000          digit 8
+--       1001          digit 9
+--       1010          spare
+--       1011          spare
+--       1100          spare
+--       1101          spare
+--       1110          spare
+--       1101          spare
+--
+-- where the leftmost bit of the digit is either bit 7 or bit 3 of the octet.
+
+TimeIfNoTariffSwitch ::= INTEGER(0..864000)
+-- TimeIfNoTariffSwitch is measured in 100 millisecond intervals
+
+TimeIfTariffSwitch ::= SEQUENCE {
+       timeSinceTariffSwitch                           [0] INTEGER(0..864000),
+       tariffSwitchInterval                            [1] INTEGER(1..864000)                                          OPTIONAL
+       }
+-- timeSinceTariffSwitch and tariffSwitchInterval are measured in 100 millisecond intervals
+
+TimeInformation ::= CHOICE {
+       timeIfNoTariffSwitch                            [0] TimeIfNoTariffSwitch,
+       timeIfTariffSwitch                                      [1] TimeIfTariffSwitch
+       }
+-- Indicates call duration information
+
+TimerID ::= ENUMERATED {
+       tssf                                                            (0)
+       }
+-- Indicates the timer to be reset.
+
+TimerValue ::= Integer4
+-- Indicates the timer value (in seconds).
+
+Tone ::= SEQUENCE {
+       toneID                                                          [0] Integer4,
+       duration                                                        [1] Integer4                                                            OPTIONAL,
+...
+       }
+-- The duration specifies the length of the tone in seconds, value 0 indicates infinite duration.
+
+TPDataCodingScheme ::= OCTET STRING (SIZE (1))
+-- TP Data Coding Scheme according to 3GPP TS 23.040 [6]
+
+TPProtocolIdentifier ::= OCTET STRING (SIZE (1))
+-- indicates the protocol used above the SM-Transfer Layer as specified in 3GPP TS 23.040 [6].
+
+TPShortMessageSpecificInfo ::= OCTET STRING (SIZE (1))
+-- contains the 1st octect of the applicable TPDU or the SMS-COMMAND TPDU as specified in
+-- 3GPP TS 23.040 [6].
+
+TPValidityPeriod ::= OCTET STRING (SIZE (1..7))
+-- indicates the length of the validity period or the absolute time of the validity
+-- period termination as specified in 3GPP TS 23.040 [6].
+-- the length of ValidityPeriod is either 1 octet or 7 octets
+
+TransferredVolume ::= CHOICE {
+       volumeIfNoTariffSwitch                          [0] INTEGER (0..4294967295),
+       volumeIfTariffSwitch                            [1] SEQUENCE {
+               volumeSinceLastTariffSwitch                     [0]     INTEGER (0..4294967295),
+               volumeTariffSwitchInterval                      [1]     INTEGER (0..4294967295)                         OPTIONAL
+               }
+       }
+--     volumeIfNoTariffSwitch, volumeSinceLastTariffSwitch and volumeTariffSwitchInterval
+--     are measured in bytes.
+
+TransferredVolumeRollOver ::= CHOICE {
+       rO-VolumeIfNoTariffSwitch                       [0] INTEGER (0..255),
+       rO-VolumeIfTariffSwitch                         [1] SEQUENCE {
+               rO-VolumeSinceLastTariffSwitch          [0]     INTEGER (0..255)                                        OPTIONAL,
+               rO-VolumeTariffSwitchInterval           [1]     INTEGER (0..255)                                        OPTIONAL
+               }
+       }
+--     rO-VolumeIfNoTariffSwitch, rO-VolumeSinceLastTariffSwitch and rO-VolumeTariffSwitchInterval
+--     present counters indicating the number of parameter range rollovers.
+
+UnavailableNetworkResource ::= ENUMERATED {
+       unavailableResources                            (0),
+       componentFailure                                        (1),
+       basicCallProcessingException            (2),
+       resourceStatusFailure                           (3),
+       endUserFailure                                          (4)
+       }
+-- Indicates the network resource that failed.
+
+VariablePart {PARAMETERS-BOUND : bound} ::= CHOICE {
+       integer                                                         [0] Integer4,
+       number                                                          [1] Digits {bound},     -- Generic digits
+       time                                                            [2] OCTET STRING (SIZE(2)),     -- HH: MM, BCD coded
+       date                                                            [3] OCTET STRING (SIZE(4)),     -- YYYYMMDD, BCD coded
+       price                                                           [4] OCTET STRING (SIZE(4))
+       }
+--  Indicates the variable part of the message. Time is BCD encoded.
+--  The most significant hours digit occupies bits 0-3 of the first octet, and the least
+--  significant digit occupies bits 4-7 of the first octet. The most significant minutes digit
+--  occupies bits 0-3 of the second octet, and the least significant digit occupies bits 4-7
+--  of the second octet.
+--
+--  Date is BCD encoded. The year digit indicating millenium occupies bits 0-3 of the first octet,
+--  and the year digit indicating century occupies bits 4-7 of the first octet. The year digit
+--  indicating decade occupies bits 0-3 of the second octet, whilst the digit indicating the year
+--  within the decade occupies bits 4-7 of the second octet.
+--  The most significant month digit occupies bits 0-3 of the third octet, and the least
+--  significant month digit occupies bits 4-7 of the third octet. The most significant day digit
+--  occupies bits 0-3 of the fourth octet, and the least significant day digit occupies bits 4-7
+--  of the fourth octet.
+--  Price is BCD encoded. The digit indicating hundreds of thousands occupies bits 0-3 of the
+--  first octet, and the digit indicating tens of thousands occupies bits 4-7 of the first octet.
+--  The digit indicating thousands occupies bits 0-3 of the second octet, whilst the digit
+--  indicating hundreds occupies bits 4-7 of the second octet. The digit indicating tens occupies
+--  bits 0-3 of the third octet, and the digit indicating 0 to 9 occupies bits 4-7 of the third
+--  octet. The tenths digit occupies bits 0-3 of the fourth octet, and the hundredths digit
+--  occupies bits 4-7 of the fourth octet.
+--
+--  For the encoding of digits in an octet, refer to the timeAndtimezone parameter
+
+-- The Definition of range of constants follows
+numOfInfoItems INTEGER ::= 4
+
+END
diff --git a/asn1/camel/CAP-errorcodes.asn b/asn1/camel/CAP-errorcodes.asn
new file mode 100644 (file)
index 0000000..0cc296c
--- /dev/null
@@ -0,0 +1,37 @@
+-- $Id$
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 5.4 Error codes
+CAP-errorcodes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-errorcodes(57) version5(4)}
+
+DEFINITIONS ::= BEGIN
+
+IMPORTS
+
+       ros-InformationObjects
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
+
+       Code
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+;
+
+errcode-canceled                                                               Code ::= local: 0
+errcode-cancelFailed                                                   Code ::= local: 1
+errcode-eTCFailed                                                              Code ::= local: 3
+errcode-improperCallerResponse                                 Code ::= local: 4
+errcode-missingCustomerRecord                                  Code ::= local: 6
+errcode-missingParameter                                               Code ::= local: 7
+errcode-parameterOutOfRange                                            Code ::= local: 8
+errcode-requestedInfoError                                             Code ::= local: 10
+errcode-systemFailure                                                  Code ::= local: 11
+errcode-taskRefused                                                            Code ::= local: 12
+errcode-unavailableResource                                            Code ::= local: 13
+errcode-unexpectedComponentSequence                            Code ::= local: 14
+errcode-unexpectedDataValue                                            Code ::= local: 15
+errcode-unexpectedParameter                                            Code ::= local: 16
+errcode-unknownLegID                                                   Code ::= local: 17
+errcode-unknownPDPID                                                   Code ::= local: 50
+errcode-unknownCSID                                                            Code ::= local: 51
+
+END
diff --git a/asn1/camel/CAP-errortypes.asn b/asn1/camel/CAP-errortypes.asn
new file mode 100644 (file)
index 0000000..5fc9e1c
--- /dev/null
@@ -0,0 +1,157 @@
+-- $Id$
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 5.2 Error types
+CAP-errortypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-errortypes(51) version5(4)}
+
+-- This module contains the type definitions for the CAP Error Types.
+-- Where a parameter of type CHOICE is tagged with a specific tag value, the tag is automatically
+-- replaced with an EXPLICIT tag of the same value.
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+IMPORTS
+
+       ros-InformationObjects,
+       datatypes,
+       errorcodes
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
+
+       ERROR
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+       InvokeID,
+       UnavailableNetworkResource
+FROM CAP-datatypes datatypes
+
+       errcode-canceled,
+       errcode-cancelFailed,
+       errcode-eTCFailed,
+       errcode-improperCallerResponse,
+       errcode-missingCustomerRecord,
+       errcode-missingParameter,
+       errcode-parameterOutOfRange,
+       errcode-requestedInfoError,
+       errcode-systemFailure,
+       errcode-taskRefused,
+       errcode-unavailableResource,
+       errcode-unexpectedComponentSequence,
+       errcode-unexpectedDataValue,
+       errcode-unexpectedParameter,
+       errcode-unknownLegID,
+       errcode-unknownCSID,
+       errcode-unknownPDPID
+FROM CAP-errorcodes errorcodes
+
+;
+
+-- TYPE DEFINITION FOR CAP ERROR TYPES FOLLOWS
+
+canceled ERROR ::= {
+       CODE    errcode-canceled
+       }
+-- The operation has been canceled.
+
+cancelFailed ERROR ::= {
+       PARAMETER       SEQUENCE {
+               problem                                 [0] ENUMERATED {
+                       unknownOperation                (0),
+                       tooLate                                 (1),
+                       operationNotCancellable (2)
+                       },
+               operation                               [1] InvokeID,
+               ...
+               }
+       CODE    errcode-cancelFailed
+       }
+-- The operation failed to be canceled.
+
+eTCFailed ERROR ::= {
+       CODE    errcode-eTCFailed
+       }
+-- The establish temporary connection failed.
+
+improperCallerResponse ERROR ::= {
+       CODE    errcode-improperCallerResponse
+       }
+-- The caller response was not as expected.
+
+missingCustomerRecord ERROR ::= {
+       CODE    errcode-missingCustomerRecord
+       }
+-- The Service Logic Program could not be found in the gsmSCF.
+
+missingParameter ERROR ::= {
+       CODE    errcode-missingParameter
+       }
+-- An expected optional parameter was not received.
+
+parameterOutOfRange ERROR ::= {
+       CODE    errcode-parameterOutOfRange
+       }
+-- The parameter was not as expected (e.g. missing or out of range).
+
+requestedInfoError ERROR ::= {
+       PARAMETER       ENUMERATED {
+                       unknownRequestedInfo            (1),
+                       requestedInfoNotAvailable       (2)
+                       }
+       CODE    errcode-requestedInfoError
+       }
+-- The requested information cannot be found.
+
+systemFailure ERROR ::= {
+       PARAMETER       UnavailableNetworkResource
+       CODE    errcode-systemFailure
+       }
+-- The operation could not be completed due to a system failure at the serving physical entity.
+
+taskRefused ERROR ::= {
+       PARAMETER       ENUMERATED {
+                       generic                                         (0),
+                       unobtainable                            (1),
+                       congestion                                      (2)
+                       }
+       CODE    errcode-taskRefused
+       }
+-- An entity normally capable of the task requested cannot or chooses not to perform the task at
+-- this time. This includes error situations like congestion and unobtainable address as used in
+-- e.g. the connect operation.)
+
+unavailableResource ERROR ::= {
+       CODE    errcode-unavailableResource
+       }
+-- A requested resource is not available at the serving entity.
+
+unexpectedComponentSequence ERROR ::= {
+       CODE    errcode-unexpectedComponentSequence
+       }
+-- An incorrect sequence of Components was received (e.g. 'DisconnectForwardConnection'
+-- followed by 'PlayAnnouncement').
+
+unexpectedDataValue ERROR ::= {
+       CODE    errcode-unexpectedDataValue
+       }
+-- The data value was not as expected (e.g. route number expected but billing number received)
+
+unexpectedParameter ERROR ::= {
+       CODE    errcode-unexpectedParameter
+       }
+-- A parameter received was not expected.
+
+unknownLegID ERROR ::= {
+       CODE    errcode-unknownLegID
+       }
+-- Leg not known to the gsmSSF.
+
+unknownCSID ERROR ::= {
+       CODE    errcode-unknownCSID
+       }
+-- Call Segment not known to the gsmSSF.
+
+unknownPDPID ERROR ::= {
+       CODE    errcode-unknownPDPID
+       }
+-- PDPID not known by the receiving entity.
+
+END
diff --git a/asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn b/asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn
new file mode 100644 (file)
index 0000000..a6cbfd8
--- /dev/null
@@ -0,0 +1,405 @@
+-- $Id$
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 8   GPRS Control
+-- 8.1 gsmSCF/gprsSSF operations and arguments
+CAP-gprsSSF-gsmSCF-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-GPRS-ops-args(107) version5(4)}
+-- Module CAP-gprsSSF-gsmSCF-ops-args is updated to version5(4) for Rel-6. The OPERATION
+-- definitions in this module are not modified, compared to Rel-5.
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+-- This module contains the operations and operation arguments used for the
+-- gprsSSF - gsmSCF interface, for the control of GPRS.
+
+-- The table in subclause 2.1 lists the specifications that contain the modules
+-- that are used by CAP.
+
+IMPORTS
+
+       errortypes,
+       datatypes,
+       operationcodes,
+       classes,
+       ros-InformationObjects
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
+
+       OPERATION
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+       ServiceKey
+FROM CS1-DataTypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+modules(0) cs1-datatypes(2) version1(0)}
+
+       MiscCallInfo
+FROM CS2-datatypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+cs2(20) modules(0) in-cs2-datatypes (0) version1(0)}
+
+       IMEI,
+       IMSI,
+       ISDN-AddressString
+FROM MAP-CommonDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CommonDataTypes(18) version9(9)}
+
+       GPRSChargingID,
+       GPRSMSClass,
+       GSN-Address,
+       RAIdentity
+FROM MAP-MS-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-MS-DataTypes(11) version9(9)}
+
+       PARAMETERS-BOUND
+FROM CAP-classes classes
+
+       opcode-activityTestGPRS,
+       opcode-applyChargingGPRS,
+       opcode-applyChargingReportGPRS,
+       opcode-cancelGPRS,
+       opcode-connectGPRS,
+       opcode-continueGPRS,
+       opcode-entityReleasedGPRS,
+       opcode-eventReportGPRS,
+       opcode-furnishChargingInformationGPRS,
+       opcode-initialDPGPRS,
+       opcode-releaseGPRS,
+       opcode-requestReportGPRSEvent,
+       opcode-resetTimerGPRS,
+       opcode-sendChargingInformationGPRS
+FROM CAP-operationcodes operationcodes
+-- The CAP Operation identifiers for CAP V3 for GPRS in Rel-6 are the same as the CAP Operation
+-- identifiers for CAP V3 for GPRS in Rel-5.
+
+       AccessPointName {},
+       GPRSCause {},
+       ChargingCharacteristics,
+       ChargingResult,
+       ChargingRollOver,
+       EndUserAddress,
+       Extensions,
+       FCIGPRSBillingChargingCharacteristics,
+       GPRSEventSpecificInformation {},
+       GPRSEvent,
+       GPRSEventType,
+       LocationInformationGPRS,
+       PDPID,
+       PDPInitiationType,
+       QualityOfService,
+       SCIGPRSBillingChargingCharacteristics {},
+       SGSNCapabilities,
+       TimeAndTimezone {},
+       TimerID,
+       TimerValue
+FROM CAP-datatypes datatypes
+-- For Rel-6, the CAP-datatypes module is updated to version5(4); Object Identifier 'datatypes'
+-- is also updated to version5(4). As a result, the present module uses Rel-6 data type definitions.
+
+       missingCustomerRecord,
+       missingParameter,
+       parameterOutOfRange,
+       systemFailure,
+       taskRefused,
+       unexpectedComponentSequence,
+       unexpectedDataValue,
+       unexpectedParameter,
+       unknownPDPID
+FROM CAP-errortypes errortypes
+-- For Rel-6, the CAP-errortypes module is updated to version5(4); Object Identifier
+-- 'errortypes' is also updated to version5(4). As a result, the present module uses Rel-6
+-- error type definitions.
+
+;
+
+activityTestGPRS OPERATION ::= {
+       RETURN RESULT   TRUE
+       CODE                    opcode-activityTestGPRS}
+-- Direction: gsmSCF -> gprsSSF, Timer: Tatg
+-- This operation is used to check for the continued existence of a relationship between the gsmSCF 
+-- and gprsSSF. If the relationship is still in existence, then the gprsSSF will respond. If no 
+-- reply is received, then the gsmSCF will assume that the gprsSSF has failed in some way
+-- and will take the appropriate action.
+
+applyChargingGPRS OPERATION ::= {
+       ARGUMENT                ApplyChargingGPRSArg
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       unexpectedComponentSequence |
+                                       unexpectedParameter |
+                                       unexpectedDataValue |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unknownPDPID}
+       CODE                    opcode-applyChargingGPRS}
+-- Direction gsmSCF -> gprsSSF, Timer Tacg
+-- This operation is used for interacting from the gsmSCF with the gprsSSF CSE-controlled 
+-- GPRS session or PDP Context charging mechanism.
+
+ApplyChargingGPRSArg ::= SEQUENCE { 
+       chargingCharacteristics                         [0] ChargingCharacteristics,
+       tariffSwitchInterval                            [1] INTEGER (1..86400)                                          OPTIONAL,
+       pDPID                                                           [2] PDPID                                                                       OPTIONAL,
+       ...
+       }
+-- tariffSwitchInterval is measured in 1 second units.
+
+applyChargingReportGPRS OPERATION ::= {
+       ARGUMENT                ApplyChargingReportGPRSArg
+       RETURN RESULT   TRUE
+       ERRORS                  {missingParameter |
+                                       unexpectedComponentSequence |
+                                       unexpectedParameter |
+                                       unexpectedDataValue |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unknownPDPID}
+       CODE                    opcode-applyChargingReportGPRS}
+--     Direction gprsSSF -> gsmSCF,Timer Tacrg
+--     The ApplyChargingReportGPRS operation provides the feedback from the gprsSCF to the gsmSCF 
+--     CSE-controlled GPRS session charging mechanism.
+
+ApplyChargingReportGPRSArg ::= SEQUENCE {
+       chargingResult                                          [0] ChargingResult,
+       qualityOfService                                        [1] QualityOfService                                            OPTIONAL,
+       active                                                          [2] BOOLEAN DEFAULT TRUE,
+       pDPID                                                           [3] PDPID                                                                       OPTIONAL,
+       ...,
+       chargingRollOver                                        [4]     ChargingRollOver                                                OPTIONAL
+       }
+
+cancelGPRS OPERATION ::= {
+       ARGUMENT                CancelGPRSArg
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       taskRefused |
+                                       unknownPDPID}
+       CODE                    opcode-cancelGPRS}
+--  Direction: gsmSCF ?? gprsSSF, Timer: Tcag
+--  This generic operation cancels all previous requests, 
+--     i.e. all EDPs and reports can be cancelled by the gsmSCF.
+
+CancelGPRSArg ::= SEQUENCE {
+       pDPID                                                           [0] PDPID                                                                       OPTIONAL,
+       ...
+       }
+
+connectGPRS {PARAMETERS-BOUND: bound} OPERATION::= {
+       ARGUMENT                ConnectGPRSArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       unknownPDPID |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter}
+       CODE                    opcode-connectGPRS}
+-- Direction: gsmSCF -> gprsSSF, Timer: Tcong
+-- This operation is used to modify the Access Point Name used when establishing a PDP Context.
+
+ConnectGPRSArg {PARAMETERS-BOUND: bound}::= SEQUENCE {
+       accessPointName         [0] AccessPointName {bound},
+       pdpID           [1] PDPID                       OPTIONAL,
+       ...
+       }
+
+continueGPRS OPERATION ::= {
+       ARGUMENT                ContinueGPRSArg
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       unknownPDPID |
+                                       unexpectedDataValue}
+       CODE                    opcode-continueGPRS}
+--  Direction: gsmSCF -> gprsSSF, Timer: Tcueg
+--  This operation is used to request the gprsSSF to proceed with processing at the DP at 
+--  which it previously suspended processing to await gsmSCF instructions (i.e., proceed to 
+--  the next point in processing in the Attach/Detach state model or PDP Context
+--     state model) substituting new data from the gsmSCF.
+
+ContinueGPRSArg ::= SEQUENCE {
+       pDPID                                                           [0] PDPID                                                                       OPTIONAL,
+       ...
+}
+
+entityReleasedGPRS {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                EntityReleasedGPRSArg {bound}
+       RETURN RESULT   TRUE
+       ERRORS                  {missingParameter |
+                                       taskRefused |
+                                       unknownPDPID}
+       CODE                    opcode-entityReleasedGPRS}
+--  Direction: gprsSSF -> gsmSCF, Timer: Terg
+--  This operation is used when the GPRS Session is detached or a PDP Context is diconnected and
+--  the associated event is not armed for reporting.
+--  The usage of this operation is independent of the functional entity that initiates the Detach
+--  or PDP Context Disconnection and is independent of the cause of the Detach or PDP Context
+--  Disconnect.
+
+EntityReleasedGPRSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       gPRSCause                                                       [0] GPRSCause {bound},
+       pDPID                                                           [1] PDPID                                                                       OPTIONAL,
+       ...
+       }
+
+eventReportGPRS {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                EventReportGPRSArg {bound}
+       RETURN RESULT   TRUE
+       ERRORS                  {unknownPDPID}
+       CODE                    opcode-eventReportGPRS}
+--     Direction gprsSSF -> gsmSCF,Timer Tereg
+--             This operation is used to notify the gsmSCF of a GPRS session or PDP context related 
+--             events (e.g. PDP context activation) previously requested by the gsmSCF in a 
+--             RequestReportGPRSEventoperation.
+
+EventReportGPRSArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+       gPRSEventType                                           [0] GPRSEventType,
+       miscGPRSInfo                                            [1] MiscCallInfo DEFAULT {messageType request},
+       gPRSEventSpecificInformation            [2]     GPRSEventSpecificInformation {bound}    OPTIONAL,
+       pDPID                                                           [3]     PDPID OPTIONAL,
+       ...
+       }
+
+furnishChargingInformationGPRS {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                FurnishChargingInformationGPRSArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownPDPID}
+       CODE                    opcode-furnishChargingInformationGPRS}
+-- Direction: gsmSCF -> gprsSSF, Timer: Tfcig 
+-- This operation is used to request the gprsSSF to generate, register a logical record or to 
+-- include some information in the default logical GPRS record.
+-- The registered logical record is intended for off line charging of the GPRS session
+-- or PDP Context.
+
+FurnishChargingInformationGPRSArg {PARAMETERS-BOUND : bound} ::=
+       FCIGPRSBillingChargingCharacteristics{bound}
+
+initialDPGPRS {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                InitialDPGPRSArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingCustomerRecord |
+                                       missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter}
+       CODE                    opcode-initialDPGPRS}
+--     Direction gprsSSF -> gsmSCF,Timer Tidpg
+--     This operation is used by the gprsSSF when a trigger is detected at a DP in the GPRS state
+--     machines to request instructions from the gsmSCF
+
+InitialDPGPRSArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+       serviceKey                                                      [0] ServiceKey,
+       gPRSEventType                                           [1] GPRSEventType,
+       mSISDN                                                          [2] ISDN-AddressString,
+       iMSI                                                            [3] IMSI,
+       timeAndTimeZone                                         [4] TimeAndTimezone {bound},
+       gPRSMSClass                                                     [5] GPRSMSClass                                                         OPTIONAL,
+       endUserAddress                                          [6] EndUserAddress {bound}                                      OPTIONAL,
+       qualityOfService                                        [7] QualityOfService                                            OPTIONAL,
+       accessPointName                                         [8] AccessPointName{bound}                                      OPTIONAL,
+       routeingAreaIdentity                            [9] RAIdentity                                                          OPTIONAL,
+       chargingID                                                      [10] GPRSChargingID                                                     OPTIONAL,
+       sGSNCapabilities                                        [11] SGSNCapabilities                                           OPTIONAL,
+       locationInformationGPRS                         [12] LocationInformationGPRS                            OPTIONAL,
+       pDPInitiationType                                       [13] PDPInitiationType                                          OPTIONAL,
+       extensions                                                      [14] Extensions {bound}                                         OPTIONAL,
+       ...,
+       gGSNAddress                                                     [15] GSN-Address                                                        OPTIONAL,
+       secondaryPDP-context                            [16] NULL                                                                       OPTIONAL,
+       iMEI                                                            [17] IMEI                                                                       OPTIONAL
+       }
+--     The RouteingAreaIdentity parameter is not used. 
+--     The receiving entity shall ignore RouteingAreaIdentity if received.
+--  The RouteingAreaIdentity is conveyed in the LocationInformationGPRS parameter.
+
+releaseGPRS {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                ReleaseGPRSArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       taskRefused |
+                                       unknownPDPID}
+       CODE                    opcode-releaseGPRS}
+--  Direction: gsmSCF -> gprsSSF, Timer: Trg
+--  This operation is used to tear down an existing GPRS session or PDP Context at any phase.
+
+ReleaseGPRSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       gprsCause                                                       [0] GPRSCause {bound},
+       pDPID                                                           [1]     PDPID                                                                   OPTIONAL,
+       ...
+       }
+
+requestReportGPRSEvent {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                RequestReportGPRSEventArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownPDPID}
+       CODE                    opcode-requestReportGPRSEvent}
+-- Direction: gsmSCF -> gprsSSF, Timer: Trrqe
+-- This operation is used to request the gprsSSF to monitor for an event (e.g., GPRS events 
+-- such as attach or PDP Context activiation), then send a notification back to the 
+-- gsmSCF when the event is detected.
+
+RequestReportGPRSEventArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       gPRSEvent                                                       [0] SEQUENCE SIZE (1..bound.&numOfGPRSEvents) OF GPRSEvent,
+       pDPID                                                           [1]     PDPID                                                                   OPTIONAL,
+       ...
+       }
+-- Indicates the GPRS related events for notification.
+
+resetTimerGPRS OPERATION ::= {
+       ARGUMENT                ResetTimerGPRSArg
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownPDPID}
+       CODE                    opcode-resetTimerGPRS}
+--  Direction: gsmSCF -? gprsSSF, Timer: Trtg
+--  This operation is used to request the gprsSSF to refresh an application timer in the gprsSSF.
+
+ResetTimerGPRSArg ::= SEQUENCE {
+       timerID                                                         [0] TimerID                                     DEFAULT tssf,
+       timervalue                                                      [1] TimerValue,
+       ...
+       }
+
+sendChargingInformationGPRS {PARAMETERS-BOUND: bound} OPERATION ::= {
+       ARGUMENT                SendChargingInformationGPRSArg { bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       unexpectedComponentSequence |
+                                       unexpectedParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedDataValue |
+                                       unknownPDPID}
+       CODE                    opcode-sendChargingInformationGPRS}
+-- Direction: gsmSCF -> gprsSSF, Timer: Tscig
+-- This operation is used to instruct the gprsSSF on the charging information which the
+-- gprsSSF shall send to the Mobile Station by means of GSM access signalling.
+
+SendChargingInformationGPRSArg {PARAMETERS-BOUND: bound}::= SEQUENCE {
+       sCIGPRSBillingChargingCharacteristics [0] SCIGPRSBillingChargingCharacteristics {bound},
+       ...
+       }
+
+END
\ No newline at end of file
diff --git a/asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn b/asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn
new file mode 100644 (file)
index 0000000..2ee4b37
--- /dev/null
@@ -0,0 +1,149 @@
+-- $Id$
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 6.2 gsmSCF/gsmSRF interface
+-- 6.2.1       gsmSCF/gsmSRF operations and arguments
+CAP-gsmSCF-gsmSRF-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-gsmSCF-gsmSRF-ops-args(103) version5(4)}
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+-- This module contains the operations and operation arguments used for the
+-- gsmSRF - gsmSCF interface, for the control of circuit switched calls.
+
+-- The table in subclause 2.1 lists the specifications that contain the modules
+-- that are used by CAP.
+
+IMPORTS
+
+       ros-InformationObjects,
+       operationcodes,
+       datatypes,
+       errortypes,
+       classes
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
+
+       OPERATION
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+       opcode-playAnnouncement,
+       opcode-promptAndCollectUserInformation,
+       opcode-specializedResourceReport
+FROM CAP-operationcodes operationcodes
+-- The CAP Operation identifiers for CAP V4 in Rel-6 are the same as the CAP Operation
+-- identifiers for CAP V4 in Rel-5.
+
+       CallSegmentID {},
+       CollectedInfo,
+       Digits {},
+       Extensions {},
+       InformationToSend {}
+FROM CAP-datatypes datatypes
+-- For Rel-6, the CAP-datatypes module is updated to version5(4); Object Identifier 'datatypes'
+-- is also updated to version5(4). As a result, the present module uses Rel-6 data type definitions.
+
+       canceled,
+       improperCallerResponse,
+       missingParameter,
+       parameterOutOfRange,
+       systemFailure,
+       taskRefused,
+       unavailableResource,
+       unexpectedComponentSequence,
+       unexpectedDataValue,
+       unexpectedParameter,
+       unknownCSID
+FROM CAP-errortypes errortypes
+-- For Rel-6, the CAP-errortypes module is updated to version5(4); Object Identifier
+-- 'errortypes' is also updated to version5(4). As a result, the present module uses Rel-6
+-- error type definitions.
+
+       PARAMETERS-BOUND
+FROM CAP-classes classes
+
+
+;
+
+playAnnouncement {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                PlayAnnouncementArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {canceled |
+                                       missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unavailableResource |
+                                       unknownCSID}
+       LINKED                  {specializedResourceReport}
+       CODE                    opcode-playAnnouncement}
+-- Direction: gsmSCF -> gsmSRF, Timer: Tpa
+-- This operation is to be used after Establish Temporary Connection (assist procedure
+-- with a second gsmSSF) or a Connect to Resource (no assist) operation. It may be used
+-- for inband interaction with a mobile station, or for interaction with an ISDN user.
+-- In the former case, the gsmSRF is usually collocated with the gsmSSF for standard
+-- tones (congestion tone...) or standard announcements.
+-- In the latter case, the gsmSRF is always collocated with the gsmSSF in the switch.
+-- Any error is returned to the gsmSCF. The timer associated with this operation must
+-- be of a sufficient duration to allow its linked operation to be correctly correlated.
+
+PlayAnnouncementArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+       informationToSend                                       [0] InformationToSend {bound},
+       disconnectFromIPForbidden                       [1] BOOLEAN DEFAULT TRUE,
+       requestAnnouncementCompleteNotification [2] BOOLEAN DEFAULT TRUE,
+       extensions                                                      [3] Extensions {bound}                                          OPTIONAL,
+       callSegmentID                                           [5] CallSegmentID {bound}                                       OPTIONAL,
+       requestAnnouncementStartedNotification  [51] BOOLEAN DEFAULT FALSE,
+       ...
+       }
+
+promptAndCollectUserInformation {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                PromptAndCollectUserInformationArg {bound}
+       RESULT                  ReceivedInformationArg {bound}
+       ERRORS                  {canceled |
+                                       improperCallerResponse |
+                                       missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unavailableResource |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownCSID}
+       LINKED                  {specializedResourceReport}
+       CODE                    opcode-promptAndCollectUserInformation}
+-- Direction: gsmSCF -> gsmSRF, Timer: Tpc 
+-- This operation is used to interact with a user to collect information.
+
+PromptAndCollectUserInformationArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+       collectedInfo                                           [0] CollectedInfo,
+       disconnectFromIPForbidden                       [1] BOOLEAN     DEFAULT TRUE,
+       informationToSend                                       [2] InformationToSend {bound}                           OPTIONAL,
+       extensions                                                      [3] Extensions {bound}                                          OPTIONAL,
+       callSegmentID                                           [4]     CallSegmentID {bound}                                   OPTIONAL,
+       requestAnnouncementStartedNotification [51] BOOLEAN DEFAULT FALSE,
+       ...
+       }
+
+ReceivedInformationArg {PARAMETERS-BOUND : bound}::= CHOICE {
+       digitsResponse                                          [0] Digits {bound}
+       }
+
+specializedResourceReport OPERATION ::= {
+       ARGUMENT                SpecializedResourceReportArg
+       RETURN RESULT   FALSE
+       ALWAYS RESPONDS FALSE
+       CODE                    opcode-specializedResourceReport}
+-- Direction: gsmSRF -> gsmSCF, Timer: Tsrr 
+-- This operation is used as the response to a PlayAnnouncement operation when the announcement 
+-- completed report indication is set.
+
+SpecializedResourceReportArg ::= CHOICE {
+       allAnnouncementsComplete                        [50] NULL,
+       firstAnnouncementStarted                        [51] NULL
+       }
+
+END
\ No newline at end of file
diff --git a/asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn b/asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn
new file mode 100644 (file)
index 0000000..f504245
--- /dev/null
@@ -0,0 +1,877 @@
+-- $Id$
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 6   Circuit Switched Call Control
+-- 6.1 gsmSSF/CCF - gsmSCF Interface
+-- 6.1.1       Operations and arguments
+CAP-gsmSSF-gsmSCF-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-gsmSSF-gsmSCF-ops-args(101) version5(4)}
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+-- This module contains the operations and operation arguments used for the
+-- gsmSSF - gsmSCF interface, for the control of circuit switched calls.
+
+-- The table in subclause 2.1 lists the specifications that contain the modules
+-- that are used by CAP.
+
+IMPORTS
+
+       errortypes,
+       datatypes,
+       operationcodes,
+       classes,
+       tc-Messages,
+       ros-InformationObjects
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
+
+       OPERATION
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+       CallingPartysCategory,
+       HighLayerCompatibility,
+       LegID,
+       RedirectionInformation,
+       ServiceKey
+FROM CS1-DataTypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+modules(0) cs1-datatypes(2) version1(0)}
+
+       MiscCallInfo
+FROM CS2-datatypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+cs2(20) modules(0) in-cs2-datatypes (0) version1(0)}
+
+       Ext-BasicServiceCode,
+       IMEI,
+       IMSI,
+       ISDN-AddressString
+FROM MAP-CommonDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CommonDataTypes(18) version9(9)}
+
+       CUG-Index,
+       CUG-Interlock,
+       CUG-Info,
+       LocationInformation,
+       MS-Classmark2,
+       SubscriberState,
+       SupportedCamelPhases,
+       OfferedCamel4Functionalities
+FROM MAP-MS-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-MS-DataTypes(11) version9(9)}
+
+       CallReferenceNumber,
+       SuppressionOfAnnouncement,
+       UU-Data
+FROM MAP-CH-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CH-DataTypes(13) version9(9)}
+
+       PARAMETERS-BOUND
+FROM CAP-classes classes
+
+       opcode-activityTest,
+       opcode-applyCharging,
+       opcode-applyChargingReport,
+       opcode-assistRequestInstructions,
+       opcode-callGap,
+       opcode-callInformationReport,
+       opcode-callInformationRequest,
+       opcode-cancel,
+       opcode-collectInformation,
+       opcode-connect,
+       opcode-connectToResource,
+       opcode-continue,
+       opcode-continueWithArgument,
+       opcode-disconnectForwardConnection,
+       opcode-dFCWithArgument,
+       opcode-disconnectLeg,
+       opcode-entityReleased,
+       opcode-establishTemporaryConnection,
+       opcode-eventReportBCSM,
+       opcode-furnishChargingInformation,
+       opcode-initialDP,
+       opcode-initiateCallAttempt,
+       opcode-moveLeg,
+       opcode-playTone,
+       opcode-releaseCall,
+       opcode-requestReportBCSMEvent,
+       opcode-resetTimer,
+       opcode-sendChargingInformation,
+       opcode-splitLeg
+FROM CAP-operationcodes operationcodes
+-- The CAP Operation identifiers for CAP V4 in Rel-6 are the same as the CAP Operation
+-- identifiers for CAP V4 in Rel-5.
+
+       AChBillingChargingCharacteristics {},
+       AdditionalCallingPartyNumber {},
+       AlertingPattern,
+       AChChargingAddress {},
+       AssistingSSPIPRoutingAddress {},
+       BCSMEvent {},
+       BCSM-Failure,
+       BearerCapability {},
+       Burst,
+       CalledPartyNumber {},
+       CalledPartyBCDNumber {},
+       CallingPartyNumber {},
+       CallResult {},
+       CallSegmentID {},
+       CallSegmentToCancel {},
+       CallSegmentFailure {},
+       Carrier,
+       Cause {},
+       CGEncountered,
+       ChargeNumber {},
+       ControlType,
+       CorrelationID {},
+       DestinationRoutingAddress {},
+       EventSpecificInformationBCSM {},
+       EventTypeBCSM,
+       Extensions {},
+       FCIBillingChargingCharacteristics {},
+       GapCriteria {},
+       GapIndicators,
+       GapTreatment,
+       GenericNumbers {},
+       InvokeID,
+       IPRoutingAddress {},
+       IPSSPCapabilities {},
+       leg1,
+       leg2,
+       LegOrCallSegment {},
+       LocationNumber {},
+       LowLayerCompatibility {},
+       MonitorMode,
+       NAOliInfo,
+       OCSIApplicable,
+       OriginalCalledPartyID {},
+       ReceivingSideID,
+       RedirectingPartyID {},
+       RequestedInformationList {},
+       RequestedInformationTypeList,
+       ScfID {},
+       SCIBillingChargingCharacteristics {},
+       SendingSideID,
+       ServiceInteractionIndicatorsTwo,
+       TimeAndTimezone {},
+       TimerID,
+       TimerValue
+FROM CAP-datatypes datatypes
+-- For Rel-6, the CAP-datatypes module is updated to version5(4); Object Identifier 'datatypes'
+-- is also updated to version5(4). As a result, the present module uses Rel-6 data type definitions.
+
+       cancelFailed,
+       eTCFailed,
+       missingCustomerRecord,
+       missingParameter,
+       parameterOutOfRange,
+       requestedInfoError,
+       systemFailure,
+       taskRefused,
+       unexpectedComponentSequence,
+       unexpectedDataValue,
+       unexpectedParameter,
+       unknownLegID,
+       unknownCSID
+FROM CAP-errortypes errortypes
+-- For Rel-6, the CAP-errortypes module is updated to version5(4); Object Identifier
+-- 'errortypes' is also updated to version5(4). As a result, the present module uses Rel-6
+-- error type definitions.
+
+;
+
+activityTest OPERATION ::= {
+       RETURN RESULT   TRUE
+       CODE                    opcode-activityTest}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tat
+-- This operation is used to check for the continued existence of a relationship
+-- between the gsmSCF and gsmSSF, assist gsmSSF or gsmSRF. If the relationship is
+-- still in existence, then the gsmSSF will respond. If no reply is received,
+-- then the gsmSCF will assume that the gsmSSF, assist gsmSSF or gsmSRF has failed
+-- in some way.
+
+applyCharging {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                ApplyChargingArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       unexpectedComponentSequence |
+                                       unexpectedParameter |
+                                       unexpectedDataValue |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unknownLegID |
+                                       unknownCSID}
+       CODE                    opcode-applyCharging}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tac
+-- This operation is used for interacting from the gsmSCF with the gsmSSF charging mechanisms.
+-- The ApplyChargingReport operation provides the feedback from the gsmSSF to the gsmSCF.
+
+ApplyChargingArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       aChBillingChargingCharacteristics       [0] AChBillingChargingCharacteristics {bound},
+       partyToCharge                                           [2] SendingSideID DEFAULT sendingSideID : leg1,
+       extensions                                                      [3] Extensions {bound}                                          OPTIONAL,
+       aChChargingAddress                                      [50] AChChargingAddress {bound}
+                                                                                               DEFAULT legID:sendingSideID:leg1,
+       ...
+       }
+
+-- The partyToCharge parameter indicates the party in the call to which the ApplyCharging operation
+-- shall be applied.
+
+applyChargingReport {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                ApplyChargingReportArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       unexpectedComponentSequence |
+                                       unexpectedParameter |
+                                       unexpectedDataValue |
+                                       unknownCSID |
+                                       unknownLegID |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused}
+       CODE                    opcode-applyChargingReport}
+-- Direction: gsmSSF -> gsmSCF, Timer: Tacr
+-- This operation is used by the gsmSSF to report to the gsmSCF the occurrence of a
+-- specific charging event as requested by the gsmSCF using the ApplyCharging operation.
+
+ApplyChargingReportArg {PARAMETERS-BOUND : bound} ::= CallResult {bound}
+
+assistRequestInstructions {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                AssistRequestInstructionsArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingCustomerRecord |
+                                       missingParameter |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter}
+       CODE                    opcode-assistRequestInstructions}
+-- Direction: gsmSSF -> gsmSCF or gsmSRF -> gsmSCF, Timer: Tari
+-- This operation is used when there is an assist procedure and may be
+-- sent by the gsmSSF or gsmSRF to the gsmSCF. This operation is sent by the
+-- assisting gsmSSF to gsmSCF, when the initiating gsmSSF has set up a connection to
+-- the gsmSRF or to the assisting gsmSSF as a result of receiving an
+-- EstablishTemporaryConnection from
+-- the gsmSCF.
+-- Refer to clause 11 for a description of the procedures associated with this operation.
+
+AssistRequestInstructionsArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       correlationID                                           [0] CorrelationID {bound},
+       iPSSPCapabilities                                       [2] IPSSPCapabilities {bound},
+       extensions                                                      [3] Extensions {bound}                                          OPTIONAL,
+       ...
+       }
+-- OPTIONAL denotes network operator specific use. The value of the correlationID may be the
+-- Called Party Number supplied by the initiating gsmSSF.
+
+callGap {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                CallGapArg {bound}
+       RETURN RESULT   FALSE
+       ALWAYS RESPONDS FALSE
+       CODE                    opcode-callGap}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tcg
+-- This operation is used to request the gsmSSF to reduce the rate at which specific service
+-- requests are sent to the gsmSCF.
+
+CallGapArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+       gapCriteria                                                     [0] GapCriteria {bound},
+       gapIndicators                                           [1] GapIndicators,
+       controlType                                                     [2] ControlType                                                         OPTIONAL,
+       gapTreatment                                            [3] GapTreatment {bound}                                        OPTIONAL,
+       extensions                                                      [4] Extensions {bound}                                          OPTIONAL,
+       ...
+       }
+-- OPTIONAL denotes network operator optional. If gapTreatment is not present, then the gsmSSF will
+-- use a default treatment depending on network operator implementation.
+
+callInformationReport {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                CallInformationReportArg {bound}
+       RETURN RESULT   FALSE
+       ALWAYS RESPONDS FALSE
+       CODE                    opcode-callInformationReport}
+-- Direction: gsmSSF -> gsmSCF, Timer: Tcirp
+-- This operation is used to send specific call information for a single call party to the gsmSCF as
+-- requested by the gsmSCF in a previous CallInformationRequest.
+
+CallInformationReportArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       requestedInformationList                        [0] RequestedInformationList {bound},
+       extensions                                                      [2] Extensions {bound}                                          OPTIONAL,
+       legID                                                           [3] ReceivingSideID DEFAULT receivingSideID:leg2,
+       ...
+       }
+
+callInformationRequest {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                CallInformationRequestArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       requestedInfoError |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownLegID}
+       CODE                    opcode-callInformationRequest}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tcirq
+-- This operation is used to request the gsmSSF to record specific information about a single
+-- call party and report it to the gsmSCF (with a CallInformationReport operation).
+
+CallInformationRequestArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+       requestedInformationTypeList            [0] RequestedInformationTypeList,
+       extensions                                                      [2] Extensions {bound}                                          OPTIONAL,
+       legID                                                           [3] SendingSideID DEFAULT sendingSideID:leg2,
+       ...
+       }
+-- OPTIONAL denotes network operator optional.
+
+cancel {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                CancelArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {cancelFailed |
+                                       missingParameter |
+                                       taskRefused |
+                                       unknownCSID}
+       CODE                    opcode-cancel}
+-- Direction: gsmSCF -> gsmSSF, or gsmSCF -> gsmSRF, Timer: Tcan
+-- This operation cancels the correlated previous operation or all previous requests. The following
+-- operations can be canceled: PlayAnnouncement, PromptAndCollectUserInformation.
+
+CancelArg {PARAMETERS-BOUND : bound} ::= CHOICE {
+       invokeID                                                        [0] InvokeID,
+       allRequests                                                     [1] NULL,
+       callSegmentToCancel                                     [2]     CallSegmentToCancel {bound}
+       }
+-- The InvokeID has the same value as that which was used for the operation to be cancelled.
+
+collectInformation OPERATION::= {
+RETURN RESULT          FALSE
+ALWAYS RESPONDS                FALSE
+CODE                           opcode-collectInformation}
+-- Direction: gsmSCF-> gsmSSF, Timer: Tci 
+-- This operation is used to request the gsmSSF to perform the call
+-- processing actions to prompt a calling party for additional destination informationdigits.
+
+connect {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                ConnectArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownLegID}
+       CODE                    opcode-connect}
+-- Direction: gsmSCF-> gsmSSF, Timer: Tcon 
+-- This operation is used to request the gsmSSF to perform the call processing actions
+-- to route or forward a call to a specified destination.
+
+ConnectArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       destinationRoutingAddress                       [0] DestinationRoutingAddress {bound},
+       alertingPattern                                         [1] AlertingPattern                             OPTIONAL,
+       originalCalledPartyID                           [6] OriginalCalledPartyID {bound}                       OPTIONAL,
+       extensions                                      [10] Extensions {bound}                                 OPTIONAL,
+       carrier                                         [11] Carrier {bound}                                    OPTIONAL,
+       callingPartysCategory                           [28] CallingPartysCategory                              OPTIONAL,
+       redirectingPartyID                              [29] RedirectingPartyID {bound}                         OPTIONAL,
+       redirectionInformation                          [30] RedirectionInformation                             OPTIONAL,
+       genericNumbers                                  [14] GenericNumbers {bound}                             OPTIONAL,
+       serviceInteractionIndicatorsTwo                 [15] ServiceInteractionIndicatorsTwo                    OPTIONAL,
+       chargeNumber                                    [19] ChargeNumber {bound}                               OPTIONAL,
+       legToBeConnected                                [21] LegID                                              OPTIONAL,
+       cug-Interlock                                   [31] CUG-Interlock                                      OPTIONAL,
+       cug-OutgoingAccess                              [32] NULL                                               OPTIONAL,
+       suppressionOfAnnouncement                       [55] SuppressionOfAnnouncement                          OPTIONAL,
+       oCSIApplicable                                  [56] OCSIApplicable                                     OPTIONAL,
+       naOliInfo                                       [57] NAOliInfo                                          OPTIONAL,
+       bor-InterrogationRequested                      [58] NULL                                               OPTIONAL,
+       ...,
+       suppress-N-CSI                                  [59] NULL                                               OPTIONAL
+
+       }
+-- na-Info is included at the discretion of the gsmSCF operator.
+
+connectToResource {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                ConnectToResourceArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownCSID}
+       CODE                    opcode-connectToResource}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tctr 
+-- This operation is used to connect a call segment from the gsmSSF to the
+-- gsmSRF.
+
+ConnectToResourceArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       resourceAddress CHOICE {
+               ipRoutingAddress                                        [0] IPRoutingAddress {bound},
+               none                                                            [3] NULL
+               },
+       extensions                                                      [4] Extensions {bound}                                          OPTIONAL,
+       serviceInteractionIndicatorsTwo         [7] ServiceInteractionIndicatorsTwo                     OPTIONAL,
+       callSegmentID                                           [50] CallSegmentID {bound}                                      OPTIONAL,
+       ...
+       }
+
+continue OPERATION ::= {
+       RETURN RESULT   FALSE
+       ALWAYS RESPONDS FALSE
+       CODE                    opcode-continue}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tcue 
+-- This operation is used to request the gsmSSF to proceed with call processing at the
+-- DP at which it previously suspended call processing to await gsmSCF instructions
+-- (i.e. proceed to the next point in call in the BCSM). The gsmSSF continues call
+-- processing without substituting new data from gsmSCF.
+
+continueWithArgument {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                ContinueWithArgumentArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownLegID |
+                                       unknownCSID}
+       CODE                    opcode-continueWithArgument}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tcwa 
+-- This operation is used to request the gsmSSF to proceed with call processing at the
+-- DP at which it previously suspended call processing to await gsmSCF instructions
+-- (i.e. proceed to the next point in call in the BCSM). The gsmSSF continues call
+-- processing with the modified call setup information as received from the gsmSCF.
+
+ContinueWithArgumentArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       alertingPattern                                         [1] AlertingPattern                                                     OPTIONAL,
+       extensions                                                      [6] Extensions {bound}                                          OPTIONAL,
+       serviceInteractionIndicatorsTwo         [7] ServiceInteractionIndicatorsTwo                     OPTIONAL,
+       callingPartysCategory                           [12] CallingPartysCategory                                      OPTIONAL,
+       genericNumbers                                          [16] GenericNumbers {bound}                                     OPTIONAL,
+       cug-Interlock                                           [17] CUG-Interlock                                                      OPTIONAL,
+       cug-OutgoingAccess                                      [18] NULL                                                                       OPTIONAL,
+       chargeNumber                                            [50] ChargeNumber {bound}                                       OPTIONAL,
+       carrier                                                         [52] Carrier {bound}                                            OPTIONAL,
+       suppressionOfAnnouncement                       [55] SuppressionOfAnnouncement                          OPTIONAL,
+       naOliInfo                                                       [56] NAOliInfo                                                          OPTIONAL,
+       bor-InterrogationRequested                      [57] NULL                                                                       OPTIONAL,
+       suppress-O-CSI                                          [58] NULL                                                                       OPTIONAL,
+       continueWithArgumentArgExtension        [59] ContinueWithArgumentArgExtension {bound} OPTIONAL,
+       ...
+       }
+
+ContinueWithArgumentArgExtension {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       suppress-D-CSI                                          [0]     NULL                                                                    OPTIONAL,
+       suppress-N-CSI                                          [1]     NULL                                                                    OPTIONAL,
+       suppressOutgoingCallBarring                     [2]     NULL                                                                    OPTIONAL,
+       legOrCallSegment                                        [3]     LegOrCallSegment {bound}                                OPTIONAL,
+       ...
+       }
+
+disconnectForwardConnection OPERATION ::= {
+       RETURN RESULT   FALSE
+       ERRORS                  {systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence}
+       CODE                    opcode-disconnectForwardConnection}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tdfc
+-- This operation is used to disconnect a forward temporary connection or a connection to a 
+-- resource. Refer to clause 11 for a description of the procedures associated with this operation. 
+
+disconnectForwardConnectionWithArgument {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                DisconnectForwardConnectionWithArgumentArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownCSID}
+       CODE                    opcode-dFCWithArgument}
+-- Direction gsmSCF -> gsmSSF, Timer Tdfcwa
+-- This operation is used to disconnect a forward temporary connection or a connection to a
+-- resource. Refer to clause 11 for a description of the procedures associated with this operation.
+
+DisconnectForwardConnectionWithArgumentArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       callSegmentID                                           [1] CallSegmentID {bound}                                       OPTIONAL,
+       extensions                                                      [2] Extensions {bound}                                          OPTIONAL,
+       ...
+       }
+
+disconnectLeg {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                DisconnectLegArg {bound}
+       RETURN RESULT   TRUE
+       ERRORS                  {missingParameter |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownLegID}
+       CODE                    opcode-disconnectLeg}
+-- Direction: gsmSCF -> gsmSSF, Timer Tdl
+-- This operation is used by the gsmSCF to release a specific leg associated with the call and
+-- retain any other legs not specified in the DisconnectLeg. Refer to clause 11 for a description
+-- of the procedures associated with this operation.
+
+DisconnectLegArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       legToBeReleased                                         [0]     LegID,
+       releaseCause                                            [1]     Cause {bound}                                                   OPTIONAL,
+       extensions                                                      [2]     Extensions {bound}                                              OPTIONAL,
+       ...
+       }
+
+entityReleased {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                EntityReleasedArg {bound}
+       RETURN RESULT   FALSE
+       ALWAYS RESPONDS FALSE
+       CODE                    opcode-entityReleased}
+-- Direction: gsmSSF -> gsmSCF, Timer: Ter
+-- This operation is used by the gsmSSF to inform the gsmSCF of an error or exception
+
+EntityReleasedArg {PARAMETERS-BOUND : bound} ::= CHOICE {
+       callSegmentFailure                                      [0]     CallSegmentFailure {bound},
+       bCSM-Failure                                            [1]     BCSM-Failure {bound}
+       }
+
+establishTemporaryConnection {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                EstablishTemporaryConnectionArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {eTCFailed |
+                                       missingParameter |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownCSID}
+       CODE                    opcode-establishTemporaryConnection}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tetc 
+-- This operation is used to create a connection to a resource for a limited period
+-- of time (e.g. to play an announcement, to collect user information); it implies
+-- the use of the assist procedure. Refer to clause 11 for a description of the
+-- procedures associated with this operation.
+
+EstablishTemporaryConnectionArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       assistingSSPIPRoutingAddress            [0] AssistingSSPIPRoutingAddress {bound},
+       correlationID                                           [1] CorrelationID {bound}                                       OPTIONAL,
+       scfID                                                           [3] ScfID {bound}                                                       OPTIONAL,
+       extensions                                                      [4] Extensions {bound}                                          OPTIONAL,
+       carrier                                                         [5] Carrier {bound}                                                     OPTIONAL,
+       serviceInteractionIndicatorsTwo         [6] ServiceInteractionIndicatorsTwo                     OPTIONAL,
+       callSegmentID                                           [7]     CallSegmentID {bound}                                   OPTIONAL,
+       naOliInfo                                                       [50] NAOliInfo                                                          OPTIONAL,
+       chargeNumber                                            [51] ChargeNumber {bound}                                       OPTIONAL,
+       ...,
+       originalCalledPartyID                           [52] OriginalCalledPartyID {bound}                      OPTIONAL,
+       callingPartyNumber                                      [53] CallingPartyNumber {bound}                         OPTIONAL
+       }
+
+eventReportBCSM {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                EventReportBCSMArg {bound}
+       RETURN RESULT   FALSE
+       ALWAYS RESPONDS FALSE
+       CODE                    opcode-eventReportBCSM}
+-- Direction: gsmSSF -> gsmSCF, Timer: Terb
+-- This operation is used to notify the gsmSCF of a call-related event (e.g. BCSM
+-- events such as O_Busy or O_No_Answer) previously requested by the gsmSCF in a
+-- RequestReportBCSMEvent operation.
+
+EventReportBCSMArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       eventTypeBCSM                                           [0] EventTypeBCSM,
+       eventSpecificInformationBCSM            [2] EventSpecificInformationBCSM {bound}        OPTIONAL,
+       legID                                                           [3] ReceivingSideID                                                     OPTIONAL,
+       miscCallInfo                                            [4] MiscCallInfo DEFAULT {messageType request},
+       extensions                                                      [5] Extensions {bound}                                          OPTIONAL,
+       ...
+       }
+
+furnishChargingInformation {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                FurnishChargingInformationArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownLegID}
+       CODE                    opcode-furnishChargingInformation}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tfci
+-- This operation is used to request the gsmSSF to generate, register a call record
+-- or to include some information in the default call record.
+-- The registered call record is intended for off line charging of the call.
+
+FurnishChargingInformationArg {PARAMETERS-BOUND : bound} ::=
+       FCIBillingChargingCharacteristics{bound}
+
+initialDP {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                InitialDPArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingCustomerRecord |
+                                       missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter}
+       CODE                    opcode-initialDP}
+-- Direction: gsmSSF -> gsmSCF, Timer: Tidp 
+-- This operation is used after a TDP to indicate request for service.
+
+InitialDPArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       serviceKey                                                      [0] ServiceKey  ,
+       calledPartyNumber                                       [2] CalledPartyNumber {bound}                           OPTIONAL,
+       callingPartyNumber                                      [3] CallingPartyNumber {bound}                          OPTIONAL,
+       callingPartysCategory                           [5] CallingPartysCategory                                       OPTIONAL,
+       cGEncountered                                           [7] CGEncountered                                                       OPTIONAL,
+       iPSSPCapabilities                                       [8] IPSSPCapabilities {bound}                           OPTIONAL,
+       locationNumber                                          [10] LocationNumber {bound}                                     OPTIONAL,
+       originalCalledPartyID                           [12] OriginalCalledPartyID {bound}                      OPTIONAL,
+       extensions                                                      [15] Extensions {bound}                                         OPTIONAL,
+       highLayerCompatibility                          [23] HighLayerCompatibility                                     OPTIONAL,
+       additionalCallingPartyNumber            [25] AdditionalCallingPartyNumber {bound}       OPTIONAL,
+       bearerCapability                                        [27] BearerCapability {bound}                           OPTIONAL,
+       eventTypeBCSM                                           [28] EventTypeBCSM                                                      OPTIONAL,
+       redirectingPartyID                                      [29] RedirectingPartyID {bound}                         OPTIONAL,
+       redirectionInformation                          [30] RedirectionInformation                                     OPTIONAL,
+       cause                                                           [17] Cause {bound}                                                      OPTIONAL,
+       serviceInteractionIndicatorsTwo         [32] ServiceInteractionIndicatorsTwo            OPTIONAL,
+       carrier                                                         [37] Carrier {bound}                                            OPTIONAL,
+       cug-Index                                                       [45] CUG-Index                                                          OPTIONAL,
+       cug-Interlock                                           [46] CUG-Interlock                                                      OPTIONAL,
+       cug-OutgoingAccess                                      [47] NULL                                                                       OPTIONAL,
+       iMSI                                                            [50] IMSI                                                                       OPTIONAL,
+       subscriberState                                         [51] SubscriberState                                            OPTIONAL,
+       locationInformation                                     [52] LocationInformation                                        OPTIONAL,
+       ext-basicServiceCode                            [53] Ext-BasicServiceCode                                       OPTIONAL,
+       callReferenceNumber                                     [54] CallReferenceNumber                                        OPTIONAL,
+       mscAddress                                                      [55] ISDN-AddressString                                         OPTIONAL,
+       calledPartyBCDNumber                            [56] CalledPartyBCDNumber {bound}                       OPTIONAL,
+       timeAndTimezone                                         [57] TimeAndTimezone {bound}                            OPTIONAL,
+       callForwardingSS-Pending                        [58] NULL                                                                       OPTIONAL,
+       initialDPArgExtension                           [59] InitialDPArgExtension {bound}                      OPTIONAL,
+       ...
+       }
+
+InitialDPArgExtension {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       gmscAddress                                                     [0] ISDN-AddressString                                          OPTIONAL,
+       forwardingDestinationNumber                     [1] CalledPartyNumber {bound}                           OPTIONAL,
+       ms-Classmark2                                           [2] MS-Classmark2                                                       OPTIONAL,
+       iMEI                                                            [3] IMEI                                                                        OPTIONAL,
+       supportedCamelPhases                            [4] SupportedCamelPhases                                        OPTIONAL,
+       offeredCamel4Functionalities            [5] OfferedCamel4Functionalities                        OPTIONAL,
+       bearerCapability2                                       [6] BearerCapability {bound}                            OPTIONAL,
+       ext-basicServiceCode2                           [7] Ext-BasicServiceCode                                        OPTIONAL,
+       highLayerCompatibility2                         [8] HighLayerCompatibility                                      OPTIONAL,
+       lowLayerCompatibility                           [9] LowLayerCompatibility {bound}                       OPTIONAL,
+       lowLayerCompatibility2                          [10] LowLayerCompatibility {bound}                      OPTIONAL,
+       ...,
+       enhancedDialledServicesAllowed          [11] NULL                                                                       OPTIONAL,
+       uu-Data                                                         [12] UU-Data                                                            OPTIONAL,
+       collectInformationAllowed                       [13] NULL                                                                       OPTIONAL
+}
+-- If iPSSPCapabilities is not present then this denotes that a colocated gsmSRF is not 
+-- supported by the gsmSSF. If present, then the gsmSSF supports a colocated gsmSRF capable 
+-- of playing announcements via elementaryMessageIDs and variableMessages, the playing of
+-- tones and the collection of DTMF digits. Other supported capabilities are explicitly 
+-- detailed in the IPSSPCapabilities parameter itself.
+-- Carrier is included at the discretion of the gsmSSF operator.
+
+initiateCallAttempt {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                InitiateCallAttemptArg {bound}
+       RESULT                  InitiateCallAttemptRes {bound}
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter
+                                       }
+       CODE                    opcode-initiateCallAttempt}
+-- Direction: gsmSCF -> gsmSSF, Timer Tica
+-- This operation is used to instruct the gsmSSF to create a new call to a call party using the
+-- address information provided by the gsmSCF.
+
+InitiateCallAttemptArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       destinationRoutingAddress                       [0]     DestinationRoutingAddress {bound},
+       extensions                                                      [4]     Extensions {bound}                                              OPTIONAL,
+       legToBeCreated                                          [5]     LegID                                                                   OPTIONAL,
+       newCallSegment                                          [6]     CallSegmentID {bound}                                   OPTIONAL,
+       callingPartyNumber                                      [30] CallingPartyNumber {bound}                         OPTIONAL,
+       callReferenceNumber                                     [51] CallReferenceNumber                                        OPTIONAL,
+       gsmSCFAddress                                           [52] ISDN-AddressString                                         OPTIONAL,
+       suppress-T-CSI                                          [53] NULL                                                                       OPTIONAL,
+       ...
+       }
+
+InitiateCallAttemptRes {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       supportedCamelPhases                            [0] SupportedCamelPhases                                        OPTIONAL,
+       offeredCamel4Functionalities            [1] OfferedCamel4Functionalities                        OPTIONAL,
+       extensions                                                      [2]     Extensions {bound}                                              OPTIONAL,
+       ...
+       }
+
+moveLeg {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                MoveLegArg {bound}
+       RETURN RESULT   TRUE
+       ERRORS                  {missingParameter |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownLegID}
+       CODE                    opcode-moveLeg}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tml
+-- This operation is used by the gsmSCF to move a leg from one call segment to another call segment
+-- within the same call segment association.
+
+MoveLegArg {PARAMETERS-BOUND : bound} ::= SEQUENCE{
+       legIDToMove                                                     [0]     LegID,
+       extensions                                                      [2]     Extensions {bound}                                              OPTIONAL,
+       ...
+       }
+
+playTone {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                PlayToneArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownLegID |
+                                       unknownCSID}
+       CODE                    opcode-playTone}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tpt
+-- This operation is used to play tones to either a leg or a call segment using
+-- the MSC's tone generator.
+
+PlayToneArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       legOrCallSegment                                        [0] LegOrCallSegment {bound},
+       bursts                                                          [1] Burst,
+       extensions                                                      [2] Extensions {bound}                                          OPTIONAL,
+       ...
+       }
+
+releaseCall {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                ReleaseCallArg {bound}
+       RETURN RESULT   FALSE
+       ALWAYS RESPONDS FALSE
+       CODE                    opcode-releaseCall}
+-- Direction: gsmSCF ->?gsmSSF, Timer: Trc 
+-- This operation is used to tear down an existing call at any phase of the call for all parties 
+-- involved in the call. 
+
+ReleaseCallArg {PARAMETERS-BOUND : bound} ::= Cause {bound} 
+-- A default value of decimal 31 (normal unspecified) shall be given.
+
+requestReportBCSMEvent {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                RequestReportBCSMEventArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownLegID}
+       CODE                    opcode-requestReportBCSMEvent}
+-- Direction: gsmSCF -> gsmSSF, Timer: Trrb
+-- This operation is used to request the gsmSSF to monitor for a call-related event
+-- (e.g. BCSM events such as O_Busy or O_No_Answer) and to send a notification
+-- to the gsmSCF when the event is detected.
+--
+-- NOTE:
+-- Every EDP must be explicitly armed by the gsmSCF via a RequestReportBCSMEvent operation. 
+-- No implicit arming of EDPs at the gsmSSF after reception of any operation (different 
+-- from RequestReportBCSMEvent) from the gsmSCF is allowed.
+
+RequestReportBCSMEventArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       bcsmEvents                                                      [0] SEQUENCE SIZE(1..bound.&numOfBCSMEvents) OF
+                                                                                               BCSMEvent {bound},
+       extensions                                                      [2] Extensions {bound}                                          OPTIONAL,
+       ...
+       }
+-- Indicates the BCSM related events for notification.
+
+resetTimer {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                ResetTimerArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       parameterOutOfRange |
+                                       taskRefused |
+                                       unexpectedComponentSequence |
+                                       unexpectedDataValue |
+                                       unexpectedParameter |
+                                       unknownCSID}
+       CODE                    opcode-resetTimer}
+-- Direction: gsmSCF -> gsmSSF, Timer: Trt 
+-- This operation is used to request the gsmSSF to refresh an application timer in the gsmSSF.
+
+ResetTimerArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       timerID                                                         [0] TimerID     DEFAULT tssf,
+       timervalue                                                      [1] TimerValue,
+       extensions                                                      [2] Extensions {bound}                                          OPTIONAL,
+       callSegmentID                                           [3]     CallSegmentID {bound}                                   OPTIONAL,
+       ...
+       }
+
+sendChargingInformation {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                SendChargingInformationArg {bound}
+       RETURN RESULT   FALSE
+       ERRORS                  {missingParameter |
+                                       unexpectedComponentSequence |
+                                       unexpectedParameter |
+                                       parameterOutOfRange |
+                                       systemFailure |
+                                       taskRefused |
+                                       unexpectedDataValue |
+                                       unknownLegID}
+       CODE                    opcode-sendChargingInformation}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tsci 
+-- This operation is used to instruct the gsmSSF on the charging information to send by the gsmSSF.
+-- The charging information can either be sent back by means of signalling or internal
+-- if the gsmSSF is located in the local exchange. In the local exchange
+-- this information may be used to update the charge meter or to create a standard call record.
+
+SendChargingInformationArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+       sCIBillingChargingCharacteristics       [0] SCIBillingChargingCharacteristics {bound},
+       partyToCharge                                           [1] SendingSideID,
+       extensions                                                      [2] Extensions {bound}                                          OPTIONAL,
+       ...
+       }
+
+splitLeg {PARAMETERS-BOUND : bound} OPERATION ::= {
+       ARGUMENT                SplitLegArg {bound}
+       RETURN RESULT   TRUE
+       ERRORS                  {missingParameter |
+                                       unexpectedComponentSequence |
+                                       unexpectedParameter |
+                                       unexpectedDataValue |
+                                       systemFailure |
+                                       taskRefused |
+                                       unknownLegID}
+       CODE                    opcode-splitLeg}
+-- Direction: gsmSCF -> gsmSSF, Timer Tsl
+-- This operation is used by the gsmSCF to separate a leg from its source call segment and
+-- place it in a new call segment within the same call segment association.
+
+SplitLegArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+       legToBeSplit                                            [0]     LegID,
+       newCallSegment                                          [1]     CallSegmentID {bound}                                   OPTIONAL,
+       extensions                                                      [2]     Extensions {bound}                                              OPTIONAL,
+       ...
+       }
+
+END
diff --git a/asn1/camel/CAP-object-identifiers.asn b/asn1/camel/CAP-object-identifiers.asn
new file mode 100644 (file)
index 0000000..6032cba
--- /dev/null
@@ -0,0 +1,243 @@
+-- $Id$
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 5.6 Object IDentifiers (IDs)
+CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
+
+DEFINITIONS ::= BEGIN
+
+-- This module assigns object identifiers for Modules, Packages, Contracts and ACs
+-- used by CAP
+
+-- For Modules from TC, ROS,
+tc-Messages                                                                            OBJECT IDENTIFIER ::=
+       {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
+
+tc-NotationExtensions                                                  OBJECT IDENTIFIER ::=
+       {itu-t recommendation q 775 modules(2) notation-extension (4) version1(1)}
+
+ros-InformationObjects                                                 OBJECT IDENTIFIER ::=
+       {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+
+
+-- For CAP Modules
+datatypes                                                                              OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-datatypes(52) version5(4)}
+
+errortypes                                                                             OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-errortypes(51) version5(4)}
+
+operationcodes                                                                 OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-operationcodes(53) version5(4)}
+
+errorcodes                                                                             OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-errorcodes(57) version5(4)}
+
+classes                                                                                        OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-classes(54) version5(4)}
+
+
+gsmSSF-gsmSCF-Operations                                               OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-gsmSSF-gsmSCF-ops-args(101) version5(4)}
+-- The Object Identifier 'gsmSSF-gsmSCF-Operations' is updated to version5(4) in Rel-6, so
+-- other modules can IMPORT Rel-6 Operation definitions related to call control.
+
+gsmSSF-gsmSCF-Protocol                                                 OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-gsmSSF-gsmSCF-pkgs-contracts-acs(102) version5(4)}
+-- The Object Identifier 'gsmSSF-gsmSCF-Protocol' is updated to version5(4) in Rel-6, so
+-- other modules can IMPORT Rel-6 Protocol definitions related to call control.
+
+gsmSCF-gsmSRF-Operations                                               OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-gsmSCF-gsmSRF-ops-args(103) version5(4)}
+-- The Object Identifier 'gsmSCF-gsmSRF-Operations' is updated to version5(4) in Rel-6, so
+-- other modules can IMPORT Rel-6 Operation definitions related to gsmSRF control.
+
+gsmSCF-gsmSRF-Protocol                                                 OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-gsmSCF-gsmSRF-pkgs-contracts-acs(104) version5(4)}
+-- The Object Identifier 'gsmSCF-gsmSRF-Protocol' is updated to version5(4) in Rel-6, so
+-- other modules can IMPORT Rel-6 Protocol definitions related to gsmSRF control.
+
+sms-Operations                                                                 OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-SMS-ops-args(105) version5(4)}
+-- The Object Identifier 'sms-Operations' is updated to version5(4) in Rel-6, so other
+-- modules can IMPORT Rel-6 Operation definitions related to SMS control.
+
+smsSSF-gsmSCF-Protocol                                                 OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-smsSSF-gsmSCF-pkgs-contracts-acs(106) version5(4)}
+-- The Object Identifier 'smsSSF-gsmSCF-Protocol' is updated to version5(4) in Rel-6, so
+-- other modules can IMPORT Rel-6 Protocol definitions related to SMS control.
+
+gprsSSF-gsmSCF-Operations                                              OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-GPRS-ops-args(107) version5(4)}
+-- The Object Identifier 'gprsSSF-gsmSCF-Operations' is updated to version5(4) in Rel-6, so
+-- other modules can IMPORT Rel-6 Operation definitions related to GPRS control.
+
+gprsSSF-gsmSCF-Protocol                                                        OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+       cap-gprsSSF-gsmSCF-pkgs-contracts-acs(108) version5(4)}
+-- The Object Identifier 'gprsSSF-gsmSCF-Protocol' is updated to version5(4) in Rel-6, so
+-- other modules can IMPORT Rel-6 Protocol definitions related to GPRS control.
+
+id-CAP                                                                                 OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+       umts-network(1) cap4(22)}
+
+id-CAP3                                                                                        OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+       umts-network(1) cap3(20)}
+
+id-CAPOE                                                                               OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+       umts-network(1) cap4OE(23)}
+
+id-CAP3OE                                                                              OBJECT IDENTIFIER ::=
+       {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+       umts-network(1) cap3OE(21)}
+
+id-ac                                                                                  OBJECT IDENTIFIER ::= {id-CAP           ac(3)}
+id-acE                                                                                 OBJECT IDENTIFIER ::= {id-CAPOE         ac(3)}
+id-ac3E                                                                                        OBJECT IDENTIFIER ::= {id-CAP3OE        ac(3)}
+id-as                                                                                  OBJECT IDENTIFIER ::= {id-CAP           as(5)}
+id-asE                                                                                 OBJECT IDENTIFIER ::= {id-CAPOE         as(5)}
+id-rosObject                                                                   OBJECT IDENTIFIER ::= {id-CAP           rosObject(25)}
+id-contract                                                                            OBJECT IDENTIFIER ::= {id-CAP           contract(26)}
+id-contract3                                                                   OBJECT IDENTIFIER ::= {id-CAP3          contract(26)}
+id-contractE                                                                   OBJECT IDENTIFIER ::= {id-CAPOE         contract(26)}
+id-package                                                                             OBJECT IDENTIFIER ::= {id-CAP           package(27)}
+id-packageE                                                                            OBJECT IDENTIFIER ::= {id-CAPOE         package(27)}
+
+-- for ac, as, rosObject, contract and package, the values are identical to ITU-T Recommendation
+-- Q.1218 [49]
+
+
+-- ROS Objects
+
+id-rosObject-gsmSCF                                                            OBJECT IDENTIFIER ::= {id-rosObject 4}
+id-rosObject-gsmSSF                                                            OBJECT IDENTIFIER ::= {id-rosObject 5}
+id-rosObject-gsmSRF                                                            OBJECT IDENTIFIER ::= {id-rosObject 6}
+id-rosObject-gprsSSF                                                   OBJECT IDENTIFIER ::= {id-rosObject 7}
+id-rosObject-smsSSF-V3                                                 OBJECT IDENTIFIER ::= {id-rosObject 8}
+id-rosObject-smsSSF-V4                                                 OBJECT IDENTIFIER ::= {id-rosObject 9}
+
+
+-- Application Contexts
+
+-- gsmSSF/gsmSCF AC
+id-ac-CAP-gsmSSF-scfGenericAC                                  OBJECT IDENTIFIER ::= {id-acE 4}
+id-ac-CAP-gsmSSF-scfAssistHandoffAC                            OBJECT IDENTIFIER ::= {id-acE 6}
+id-ac-CAP-scf-gsmSSFGenericAC                                  OBJECT IDENTIFIER ::= {id-acE 8}
+
+-- gsmSRF/gsmSCF AC
+id-ac-gsmSRF-gsmSCF                                                            OBJECT IDENTIFIER ::= {id-ac 14}
+
+-- gprsSSF/gsmSCF AC
+id-ac-CAP-gprsSSF-gsmSCF-AC                                            OBJECT IDENTIFIER ::= {id-ac3E 50}
+id-ac-CAP-gsmSCF-gprsSSF-AC                                            OBJECT IDENTIFIER ::= {id-ac3E 51}
+
+-- gprsSSF/gsmSCF or gsmSSF/gsmSCF AC
+id-ac-cap3-sms-AC                                                              OBJECT IDENTIFIER ::= {id-ac3E 61}
+id-ac-cap4-sms-AC                                                              OBJECT IDENTIFIER ::= {id-acE 61}
+
+
+-- Contracts
+
+-- gsmSSF/gsmSCF Contracts
+id-CAPSsfToScfGeneric                                                  OBJECT IDENTIFIER ::= {id-contractE 3}
+id-CAPAssistHandoffssfToScf                                            OBJECT IDENTIFIER ::= {id-contractE 5}
+id-CAPScfToSsfGeneric                                                  OBJECT IDENTIFIER ::= {id-contractE 6}
+
+-- gsmSRF/gsmSCF Contracts
+id-contract-gsmSRF-gsmSCF                                              OBJECT IDENTIFIER ::= {id-contract 13}
+
+-- gprsSSF/gsmSCF Contracts
+id-capGprsSsfTogsmScf                                                  OBJECT IDENTIFIER ::= {id-contract 14}
+id-capGsmScfToGprsSsf                                                  OBJECT IDENTIFIER ::= {id-contract 15}
+
+-- gprsSSF/gsmSCF or gsmSSF/gsmSCF Contracts
+id-cap3SmsSsfTogsmScf                                                  OBJECT IDENTIFIER ::= {id-contract3 16}
+id-cap4SmsSsfTogsmScf                                                  OBJECT IDENTIFIER ::= {id-contract 16}
+
+
+-- Operation Packages
+
+-- gsmSSF/gsmSCF Operation Packages
+id-package-scfActivation                                               OBJECT IDENTIFIER ::= {id-package 11}
+id-package-gsmSRF-scfActivationOfAssist                        OBJECT IDENTIFIER ::= {id-package 15}
+id-package-assistConnectionEstablishment               OBJECT IDENTIFIER ::= {id-package 16}
+id-package-genericDisconnectResource                   OBJECT IDENTIFIER ::= {id-package 17}
+id-package-nonAssistedConnectionEstablishment  OBJECT IDENTIFIER ::= {id-package 18}
+id-package-connect                                                             OBJECT IDENTIFIER ::= {id-package 19}
+id-package-callHandling                                                        OBJECT IDENTIFIER ::= {id-packageE 20}
+id-package-bcsmEventHandling                                   OBJECT IDENTIFIER ::= {id-package 21}
+id-package-ssfCallProcessing                                   OBJECT IDENTIFIER ::= {id-packageE 24}
+id-package-scfCallInitiation                                   OBJECT IDENTIFIER ::= {id-package 25}
+id-package-timer                                                               OBJECT IDENTIFIER ::= {id-package 26}
+id-package-billing                                                             OBJECT IDENTIFIER ::= {id-package 27}
+id-package-charging                                                            OBJECT IDENTIFIER ::= {id-package 28}
+id-package-trafficManagement                                   OBJECT IDENTIFIER ::= {id-package 29}
+id-package-callReport                                                  OBJECT IDENTIFIER ::= {id-package 32}
+id-package-signallingControl                                   OBJECT IDENTIFIER ::= {id-package 33}
+id-package-activityTest                                                        OBJECT IDENTIFIER ::= {id-package 34}
+id-package-cancel                                                              OBJECT IDENTIFIER ::= {id-packageE 36}
+id-package-cphResponse                                                 OBJECT IDENTIFIER ::= {id-package 37}
+id-package-exceptionInform                                             OBJECT IDENTIFIER ::= {id-package 38}
+id-package-playTone                                                            OBJECT IDENTIFIER ::= {id-package 39}
+
+-- gsmSRF/gsmSCF Operation Packages
+id-package-specializedResourceControl                  OBJECT IDENTIFIER ::= {id-package 42}
+id-package-gsmSRF-scfCancel                                            OBJECT IDENTIFIER ::= {id-package 43}
+
+-- gprsSSF/gsmSCF Operation Packages
+id-package-gprsContinue                                                        OBJECT IDENTIFIER ::= {id-package 49}
+id-package-gprsExceptionInformation                            OBJECT IDENTIFIER ::= {id-package 50}
+id-package-gprsScfActivation                                   OBJECT IDENTIFIER ::= {id-package 51}
+id-package-gprsConnect                                                 OBJECT IDENTIFIER ::= {id-package 52}
+id-package-gprsRelease                                                 OBJECT IDENTIFIER ::= {id-package 53}
+id-package-gprsEventHandling                                   OBJECT IDENTIFIER ::= {id-package 54}
+id-package-gprsTimer                                                   OBJECT IDENTIFIER ::= {id-package 55}
+id-package-gprsBilling                                                 OBJECT IDENTIFIER ::= {id-package 56}
+id-package-gprsCharging                                                        OBJECT IDENTIFIER ::= {id-package 57}
+id-package-gprsActivityTest                                            OBJECT IDENTIFIER ::= {id-package 58}
+id-package-gprsCancel                                                  OBJECT IDENTIFIER ::= {id-package 59}
+id-package-gprsChargeAdvice                                            OBJECT IDENTIFIER ::= {id-package 60}
+
+-- gprsSSF/gsmSCF or gsmSSF/gsmSCF Operation Packages
+id-package-smsActivation                                               OBJECT IDENTIFIER ::= {id-package 61}
+id-package-smsConnect                                                  OBJECT IDENTIFIER ::= {id-package 62}
+id-package-smsContinue                                                 OBJECT IDENTIFIER ::= {id-package 63}
+id-package-smsRelease                                                  OBJECT IDENTIFIER ::= {id-package 64}
+id-package-smsEventHandling                                            OBJECT IDENTIFIER ::= {id-package 65}
+id-package-smsBilling                                                  OBJECT IDENTIFIER ::= {id-package 66}
+id-package-smsTimer                                                            OBJECT IDENTIFIER ::= {id-package 67}
+
+
+-- Abstract Syntaxes
+
+-- gsmSSF/gsmSCF Abstract Syntaxes
+id-as-gsmSSF-scfGenericAS                                              OBJECT IDENTIFIER ::= {id-asE 4}
+id-as-assistHandoff-gsmSSF-scfAS                               OBJECT IDENTIFIER ::= {id-asE 6}
+id-as-scf-gsmSSFGenericAS                                              OBJECT IDENTIFIER ::= {id-asE 7}
+
+-- gsmSRF/gsmSCF Abstract Syntaxes
+id-as-basic-gsmSRF-gsmSCF                                              OBJECT IDENTIFIER ::= {id-as 14}
+
+-- gprsSSF/gsmSCF Abstract Syntaxes
+id-as-gprsSSF-gsmSCF-AS                                                        OBJECT IDENTIFIER ::= {id-as 50}
+id-as-gsmSCF-gprsSSF-AS                                                        OBJECT IDENTIFIER ::= {id-as 51}
+
+-- gprsSSF/gsmSCF or gsmSSF/gsmSCF Abstract Syntaxes
+id-as-smsSSF-gsmSCF-AS                                                 OBJECT IDENTIFIER ::= {id-as 61}
+
+END
\ No newline at end of file
diff --git a/asn1/camel/CAP-operationcodes.asn b/asn1/camel/CAP-operationcodes.asn
new file mode 100644 (file)
index 0000000..03a3eab
--- /dev/null
@@ -0,0 +1,120 @@
+-- $Id$
+-- 3GPP TS 29.078 7.3.0 (2006-06)
+-- 5.3 Operation codes
+CAP-operationcodes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-operationcodes(53) version5(4)}
+
+DEFINITIONS ::= BEGIN
+
+IMPORTS
+
+       ros-InformationObjects
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version5(4)}
+
+       Code
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+;
+
+-- the operations are grouped by the identified operation packages.
+
+-- gsmSCF activation Package
+       opcode-initialDP                                        Code ::= local: 0
+-- gsmSCF/gsmSRF activation of assist Package
+       opcode-assistRequestInstructions                        Code ::= local: 16
+-- Assist connection establishment Package
+       opcode-establishTemporaryConnection                     Code ::= local: 17
+-- Generic disconnect resource Package
+       opcode-disconnectForwardConnection                      Code ::= local: 18
+       opcode-dFCWithArgument                                  Code ::= local: 86
+-- Non-assisted connection establishment Package
+
+       opcode-connectToResource                                Code ::= local: 19
+-- Connect Package (elementary gsmSSF function)
+       opcode-connect                                          Code ::= local: 20
+-- Call handling Package (elementary gsmSSF function)
+       opcode-releaseCall                                      Code ::= local: 22
+-- BCSM Event handling Package
+       opcode-requestReportBCSMEvent                           Code ::= local: 23
+       opcode-eventReportBCSM                                  Code ::= local: 24
+-- gsmSSF call processing Package
+       opcode-collectInformation                               Code ::= local: 27
+       opcode-continue                                         Code ::= local: 31
+-- gsmSCF call initiation Package
+       opcode-initiateCallAttempt                              Code ::= local: 32
+-- Timer Package
+       opcode-resetTimer                                       Code ::= local: 33
+-- Billing Package
+       opcode-furnishChargingInformation                       Code ::= local: 34
+-- Charging Package
+       opcode-applyCharging                                    Code ::= local: 35
+       opcode-applyChargingReport                              Code ::= local: 36
+-- Traffic management Package
+       opcode-callGap                                          Code ::= local: 41
+-- Call report Package
+       opcode-callInformationReport                            Code ::= local: 44
+       opcode-callInformationRequest                           Code ::= local: 45
+-- Signalling control Package
+       opcode-sendChargingInformation                          Code ::= local: 46
+-- Specialized resource control Package
+       opcode-playAnnouncement                                 Code ::= local: 47
+       opcode-promptAndCollectUserInformation                  Code ::= local: 48
+       opcode-specializedResourceReport                        Code ::= local: 49
+-- Cancel Package
+       opcode-cancel                                           Code ::= local: 53
+-- Activity Test Package
+       opcode-activityTest                                     Code ::= local: 55
+-- CPH Response Package
+       opcode-continueWithArgument                             Code ::= local: 88
+       opcode-disconnectLeg                                    Code ::= local: 90
+       opcode-moveLeg                                          Code ::= local: 93
+       opcode-splitLeg                                         Code ::= local: 95
+-- Exception Inform Package
+       opcode-entityReleased                                   Code ::= local: 96
+-- Play Tone Package
+       opcode-playTone                                         Code ::= local: 97
+
+-- Sms Activation Package
+       opcode-initialDPSMS                                     Code ::= local: 60
+-- Sms Billing Package
+       opcode-furnishChargingInformationSMS                    Code ::= local: 61
+-- Sms Connect Package
+       opcode-connectSMS                                       Code ::= local: 62
+-- Sms Event Handling Package
+       opcode-requestReportSMSEvent                            Code ::= local: 63
+       opcode-eventReportSMS                                   Code ::= local: 64
+-- Sms Processing Package
+       opcode-continueSMS                                      Code ::= local: 65
+-- Sms Release Package 
+       opcode-releaseSMS                                       Code ::= local: 66
+-- Sms Timer Package
+       opcode-resetTimerSMS                                    Code ::= local: 67
+
+-- Gprs Activity Test Package
+       opcode-activityTestGPRS                                 Code ::= local: 70
+-- Gprs Charging Package
+       opcode-applyChargingGPRS                                Code ::= local: 71
+       opcode-applyChargingReportGPRS                          Code ::= local: 72
+-- Gprs Cancel Package
+       opcode-cancelGPRS                                       Code ::= local: 73
+-- Gprs Connect Package
+       opcode-connectGPRS                                      Code ::= local: 74
+-- Gprs Processing Package
+       opcode-continueGPRS                                     Code ::= local: 75
+-- Gprs Exception Information Package
+       opcode-entityReleasedGPRS                               Code ::= local: 76
+-- Gprs Billing Package
+       opcode-furnishChargingInformationGPRS                   Code ::= local: 77
+-- Gprs Scf Activation Package
+       opcode-initialDPGPRS                                    Code ::= local: 78
+-- Gprs Release Package
+       opcode-releaseGPRS                                      Code ::= local: 79
+-- Gprs Event Handling Package
+       opcode-eventReportGPRS                                  Code ::= local: 80
+       opcode-requestReportGPRSEvent                           Code ::= local: 81
+-- Gprs Timer Package
+       opcode-resetTimerGPRS                                   Code ::= local: 82
+-- Gprs Charge Advice Package
+       opcode-sendChargingInformationGPRS                      Code ::= local: 83
+
+END
\ No newline at end of file
index b16126a642e132d48fe80c759ab87b15ed32578d..e9217425723d50549e6264cbcdee152d0fad3420 100644 (file)
@@ -293,6 +293,7 @@ NotificationToMSUser     BER_CLASS_UNI BER_UNI_TAG_ENUMERATED
 SupportedCamelPhases     BER_CLASS_UNI BER_UNI_TAG_BITSTRING
 OfferedCamel4Functionalities BER_CLASS_UNI BER_UNI_TAG_BITSTRING
 MS-Classmark2            BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+GPRSMSClass              BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
 LocationInformation      BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
 RAIdentity               BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
 GeographicalInformation  BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
@@ -313,6 +314,7 @@ NotificationToMSUser     TYPE = FT_UINT32  DISPLAY = BASE_DEC   STRINGS = VALS(g
 SupportedCamelPhases     TYPE = FT_BYTES   DISPLAY = BASE_HEX   STRINGS = NULL  BITMASK = 0
 OfferedCamel4Functionalities TYPE = FT_BYTES   DISPLAY = BASE_HEX   STRINGS = NULL  BITMASK = 0
 MS-Classmark2            TYPE = FT_BYTES   DISPLAY = BASE_HEX   STRINGS = NULL  BITMASK = 0
+GPRSMSClass              TYPE = FT_NONE    DISPLAY = BASE_NONE  STRINGS = NULL  BITMASK = 0
 LocationInformation      TYPE = FT_NONE    DISPLAY = BASE_NONE  STRINGS = NULL  BITMASK = 0
 RAIdentity               TYPE = FT_BYTES   DISPLAY = BASE_HEX   STRINGS = NULL  BITMASK = 0
 GeographicalInformation  TYPE = FT_BYTES   DISPLAY = BASE_HEX   STRINGS = NULL  BITMASK = 0
@@ -333,10 +335,14 @@ MAP-CH-DataTypes  gsm_map.ch
 #.END
 
 #.IMPORT_TAG
+SuppressionOfAnnouncement BER_CLASS_UNI BER_UNI_TAG_NULL
+CallReferenceNumber      BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
 UU-Data                  BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
 #.END
 
 #.TYPE_ATTR
+SuppressionOfAnnouncement TYPE = FT_NONE    DISPLAY = BASE_NONE  STRINGS = NULL  BITMASK = 0
+CallReferenceNumber      TYPE = FT_BYTES   DISPLAY = BASE_HEX   STRINGS = NULL  BITMASK = 0
 UU-Data                  TYPE = FT_NONE    DISPLAY = BASE_NONE  STRINGS = NULL  BITMASK = 0
 #.END
 
index 6079f46bbab64779907346d6e7ea5bfea24b28b9..89c7f3dfdbfbecc1a8b15532f0795a5560b57ade 100644 (file)
@@ -47,6 +47,7 @@ Add-GeographicalInformation
 AgeOfLocationInformation
 AlertingPattern
 AreaEventInfo
+CallReferenceNumber
 CCBS-Feature
 CellGlobalIdOrServiceAreaIdFixedLength
 CUG-Index
@@ -64,6 +65,7 @@ ExtensionContainer
 GeographicalInformation
 GetPasswordArg
 GPRSChargingID
+GPRSMSClass
 GSMMAPLocalErrorcode
 GSN-Address
 IMEI
@@ -95,6 +97,7 @@ SubscriberState
 SecurityHeader
 SupportedCamelPhases
 SupportedGADShapes
+SuppressionOfAnnouncement
 SS-Code
 SS-Status
 SS-Info
@@ -109,6 +112,30 @@ VelocityEstimate
 #.REGISTER
 MAP-DialoguePDU                                B "0.4.0.0.1.1.1.1" "map-DialogueAS"
 
+#.TABLE_HDR
+/* jdlajla */
+#.TABLE_BODY OPERATION
+/* %(_name)s */ %(_ident)s  %(&operationCode)s,
+#.TABLE_FTR
+/* jdlajla */
+#.END
+
+#.TABLE_HDR
+/* jdlajla */
+#.TABLE_BODY ERROR
+/* %(_name)s */ %(_ident)s  %(&errorCode)s,
+#.TABLE_FTR
+/* jdlajla */
+#.END
+
+#.TABLE2_BODY OPERATION
+/* %(_name)-20s */ %(_ident)-20s  %(&operationCode)3s,
+#.END
+
+#.TABLE1_BODY ERROR
+/* %(_name)-20s */ %(_ident)-20s  %(&errorCode)3s,
+#.END
+
 # Conformance for ROS stuff
 
 #.FN_BODY InvokeParameter
index 616bf559741d89d27184fccd342caea09e7d99e4..2847399aba70cf5c8424f5a2bc4840893bcb45f6 100644 (file)
@@ -151,6 +151,8 @@ static gint ett_gsm_map_isdn_address_string = -1;
 static gint ett_gsm_map_geo_desc = -1;
 static gint ett_gsm_map_LongSignalInfo = -1;
 static gint ett_gsm_map_RadioResourceInformation =-1;
+static gint ett_gsm_map_MSNetworkCapability =-1;
+static gint ett_gsm_map_MSRadioAccessCapability = -1;
 
 #include "packet-gsm_map-ett.c"
 
@@ -2406,6 +2408,8 @@ void proto_register_gsm_map(void) {
        &ett_gsm_map_geo_desc,
        &ett_gsm_map_LongSignalInfo,
        &ett_gsm_map_RadioResourceInformation,
+       &ett_gsm_map_MSNetworkCapability,
+       &ett_gsm_map_MSRadioAccessCapability,
 
 #include "packet-gsm_map-ettarr.c"
   };
index 7b4676954949f9d6003a2f8ce95938c6557ce20c..2a79bb9d5ee5e927cab332c2c759cf0e5e62cc0a 100644 (file)
@@ -3,6 +3,17 @@
 # $Id$
 
 #.EXPORTS
+BothwayThroughConnectionInd
+CallingPartysCategory
+CriticalityType
+Duration
+HighLayerCompatibility
+Integer4
+Interval
+LegID
+MiscCallInfo
+RedirectionInformation
+ServiceKey
 
 #.NO_EMIT
 
@@ -105,10 +116,7 @@ ReceivedInformationArg
     col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", val_to_str(opcode, inap_opr_code_strings, "Unknown Inap (%u)"));
   }
 
-#.FN_PARS CalledPartyNumber
-VAL_PTR = &parameter_tvb
-
-#.FN_BODY CalledPartyNumber
+#.FN_BODY CalledPartyNumber VAL_PTR = &parameter_tvb
   tvbuff_t *parameter_tvb;
 
 %(DEFAULT_BODY)s
@@ -118,11 +126,7 @@ VAL_PTR = &parameter_tvb
 
 dissect_isup_called_party_number_parameter(parameter_tvb, tree, NULL);
 
-#.FN_PARS CallingPartyNumber
-
-VAL_PTR = &parameter_tvb
-
-#.FN_BODY CallingPartyNumber
+#.FN_BODY CallingPartyNumber VAL_PTR = &parameter_tvb
   tvbuff_t *parameter_tvb;
 
 %(DEFAULT_BODY)s
@@ -133,11 +137,7 @@ VAL_PTR = &parameter_tvb
        dissect_isup_calling_party_number_parameter(parameter_tvb, tree, NULL);
 
 
-#.FN_PARS  BearerCapability/bearerCap
-
-  VAL_PTR = &parameter_tvb
-
-#.FN_BODY BearerCapability/bearerCap
+#.FN_BODY BearerCapability/bearerCap VAL_PTR = &parameter_tvb
 
  tvbuff_t      *parameter_tvb;
 
@@ -148,11 +148,7 @@ VAL_PTR = &parameter_tvb
 
  dissect_q931_bearer_capability_ie(parameter_tvb, 0, tvb_length_remaining(parameter_tvb,0), tree);
 
-#.FN_PARS  RedirectionInformation
-
-  VAL_PTR = &parameter_tvb
-
-#.FN_BODY RedirectionInformation
+#.FN_BODY RedirectionInformation VAL_PTR = &parameter_tvb
 
  tvbuff_t      *parameter_tvb;
 
@@ -163,11 +159,7 @@ VAL_PTR = &parameter_tvb
 
  dissect_isup_redirection_information_parameter(parameter_tvb, tree, NULL);
 
-#.FN_PARS  OriginalCalledPartyID
-
-  VAL_PTR = &parameter_tvb
-
-#.FN_BODY OriginalCalledPartyID
+#.FN_BODY OriginalCalledPartyID VAL_PTR = &parameter_tvb
 
  tvbuff_t      *parameter_tvb;
 
@@ -177,11 +169,7 @@ VAL_PTR = &parameter_tvb
        return offset;
  dissect_isup_original_called_number_parameter(parameter_tvb, tree, NULL);
 
-#.FN_PARS  RedirectingPartyID 
-
-  VAL_PTR = &parameter_tvb
-
-#.FN_BODY RedirectingPartyID 
+#.FN_BODY RedirectingPartyID VAL_PTR = &parameter_tvb
 
  tvbuff_t      *parameter_tvb;
 
index cb7ce01477945610647bbf83bc95af18e1eb5071..394bbf7c4a493f5a5aa47ec1472245b70464c7a4 100644 (file)
@@ -27,6 +27,6 @@
 #ifndef PACKET_INAP_H
 #define PACKET_INAP_H
 
-/* #include "packet-inap-exp.h"*/
+#include "packet-inap-exp.h"
 
 #endif  /* PACKET_INAP_H */
index f31283be899a7223321cf047c7986072446fad7c..9bb832f889ffbfdd2e687157711823b53757aca9 100644 (file)
@@ -1368,6 +1368,8 @@ static gint ett_gsm_map_isdn_address_string = -1;
 static gint ett_gsm_map_geo_desc = -1;
 static gint ett_gsm_map_LongSignalInfo = -1;
 static gint ett_gsm_map_RadioResourceInformation =-1;
+static gint ett_gsm_map_MSNetworkCapability =-1;
+static gint ett_gsm_map_MSRadioAccessCapability = -1;
 
 
 /*--- Included file: packet-gsm_map-ett.c ---*/
@@ -1924,7 +1926,7 @@ static gint ett_gsm_ss_LCS_PeriodicLocationCancellationArg = -1;
 
 
 /*--- End of included file: packet-gsm_map-ett.c ---*/
-#line 156 "packet-gsm_map-template.c"
+#line 158 "packet-gsm_map-template.c"
 
 static dissector_table_t       sms_dissector_table;    /* SMS TPDU */
 static dissector_handle_t      data_handle;
@@ -2490,7 +2492,7 @@ dissect_gsm_map_T_extId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
 
 static int
 dissect_gsm_map_T_extType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 143 "gsmmap.cnf"
+#line 170 "gsmmap.cnf"
   proto_tree_add_text(tree, tvb, offset, -1, "Extension Data");
   if (obj_id){
         offset=call_ber_oid_callback(obj_id, tvb, offset, actx->pinfo, tree);
@@ -2605,7 +2607,7 @@ dissect_gsm_map_SLR_ArgExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *t
 
 static int
 dissect_gsm_map_TBCD_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 182 "gsmmap.cnf"
+#line 209 "gsmmap.cnf"
  tvbuff_t      *parameter_tvb;
  char          *digit_str;
 
@@ -2628,7 +2630,7 @@ dissect_gsm_map_TBCD_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
 
 int
 dissect_gsm_map_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 152 "gsmmap.cnf"
+#line 179 "gsmmap.cnf"
 
  tvbuff_t      *parameter_tvb;
  char          *digit_str;
@@ -2715,7 +2717,7 @@ dissect_gsm_map_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
 
 static int
 dissect_gsm_map_SignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 254 "gsmmap.cnf"
+#line 281 "gsmmap.cnf"
  tvbuff_t      *parameter_tvb;
 
    offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
@@ -2795,7 +2797,7 @@ dissect_gsm_map_AccessNetworkProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb
 
 static int
 dissect_gsm_map_LongSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 201 "gsmmap.cnf"
+#line 228 "gsmmap.cnf"
 
  tvbuff_t      *parameter_tvb;
  guint8                octet;
@@ -3247,7 +3249,7 @@ dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(gboolean implicit_tag _U_
 
 int
 dissect_gsm_map_LAIFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 469 "gsmmap.cnf"
+#line 496 "gsmmap.cnf"
 
         tvbuff_t        *parameter_tvb; 
         proto_item *item; 
@@ -3375,7 +3377,7 @@ dissect_gsm_map_EMLPP_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
 
 static int
 dissect_gsm_map_Ext_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 307 "gsmmap.cnf"
+#line 334 "gsmmap.cnf"
  /* Note Ext-SS-Status can have more than one byte */
 
  tvbuff_t      *parameter_tvb;
@@ -3498,7 +3500,7 @@ dissect_gsm_map_ss_RegisterSS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
 
 int
 dissect_gsm_map_ss_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 287 "gsmmap.cnf"
+#line 314 "gsmmap.cnf"
 
  tvbuff_t      *parameter_tvb;
  guint8                octet;
@@ -3532,7 +3534,7 @@ dissect_gsm_map_ss_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        NULL);
 
-#line 372 "gsmmap.cnf"
+#line 399 "gsmmap.cnf"
 
        proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE);
        proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE);
@@ -3851,7 +3853,7 @@ dissect_gsm_map_ss_InterrogateSS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U
 
 int
 dissect_gsm_map_ss_USSD_DataCodingScheme(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 334 "gsmmap.cnf"
+#line 361 "gsmmap.cnf"
  /*The structure of the USSD-DataCodingScheme is defined by
   * the Cell Broadcast Data Coding Scheme as described in
   * TS 3GPP TS 23.038
@@ -3875,7 +3877,7 @@ dissect_gsm_map_ss_USSD_DataCodingScheme(gboolean implicit_tag _U_, tvbuff_t *tv
 
 int
 dissect_gsm_map_ss_USSD_String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 347 "gsmmap.cnf"
+#line 374 "gsmmap.cnf"
 
   tvbuff_t     *parameter_tvb;
   int                  length;
@@ -5214,7 +5216,7 @@ dissect_gsm_map_sm_SM_RP_DA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
 
 static int
 dissect_gsm_map_sm_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 250 "gsmmap.cnf"
+#line 277 "gsmmap.cnf"
 actx->pinfo->p2p_dir = P2P_DIR_RECV;
    offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
 
@@ -5228,7 +5230,7 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV;
 
 static int
 dissect_gsm_map_sm_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 242 "gsmmap.cnf"
+#line 269 "gsmmap.cnf"
        actx->pinfo->p2p_dir = P2P_DIR_SENT;
   offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
 
@@ -5274,7 +5276,7 @@ static const ber_sequence_t MO_ForwardSM_Arg_sequence[] = {
 
 static int
 dissect_gsm_map_sm_MO_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 269 "gsmmap.cnf"
+#line 296 "gsmmap.cnf"
 
        /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@@ -5317,7 +5319,7 @@ static const ber_sequence_t MT_ForwardSM_Arg_sequence[] = {
 
 static int
 dissect_gsm_map_sm_MT_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 278 "gsmmap.cnf"
+#line 305 "gsmmap.cnf"
 
        /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@@ -6143,7 +6145,7 @@ dissect_gsm_map_ms_VLR_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
 
 int
 dissect_gsm_map_ms_GSN_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 429 "gsmmap.cnf"
+#line 456 "gsmmap.cnf"
 
        tvbuff_t        *parameter_tvb;
        guint8          octet;
@@ -6780,7 +6782,7 @@ dissect_gsm_map_ms_UpdateGprsLocationRes(gboolean implicit_tag _U_, tvbuff_t *tv
 
 static int
 dissect_gsm_map_ms_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 509 "gsmmap.cnf"
+#line 536 "gsmmap.cnf"
     tvbuff_t        *parameter_tvb;
        asn1_ctx_t              asn1_ctx;
 
@@ -6803,7 +6805,7 @@ dissect_gsm_map_ms_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvb
 
 static int
 dissect_gsm_map_ms_EncryptionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 521 "gsmmap.cnf"
+#line 548 "gsmmap.cnf"
     tvbuff_t        *parameter_tvb;
        asn1_ctx_t              asn1_ctx;
 
@@ -6888,7 +6890,7 @@ dissect_gsm_map_ms_AllowedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *t
 
 static int
 dissect_gsm_map_ms_RadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 483 "gsmmap.cnf"
+#line 510 "gsmmap.cnf"
     tvbuff_t        *parameter_tvb; 
        proto_item *item;
        proto_tree *subtree;
@@ -6961,7 +6963,7 @@ dissect_gsm_map_ms_BSSMAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *t
 
 static int
 dissect_gsm_map_ms_RANAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 497 "gsmmap.cnf"
+#line 524 "gsmmap.cnf"
     tvbuff_t        *parameter_tvb;
        asn1_ctx_t              asn1_ctx;
 
@@ -7695,7 +7697,7 @@ static int
 dissect_gsm_map_ms_T_forwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_gsm_map_ms_Ext_ForwOptions(implicit_tag, tvb, offset, actx, tree, hf_index);
 
-#line 378 "gsmmap.cnf"
+#line 405 "gsmmap.cnf"
 
        proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE);
        proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE);
@@ -8890,7 +8892,7 @@ dissect_gsm_map_ms_ContextId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
 
 static int
 dissect_gsm_map_ms_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 386 "gsmmap.cnf"
+#line 413 "gsmmap.cnf"
        guint8 pdp_type_org;
        tvbuff_t        *parameter_tvb;
 
@@ -8933,7 +8935,7 @@ dissect_gsm_map_ms_PDP_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
 
 int
 dissect_gsm_map_ms_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 408 "gsmmap.cnf"
+#line 435 "gsmmap.cnf"
 
 
        tvbuff_t        *parameter_tvb;
@@ -8965,7 +8967,7 @@ dissect_gsm_map_ms_APN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
 
 int
 dissect_gsm_map_ms_Ext_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 419 "gsmmap.cnf"
+#line 446 "gsmmap.cnf"
 
        tvbuff_t        *parameter_tvb;
 
@@ -10120,7 +10122,7 @@ dissect_gsm_map_ms_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
 
 int
 dissect_gsm_map_ms_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 455 "gsmmap.cnf"
+#line 482 "gsmmap.cnf"
 
        tvbuff_t        *parameter_tvb;
        proto_item *item;
@@ -10320,7 +10322,7 @@ static const ber_sequence_t GPRSMSClass_sequence[] = {
   { NULL, 0, 0, 0, NULL }
 };
 
-static int
+int
 dissect_gsm_map_ms_GPRSMSClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    GPRSMSClass_sequence, hf_index, ett_gsm_map_ms_GPRSMSClass);
@@ -11012,7 +11014,7 @@ dissect_gsm_map_ch_OR_Phase(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
 
 
 
-static int
+int
 dissect_gsm_map_ch_CallReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        NULL);
@@ -11056,7 +11058,7 @@ dissect_gsm_map_ch_CamelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
 
 
 
-static int
+int
 dissect_gsm_map_ch_SuppressionOfAnnouncement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
 
@@ -13307,7 +13309,7 @@ static const value_string gsm_old_GSMMAPOperationLocalvalue_vals[] = {
 
 static int
 dissect_gsm_old_GSMMAPOperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 128 "gsmmap.cnf"
+#line 155 "gsmmap.cnf"
 
   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
                                   &opcode);
@@ -13365,7 +13367,7 @@ dissect_gsm_old_MAP_OPERATION(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
 
 static int
 dissect_gsm_old_InvokeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 115 "gsmmap.cnf"
+#line 142 "gsmmap.cnf"
        offset = dissect_invokeData(tree, tvb, offset, actx);
 
 
@@ -13394,7 +13396,7 @@ dissect_gsm_old_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
 
 static int
 dissect_gsm_old_ReturnResultParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 118 "gsmmap.cnf"
+#line 145 "gsmmap.cnf"
        offset = dissect_returnResultData(tree, tvb, offset, actx);
 
 
@@ -13537,7 +13539,7 @@ dissect_gsm_old_MAP_ERROR(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
 
 static int
 dissect_gsm_old_ReturnErrorParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 121 "gsmmap.cnf"
+#line 148 "gsmmap.cnf"
        offset = dissect_returnErrorData(tree, tvb, offset, actx);
 
 
@@ -14276,7 +14278,7 @@ dissect_gsm_old_SM_RP_DAold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
 
 static int
 dissect_gsm_old_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 246 "gsmmap.cnf"
+#line 273 "gsmmap.cnf"
 actx->pinfo->p2p_dir = P2P_DIR_RECV;
    offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
 
@@ -14290,7 +14292,7 @@ actx->pinfo->p2p_dir = P2P_DIR_RECV;
 
 static int
 dissect_gsm_old_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 238 "gsmmap.cnf"
+#line 265 "gsmmap.cnf"
        actx->pinfo->p2p_dir = P2P_DIR_SENT;
   offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
 
@@ -14335,7 +14337,7 @@ static const ber_sequence_t ForwardSM_Arg_sequence[] = {
 
 static int
 dissect_gsm_old_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 260 "gsmmap.cnf"
+#line 287 "gsmmap.cnf"
 
        /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@@ -15081,7 +15083,7 @@ dissect_gsm_ss_LCS_PeriodicLocationCancellationArg(gboolean implicit_tag _U_, tv
 
 
 /*--- End of included file: packet-gsm_map-fn.c ---*/
-#line 565 "packet-gsm_map-template.c"
+#line 567 "packet-gsm_map-template.c"
 
 /* Specific translation for MAP V3 */
 const value_string gsm_map_V1V2_opr_code_strings[] = {
@@ -21576,7 +21578,7 @@ void proto_register_gsm_map(void) {
         "gsm_map_lcs.LCS_QoS", HFILL }},
 
 /*--- End of included file: packet-gsm_map-hfarr.c ---*/
-#line 2389 "packet-gsm_map-template.c"
+#line 2391 "packet-gsm_map-template.c"
   };
 
   /* List of subtrees */
@@ -21597,6 +21599,8 @@ void proto_register_gsm_map(void) {
        &ett_gsm_map_geo_desc,
        &ett_gsm_map_LongSignalInfo,
        &ett_gsm_map_RadioResourceInformation,
+       &ett_gsm_map_MSNetworkCapability,
+       &ett_gsm_map_MSRadioAccessCapability,
 
 
 /*--- Included file: packet-gsm_map-ettarr.c ---*/
@@ -22153,7 +22157,7 @@ void proto_register_gsm_map(void) {
 
 
 /*--- End of included file: packet-gsm_map-ettarr.c ---*/
-#line 2411 "packet-gsm_map-template.c"
+#line 2415 "packet-gsm_map-template.c"
   };
 
   /* Register protocol */
@@ -22225,7 +22229,7 @@ void proto_register_gsm_map(void) {
 
 
 /*--- End of included file: packet-gsm_map-dis-tab.c ---*/
-#line 2429 "packet-gsm_map-template.c"
+#line 2433 "packet-gsm_map-template.c"
   add_oid_str_name("1.2.826.0.1249.58.1.0","iso(1) member-body(2) bsi(826) disc(0) ericsson(1249) gsmNetworkApplicationsDefinition(58) gsm-Map(1) gsm-Map-Ext(0)" );
   add_oid_str_name("1.3.12.2.1107.3.66.1.2","accessTypeNotAllowed-id" );
   /*add_oid_str_name("0.4.0.0.1.0.1.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version3(3)" );
index 13d87a56ee852541cc566235cc83d4f4d016a89e..ae782fcfcc7b6e9e52f6d10a0bdef094d7fe68c9 100644 (file)
@@ -115,6 +115,7 @@ int dissect_gsm_map_ms_NotificationToMSUser(gboolean implicit_tag _U_, tvbuff_t
 int dissect_gsm_map_ms_SupportedCamelPhases(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
 int dissect_gsm_map_ms_OfferedCamel4Functionalities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
 int dissect_gsm_map_ms_MS_Classmark2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_gsm_map_ms_GPRSMSClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
 int dissect_gsm_map_ms_LocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
 int dissect_gsm_map_ms_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
 int dissect_gsm_map_ms_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
@@ -123,6 +124,8 @@ int dissect_gsm_map_ms_GPRSChargingID(gboolean implicit_tag _U_, tvbuff_t *tvb _
 
 /* --- Module MAP-CH-DataTypes --- --- ---                                    */
 
+int dissect_gsm_map_ch_SuppressionOfAnnouncement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_gsm_map_ch_CallReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
 int dissect_gsm_map_ch_UU_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
 
 /* --- Module MAP-LCS-DataTypes --- --- ---                                   */
index d3252604a702ae590b7dedfc31f193a422a2d980..43bc2ed3866eca547fd0f71b0d84a102fe9da423 100644 (file)
@@ -1,6 +1,6 @@
 /* Do not modify this file.                                                   */
 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
-/* ./packet-inap.c                                                            */
+/* .\packet-inap.c                                                            */
 /* ../../tools/asn2wrs.py -b -X -e -p inap -c inap.cnf -s packet-inap-template ../ros/Remote-Operations-Information-Objects.asn IN-common-classes.asn IN-SSF-SCF-Classes.asn IN-SCF-SRF-Classes.asn inap.asn IN-object-identifiers.asn IN-common-datatypes.asn IN-SSF-SCF-datatypes.asn IN-SSF-SCF-ops-args.asn IN-SCF-SRF-datatypes.asn IN-SCF-SRF-ops-args.asn */
 
 /* Input file: packet-inap-template.c */
@@ -1031,7 +1031,7 @@ dissect_inap_InvokeIdType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
 
 static int
 dissect_inap_INAPOperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 102 "inap.cnf"
+#line 113 "inap.cnf"
   offset = dissect_ber_integer(FALSE, actx, tree, tvb, offset, hf_index, &opcode);
 
   if (check_col(actx->pinfo->cinfo, COL_INFO)){
@@ -1078,7 +1078,7 @@ dissect_inap_INAP_OPERATION(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
 
 static int
 dissect_inap_InvokeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 86 "inap.cnf"
+#line 97 "inap.cnf"
        offset = dissect_invokeData(tree, tvb, offset, actx);
 
 
@@ -1107,7 +1107,7 @@ dissect_inap_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_
 
 static int
 dissect_inap_ReturnResultParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 89 "inap.cnf"
+#line 100 "inap.cnf"
        offset = dissect_returnResultData(tree, tvb, offset, actx);
 
 
@@ -1149,7 +1149,7 @@ dissect_inap_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
 
 static int
 dissect_inap_INAPLocalErrorcode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 95 "inap.cnf"
+#line 106 "inap.cnf"
   offset = dissect_ber_integer(FALSE, actx, tree, tvb, offset, hf_index, &errorCode);
 
   if (check_col(actx->pinfo->cinfo, COL_INFO)){
@@ -1196,7 +1196,7 @@ dissect_inap_INAP_ERROR(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
 
 static int
 dissect_inap_ReturnErrorParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 92 "inap.cnf"
+#line 103 "inap.cnf"
        offset = dissect_returnErrorData(tree, tvb, offset, actx);
 
 
@@ -1500,14 +1500,14 @@ dissect_inap_ExtensionType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
 }
 
 
-static const value_string inap_CriticalityType_vals[] = {
+const value_string inap_CriticalityType_vals[] = {
   {   0, "ignore" },
   {   1, "abort" },
   { 0, NULL }
 };
 
 
-static int
+int
 dissect_inap_CriticalityType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
                                   NULL);
@@ -1519,7 +1519,7 @@ dissect_inap_CriticalityType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
 
 static int
 dissect_inap_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 82 "inap.cnf"
+#line 93 "inap.cnf"
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        NULL);
 
@@ -1559,7 +1559,7 @@ dissect_inap_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
 
 
 
-static int
+int
 dissect_inap_Integer4(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
                                   NULL);
@@ -1871,7 +1871,7 @@ dissect_inap_BackwardServiceInteractionInd(gboolean implicit_tag _U_, tvbuff_t *
 
 
 
-static int
+int
 dissect_inap_ServiceKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_inap_Integer4(implicit_tag, tvb, offset, actx, tree, hf_index);
 
@@ -2027,7 +2027,7 @@ dissect_inap_LegType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U
 }
 
 
-static const value_string inap_LegID_vals[] = {
+const value_string inap_LegID_vals[] = {
   {   0, "sendingSideID" },
   {   1, "receivingSideID" },
   { 0, NULL }
@@ -2039,7 +2039,7 @@ static const ber_choice_t LegID_choice[] = {
   { 0, NULL, 0, 0, 0, NULL }
 };
 
-static int
+int
 dissect_inap_LegID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  LegID_choice, hf_index, ett_inap_LegID,
@@ -2295,14 +2295,14 @@ dissect_inap_BISDNParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
 }
 
 
-static const value_string inap_BothwayThroughConnectionInd_vals[] = {
+const value_string inap_BothwayThroughConnectionInd_vals[] = {
   {   0, "bothwayPathRequired" },
   {   1, "bothwayPathNotRequired" },
   { 0, NULL }
 };
 
 
-static int
+int
 dissect_inap_BothwayThroughConnectionInd(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
                                   NULL);
@@ -2334,7 +2334,7 @@ dissect_inap_CalledPartyBusinessGroupID(gboolean implicit_tag _U_, tvbuff_t *tvb
 
 static int
 dissect_inap_CalledPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 112 "inap.cnf"
+#line 120 "inap.cnf"
   tvbuff_t *parameter_tvb;
 
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
@@ -2385,7 +2385,7 @@ dissect_inap_CallingPartyBusinessGroupID(gboolean implicit_tag _U_, tvbuff_t *tv
 
 static int
 dissect_inap_CallingPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 126 "inap.cnf"
+#line 130 "inap.cnf"
   tvbuff_t *parameter_tvb;
 
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
@@ -2415,7 +2415,7 @@ dissect_inap_CallingPartySubaddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
 
 
 
-static int
+int
 dissect_inap_CallingPartysCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        NULL);
@@ -3224,7 +3224,7 @@ static const ber_sequence_t MiscCallInfo_sequence[] = {
   { NULL, 0, 0, 0, NULL }
 };
 
-static int
+int
 dissect_inap_MiscCallInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    MiscCallInfo_sequence, hf_index, ett_inap_MiscCallInfo);
@@ -3593,7 +3593,7 @@ dissect_inap_DpSpecificCommonParameters(gboolean implicit_tag _U_, tvbuff_t *tvb
 
 
 
-static int
+int
 dissect_inap_Duration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
                                   NULL);
@@ -4424,7 +4424,7 @@ dissect_inap_GapCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
 
 
 
-static int
+int
 dissect_inap_Interval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
                                   NULL);
@@ -4502,7 +4502,7 @@ dissect_inap_GlobalCallReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
 
 
 
-static int
+int
 dissect_inap_HighLayerCompatibility(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        NULL);
@@ -4663,7 +4663,7 @@ dissect_inap_NumberingPlan(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
 
 static int
 dissect_inap_OriginalCalledPartyID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 171 "inap.cnf"
+#line 163 "inap.cnf"
 
  tvbuff_t      *parameter_tvb;
 
@@ -4726,7 +4726,7 @@ dissect_inap_Reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_
 
 static int
 dissect_inap_RedirectingPartyID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 185 "inap.cnf"
+#line 173 "inap.cnf"
 
  tvbuff_t      *parameter_tvb;
 
@@ -4746,9 +4746,9 @@ dissect_inap_RedirectingPartyID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
 
 
 
-static int
+int
 dissect_inap_RedirectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 156 "inap.cnf"
+#line 152 "inap.cnf"
 
  tvbuff_t      *parameter_tvb;
 
@@ -5112,7 +5112,7 @@ dissect_inap_T_triggerId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
 
 static int
 dissect_inap_T_triggerPar(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 67 "inap.cnf"
+#line 78 "inap.cnf"
 /* FIX ME */
 
 
@@ -7690,7 +7690,7 @@ dissect_inap_MessageReceivedArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
 
 static int
 dissect_inap_T_uIScriptSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 73 "inap.cnf"
+#line 84 "inap.cnf"
 /* FIX ME */
 
 
@@ -7719,7 +7719,7 @@ dissect_inap_ScriptCloseArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
 
 static int
 dissect_inap_T_uIScriptResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 70 "inap.cnf"
+#line 81 "inap.cnf"
 /* FIX ME */
 
 
@@ -7749,7 +7749,7 @@ dissect_inap_ScriptEventArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
 
 static int
 dissect_inap_T_uIScriptSpecificInfo_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 76 "inap.cnf"
+#line 87 "inap.cnf"
 /* FIX ME */
 
 
@@ -7777,7 +7777,7 @@ dissect_inap_ScriptInformationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
 
 static int
 dissect_inap_T_uIScriptSpecificInfo_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 78 "inap.cnf"
+#line 89 "inap.cnf"
 /* FIX ME */
 
 
index d18c60dd012b7b7baf92efa07085852efacf119c..80599f39c44213a4e165be3d087dbe05a013c077 100644 (file)
 #ifndef PACKET_INAP_H
 #define PACKET_INAP_H
 
-/* #include "packet-inap-exp.h"*/
+
+/*--- Included file: packet-inap-exp.h ---*/
+#line 1 "packet-inap-exp.h"
+extern const value_string inap_CriticalityType_vals[];
+extern const value_string inap_BothwayThroughConnectionInd_vals[];
+extern const value_string inap_LegID_vals[];
+int dissect_inap_CriticalityType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_inap_Integer4(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_inap_BothwayThroughConnectionInd(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_inap_CallingPartysCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_inap_Duration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_inap_HighLayerCompatibility(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_inap_Interval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_inap_LegID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_inap_MiscCallInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_inap_RedirectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_inap_ServiceKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
+/*--- End of included file: packet-inap-exp.h ---*/
+#line 31 "packet-inap-template.h"
 
 #endif  /* PACKET_INAP_H */