aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/camel
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2007-07-04 13:27:44 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2007-07-04 13:27:44 +0000
commitd050f8daaaa5dba2e7186d3f28fb1f635225ea0d (patch)
treed5deb4491a109d1fd1c500e91798cefa8b281e1f /asn1/camel
parent8937a5a3f439ad1bda833baae69861622e40286f (diff)
Preparations for updated CAMEL dissector.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@22239 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'asn1/camel')
-rw-r--r--asn1/camel/CAP-GPRS-ReferenceNumber.asn35
-rw-r--r--asn1/camel/CAP-SMS-ops-args.asn267
-rw-r--r--asn1/camel/CAP-U-ABORT-Data.asn48
-rw-r--r--asn1/camel/CAP-classes.asn307
-rw-r--r--asn1/camel/CAP-datatypes.asn1518
-rw-r--r--asn1/camel/CAP-errorcodes.asn37
-rw-r--r--asn1/camel/CAP-errortypes.asn157
-rw-r--r--asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn405
-rw-r--r--asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn149
-rw-r--r--asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn877
-rw-r--r--asn1/camel/CAP-object-identifiers.asn243
-rw-r--r--asn1/camel/CAP-operationcodes.asn120
12 files changed, 4163 insertions, 0 deletions
diff --git a/asn1/camel/CAP-GPRS-ReferenceNumber.asn b/asn1/camel/CAP-GPRS-ReferenceNumber.asn
new file mode 100644
index 0000000000..746c4b4642
--- /dev/null
+++ b/asn1/camel/CAP-GPRS-ReferenceNumber.asn
@@ -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
index 0000000000..aa1cf411dd
--- /dev/null
+++ b/asn1/camel/CAP-SMS-ops-args.asn
@@ -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
index 0000000000..308c9c5c78
--- /dev/null
+++ b/asn1/camel/CAP-U-ABORT-Data.asn
@@ -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
index 0000000000..dc1a87b6f4
--- /dev/null
+++ b/asn1/camel/CAP-classes.asn
@@ -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
index 0000000000..717c228f44
--- /dev/null
+++ b/asn1/camel/CAP-datatypes.asn
@@ -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
index 0000000000..0cc296c5c9
--- /dev/null
+++ b/asn1/camel/CAP-errorcodes.asn
@@ -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
index 0000000000..5fc9e1c6de
--- /dev/null
+++ b/asn1/camel/CAP-errortypes.asn
@@ -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
index 0000000000..a6cbfd84f8
--- /dev/null
+++ b/asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn
@@ -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
index 0000000000..2ee4b37525
--- /dev/null
+++ b/asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn
@@ -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
index 0000000000..f5042456b6
--- /dev/null
+++ b/asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn
@@ -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
index 0000000000..6032cba9ce
--- /dev/null
+++ b/asn1/camel/CAP-object-identifiers.asn
@@ -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
index 0000000000..03a3eab7b8
--- /dev/null
+++ b/asn1/camel/CAP-operationcodes.asn
@@ -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