R3C
diff --git a/DSS1_ETSI_CNL113435.tpd b/DSS1_ETSI_CNL113435.tpd
new file mode 100644
index 0000000..a2d68c1
--- /dev/null
+++ b/DSS1_ETSI_CNL113435.tpd
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TITAN_Project_File_Information version="1.0">
+ <ProjectName>DSS1_ETSI_CNL113435</ProjectName>
+ <ReferencedProjects>
+ <ReferencedProject name="ProtocolModules_Common" projectLocationURI="../COMMON/ProtocolModules_Common.tpd"/>
+ <ReferencedProject name="ROSE_CNL113369" projectLocationURI="../ROSE_CNL113369/ROSE_CNL113369.tpd"/>
+ </ReferencedProjects>
+ <Folders>
+ <FolderResource projectRelativePath="src" relativeURI="src"/>
+ </Folders>
+ <Files>
+ <FileResource projectRelativePath="src/DSS1_ETSI_ProtocolModule.grp" relativeURI="src/DSS1_ETSI_ProtocolModule.grp"/>
+ <FileResource projectRelativePath="src/DSS1_EncDec.cc" relativeURI="src/DSS1_EncDec.cc"/>
+ <FileResource projectRelativePath="src/DSS1_Types.ttcn" relativeURI="src/DSS1_Types.ttcn"/>
+ <FileResource projectRelativePath="src/Facility_EncDec.cc" relativeURI="src/Facility_EncDec.cc"/>
+ <FileResource projectRelativePath="src/Facility_IE_Defs.asn" relativeURI="src/Facility_IE_Defs.asn"/>
+ <FileResource projectRelativePath="src/Facility_Operations.asn" relativeURI="src/Facility_Operations.asn"/>
+ <FileResource projectRelativePath="src/Facility_Types.ttcn" relativeURI="src/Facility_Types.ttcn"/>
+ <FileResource projectRelativePath="src/Revised_Addressing_Data_Elements.asn" relativeURI="src/Revised_Addressing_Data_Elements.asn"/>
+ <FileResource projectRelativePath="src/Revised_Advice_of_Charge_Interaction_Operations.asn" relativeURI="src/Revised_Advice_of_Charge_Interaction_Operations.asn"/>
+ <FileResource projectRelativePath="src/Revised_Advice_of_Charge_Operations.asn" relativeURI="src/Revised_Advice_of_Charge_Operations.asn"/>
+ <FileResource projectRelativePath="src/Revised_Basic_Service_Elements.asn" relativeURI="src/Revised_Basic_Service_Elements.asn"/>
+ <FileResource projectRelativePath="src/Revised_CCBS_Operation_and_Errors.asn" relativeURI="src/Revised_CCBS_Operation_and_Errors.asn"/>
+ <FileResource projectRelativePath="src/Revised_CCBS_private_networks_Operations_and_Errors.asn" relativeURI="src/Revised_CCBS_private_networks_Operations_and_Errors.asn"/>
+ <FileResource projectRelativePath="src/Revised_Closed_User_Group_Service_Operations.asn" relativeURI="src/Revised_Closed_User_Group_Service_Operations.asn"/>
+ <FileResource projectRelativePath="src/Revised_Conference_Add_On_Operations.asn" relativeURI="src/Revised_Conference_Add_On_Operations.asn"/>
+ <FileResource projectRelativePath="src/Revised_Diversion_Operations.asn" relativeURI="src/Revised_Diversion_Operations.asn"/>
+ <FileResource projectRelativePath="src/Revised_Embedded_Q931_Types.asn" relativeURI="src/Revised_Embedded_Q931_Types.asn"/>
+ <FileResource projectRelativePath="src/Revised_Explicit_Call_Transfer_Operations_and_Errors.asn" relativeURI="src/Revised_Explicit_Call_Transfer_Operations_and_Errors.asn"/>
+ <FileResource projectRelativePath="src/Revised_Explicit_Network_Controlled_Channel_Reservation.asn" relativeURI="src/Revised_Explicit_Network_Controlled_Channel_Reservation.asn"/>
+ <FileResource projectRelativePath="src/Revised_Facility_Information_Element_Components.asn" relativeURI="src/Revised_Facility_Information_Element_Components.asn"/>
+ <FileResource projectRelativePath="src/Revised_Freephone_Operations.asn" relativeURI="src/Revised_Freephone_Operations.asn"/>
+ <FileResource projectRelativePath="src/Revised_General_Errors.asn" relativeURI="src/Revised_General_Errors.asn"/>
+ <FileResource projectRelativePath="src/Revised_MCID_Operations.asn" relativeURI="src/Revised_MCID_Operations.asn"/>
+ <FileResource projectRelativePath="src/Revised_MWI_Operations_and_Errors.asn" relativeURI="src/Revised_MWI_Operations_and_Errors.asn"/>
+ <FileResource projectRelativePath="src/Revised_Notification_Indicator_IE_Data_Structure.asn" relativeURI="src/Revised_Notification_Indicator_IE_Data_Structure.asn"/>
+ <FileResource projectRelativePath="src/Revised_Outgoing_Call_Barring_Operations_and_Errors.asn" relativeURI="src/Revised_Outgoing_Call_Barring_Operations_and_Errors.asn"/>
+ <FileResource projectRelativePath="src/Revised_Set_Operations_and_Errors.asn" relativeURI="src/Revised_Set_Operations_and_Errors.asn"/>
+ <FileResource projectRelativePath="src/Revised_Status_Request_Procedure.asn" relativeURI="src/Revised_Status_Request_Procedure.asn"/>
+ <FileResource projectRelativePath="src/Revised_Three_Party_Operations.asn" relativeURI="src/Revised_Three_Party_Operations.asn"/>
+ <FileResource projectRelativePath="src/Revised_UUS_Operations.asn" relativeURI="src/Revised_UUS_Operations.asn"/>
+ </Files>
+ <ActiveConfiguration>Default</ActiveConfiguration>
+ <Configurations>
+ <Configuration name="Default">
+ <ProjectProperties>
+ <MakefileSettings>
+ <generateInternalMakefile>true</generateInternalMakefile>
+ <GNUMake>true</GNUMake>
+ <incrementalDependencyRefresh>true</incrementalDependencyRefresh>
+ <targetExecutable>bin/DSS1_ETSI_CNL113435</targetExecutable>
+ <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+ </MakefileSettings>
+ <LocalBuildSettings>
+ <workingDirectory>bin</workingDirectory>
+ </LocalBuildSettings>
+ </ProjectProperties>
+ </Configuration>
+ </Configurations>
+</TITAN_Project_File_Information>
\ No newline at end of file
diff --git a/src/DSS1_ETSI_ProtocolModule.grp b/src/DSS1_ETSI_ProtocolModule.grp
new file mode 100644
index 0000000..aeb1a2f
--- /dev/null
+++ b/src/DSS1_ETSI_ProtocolModule.grp
@@ -0,0 +1,50 @@
+<!--
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: DSS1_ETSI_ProtocolModule.grp
+// Description: MAP v1 Protocol Module group file
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012-05-14
+// Contact: http://ttcn.ericsson.se
+//
+-->
+
+<!DOCTYPE TITAN_GUI_FileGroup_file>
+<File_Group name="DSS1_ETSI_ProtocolModule" >
+ <File path="DSS1_Types.ttcn" />
+ <File path="Facility_IE_Defs.asn" />
+ <File path="Facility_Operations.asn" />
+ <File path="Facility_Types.ttcn" />
+ <File path="Revised_Addressing_Data_Elements.asn" />
+ <File path="Revised_Advice_of_Charge_Interaction_Operations.asn" />
+ <File path="Revised_Advice_of_Charge_Operations.asn" />
+ <File path="Revised_Basic_Service_Elements.asn" />
+ <File path="Revised_CCBS_Operation_and_Errors.asn" />
+ <File path="Revised_CCBS_private_networks_Operations_and_Errors.asn" />
+ <File path="Revised_Closed_User_Group_Service_Operations.asn" />
+ <File path="Revised_Conference_Add_On_Operations.asn" />
+ <File path="Revised_Diversion_Operations.asn" />
+ <File path="Revised_Embedded_Q931_Types.asn" />
+ <File path="Revised_Explicit_Call_Transfer_Operations_and_Errors.asn" />
+ <File path="Revised_Explicit_Network_Controlled_Channel_Reservation.asn" />
+ <File path="Revised_Facility_Information_Element_Components.asn" />
+ <File path="Revised_Freephone_Operations.asn" />
+ <File path="Revised_General_Errors.asn" />
+ <File path="Revised_MCID_Operations.asn" />
+ <File path="Revised_MWI_Operations_and_Errors.asn" />
+ <File path="Revised_Notification_Indicator_IE_Data_Structure.asn" />
+ <File path="Revised_Outgoing_Call_Barring_Operations_and_Errors.asn" />
+ <File path="Revised_Set_Operations_and_Errors.asn" />
+ <File path="Revised_Status_Request_Procedure.asn" />
+ <File path="Revised_Three_Party_Operations.asn" />
+ <File path="Revised_UUS_Operations.asn" />
+</File_Group>
diff --git a/src/DSS1_EncDec.cc b/src/DSS1_EncDec.cc
new file mode 100644
index 0000000..14d827d
--- /dev/null
+++ b/src/DSS1_EncDec.cc
@@ -0,0 +1,20 @@
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: DSS1_EncDec.cc
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2007-07-17
+// Contact: http://ttcn.ericsson.se
+///////////////////////////////////////////////////////////////////////////////
+
+// Please note: Because the encoder/decoder functions are generated by the
+// TITAN, the DSS1_EncDec.cc is kept only for compatibility issue and
+// should be removed from the projects.
diff --git a/src/DSS1_Types.ttcn b/src/DSS1_Types.ttcn
new file mode 100644
index 0000000..daa030d
--- /dev/null
+++ b/src/DSS1_Types.ttcn
@@ -0,0 +1,1915 @@
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: DSS1_Types.ttcn
+// Description: Layer 3 protocol for ISDN
+//
+// References: 13/155 17-CRT 288 01 Uen Rev. C
+// DSS1 LAYER 3 PROTOCOL SPECIFICATION, MESSAGES AND
+// INFORMATION ELEMENTS FOR BOTH BASIC CALL AND SUPPLEMENTARY
+// SERVICE CONTROL, ISDN-E
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012-06-27
+// Contact: http://ttcn.ericsson.se
+//
+
+module DSS1_Types
+{
+
+//=========================================================================
+// Import Part
+//=========================================================================
+import from General_Types all;
+
+//=========================================================================
+// External functions
+//=========================================================================
+external function enc_PDU_DSS1(in PDU_DSS1 pdu) return octetstring
+ with { extension "prototype(convert) encode(RAW)" };
+
+external function dec_PDU_DSS1(in octetstring stream) return PDU_DSS1
+ with { extension "prototype(convert) decode(RAW)" };
+
+external function enc_PDU_DSS1_fast(in PDU_DSS1 pdu, out octetstring stream)
+ with { extension "prototype(fast) encode(RAW)" };
+
+external function dec_PDU_DSS1_backtrack(in octetstring stream,out PDU_DSS1 pdu) return integer
+ with { extension "prototype(backtrack) decode(RAW)" };
+
+type charstring DSS1_NumberDigits ("0".."9");
+
+//=========================================================================
+// Module Parameters
+//=========================================================================
+
+// Insert module parameters here if applicable!
+// You can use the module_param skeleton!
+
+//=========================================================================
+// Data Types
+//=========================================================================
+//****************************************************************************
+// -- Data type elements used generally
+//****************************************************************************
+type record DSS1_NumberTypeETC {
+ BIT4 numberingPlanIdentification,
+ // '0000'B Unknown
+ // '0001'B ISDN/telephony numbering plan (E.164)
+ // '0011'B Data numbering plan (X.121)
+ // '1000'B National standard numbering plan
+ // '1001'B Private numbering plan
+ BIT3 typeOfNumber,
+ // '000'B unknown
+ // '001'B international number
+ // '010'B national number
+ // '011'B network-specific number
+ // '100'B subscriber number
+ BIT1 ext1,
+ BIT2 screeningIndicator optional,
+ // '00'B User_provided, not screened
+ // '01'B User_provided, verified and passed
+ // '10'B User_provided, verified and failed
+ // '11'B Network provided
+ BIT3 spare1_3 optional,
+ // '000'B
+ BIT2 presentationIndicator optional,
+ // '00'B Presentation allowed
+ // '01'B Presentation restricted
+ // '10'B Number not available due to interworking
+ // '11'B Reserved
+ BIT1 ext2 optional
+} with { variant "EXTENSION_BIT (yes)"};
+
+type record DSS1_NumberType {
+ BIT4 numberingPlanIdentification,
+ // '0000'B Unknown
+ // '0001'B ISDN/telephony numbering plan (E.164)
+ // '0011'B Data numbering plan (X.121)
+ // '1000'B National standard numbering plan
+ // '1001'B Private numbering plan
+ BIT3 typeOfNumber,
+ // '000'B unknown
+ // '001'B international number
+ // '010'B national number
+ // '011'B network-specific number
+ // '100'B subscriber number
+ BIT1 ext1
+} with { variant "EXTENSION_BIT (yes)"};
+
+//****************************************************************************
+// 5.3. Call reference
+//****************************************************************************
+type union DSS1_CallReference {
+ DSS1_DummyCR dummy_CR,
+ DSS1_OneOctetCR oneOctetCR,
+ DSS1_TwoOctetCR twoOctetCR
+} with { variant "TAG(dummy_CR, callReferenceLength = '0000'B;
+ oneOctetCR, callReferenceLength = '0001'B;
+ twoOctetCR, callReferenceLength = '0010'B)"};
+
+type record DSS1_DummyCR {
+ BIT4 callReferenceLength, // '0000'B
+ BIT4 spare // '0000'B
+} with { variant ""};
+
+type record DSS1_OneOctetCR {
+ BIT4 callReferenceLength, // '0001'B
+ BIT4 spare, // '0000'B
+ BIT7 callReferenceValue,
+ BIT1 callReferenceFlag // '0'B: sent from originating side
+} with { variant ""};
+
+type record DSS1_TwoOctetCR {
+ BIT4 callReferenceLength, // '0010'B
+ BIT4 spare, // '0000'B
+ BIT7 callReferenceValue_upper,
+ BIT1 callReference_flag, // '0'B: sent from originating side
+ BIT8 callReferenceValue_lower
+} with { variant ""};
+
+//****************************************************************************
+// 5.5.3; 5.5.4 Shift
+//****************************************************************************
+type record DSS1_Shift {
+ BIT3 newCodesetIdentification,
+ BIT1 lockingIndication,
+ // '0'B locking shift
+ // '1'B non-locking shift
+ BIT4 elementIdentifier ('1001'B)
+} with { variant "PRESENCE (elementIdentifier = '1001'B)"};
+
+//****************************************************************************
+// 5.5.5 Bearer Capacity
+//****************************************************************************
+type record DSS1_BC_octet7 {
+ BIT5 userInformationLayer3Protocol,
+ // '00010'B Rec. Q.931 (I.451)
+ // '00110'B Rec. X.25 packet layer
+ // '00110'B rec. X.25, level link
+ BIT2 layerId ('11'B),
+ BIT1 extension7 ('1'B)
+} with { variant "EXTENSION_BIT (yes)"};
+
+type record DSS1_BC_octet6 {
+ BIT5 userInformationLayer2Protocol,
+ // '00010'B Rec. Q.921 (I.441)
+ // '00110'B CCITT Rec. X.25 link level
+ BIT2 layerId ('10'B),
+ BIT1 extension6 ('1'B)
+} with { variant "EXTENSION_BIT (yes)"};
+
+type record DSS1_BC_octet5 {
+ // OCTET 5:
+ BIT5 userInformationLayer1Protocol,
+ // '00001'B CCITT standardized Rate adaption V.110/X.30.
+ // '00011'B Rec. G.711 A-law
+ // '00100'B Rec. G.721 32 kbit/s ADPCM and Rec. I.460
+ // '00101'B Rec. H.221 and H.242
+ // '00110'B Rec. H.223 and H.245
+ // '00111'B Non-CCITT standardized rate adaption.
+ // '01001'B CCITT standardized rate adaption X.31 HDLC flag stuffing
+ BIT2 layerId ('01'B),
+ BIT1 extension5,
+ // '0'B (octet 5a following) or '1'B
+
+ // OCTET 5a:
+ BIT5 userRate optional,
+ // '00000'B Rate is indicated by E-bits or may be negotiated in-band
+ // '00001'B 0.6 Rec. V.6, X.1
+ // '00010'B 1.2 Rec. V.6
+ // '00011'B 2.4 Rec. V.6, X.1
+ // '00100'B 3.6 Rec. V.6
+ // '00101'B 4.8 Rec. V.6, X.1
+ // '00110'B 7.2 Rec. V.6
+ // '00111'B 8 Rec. I.460
+ // '01000'B 9.6 Rec. V.6, X.1
+ // '01001'B 14.4 Rec. V.6
+ // '01010'B 16 Rec. I.420
+ // '01011'B 19.2 Rec. V.6
+ // '01100'B 32 Rec. I.460
+ // '01101'B 38.4
+ // '01110'B 48 Rec. V.6, X.1
+ // '01111'B 56 Rec. V.6
+ // '10000'B 64 Rec. X.1
+ // '10001'B 38.4 Rec. V.14 extended
+ // '10010'B 57.6 Rec. V.14 extended
+ // '10101'B 0.1345 Rec. X.1
+ // '10110'B 0.100 Rec. X.1
+ // '10111'B 0.075/1.2 Rec. V.6, X.1 (Note 1)
+ // '11000'B 1.2/0.075 Rec. V.6, X.1 (Note 1)
+ // '11001'B 0.050 Rec. V.6, X.1
+ // '11010'B 0.075 Rec. V.6, X.1
+ // '11011'B 0.110 Rec. V.6, X.1
+ // '11100'B 0.150 Rec. V.6, X.1
+ // '11101'B 0.200 Rec. V.6, X.1
+ // '11110'B 0.300 Rec. V.6, X.1
+ // '11111'B 12 Rec. V.6
+ BIT1 negotiation optional,
+ // '0'B In-band negotiation not possible
+ // '1'B In-band negotiation possible
+ BIT1 synchronous_asynchronous optional,
+ // '0'B synchronous
+ // '1'B asynchronous
+ BIT1 extension5a optional,
+
+ // OCTET 5b:
+ BIT1 spare5b optional,
+ BIT1 flowContrlOnRX optional,
+ // '0'B not accepted
+ // '1'B accepted
+ BIT1 flowContrlOnTX optional,
+ // '0'B not required
+ // '1'B required
+ BIT1 networkIndependentClockOnRX optional,
+ // '0'B not accepted
+ // '1'B accepted
+ BIT1 networkIndependentClockOnTX optional,
+ // '0'B not required
+ // '1'B required
+ BIT2 intermediateRate optional,
+ // '00'B not used
+ // '01'B 8 kbit/s
+ // '10'B 16 kbit/s
+ // '11'B 32 kbit/s
+ BIT1 extension5b optional,
+
+ // OCTET 5c:
+ BIT3 parity optional,
+ // '000'B odd
+ // '010'B even
+ // '011'B none
+ // '100'B forced to 0
+ // '101'B forced to 1
+ BIT2 numberOfDataBits optional,
+ // '00'B Not used
+ // '01'B 5 bits
+ // '10'B 7 bits
+ // '11'B 8 bits
+ BIT2 numberOfStopBits optional,
+ // '00'B Not used
+ // '01'B 1 bit
+ // '10'B 1.5 bit
+ // '11'B 2 bits
+ BIT1 extension5c optional,
+
+ // OCTET 5d:
+ BIT6 modemType optional,
+ // '000000
+ // through National use
+ // '000101
+ // '010001 Rec. V.21
+ // '010010 Rec. V.22
+ // '010011 Rec. V.22 bis
+ // '010100 Rec. V.23
+ // '010101 Rec. V.26
+ // '010110 Rec. V.26 bis
+ // '010111 Rec. V.26 ter
+ // '011000 Rec. V.27
+ // '011001 Rec. V.27 bis
+ // '011010 Rec. V.27 ter
+ // '011011 Rec. V.29
+ // '011100 Rec. V.32
+ // '100000
+ // through National use
+ // '101111
+ // '110000
+ // through User specified
+ // '111111
+ BIT1 duplexMode optional,
+ // '0'B Half duplex
+ // '1'B Full duplex
+ BIT1 extension_octet_5d optional
+} with { variant "EXTENSION_BIT (yes)"};
+
+type record DSS1_BC_octet4 {
+ BIT5 informationTransferRate,
+ // '00000'B Used for packet-mode calls
+ // '10000'B 64 kbit/s
+ // '10001'B 2 x 64 kbit/
+ // '10011'B 384 kbit/s
+ // '10101'B 1536 kbit/s
+ // '10111'B 1920 kbit/s
+ // '11000'B multirate
+ BIT2 transferMode,
+ // '00'B circuit mode
+ // '10'B packet mode
+ BIT1 extension4,
+ BIT2 establishment optional,
+ BIT2 configuration optional,
+ BIT3 structure optional,
+ BIT1 extension4a optional,
+ BIT5 informationTransferRateDestination_Origination optional,
+ BIT2 symmetry optional,
+ BIT1 extension4b optional,
+ BIT7 rateMultiplier optional,
+ BIT1 extension4_1 optional
+} with {variant "EXTENSION_BIT_GROUP (yes,informationTransferRate,extension4b)";
+ variant (rateMultiplier) "PRESENCE(informationTransferRate ='11000'B)";
+ variant (extension4_1) "PRESENCE(informationTransferRate ='11000'B)";};
+
+type record DSS1_BC_octet3 {
+ BIT5 informationTransferCapability,
+ // '00000'B Speech
+ // '01000'B Unrestricted digital information
+ // '01001'B Restricted digital information
+ // '10000'B 3.1 kHz audio
+ // '10001'B Unrestricted digital information with tones/announcements
+ // '11000'B Video
+ BIT2 codingStandard ('00'B),
+ // '00'B CCITT Standardized coding
+ BIT1 extension3 ('1'B)
+} with { variant "EXTENSION_BIT (yes)"};
+
+
+type record DSS1_BearerCapability {
+ OCT1 elementIdentifier ('04'O),
+ LIN1 lengthIndicator, // (1..11),
+ DSS1_BC_octet3 octet3, // 1 octet
+ DSS1_BC_octet4 octet4, // 1-4 octets
+ DSS1_BC_octet5 octet5 optional, // 1-3 octets
+ DSS1_BC_octet6 octet6 optional, // 1-8 octets
+ DSS1_BC_octet7 octet7 optional // 1 octet
+} with { variant "TAG (octet5, layerId = '01'B;
+ octet6, layerId = '10'B;
+ octet7, layerId = '11'B;)"
+ variant (lengthIndicator) "LENGTHTO (octet3, octet4, octet5, octet6,
+ octet7)";
+ variant "PRESENCE (elementIdentifier = '04'O)";};
+
+//****************************************************************************
+//5.5.6 Call Identity
+//****************************************************************************
+type record DSS1_CallIdentity {
+ OCT1 elementIdentifier ('10'O),
+ LIN1 lengthIndicator, // (1..8),
+ OCTN callIdentityPattern optional
+} with { variant (lengthIndicator) "LENGTHTO (callIdentityPattern)";
+ variant "PRESENCE (elementIdentifier = '10'O)";};
+
+//****************************************************************************
+//5.5.7 Call State
+//****************************************************************************
+type record DSS1_CallState {
+ OCT1 elementIdentifier ('14'O),
+ LIN1 lengthIndicator, // (1),
+ BIT6 callStateValue,
+ BIT2 codingStandard ('00'B)
+ // '00'B CCITT Standardized coding
+} with { variant (lengthIndicator) "LENGTHTO (callStateValue,codingStandard)";
+ variant "PRESENCE (elementIdentifier = '14'O)";};
+
+//****************************************************************************
+//5.5.8 Called Number
+//****************************************************************************
+type record DSS1_CalledNumber {
+ OCT1 elementIdentifier ('70'O),
+ LIN1 lengthIndicator, // (1..21),
+ DSS1_NumberType oct3,
+ DSS1_NumberDigits digits optional
+} with { variant (lengthIndicator) "LENGTHTO (oct3,digits)";
+ variant "PRESENCE (elementIdentifier = '70'O)";};
+
+type set of DSS1_CalledNumber DSS1_CalledNumber_list with { variant ""};
+
+//****************************************************************************
+//5.5.9 Called Party Subaddress
+//****************************************************************************
+type record DSS1_CalledSubaddress {
+ OCT1 elementIdentifier ('71'O),
+ LIN1 lengthIndicator, // (1..21),
+ BIT3 spare1_3 ('000'B) optional,
+ BIT1 oddEvenIndicator optional,
+ // '0'B even number of digits address
+ // '1'B odd number of address digits
+ BIT3 typeOfSubaddress optional,
+ // '000'B... NSAP
+ // '010'B... user specified
+ BIT1 ext1 ('1'B) optional,
+ OCTN subaddressInformation optional
+} with { variant (lengthIndicator) "LENGTHTO (spare1_3, oddEvenIndicator,
+ typeOfSubaddress, ext1,
+ subaddressInformation)";
+ variant "PRESENCE (elementIdentifier = '71'O)"; };
+
+//****************************************************************************
+//5.5.10 Calling Party Number
+//****************************************************************************
+type record DSS1_CallingNumber {
+ OCT1 elementIdentifier ('6C'O),
+ LIN1 lengthIndicator, // (1..22),
+ DSS1_NumberTypeETC oct3,
+ DSS1_NumberDigits digits optional
+} with { variant (lengthIndicator) "LENGTHTO (oct3,digits)";
+ variant "PRESENCE (elementIdentifier = '6C'O)";};
+
+type set of DSS1_CallingNumber DSS1_CallingNumber_list with { variant ""};
+
+//****************************************************************************
+//5.5.11 Calling Party Subaddress
+//****************************************************************************
+type record DSS1_CallingSubaddress {
+ OCT1 elementIdentifier ('6D'O),
+ LIN1 lengthIndicator, // (1..21),
+ BIT3 spare1_3 ('000'B) optional,
+ BIT1 oddEvenIndicator optional,
+ // '0'B even number of digits address
+ // '1'B odd number of address digits
+ BIT3 typeOfSubaddress optional,
+ // '000'B... NSAP
+ // '010'B... user specified
+ BIT1 ext1 ('1'B) optional,
+ OCTN subaddressInformation optional
+} with { variant (lengthIndicator) "LENGTHTO (spare1_3, oddEvenIndicator,
+ typeOfSubaddress, ext1,
+ subaddressInformation)";
+ variant "PRESENCE (elementIdentifier = '6D'O)" };
+
+//****************************************************************************
+//5.5.12 Cause
+//****************************************************************************
+type record DSS1_Cause_oct3 {
+ BIT4 location,
+ // '0000'B user
+ // '0001'B private network, local user
+ // '0010'B public network, local user
+ // '0011'B transit network
+ // '0100'B public network, remote user
+ // '0101'B private network, remote user
+ // '0111'B international network
+ // '1010'B network beyond interworking point
+ BIT1 spare3 ('0'B),
+ BIT2 codingStandard, // '00'B coding according Q.931
+ // '01'B reserved for standards other
+ // '10'B National standard
+ // '11'B standard other (e.g. one defined for GSM PLMNs)
+ BIT1 ext1, // '0'B or '1'B
+ // OCTET 3A:
+ BIT7 recommendation optional,
+ BIT1 ext2 optional
+} with { variant "EXTENSION_BIT (yes)"};
+
+type record DSS1_Cause {
+ OCT1 elementIdentifier ('08'O),
+ LIN1 lengthIndicator, // (1..30),
+ DSS1_Cause_oct3 oct3,
+ BIT7 causeValue,
+ BIT1 ext3 ('1'B),
+ octetstring diagnostics length (0..27) optional
+} with { variant (lengthIndicator) "LENGTHTO (oct3, causeValue, ext3,
+ diagnostics)";
+ variant "PRESENCE (elementIdentifier = '08'O)";};
+
+type set of DSS1_Cause DSS1_Cause_list with { variant ""};
+
+//****************************************************************************
+// 5.5.13 Channel identification
+//****************************************************************************
+type record DSS1_ChannelIdentification {
+ OCT1 elementIdentifier ('18'O),
+ LIN1 lengthIndicator, // (1..32),
+ BIT2 informationChannelSelection,
+ // Basic interface Primary interface
+ // '00'B no channel no channel
+ // '01'B B1 channel as indicated in following octets
+ // '10'B B2 channel reserved
+ // '11'B any channel any channel
+ BIT1 dChannelIndicator,
+ // '0'B The channel identified is not the D-channel
+ // '1'B The channel identified is the D-channel
+ BIT1 preferredExclusive,
+ // '0'B the indicated channel is preferred
+ // '1'B exclusive: only the indicated channel is acceptable
+ BIT1 spare ('0'B),
+ BIT1 interfaceType,
+ // '0'B basic interface
+ // '1'B primary rate
+ BIT1 interfaceIdentifierPresent,
+ // '0 Interface implicitly identified
+ // '1 Interface explicitly identified octet(s) beginning with octet 3.1
+ BIT1 extension3 ('1'B),
+ BIT7 interfaceIdentifier optional,
+ BIT1 extension3_1 ('1'B) optional,
+ BIT4 channelType optional,
+ // '0011'B B-channel units
+ BIT1 number optional,
+ // '0'B channel is indicated by the number in the following octet
+ BIT2 codingStandard ('00'B) optional,
+ // '00 CCITT standardized coding
+ BIT1 extension3_2 ('1'B) optional,
+ OCTN channelNumber optional
+} with { variant (interfaceIdentifier)
+ "PRESENCE (interfaceIdentifierPresent = '1'B)";
+ variant (extension3_1) "PRESENCE (interfaceIdentifierPresent = '1'B)";
+ variant (lengthIndicator) "LENGTHTO(informationChannelSelection,
+ dChannelIndicator,
+ preferredExclusive,spare,
+ interfaceType,
+ interfaceIdentifierPresent,
+ extension3,interfaceIdentifier,
+ extension3_1,channelType,number,
+ codingStandard,extension3_2,
+ channelNumber)";
+ variant "PRESENCE (elementIdentifier = '18'O)"; };
+
+type set of DSS1_ChannelIdentification DSS1_ChannelIdentification_list
+ with {variant ""};
+
+//****************************************************************************
+//5.5.14 Charge advice
+//****************************************************************************
+type record DSS1_ChargeAdvice {
+ DSS1_Shift shiftToCodeset5,
+ OCT1 elementIdentifier ('1A'O),
+ LIN1 lengthIndicator, // (2..6),
+ BIT3 typeOfCharging,
+ // '010'B Charging on answer
+ // '011'B Charge increment
+ // '100'B Total charge
+ BIT1 spare ('0'B),
+ BIT1 standard,
+ // '0'B National standard
+ // '1'B CEPT standard
+ BIT2 codingStandard ('10'B),
+ // '10'B National standard
+ BIT1 extension3,
+ BIT7 chargingPeriod optional,
+ // '0001000'B 0.1 seconds
+ // '0001001'B 1 second
+ // '0001010'B 10 seconds
+ // '0001011'B 1 minute
+ BIT1 extension3a optional,
+ OCTN chargingUnits
+} with { variant "EXTENSION_BIT_GROUP(yes,typeOfCharging,extension3a)";
+ variant (lengthIndicator) "LENGTHTO(typeOfCharging,spare,standard,
+ codingStandard,extension3,
+ chargingPeriod,extension3a,
+ chargingUnits)";
+ variant "PRESENCE (elementIdentifier = '1A'O)";}
+
+//****************************************************************************
+//5.5.15 Congestion level
+//****************************************************************************
+type record DSS1_CongestionLevel {
+ BIT4 congestionLevel ('0000'B, '1111'B),
+ // '0000'B receiver ready
+ // '1111'B receiver not ready
+ BIT4 elementIdentifier ('1011'B)
+} with { variant "" };
+
+//****************************************************************************
+//5.5.16 Connected Number
+//****************************************************************************
+type record DSS1_ConnectedNumber {
+ OCT1 elementIdentifier ('4C'O),
+ LIN1 lengthIndicator, // (1..22),
+ DSS1_NumberTypeETC oct3,
+ DSS1_NumberDigits digits optional
+} with { variant (lengthIndicator) "LENGTHTO (oct3,digits)";
+ variant "PRESENCE (elementIdentifier = '4C'O)";};
+
+//****************************************************************************
+//5.6.17 Connected subaddress
+//****************************************************************************
+type record DSS1_ConnectedSubaddress {
+ OCT1 elementIdentifier ('4D'O),
+ LIN1 lengthIndicator, // (1..21),
+ BIT3 spare1_3 ('000'B),
+ BIT1 oddEvenIndicator,
+ // '0'B even number of digits address
+ // '1'B odd number of address digits
+ BIT3 typeOfSubaddress,
+ // '000'B... NSAP
+ // '010'B... user specified
+ BIT1 ext1 ('1'B),
+ OCTN subaddressInformation optional
+} with { variant (lengthIndicator) "LENGTHTO (spare1_3,oddEvenIndicator,
+ typeOfSubaddress,ext1,
+ subaddressInformation)";
+ variant "PRESENCE (elementIdentifier = '4D'O)"};
+
+//****************************************************************************
+//5.5.18 Date/time
+//****************************************************************************
+type record DSS1_DateTime {
+ OCT1 elementIdentifier ('29'O),
+ LIN1 lengthIndicator, // (3..6),
+ BIT8 year,
+ BIT8 month,
+ BIT8 day,
+ BIT8 hour optional,
+ BIT8 minute optional,
+ BIT8 second optional
+} with { variant (lengthIndicator) "LENGTHTO (year, month, day,
+ hour,minute,second)";
+ variant "PRESENCE (elementIdentifier = '29'O)";};
+
+//****************************************************************************
+// 5.5.19 Display
+//****************************************************************************
+type record DSS1_Display {
+ OCT1 elementIdentifier ('28'O),
+ LIN1 lengthIndicator, // (1..80),
+ charstring displayInformation
+} with { variant (lengthIndicator) "LENGTHTO (displayInformation)";
+ variant "PRESENCE (elementIdentifier = '28'O)";};
+
+//****************************************************************************
+// 5.5.20 Extended facility
+//****************************************************************************
+type record DSS1_ExtendedFacility {
+ OCT1 elementIdentifier ('0D'O),
+ INT7b lengthOfLength,
+ BIT1 alwaysOne ('1'B),
+ LIN2 lengthIndicator,
+ BIT5 protocolProfile,
+ BIT2 spare ('00'B),
+ BIT1 extension1 ('1'B),
+ OCTN components
+} with { variant (lengthOfLength) "LENGTHTO(lengthIndicator)";
+ variant (lengthIndicator) "LENGTHTO(protocolProfile,spare,extension1,
+ components)";
+ variant "PRESENCE (elementIdentifier = '0D'O)";};
+
+type set of DSS1_ExtendedFacility DSS1_ExtendedFacility_list
+ with { variant ""};
+
+//****************************************************************************
+// 5.5.21 Facility
+//****************************************************************************
+type record DSS1_Facility {
+ OCT1 elementIdentifier ('1C'O),
+ LIN1 lengthIndicator,
+ BIT5 protocolProfile,
+ // '10001'B Remote operations protocol
+ // '11111'B Networking Extensions (VPN)
+ BIT2 spare ('00'B),
+ BIT1 extension1 ('1'B),
+ OCTN components
+} with { variant (lengthIndicator) "LENGTHTO(protocolProfile,spare,extension1,
+ components)";
+ variant "PRESENCE (elementIdentifier = '1C'O)";};
+
+type set of DSS1_Facility DSS1_Facility_list with { variant ""};
+
+//****************************************************************************
+// 5.5.22 High Layer Compatibility
+//****************************************************************************
+type record DSS1_HLC_octet3 {
+ BIT2 presentationMethod,
+ // '00'B High layer protocol profile
+ BIT3 interpretation,
+ // '000'B First HLC identification (in octet 4) to be used in the call.
+ BIT2 codingStandard,
+ // '00'B CCITT standardized coding
+ // '01'B reserved for ISO/IEC standards
+ // '10'B National standard
+ // '11'B Standard defined for the network
+ BIT1 extension_octet_3 // '1'B octet4 should follow
+} with { variant "EXTENSION_BIT (yes)"};
+
+type record DSS1_HLC_octet4 {
+ BIT7 highLayerCharId,
+ BIT1 extension_octet_4,
+ //OCTET 4a:
+ BIT7 extendedHighLayerCharId optional,
+ BIT1 extension_octet_4a optional // '1'B
+} with { variant "EXTENSION_BIT (yes)"};
+
+type record DSS1_HighLayerCompatibility {
+ OCT1 elementIdentifier ('7D'O),
+ LIN1 lengthIndicator, // (2..3),
+ DSS1_HLC_octet3 octet3 optional,
+ DSS1_HLC_octet4 octet4 optional // if octet3 present, octet4 must also be
+} with { variant (lengthIndicator) "LENGTHTO (octet3, octet4)";
+ variant "PRESENCE (elementIdentifier = '7D'O)";};
+
+type set of DSS1_HighLayerCompatibility DSS1_HighLayerCompatibility_list
+ with { variant ""};
+
+//****************************************************************************
+// 5.5.23 ISPBX additional information
+//****************************************************************************
+type record DSS1_ISPBXAdditionalInfo {
+ DSS1_Shift shiftToCodeset6,
+ OCT1 elementIdentifier ('01'O),
+ LIN1 lengthIndicator, // (1),
+ BIT2 typeOfCharging,
+ // '00'B Charging group
+ // '01'B Charging on line
+ // '10'B Reserved
+ // '11'B Not relevant
+ BIT2 classOfCall,
+ // '00'B Intrasubscriber
+ // '01'B Public Network
+ BIT3 spare ('000'B),
+ BIT1 extension3 ('1'B)
+} with { variant (lengthIndicator) "LENGTHTO (typeOfCharging,classOfCall,
+ spare,extension3)";
+ variant "PRESENCE (elementIdentifier = '01'O)";};
+
+//****************************************************************************
+// 5.5.24 Keypad Facility
+//****************************************************************************
+type record DSS1_KeypadFacility {
+ OCT1 elementIdentifier ('2C'O),
+ LIN1 lengthIndicator, // (0..32),
+ charstring keypadInformation
+} with { variant (lengthIndicator) "LENGTHTO (keypadInformation)";
+ variant "PRESENCE (elementIdentifier = '2C'O)";};
+
+//****************************************************************************
+//5.5.25 Low Layer Compatibility
+//****************************************************************************
+type record DSS1_LLC_octet3 {
+ BIT5 informationTransferCapability,
+ // '00000'B Speech
+ // '01000'B Unrestricted digital information
+ // '01001'B Restricted digital information
+ // '10000'B 3.1 kHz audio
+ // '10001'B Unrestricted digital information with tones/announcements
+ // '11000'B Video
+ BIT2 codingStandard,
+ // '00'B CCITT standardized coding
+ // '01'B reserved for ISO/IEC standards
+ // '10'B National standard
+ // '11'B Standard defined for the network
+ BIT1 extension_3,
+ BIT6 spare6 ('000000'B) optional,
+ BIT1 negotiationIndicator optional,
+ // '0'B Out-band negotiation not possible
+ // '1'B Out-band negotiation possible
+ BIT1 extension_3a optional
+} with { variant "EXTENSION_BIT (yes)"};
+
+type record DSS1_LLC_octet4 {
+ BIT5 informationTransferRate,
+ // '00000'B Used for packet-mode calls
+ // '10000'B 64 kbit/s
+ // '10001'B 2 x 64 kbit/
+ // '10011'B 384 kbit/s
+ // '10101'B 1536 kbit/s
+ // '10111'B 1920 kbit/s
+ // '11000'B multirate
+ BIT2 transferMode,
+ // '00'B circuit mode
+ // '10'B packet mode
+ BIT1 extension4,
+ BIT7 rateMultiplier optional,
+ BIT1 extension4_1 optional
+} with { variant "EXTENSION_BIT (yes)";
+ variant (rateMultiplier)"PRESENCE (informationTransferRate='11000'B)";
+ variant (extension4_1) "PRESENCE (informationTransferRate='11000'B)"};
+
+type record DSS1_LLC_octet5 {
+ // OCTET 5:
+ BIT5 userInformationLayer1Protocol,
+ // '00001'B CCITT standardized Rate adaption V.110/X.30.
+ // '00010'B Rec. G.711 u-law
+ // '00011'B Rec. G.711 A-law
+ // '00100'B Rec. G.721 32 kbit/s ADPCM and Rec. I.460
+ // '00101'B Rec. H.221 and H.242
+ // '00110'B Rec. H.223 and H.245
+ // '00111'B Non-CCITT standardized rate adaption.
+ // '01000'B CCITT standardized rate adaption V.120
+ // '01001'B CCITT standardized rate adaption X.31 HDLC flag stuffing
+ BIT2 layerId,
+ // '01'B identifier octet
+ BIT1 extension5,
+ // '0'B (octet 5a following) or '1'B
+
+ // OCTET 5a:
+ BIT5 userRate optional,
+ // '00000'B Rate is indicated by E-bits or may be negotiated in-band
+ // '00001'B 0.6 kbit/s Rec. V.6, X.1
+ // '00010'B 1.2 kbit/s Rec. V.6
+ // '00011'B 2.4 kbit/s Rec. V.6, X.1
+ // '00100'B 3.6 kbit/s Rec. V.6
+ // '00101'B 4.8 kbit/s Rec. V.6, X.1
+ // '00110'B 7.2 kbit/s Rec. V.6
+ // '00111'B 8 kbit/s Rec. I.460
+ // '01000'B 9.6 kbit/s Rec. V.6, X.1
+ // '01001'B 14.4 kbit/s Rec. V.6
+ // '01010'B 16 kbit/s Rec. I.420
+ // '01011'B 19.2 kbit/s Rec. V.6
+ // '01100'B 32 kbit/s Rec. I.460
+ // '01101'B 38.4 kbit/s
+ // '01110'B 48 kbit/s Rec. V.6, X.1
+ // '01111'B 56 kbit/s Rec. V.6
+ // '10000'B 64 kbit/s Rec. X.1
+ // '10001'B 38.4 kbit/s Rec. V.14 extended
+ // '10010'B 57.6 kbit/s Rec. V.14 extended
+ // '10101'B 0.1345 kbit/s Rec. X.1
+ // '10110'B 0.100 kbit/s Rec. X.1
+ // '10111'B 0.075/1.2 kbit/s Rec. V.6, X.1 (Note 1)
+ // '11000'B 1.2/0.075 kbit/s Rec. V.6, X.1 (Note 1)
+ // '11001'B 0.050 kbit/s Rec. V.6, X.1
+ // '11010'B 0.075 kbit/s Rec. V.6, X.1
+ // '11011'B 0.110 kbit/s Rec. V.6, X.1
+ // '11100'B 0.150 kbit/s Rec. V.6, X.1
+ // '11101'B 0.200 kbit/s Rec. V.6, X.1
+ // '11110'B 0.300 kbit/s Rec. V.6, X.1
+ // '11111'B 12 kbit/s Rec. V.6
+ BIT1 negotiation optional,
+ // '0'B In-band negotiation not possible
+ // '1'B In-band negotiation possible
+ BIT1 synchronous_asynchronous optional,
+ // '0'B synchronous
+ // '1'B asynchronous
+ BIT1 extension5a optional,
+
+ // OCTET 5b:
+ BIT1 spare5b ('0'B) optional,
+ BIT1 bit2 optional,
+ BIT1 bit3 optional,
+ BIT1 bit4 optional,
+ BIT1 bit5 optional,
+ BIT1 bit6 optional,
+ BIT1 bit7 optional,
+ BIT1 extension5b optional,
+
+ // OCTET 5c:
+ BIT3 parity optional,
+ // '000'B odd
+ // '010'B even
+ // '011'B none
+ // '100'B forced to 0
+ // '101'B forced to 1
+ BIT2 numberOfDataBits optional,
+ // '00'B Not used
+ // '01'B 5 bits
+ // '10'B 7 bits
+ // '11'B 8 bits
+ BIT2 numberOfStopBits optional,
+ // '00'B Not used
+ // '01'B 1 bit
+ // '10'B 1.5 bit
+ // '11'B 2 bits
+ BIT1 extension5c optional,
+
+ // OCTET 5d:
+ BIT6 modemType optional,
+ // '000000
+ // through National use
+ // '000101
+ // '010001 Rec. V.21
+ // '010010 Rec. V.22
+ // '010011 Rec. V.22 bis
+ // '010100 Rec. V.23
+ // '010101 Rec. V.26
+ // '010110 Rec. V.26 bis
+ // '010111 Rec. V.26 ter
+ // '011000 Rec. V.27
+ // '011001 Rec. V.27 bis
+ // '011010 Rec. V.27 ter
+ // '011011 Rec. V.29
+ // '011100 Rec. V.32
+ // '100000
+ // through National use
+ // '101111
+ // '110000
+ // through User specified
+ // '111111
+ BIT1 duplexMode optional,
+ // '0'B Half duplex
+ // '1'B Full duplex
+ BIT1 extension_octet_5d optional
+} with { variant "EXTENSION_BIT (yes)"};
+
+type record DSS1_LLC_octet6a_user {
+ BIT7 userSpecifiedLayer2information,
+ BIT1 extension6a
+} with { variant ""};
+
+type record DSS1_LLC_octet6a_other {
+ BIT2 q933Use,
+ // '00'B For use when coding defined in Rec. Q.933 is not used
+ BIT3 spare6a ('000'B),
+ BIT2 modeOfOperation,
+ // '01'B Normal mode of operation
+ // '10'B Extended mode of operation
+ BIT1 extension6a,
+ BIT7 windowSize optional,
+ BIT1 extension6b optional
+} with { variant "EXTENSION_BIT (yes)"};
+
+type union DSS1_LLC_octet6a {
+ DSS1_LLC_octet6a_user octet6a_user,
+ DSS1_LLC_octet6a_other octet6a_other
+} with { variant ""};
+
+type record DSS1_LLC_octet6 {
+ BIT5 userInformationLayer2Protocol,
+ // '00001'B Basic mode ISO 1745
+ // '00010'B CCITT Rec. Q.921 (I.441)
+ // '00110'B CCITT Rec. X.25 link layer
+ // '00111'B CCITT Rec. X.25 Multilink
+ // '01000'B Extented LAPB; for half duplex operation (T.71)
+ // '01001'B HDLC ARM (ISO 4335)
+ // '01010'B HDLC NRM (ISO 4335)
+ // '01011'B HDLC ABM (ISO 4335)
+ // '01100'B LAN Logical link control (ISO 8802/2)
+ // '01101'B CCITT Rec. X.75 Single Link Procedure SLP
+ // '01110'B CCITT Rec. Q.922
+ // '01111'B Core aspects of CCITT Rec. Q.922
+ // '10000'B User specified
+ // '10001'B ISO 7776 DTE - DTE operation
+ BIT2 layerId, // '10'B identifier octet
+ BIT1 extension6, // '1'B,
+ // OCTET 6a-b:
+ DSS1_LLC_octet6a octet6a optional
+} with { variant "EXTENSION_BIT (yes)";
+ variant (octet6a)
+ "CROSSTAG(octet6a_other,{userInformationLayer2Protocol='00001'B,
+ userInformationLayer2Protocol='00010'B,
+ userInformationLayer2Protocol='00110'B,
+ userInformationLayer2Protocol='00111'B,
+ userInformationLayer2Protocol='01000'B,
+ userInformationLayer2Protocol='01001'B,
+ userInformationLayer2Protocol='01010'B,
+ userInformationLayer2Protocol='01011'B,
+ userInformationLayer2Protocol='01100'B,
+ userInformationLayer2Protocol='01101'B,
+ userInformationLayer2Protocol='01110'B,
+ userInformationLayer2Protocol='01111'B,
+ userInformationLayer2Protocol='10001'B};
+ octet6a_user, userInformationLayer2Protocol='10000'B)"
+ };
+
+type record DSS1_LLC_octet7a_user {
+ BIT7 userSpecifiedLayer3information,
+ BIT1 extension7a
+} with { variant ""};
+
+type record DSS1_LLC_octet7a_other {
+ BIT5 spare7a ('00000'B),
+ BIT2 modeOfOperation,
+ // '01'B Normal packet sequence numbering
+ // '10'B Extended packet sequence numbering
+ BIT1 extension7a,
+ // OCTET 7b:
+ BIT4 defaultPacketSize optional,
+ // '0100'B Default packet size 16 octets
+ // '0101'B Default packet size 32 octets
+ // '0110'B Default packet size 64 octets
+ // '0111'B Default packet size 128 octets
+ // '1000'B Default packet size 256 octets
+ // '1001'B Default packet size 512 octets
+ // '1010'B Default packet size 1024 octets
+ // '1011'B Default packet size 2048 octets
+ // '1100'B Default packet size 4096 octets
+ BIT4 spare7b ('0000'B) optional,
+ BIT1 extension7b optional,
+ // OCTET 7c:
+ BIT7 packetWindowSize optional,
+ BIT1 extension7c optional
+} with { variant "EXTENSION_BIT (yes)"};
+
+type union DSS1_LLC_octet7a {
+ DSS1_LLC_octet7a_user octet7a_user,
+ DSS1_LLC_octet7a_other octet7a_other
+} with { variant ""};
+
+type record DSS1_LLC_octet7 {
+ BIT5 userInformationLayer3Protocol,
+ // '00010'B CCITT Rec. Q.931 (I.451)
+ // '00110'B CCITT Rec. X.25, packet layer (Note 2)
+ // '00111'B ISO 8208 (X.25 packet level protocol for data terminal equ.)
+ // '01000'B X.223/ISO 8878 use of ISO/IEC 8208 and CCITT X.25.
+ // '01001'B ISO 8473 (OSI connectionless mode protocol)
+ // '01010'B CCITT Rec. T.70 minimum network layer
+ // '01011'B ISO TR 9577 (non-ISO protocols)
+ // '10000'B User specified
+ BIT2 layerId ('11'B),
+ BIT1 extension7,
+ // OCTET 7a:
+ DSS1_LLC_octet7a octet7a optional
+} with { variant "EXTENSION_BIT (yes)";
+ variant (octet7a)
+ "CROSSTAG(octet7a_other,{userInformationLayer3Protocol='00110'B,
+ userInformationLayer3Protocol='00111'B,
+ userInformationLayer3Protocol='01000'B};
+ octet7a_user, userInformationLayer3Protocol='10000'B)"
+ };
+
+type record DSS1_LowLayerCompatibility {
+ OCT1 elementIdentifier ('7C'O),
+ LIN1 lengthIndicator, // (2..16),
+ DSS1_LLC_octet3 octet3,
+ DSS1_LLC_octet4 octet4,
+ DSS1_LLC_octet5 octet5 optional,
+ DSS1_LLC_octet6 octet6 optional,
+ DSS1_LLC_octet7 octet7 optional
+} with { variant "TAG (octet5, layerId = '01'B;
+ octet6, layerId = '10'B;
+ octet7, layerId = '11'B;)"
+ variant (lengthIndicator) "LENGTHTO (octet3,octet4,octet5,
+ octet6,octet7)";
+ variant "PRESENCE (elementIdentifier = '7C'O)";};
+
+//****************************************************************************
+// 5.5.26 More data
+//****************************************************************************
+type record DSS1_MoreData {
+ OCT1 elementIdentifier ('A0'O)
+} with { variant "PRESENCE (elementIdentifier = 'A0'O)"};
+
+//****************************************************************************
+// 5.5.27 Notification indicator
+//****************************************************************************
+type record DSS1_NotificationIndicator_3 {
+ BIT7 notificationDescription,
+ // '0000000'B User suspended
+ // '0000001'B User resumed
+ // '0000011'B Discriminator for BER encoded notification extension
+ // '0000100'B Call completion delay
+ // '1000000'B Discriminator for ext. to ASN.1 encoded component for ISO
+ // '1000010'B Conference established
+ // '1000011'B Conference disconnected
+ // '1000100'B Other party added
+ // '1000101'B Isolated
+ // '1000110'B Reattached
+ // '1000111'B Other party isolated
+ // '1001000'B Other party reattached
+ // '1001001'B Other party split
+ // '1001010'B Other party disconnected
+ // '1001011'B Conference floating
+ // '1100000'B Call is a waiting call
+ // '1101000'B Diversion is activated
+ // '1101001'B Call transferred, alerting
+ // '1101010'B Call transferred, active
+ // '1101011'B Call is queued
+ // '1111001'B Remote hold
+ // '1111010'B Remote retrieval
+ // '1111011'B Call is diverting
+ BIT1 extension3,
+ BIT7 notificationDescription_a optional,
+ BIT1 extension3a optional
+} with { variant "EXTENSION_BIT (yes)"};
+
+type record DSS1_NotificationIndicator {
+ OCT1 elementIdentifier ('27'O),
+ LIN1 lengthIndicator, // (1..253),
+ DSS1_NotificationIndicator_3 notificationIndicator_3,
+ OCTN notificationDataStructure optional
+} with { variant (lengthIndicator) "LENGTHTO(notificationIndicator_3,
+ notificationDataStructure)";
+ variant "PRESENCE (elementIdentifier = '27'O)";};
+
+type set of DSS1_NotificationIndicator DSS1_NotificationIndicator_list
+ with { variant ""};
+
+//****************************************************************************
+// 5.5.28 Progress indicator
+//****************************************************************************
+type record DSS1_ProgressIndicator {
+ OCT1 elementIdentifier ('1E'O),
+ LIN1 lengthIndicator, // (2),
+ BIT4 location,
+ // '0000'B User
+ // '0001'B Private network serving the local user
+ // '0010'B Public network serving the local user
+ // '0011'B Transit network
+ // '0100'B Public network serving the remote user
+ // '0101'B Private network serving the remote user
+ // '1010'B Network beyond interworking point
+ BIT1 spare ('0'B),
+ BIT2 codingStandard,
+ // '00'B CCITT Standardized coding
+ // '01'B ISO/IEC 11572 coding standard
+ BIT1 extension3 ('1'B),
+ BIT7 progressDescription,
+ // '0000001'B Call is not end-to-end ISDN
+ // '0000010'B Destination address is non-ISDN
+ // '0000011'B Origination address is non-ISDN
+ // '0000100'B Call has returned to the ISDN
+ // '0000101'B Interworking has occurred
+ // '0001000'B In-band information now available
+ // '0010000'B Interworking with a public network
+ // '0010001'B Interworking with a network unable to supply release sign
+ // '0010010'B Interworking with a network unable to
+ // supply a release signal before answer
+ // '0010011'B Interworking with a network unable to
+ // supply a release signal after answer
+ BIT1 extension4 ('1'B)
+} with { variant (lengthIndicator) "LENGTHTO(location,spare,codingStandard,
+ extension3,progressDescription,
+ extension4)";
+ variant "PRESENCE (elementIdentifier = '1E'O)"};
+
+type set of DSS1_ProgressIndicator DSS1_ProgressIndicator_list
+ with { variant ""};
+
+//****************************************************************************
+// 5.5.29 Redirecting number
+//****************************************************************************
+type record DSS1_RedirectingNumber_oct3 {
+ BIT4 numberingPlanIdentification,
+ // '0000'B Unknown
+ // '0001'B ISDN/telephony numbering plan (E.164)
+ // '0011'B Data numbering plan (X.121)
+ // '1000'B National standard numbering plan
+ // '1001'B Private numbering plan
+ BIT3 typeOfNumber,
+ // '000'B unknown
+ // '001'B international number
+ // '010'B national number
+ // '011'B network-specific number
+ // '100'B subscriber number
+ BIT1 ext3,
+ // OCTET 3a
+ BIT5 spare5 ('00000'B) optional,
+ BIT2 presentationIndicator optional,
+ // '00'B Presentation allowed
+ // '01'B Presentation restricted
+ // '10'B Number not available due to interworking
+ // '11'B Reserved
+ BIT1 ext3a optional,
+ // OCTET 3b
+ BIT4 reasonForDiversion optional,
+ // '0000'B Unknown
+ // '0001'B Call forwarding busy (CFB)
+ // '0010'B Call forwarding no reply (CFNR)
+ // '1010'B Call deflection (CD)
+ // '1111'B Call forwarding unconditional (CFU)
+ BIT3 spare3 ('000'B) optional,
+ BIT1 ext3b optional
+} with { variant "EXTENSION_BIT (yes)"};
+
+type record DSS1_RedirectingNumber {
+ OCT1 elementIdentifier ('74'O),
+ LIN1 lengthIndicator, // (3..22),
+ DSS1_RedirectingNumber_oct3 oct3,
+ DSS1_NumberDigits digits optional
+} with { variant (lengthIndicator) "LENGTHTO (oct3,digits)";
+ variant "PRESENCE (elementIdentifier = '74'O)";};
+
+//****************************************************************************
+// 5.5.30 Redirection number
+//****************************************************************************
+type record DSS1_RedirectionNumber {
+ OCT1 elementIdentifier ('76'O),
+ LIN1 lengthIndicator, // (2..24),
+ DSS1_NumberTypeETC oct3,
+ DSS1_NumberDigits digits optional
+} with { variant (lengthIndicator) "LENGTHTO (oct3,digits)";
+ variant "PRESENCE (elementIdentifier = '76'O)";};
+
+//****************************************************************************
+// 5.5.31 Restart indicator
+//****************************************************************************
+type record DSS1_RestartIndicator {
+ OCT1 elementIdentifier ('79'O),
+ LIN1 lengthIndicator, // (1),
+ BIT3 class,
+ // '000'B Indicated channels
+ // '110'B Single interface
+ // '111'B All interfaces
+ BIT4 spare ('0000'B),
+ BIT1 extension3 ('1'B)
+} with { variant (lengthIndicator) "LENGTHTO (class,spare,extension3)";
+ variant "PRESENCE (elementIdentifier = '79'O)";};
+
+//****************************************************************************
+// 5.5.32 Segmented Message
+//****************************************************************************
+type record DSS1_SegmentedMessage {
+ OCT1 elementIdentifier ('00'O),
+ LIN1 lengthIndicator, // (2),
+ BIT7 numberOfSegmentsRemaining,
+ BIT1 firstSegmentsIndicator,
+ // '0'B Subsequent segment to first segment
+ // '1'B First segment of segmented message
+ BIT7 segmentedMessageType,
+ BIT1 spare4 ('0'B)
+} with { variant (lengthIndicator) "LENGTHTO (numberOfSegmentsRemaining,
+ firstSegmentsIndicator,
+ segmentedMessageType,spare4)";};
+
+//*****************************************************************************
+// 5.5.33 Sending complete
+//*****************************************************************************
+type record DSS1_SendingComplete {
+ OCT1 elementIdentifier ('A1'O)
+} with { variant "PRESENCE (elementIdentifier = 'A1'O)"};
+
+//*****************************************************************************
+//5.5.34 Transit counter
+//*****************************************************************************
+type record DSS1_TransitCounter {
+ OCT1 elementIdentifier ('31'O),
+ LIN1 lengthIndicator, // (1),
+ BIT5 transitCount,
+ BIT2 spare ('00'B),
+ BIT1 extension3 ('1'B)
+} with { variant (lengthIndicator) "LENGTHTO (transitCount,spare,extension3)";
+ variant "PRESENCE (elementIdentifier = '31'O)"};
+
+//*****************************************************************************
+//5.5.35 Transit network selection
+//*****************************************************************************
+type record DSS1_TransitNetworkSelection {
+ OCT1 elementIdentifier ('78'O),
+ LIN1 lengthIndicator, // (1..7),
+ BIT4 networkIdentificationPlan,
+ // '0000'B Unknown
+ // '0001'B Carrier Identification Code
+ // '0011'B Data network identification code
+ BIT3 networkIdentificationType,
+ // '000'B User specified
+ // '010'B National network identification
+ // '011'B International network identification
+ BIT1 extension3 ('1'B),
+ charstring networkIdentification
+} with { variant (lengthIndicator) "LENGTHTO(networkIdentificationPlan,
+ networkIdentificationType,
+ extension3,networkIdentification)";
+ variant "PRESENCE (elementIdentifier = '78'O)"; };
+
+//*****************************************************************************
+//5.5.36 User-user
+//*****************************************************************************
+type record DSS1_UserUser {
+ OCT1 elementIdentifier ('7E'O),
+ LIN1 lengthIndicator, // (2..129),
+ BIT8 userUserProtocolDiscriminator,
+ // '00000000'B User specific protocol
+ // '00000001'B OSI high layer protocol
+ // '00000010'B X.244
+ // '00000011'B Reserved for system management convergence function
+ // '00000100'B IA5 characters
+ // '00000101'B X.208/X.209 coded user information
+ // '00000111'B CCITT Recommendation V.120 rate adaption
+ // '00001000'B Q.931 (I.451) user-network call control messages
+ charstring userUserInformation length(0..128) //transparent
+} with { variant (lengthIndicator) "LENGTHTO(userUserProtocolDiscriminator,
+ userUserInformation)";
+ variant "PRESENCE (elementIdentifier = '7E'O)"; };
+
+//*****************************************************************************
+//5.5.37 VPN Indicator
+//*****************************************************************************
+type record DSS1_VPNIndicator {
+ OCT1 elementIdentifier ('05'O),
+ LIN1 lengthIndicator, // (1..13),
+ BIT3 cNIndicator ('000'B, '001'B, '010'B),
+ // '000'B no indicator
+ // '001'B network specific
+ // '010'B global
+ BIT4 spare3 ('0000'B),
+ BIT1 extension3 ('1'B),
+ hexstring cNIdentifier
+} with { variant (lengthIndicator) "LENGTHTO(cNIndicator,spare3,extension3,
+ cNIdentifier)";
+ variant "PRESENCE (elementIdentifier = '05'O)"; };
+
+//****************************************************************************
+// 4.1.1. Alerting
+//****************************************************************************
+type record PDU_DSS1_Alerting {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('01'O),
+ DSS1_BearerCapability bearerCapability optional, // '04'O
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_ChannelIdentification_list channelIdentification optional, // '18'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_ProgressIndicator_list progressIndicator optional, // '1E'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_RedirectionNumber redirectionNumber optional, // '76'O
+ DSS1_HighLayerCompatibility_list highLayerCompatibility optional, // '7D'O
+ DSS1_UserUser userUser optional // '7E'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.2. Call Proceeding
+//****************************************************************************
+type record PDU_DSS1_CallProceeding {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('02'O),
+ DSS1_BearerCapability bearerCapability optional, // '04'O
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_ChannelIdentification_list channelIdentification optional, // '18'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_ProgressIndicator_list progressIndicator optional, // '1E'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_HighLayerCompatibility_list highLayerCompatibility optional // '7D'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.3. Congestion Control
+//****************************************************************************
+type record PDU_DSS1_CongestionControl {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('79'O),
+ DSS1_CongestionLevel congestionLevel, // '1011'B
+ DSS1_Cause_list cause optional, // '08'O
+ DSS1_Display displaY optional // '28'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.4. Connect
+//****************************************************************************
+type record PDU_DSS1_Connect {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('07'O),
+ DSS1_BearerCapability bearerCapability optional, // '04'O
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_ChannelIdentification_list channelIdentification optional, // '18'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_ProgressIndicator_list progressIndicator optional, // '1E'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_DateTime dateTime optional, // '29'O
+ DSS1_ConnectedNumber connectedNumber optional, // '4C'O
+ DSS1_ConnectedSubaddress connectedSubaddress optional, // '4D'O
+ DSS1_RedirectionNumber redirectionNumber optional, // '76'O
+ DSS1_LowLayerCompatibility lowLayerCompatibility optional, // '7C'O
+ DSS1_HighLayerCompatibility_list highLayerCompatibility optional, // '7D'O
+ DSS1_UserUser userUser optional, // '7E'O
+ DSS1_ChargeAdvice chargeAdvice optional // '1A'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.5. Connect Acknowledge
+//****************************************************************************
+type record PDU_DSS1_ConnectAcknowledge {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('0F'O),
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_ChannelIdentification_list channelIdentification optional, // '18'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional // '28'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.6. Disonnect
+//****************************************************************************
+type record PDU_DSS1_Disconnect {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('45'O),
+ DSS1_Cause_list cause, // '08'O
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_ProgressIndicator_list progressIndicator optional, // '1E'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_KeypadFacility keypadFacility optional, // '2C'O
+ DSS1_UserUser userUser optional, // '7E'O
+ DSS1_ChargeAdvice chargeAdvice optional // '1A'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.7. Facility
+//****************************************************************************
+type record PDU_DSS1_Facility {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('62'O),
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_CalledNumber_list calledNumber optional, // '70'O
+ DSS1_CalledSubaddress calledSubaddress optional, // '71'O
+ DSS1_RedirectionNumber redirectionNumber optional // '76'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.8. Hold
+//****************************************************************************
+type record PDU_DSS1_Hold {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('24'O),
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_NotificationIndicator_list notificationIndicator optional // '27'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.9. Hold Acknowledge
+//****************************************************************************
+type record PDU_DSS1_HoldAcknowledge {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('28'O),
+ DSS1_Display displaY optional // '28'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.10. Hold Reject
+//****************************************************************************
+type record PDU_DSS1_HoldReject {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('30'O),
+ DSS1_Cause_list cause, // '08'O
+ DSS1_Display displaY optional // '28'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.11. Information
+//****************************************************************************
+type record PDU_DSS1_Information {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('7B'O),
+ DSS1_SendingComplete sendingComplete optional, // 'A1'O
+ DSS1_Cause_list cause optional, // '08'O
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_KeypadFacility keypadFacility optional, // '2C'O
+ DSS1_CalledNumber_list calledNumber optional, // '70'O
+ DSS1_ChargeAdvice chargeAdvice optional // '1A'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.12. National register
+//****************************************************************************
+const bitstring cg_escapeToNatlMessage := '00000000'B;
+
+type record PDU_DSS1_NationalRegister {
+ BIT8 escape (cg_escapeToNatlMessage),
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('64'O),
+ DSS1_KeypadFacility keypadFacility, // '2C'O
+ DSS1_CallingNumber_list callingNumber optional // '6C'O
+} with { variant "PRESENCE(escape = '00000000'B)" };
+
+//****************************************************************************
+// 4.1.13. National register acknowledge
+//****************************************************************************
+type record PDU_DSS1_NationalRegisterAcknowledge {
+ BIT8 escape (cg_escapeToNatlMessage),
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('6C'O),
+ DSS1_Cause_list cause optional, // '08'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_KeypadFacility keypadFacility optional, // '2C'O
+ DSS1_ChargeAdvice chargeAdvice optional // '1A'O
+} with { variant "PRESENCE(escape = '00000000'B)" };
+
+//****************************************************************************
+// 4.1.14. Notify
+//****************************************************************************
+type record PDU_DSS1_Notify {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('6E'O),
+ DSS1_NotificationIndicator_list notificationIndicator, // '27'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_RedirectionNumber redirectionNumber optional // '76'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.15. Progress
+//****************************************************************************
+type record PDU_DSS1_Progress {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('03'O),
+ DSS1_BearerCapability bearerCapability optional, // '04'O
+ DSS1_Cause_list cause optional, // '08'O
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_ProgressIndicator_list progressIndicator, // '1E'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_RedirectionNumber redirectionNumber optional, // '76'O
+ DSS1_HighLayerCompatibility_list highLayerCompatibility optional, // '7D'O
+ DSS1_UserUser userUser optional // '7E'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.16. Register
+//****************************************************************************
+type record PDU_DSS1_Register {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('64'O),
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_Display displaY optional // '28'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.17. Release
+//****************************************************************************
+type record PDU_DSS1_Release {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('4D'O),
+ DSS1_Cause_list cause optional, // '08'O
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_KeypadFacility keypadFacility optional,// '2C'O
+ DSS1_UserUser userUser optional, // '7E'O
+ DSS1_ChargeAdvice chargeAdvice optional // '1A'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.18. Release Complete
+//****************************************************************************
+type record PDU_DSS1_ReleaseComplete {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('5A'O),
+ DSS1_Cause_list cause optional, // '08'O
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_KeypadFacility keypadFacility optional, // '2C'O
+ DSS1_UserUser userUser optional, // '7E'O
+ DSS1_ChargeAdvice chargeAdvice optional // '1A'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.19. Restart
+//****************************************************************************
+type record PDU_DSS1_Restart {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('46'O),
+ DSS1_ChannelIdentification_list channelIdentification optional, // '18'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_RestartIndicator restartIndicator
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.20. Restart acknowledge
+//****************************************************************************
+type record PDU_DSS1_RestartAcknowledge {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('4E'O),
+ DSS1_ChannelIdentification_list channelIdentification optional, // '18'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_RestartIndicator restartIndicator
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.21. Resume
+//****************************************************************************
+type record PDU_DSS1_Resume {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('26'O),
+ DSS1_CallIdentity callIdentity optional // '10'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.22. Resume Acknowledge
+//****************************************************************************
+type record PDU_DSS1_ResumeAcknowledge {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('2E'O),
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_ChannelIdentification_list channelIdentification, // '18'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_KeypadFacility keypadFacility optional, // '2C'O
+ DSS1_ChargeAdvice chargeAdvice optional // '1A'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.23. Resume Reject
+//****************************************************************************
+type record PDU_DSS1_ResumeReject {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('22'O),
+ DSS1_Cause_list cause, // '08'O
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_KeypadFacility keypadFacility optional, // '2C'O
+ DSS1_ChargeAdvice chargeAdvice optional // '1A'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.24. Retreive
+//****************************************************************************
+type record PDU_DSS1_Retrieve {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('31'O),
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_ChannelIdentification_list channelIdentification optional, // '18'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_NotificationIndicator_list notificationIndicator optional // '27'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.25. Retreive acknowledge
+//****************************************************************************
+type record PDU_DSS1_RetrieveAcknowledge {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('33'O),
+ DSS1_ChannelIdentification_list channelIdentification optional, // '18'O
+ DSS1_Display displaY optional // '28'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.26. Retreive Reject
+//****************************************************************************
+type record PDU_DSS1_RetrieveReject {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('37'O),
+ DSS1_Cause_list cause, // '08'O
+ DSS1_Display displaY optional // '28'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.27. Segment
+//****************************************************************************
+type record PDU_DSS1_Segment {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('60'O),
+ DSS1_SegmentedMessage segmentedMessage, // '00'O
+ OCTN octetsOfTheSegmentedMessage
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.28. Setup
+//****************************************************************************
+type record PDU_DSS1_Setup {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('05'O),
+ DSS1_SendingComplete sendingComplete optional, // 'A1'O
+ DSS1_BearerCapability bearerCapability,
+ DSS1_VPNIndicator vPNIndicator optional, // '05'O
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_ChannelIdentification_list channelIdentification optional, // '18'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_ProgressIndicator_list progressIndicator optional, // '1E'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_DateTime dateTime optional, // '29'O
+ DSS1_KeypadFacility keypadFacility optional, // '2C'O
+ DSS1_CallingNumber_list callingNumber optional, // '6C'O
+ DSS1_CallingSubaddress callingSubaddress optional, // '6D'O
+ DSS1_CalledNumber_list calledNumber optional, // '70'O
+ DSS1_CalledSubaddress calledSubaddress optional, // '71'O
+ DSS1_RedirectingNumber redirectingNumber optional, // '76'O
+ DSS1_TransitNetworkSelection transitNetworkSelection optional, // '78'O
+ DSS1_LowLayerCompatibility lowLayerCompatibility optional, // '7C'O
+ DSS1_HighLayerCompatibility_list highLayerCompatibility optional, // '7D'O
+ DSS1_UserUser userUser optional, // '7E'O
+ DSS1_TransitCounter transitCounter optional, // '31'O
+ DSS1_ISPBXAdditionalInfo iSPBXAdditionalInfo optional // '01'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.29. Setup acknowledge
+//****************************************************************************
+type record PDU_DSS1_SetupAcknowledge {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('0D'O),
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_ChannelIdentification_list channelIdentification optional, // '18'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_ProgressIndicator_list progressIndicator optional, // '1E'O
+ DSS1_NotificationIndicator_list notificationIndicator optional, // '27'O
+ DSS1_Display displaY optional // '28'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.30. Status
+//****************************************************************************
+type record PDU_DSS1_Status {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('7D'O),
+ DSS1_Cause_list cause, // '08'O
+ DSS1_CallState callState,
+ DSS1_Display displaY optional // '28'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.31. Status enquiry
+//****************************************************************************
+type record PDU_DSS1_StatusEnquiry {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('75'O),
+ DSS1_Display displaY optional // '28'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.32. Suspend
+//****************************************************************************
+type record PDU_DSS1_Suspend {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('25'O),
+ DSS1_CallIdentity callIdentity optional // '10'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.33. Suspend Acknowledge
+//****************************************************************************
+type record PDU_DSS1_SuspendAcknowledge {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('2D'O),
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_Display displaY optional, // '28'O
+ DSS1_KeypadFacility keypadFacility optional, // '2C'O
+ DSS1_ChargeAdvice chargeAdvice optional // '1A'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.34. Suspend Reject
+//****************************************************************************
+type record PDU_DSS1_SuspendReject {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('21'O),
+ DSS1_Cause_list cause, // '08'O
+ DSS1_Display displaY optional // '28'O
+} with { variant "" };
+
+//****************************************************************************
+// 4.1.35. User information
+//****************************************************************************
+type record PDU_DSS1_UserInformation {
+ OCT1 protocolDiscriminator ('08'O),
+ DSS1_CallReference callReference,
+ OCT1 messageType ('20'O),
+ DSS1_MoreData moreData optional, // 'A0'O
+ DSS1_ExtendedFacility_list extendedFacility optional, // '0D'O
+ DSS1_Facility_list facility optional, // '1C'O
+ DSS1_UserUser userUser optional // '7E'O
+} with { variant "" };
+
+// **************************************************************************
+// * 4.1 The container type of all DSS1 messages
+// * Ref:13/155 17-CRT 288 01 Uen Rev. C
+// **************************************************************************
+type union PDU_DSS1 {
+ PDU_DSS1_Alerting alerting,
+ PDU_DSS1_CallProceeding callProceeding,
+ PDU_DSS1_CongestionControl congestionControl,
+ PDU_DSS1_Connect dss1_connect,
+ PDU_DSS1_ConnectAcknowledge connectAcknowledge,
+ PDU_DSS1_Disconnect dss1_disconnect,
+ PDU_DSS1_Facility facility,
+ PDU_DSS1_Hold hold,
+ PDU_DSS1_HoldAcknowledge holdAcknowledge,
+ PDU_DSS1_HoldReject holdReject,
+ PDU_DSS1_Information information,
+ PDU_DSS1_NationalRegister nationalRegister,
+ PDU_DSS1_NationalRegisterAcknowledge nationalRegisterAcknowledge,
+ PDU_DSS1_Notify notify,
+ PDU_DSS1_Progress progress,
+ PDU_DSS1_Register register,
+ PDU_DSS1_Release release,
+ PDU_DSS1_ReleaseComplete releaseComplete,
+ PDU_DSS1_Restart restart,
+ PDU_DSS1_RestartAcknowledge restartAcknowledge,
+ PDU_DSS1_Resume resume,
+ PDU_DSS1_ResumeAcknowledge resumeAcknowledge,
+ PDU_DSS1_ResumeReject resumeReject,
+ PDU_DSS1_Retrieve retrieve,
+ PDU_DSS1_RetrieveAcknowledge retrieveAcknowledge,
+ PDU_DSS1_RetrieveReject retrieveReject,
+ PDU_DSS1_Segment segment,
+ PDU_DSS1_Setup setup,
+ PDU_DSS1_SetupAcknowledge setupAcknowledge,
+ PDU_DSS1_Status status,
+ PDU_DSS1_StatusEnquiry statusEnquiry,
+ PDU_DSS1_Suspend suspend,
+ PDU_DSS1_SuspendAcknowledge suspendAcknowledge,
+ PDU_DSS1_SuspendReject suspendReject,
+ PDU_DSS1_UserInformation userInformation
+
+} with {variant "TAG (
+ alerting, messageType = '01'O;
+ callProceeding, messageType = '02'O;
+ congestionControl, messageType = '79'O;
+ dss1_connect, messageType = '07'O;
+ connectAcknowledge, messageType = '0F'O;
+ dss1_disconnect, messageType = '45'O;
+ facility, messageType = '62'O;
+ hold, messageType = '24'O;
+ holdAcknowledge, messageType = '28'O;
+ holdReject, messageType = '30'O;
+ information, messageType = '7B'O;
+ nationalRegister, messageType = '64'O;
+ nationalRegisterAcknowledge, messageType = '6C'O;
+ notify, messageType = '6E'O;
+ progress, messageType = '03'O;
+ register, messageType = '64'O;
+ release, messageType = '4D'O;
+ releaseComplete, messageType = '5A'O;
+ restart, messageType = '46'O;
+ restartAcknowledge, messageType = '4E'O;
+ resume, messageType = '26'O;
+ resumeAcknowledge, messageType = '2E'O;
+ resumeReject, messageType = '22'O;
+ retrieve, messageType = '31'O;
+ retrieveAcknowledge, messageType = '33'O;
+ retrieveReject, messageType = '37'O;
+ segment, messageType = '60'O;
+ setup, messageType = '05'O;
+ setupAcknowledge, messageType = '0D'O;
+ status, messageType = '7D'O;
+ statusEnquiry, messageType = '75'O;
+ suspend, messageType = '25'O;
+ suspendAcknowledge, messageType = '2D'O;
+ suspendReject, messageType = '21'O;
+ userInformation, messageType = '20'O)"};
+//=========================================================================
+// Signatures
+//=========================================================================
+
+// Insert signature definitions here if applicable!
+// You can use the signature skeleton!
+
+//=========================================================================
+//Port Types
+//=========================================================================
+
+// Insert port type defintions here if applicable!
+// You can use the port_type skeleton!
+
+//=========================================================================
+//Component Types
+//=========================================================================
+
+// Insert component type dedfintions here if applicable!
+// You can use the component_type skeleton!
+
+//=========================================================================
+// Constants
+//=========================================================================
+
+// Insert constants here if applicable!
+// You can use the constant skeleton!
+
+//=========================================================================
+// Templates
+//=========================================================================
+
+// Insert templates here if applicable!
+// You can use the template skeleton!
+
+//=========================================================================
+// Altsteps
+//=========================================================================
+
+// Insert altsteps here if applicable!
+// You can use the altstep skeleton!
+
+//=========================================================================
+// Functions
+//=========================================================================
+
+// Insert functions here if applicable!
+// You can use the function skeleton!
+
+//=========================================================================
+// Testcases
+//=========================================================================
+
+// Insert test cases here if applicable!
+// You can use the test_case skeleton!
+
+//=========================================================================
+// Control
+//=========================================================================
+
+// Insert control part here if applicable!
+// You can use the control_part skeleton!
+
+}with{ encode "RAW"} // end of module
diff --git a/src/Facility_EncDec.cc b/src/Facility_EncDec.cc
new file mode 100644
index 0000000..c781063
--- /dev/null
+++ b/src/Facility_EncDec.cc
@@ -0,0 +1,20 @@
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Facility_EncDec.cc
+// Description: Encoder/decoder for Facility Information element
+// Prodnr: CNL 113 435
+// Rev: <RnXnn>
+// Updated: 2007-07-17
+// Contact: http://ttcn.ericsson.se
+
+// Please note: Because the encoder/decoder functions are generated by the
+// TITAN, the BICC_ANSI_EncDec.cc is kept only for compatibility issue and
+// should be removed from the projects.
diff --git a/src/Facility_IE_Defs.asn b/src/Facility_IE_Defs.asn
new file mode 100644
index 0000000..b38bc5f
--- /dev/null
+++ b/src/Facility_IE_Defs.asn
@@ -0,0 +1,49 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Facility_IE_Defs.asn
+// Prodnr: CNL 113 435
+// Rev: <RnXnn>
+// Updated: 2006-01-12
+// Contact: http://ttcn.ericsson.se
+// Reference:
+*/
+Facility-IE-Defs
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+Supported-Facility-Operations
+FROM
+ Facility-Operations
+
+
+
+OPERATION, ERROR
+FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+
+ROS{}, Invoke{}, ReturnResult{}, ReturnError{},
+-- Invoke-help{}, ReturnResult-help{}, ReturnError-help{},
+Errors{}, GFPInvokeIDSet
+FROM Revised-Facility-Information-Element-Components
+ {itu-t identified-organization etsi(0) 196
+ revised-facility-information-element-component(11)}
+;
+
+Facility-IE ::= ROS{{GFPInvokeIDSet}, {Supported-Facility-Operations},
+ {Supported-Facility-Operations}}
+
+
+END
diff --git a/src/Facility_Operations.asn b/src/Facility_Operations.asn
new file mode 100644
index 0000000..d783f5d
--- /dev/null
+++ b/src/Facility_Operations.asn
@@ -0,0 +1,257 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Facility_Operations.asn
+// Prodnr: CNL 113 435
+// Rev: <RnXnn>
+// Updated: 2012-06-27
+// Contact: http://ttcn.ericsson.se
+// Reference:
+*/
+Facility-Operations
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+IMPORTS
+
+OPERATION
+FROM Remote-Operations-Information-Objects {
+joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+
+ statusRequest
+FROM Revised-Status-Request-Procedure
+ { itu-t identified-organization etsi(0) 196
+ revised-status-request-procedure(17)}
+
+ explicitReservationCreationControl,
+ explicitReservationManagement,
+ explicitReservationCancel
+FROM Revised-Explicit-Network-Controlled-Channel-Reservation
+{ itu-t identified-organization etsi(0) 196
+ revised-explicit-network-controlled-channel-reservation(12)}
+
+ userUserService
+FROM Revised-UUS-Operations
+{itu-t identified-organization etsi (0) 286 operations-and-errors (1)}
+
+
+ begin3PTY,
+ end3PTY
+FROM Revised-Three-Party-Operations
+{itu-t identified-organization etsi (0) 188 operations-and-types (1)}
+
+
+ activationOcb,
+ activationStatusNotificationOcb,
+ deactivationOcb,
+ deactivationStatusNotificationOcb,
+ interrogationOcb,
+ disableOcb,
+ ocbInvoked
+FROM Revised-Outgoing-Call-Barring-Operations-and-Errors
+{itu-t identified-organization etsi(0) 1001 operations-and-errors(1)}
+
+
+ mWIActivate,
+ mWIDeactivate,
+ mWIIndicate
+FROM Revised-MWI-Operations-and-Errors
+{itu-t identified-organization etsi (0) 745 operations-and-errors (1)}
+
+
+ mCIDRequest
+FROM Revised-MCID-Operations
+{itu-t identified-organization etsi (0) 130 operations-and-errors (1)}
+
+
+ callFPH
+FROM Revised-Freephone-Operations
+{itu-t identified-organization etsi (0) 210 operations-and-errors (1)}
+
+
+ chargingRequest,
+ aOCSCurrency,
+ aOCSSpecialArr,
+ aOCDCurrency,
+ aOCDChargingUnit,
+ aOCECurrency,
+ aOCEChargingUnit
+FROM Revised-Advice-of-Charge-Operations
+{itu-t identified-organization etsi (0) 182 operations-and-errors (1)}
+
+
+ callInfoRetain,
+ eraseCallLinkageID,
+ cCBSRequest,
+ cCBSDeactivate,
+ cCBSInterrogate,
+ cCBSErase,
+ cCBSRemoteUserFree,
+ cCBSCall,
+ cCBSStatusRequest,
+ cCBSBFree,
+ cCBSStopAlerting
+FROM Revised-CCBS-Operation-and-Errors
+{itu-t identified-organization etsi(0) 359 operations-and-errors (1)}
+
+
+ cUGCall
+FROM Revised-Closed-User-Group-Service-Operations
+{itu-t identified-organization etsi (0) 138 operations-and-errors (1)}
+
+
+ cCBS-T-Request,
+ cCBS-T-Call,
+ cCBS-T-Suspend,
+ cCBS-T-Resume,
+ cCBS-T-RemoteUserFree,
+ cCBS-T-Available
+FROM Revised-CCBS-private-networks-Operations-and-Errors
+{itu-t identified-organization etsi (0) 359 private-networks-operations-and-errors (2)}
+
+
+ beginCONF,
+ addCONF,
+ splitCONF,
+ dropCONF,
+ isolateCONF,
+ reattachCONF,
+ partyDISC
+FROM Revised-Conference-Add-On-Operations
+{itu-t identified-organization etsi (0) 185 operations-and-types (1)}
+
+ activationDiversion,
+ deactivationDiversion,
+ activationStatusNotificationDiv,
+ deactivationStatusNotificationDiv,
+ interrogationDiversion,
+ interrogateServedUserNumbers,
+ diversionInformation,
+ callDeflection,
+ callRerouting,
+ divertingLegInformation1,
+ divertingLegInformation2,
+ divertingLegInformation3
+FROM Revised-Diversion-Operations
+{itu-t identified-organization etsi (0) 207 operations-and-errors (1)}
+
+ ectLinkIdRequest,
+ ectExecute,
+ requestSubaddress,
+ subaddressTransfer,
+ explicitEctExecute,
+ ectLoopTest,
+ ectInform
+FROM Revised-Explicit-Call-Transfer-Operations-and-Errors
+{itu-t identified-organization etsi (0) 369 operations-and-errors (1)}
+
+ identificationOfCharge
+FROM Revised-Advice-of-Charge-Interaction-Operations
+{itu-t identified-organization etsi (0) 195 operations-and-errors (1)};
+
+
+Supported-Facility-Operations OPERATION ::=
+ {
+ statusRequest |
+
+ explicitReservationCreationControl |
+ explicitReservationManagement |
+ explicitReservationCancel |
+
+ userUserService |
+
+ begin3PTY |
+ end3PTY |
+
+ activationOcb |
+ activationStatusNotificationOcb |
+ deactivationOcb |
+ deactivationStatusNotificationOcb |
+ interrogationOcb |
+ disableOcb |
+ ocbInvoked |
+
+ mWIActivate |
+ mWIDeactivate |
+ mWIIndicate |
+
+ mCIDRequest |
+
+ callFPH |
+
+ chargingRequest |
+ aOCSCurrency |
+ aOCSSpecialArr |
+ aOCDCurrency |
+ aOCDChargingUnit |
+ aOCECurrency |
+ aOCEChargingUnit |
+
+ callInfoRetain |
+ eraseCallLinkageID |
+ cCBSRequest |
+ cCBSDeactivate |
+ cCBSInterrogate |
+ cCBSErase |
+ cCBSRemoteUserFree |
+ cCBSCall |
+ cCBSStatusRequest |
+ cCBSBFree |
+ cCBSStopAlerting |
+
+ cUGCall |
+
+ cCBS-T-Request |
+ cCBS-T-Call |
+ cCBS-T-Suspend |
+ cCBS-T-Resume |
+ cCBS-T-RemoteUserFree |
+ cCBS-T-Available |
+
+ beginCONF |
+ addCONF |
+ splitCONF |
+ dropCONF |
+ isolateCONF |
+ reattachCONF |
+ partyDISC |
+
+ activationDiversion |
+ deactivationDiversion |
+ activationStatusNotificationDiv |
+ deactivationStatusNotificationDiv |
+ interrogationDiversion |
+ interrogateServedUserNumbers |
+ diversionInformation |
+ callDeflection |
+ callRerouting |
+ divertingLegInformation1 |
+ divertingLegInformation2 |
+ divertingLegInformation3 |
+
+ ectLinkIdRequest |
+ ectExecute |
+ requestSubaddress |
+ subaddressTransfer |
+ explicitEctExecute |
+ ectLoopTest |
+ ectInform |
+
+ identificationOfCharge
+
+ }
+
+
+END
diff --git a/src/Facility_Types.ttcn b/src/Facility_Types.ttcn
new file mode 100644
index 0000000..f5744d4
--- /dev/null
+++ b/src/Facility_Types.ttcn
@@ -0,0 +1,47 @@
+ ///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Facility_Types.ttcn
+// Description: Layer 3 protocol for ISDN
+//
+// References: 13/155 17-CRT 288 01 Uen Rev. C
+// DSS1 LAYER 3 PROTOCOL SPECIFICATION, MESSAGES AND
+// INFORMATION ELEMENTS FOR BOTH BASIC CALL AND SUPPLEMENTARY
+// SERVICE CONTROL, ISDN-E
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2007-07-17
+// Contact: http://ttcn.ericsson.se
+//
+
+module Facility_Types
+{
+
+//=========================================================================
+// Import Part
+//=========================================================================
+import from Facility_IE_Defs all;
+import from General_Types all;
+
+//=========================================================================
+// External functions
+//=========================================================================
+external function enc_Facility_IE ( in Facility_IE pdu ) return octetstring
+ with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" };
+external function dec_Facility_IE ( in octetstring stream ) return Facility_IE
+ with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" };
+
+external function enc_Facility_IE_fast(in Facility_IE pdu, out octetstring stream)
+ with { extension "prototype(fast) encode(BER:BER_ENCODE_DER)" };
+
+external function dec_Facility_IE_backtrack(in octetstring stream,out Facility_IE pdu) return integer
+ with { extension "prototype(backtrack) decode(BER:BER_ACCEPT_ALL)" };
+
+}//module
diff --git a/src/Revised_Addressing_Data_Elements.asn b/src/Revised_Addressing_Data_Elements.asn
new file mode 100644
index 0000000..bcd2efe
--- /dev/null
+++ b/src/Revised_Addressing_Data_Elements.asn
@@ -0,0 +1,163 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Addressing_Data_Elements.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 196-1 V1.3.2 (2001-06)
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2006.01.10.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Addressing-Data-Elements {itu-t identified-organization etsi(0) 196 revised-addressing-data-elements(14)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS PresentedAddressScreened, PresentedAddressUnscreened, PresentedNumberScreened, PresentedNumberUnscreened, Address, PartyNumber, PartySubaddress, ScreeningIndicator, PresentationAllowedIndicator;
+
+IMPORTS;
+
+PresentedAddressScreened ::= CHOICE {
+ presentationAllowedAddress [0] IMPLICIT AddressScreened,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedAddress [3] IMPLICIT AddressScreened }
+
+PresentedAddressUnscreened ::= CHOICE {
+ presentationAllowedAddress [0] IMPLICIT Address,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedAddress [3] IMPLICIT Address}
+
+PresentedNumberScreened ::= CHOICE {
+ presentationAllowedNumber [0] IMPLICIT NumberScreened,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedNumber [3] IMPLICIT NumberScreened}
+
+PresentedNumberUnscreened ::= CHOICE {
+ presentationAllowedNumber [0] PartyNumber,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedNumber [3] PartyNumber}
+
+AddressScreened ::= SEQUENCE {
+ partyNumber PartyNumber, --anonymous Notation is no longer supported in X.680
+ screeningIndicator ScreeningIndicator,
+ partySubaddress PartySubaddress OPTIONAL}
+
+NumberScreened ::= SEQUENCE {
+ partyNumber PartyNumber,
+ screeningIndicator ScreeningIndicator}
+
+Address ::= SEQUENCE {
+ partyNumber PartyNumber,
+ partySubaddress PartySubaddress OPTIONAL}
+
+PartyNumber ::= CHOICE {
+ unknownPartyNumber [0] IMPLICIT NumberDigits,
+ -- the numbering plan is the default numbering plan of the
+ -- network. It is recommended that this value is used.
+ publicPartyNumber [1] IMPLICIT PublicPartyNumber,
+ -- the numbering plan is according to
+ -- ITU-T Recommendation E.164.
+ nsapEncodedNumber [2] IMPLICIT NsapEncodedNumber,
+ -- ATM endsystem address encoded as an NSAP address.
+ dataPartyNumber [3] IMPLICIT NumberDigits,
+ -- not used, value reserved.
+ telexPartyNumber [4] IMPLICIT NumberDigits,
+ -- not used, value reserved.
+ privatePartyNumber [5] IMPLICIT PrivatePartyNumber,
+ nationalStandardPartyNumber [8] IMPLICIT NumberDigits}
+ -- not used, value reserved.
+
+PublicPartyNumber ::= SEQUENCE {
+ publicTypeOfNumber PublicTypeOfNumber,
+ publicNumberDigits NumberDigits}
+
+NsapEncodedNumber ::= OCTET STRING (SIZE(20))
+
+
+
+
+PrivatePartyNumber ::= SEQUENCE {
+ privateTypeOfNumber PrivateTypeOfNumber,
+ privateNumberDigits NumberDigits}
+
+NumberDigits ::= NumericString (SIZE(1..20))
+
+PublicTypeOfNumber ::= ENUMERATED {
+ unknown-PublicTypeOfNumber (0),
+ -- if used number digits carry prefix indicating type of
+ -- number according to national recommendations
+ internationalNumber (1),
+ nationalNumber (2),
+ networkSpecificNumber (3),
+ -- not used, value reserved
+ subscriberNumber (4),
+ abbreviated-PublicNumber (6)}
+ -- valid only for called party number at the outgoing
+ -- access, network substitutes appropriate number.
+
+PrivateTypeOfNumber ::= ENUMERATED {
+ unknownPrivateTypeOfNumber (0),
+ level2RegionalNumber (1),
+ level1RegionalNumber (2),
+ pTNSpecificNumber (3),
+ localNumber (4),
+ abbreviated-PrivateNumber (6)}
+
+PartySubaddress ::= CHOICE {
+ userSpecifiedSubaddress UserSpecifiedSubaddress,
+ -- not recommended
+ nSAPSubaddress NSAPSubaddress}
+ -- according to ITU-T Recommendation X.213
+
+UserSpecifiedSubaddress ::= SEQUENCE {
+ subaddressInformation SubaddressInformation,
+ oddCountIndicator BOOLEAN OPTIONAL}
+ -- used when the coding of subaddress is BCD
+
+NSAPSubaddress ::= OCTET STRING (SIZE(1..20))
+ -- specified according to ITU-T Recommendation X.213. Some
+ -- networks may limit the subaddress value to some other
+ -- length, e.g. 4 octets
+
+SubaddressInformation ::= OCTET STRING (SIZE(1..20))
+ -- coded according to user requirements. Some networks may
+ -- limit the subaddress value to some other length,
+ -- e.g. 4 octets
+
+ScreeningIndicator ::= ENUMERATED {
+ userProvidedNotScreened (0),
+ -- number was provided by a remote user terminal equipment,
+ -- and has been screened by a network that is not the
+ -- local public or local private network.
+ userProvidedVerifiedAndPassed (1),
+ -- number was provided by a remote user terminal equipment
+ -- (or by a remote private network), and has been screened
+ -- by the local public or local private network.
+ userProvidedVerifiedAndFailed (2),
+ -- not used, value reserved
+ networkProvided (3)}
+ -- number was provided by local public or local
+ -- private network
+
+PresentationAllowedIndicator ::= BOOLEAN
+
+END -- of Revised-Addressing-Data-Elements
diff --git a/src/Revised_Advice_of_Charge_Interaction_Operations.asn b/src/Revised_Advice_of_Charge_Interaction_Operations.asn
new file mode 100644
index 0000000..5bb6604
--- /dev/null
+++ b/src/Revised_Advice_of_Charge_Interaction_Operations.asn
@@ -0,0 +1,67 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Advice_of_Charge_Interaction_Operations.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 182-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Advice-of-Charge-Interaction-Operations {itu-t identified-organization etsi (0) 195 operations-and-errors (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+
+BEGIN
+
+
+ EXPORTS
+ identificationOfCharge;
+
+
+ IMPORTS
+ OPERATION
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ notSubscribed,
+ notAvailable,
+ supplementaryServiceInteractionNotAllowed
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)}
+
+ ChargingAssociation
+ FROM Revised-Advice-of-Charge-Operations
+ {itu-t identified-organization etsi (0) 182 operations-and-errors (1)};
+
+
+ identificationOfCharge OPERATION::=
+ {
+ ARGUMENT
+ ChargingAssociation
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ supplementaryServiceInteractionNotAllowed }
+
+ CODE local:37
+ }
+
+END -- of Advice-of-Charge-Interaction-Operations
diff --git a/src/Revised_Advice_of_Charge_Operations.asn b/src/Revised_Advice_of_Charge_Operations.asn
new file mode 100644
index 0000000..57cf9bb
--- /dev/null
+++ b/src/Revised_Advice_of_Charge_Operations.asn
@@ -0,0 +1,340 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Advice_of_Charge_Operations.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 182-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Advice-of-Charge-Operations {itu-t identified-organization etsi (0) 182 operations-and-errors (1)}
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS
+ chargingRequest,
+ aOCSCurrency,
+ aOCSSpecialArr,
+ aOCDCurrency,
+ aOCDChargingUnit,
+ aOCECurrency,
+ aOCEChargingUnit,
+ noChargingInfoAvailable,
+ ChargingAssociation;
+
+IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+ notSubscribed,
+ notAvailable,
+ notImplemented,
+ invalidCallState
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)}
+
+ PartyNumber
+ FROM Revised-Addressing-Data-Elements
+ {itu-t identified-organization etsi (0) 196 addressing-data-elements (6)};
+
+ chargingRequest OPERATION ::=
+ {
+ ARGUMENT ChargingCase
+
+ RESULT CHOICE {
+ aOCSCurrencyInfoList AOCSCurrencyInfoList,
+ aOCSSpecialArrInfo AOCSSpecialArrInfo,
+ chargingInfoFollows NULL
+ }
+
+ CODE local:30
+ }
+
+ aOCSCurrency OPERATION ::= -- AOC-S given in currency units
+ {
+ ARGUMENT CHOICE {
+ chargeNotAvailable NULL,
+ aOCSCurrencyInfoList AOCSCurrencyInfoList }
+
+ CODE local:31
+ }
+
+ aOCSSpecialArr OPERATION ::= -- AOC-S for special charging arrangement
+ {
+ ARGUMENT CHOICE {
+ chargeNotAvailable NULL,
+ aOCSSpecialArrInfo AOCSSpecialArrInfo }
+
+ CODE local:32
+ }
+
+ aOCDCurrency OPERATION ::= -- AOC-D given in currency units
+ {
+ ARGUMENT CHOICE {
+ chargeNotAvailable NULL,
+ aOCDCurrencyInfo AOCDCurrencyInfo }
+
+ CODE local:33
+ }
+
+ aOCDChargingUnit OPERATION ::= -- AOC-D given in charging units
+ {
+ ARGUMENT CHOICE {
+ chargeNotAvailable NULL,
+ aOCDChargingUnitInfo AOCDChargingUnitInfo }
+
+ CODE local:34
+ }
+
+ aOCECurrency OPERATION ::= -- AOC-E given in currency units
+ {
+ ARGUMENT CHOICE {
+ chargeNotAvailable NULL,
+ aOCECurrencyInfo AOCECurrencyInfo }
+
+ CODE local:35
+ }
+
+ aOCEChargingUnit OPERATION ::= -- AOC-E given in charging units
+ {
+ ARGUMENT CHOICE {
+ chargeNotAvailable NULL,
+ aOCEChargingUnitInfo AOCEChargingUnitInfo }
+
+ CODE local:36
+ }
+
+ ChargingCase ::=
+ ENUMERATED {
+ chargingInformationAtCallSetup (0),
+ chargingDuringACall (1),
+ chargingAtTheEndOfACall (2) }
+
+
+ AOCSCurrencyInfoList ::= SEQUENCE SIZE (1..10) OF AOCSCurrencyInfo
+
+ AOCSCurrencyInfo ::=
+ SEQUENCE {
+ chargedItem ChargedItem,
+ cc
+ CHOICE {
+ specificCurrency
+ CHOICE {
+ durationCurrency [1] DurationCurrency,
+ flatRateCurrency [2] FlatRateCurrency,
+ volumeRateCurrency [3] VolumeRateCurrency },
+ specialChargingCode SpecialChargingCode,
+ freeOfCharge [4] NULL,
+ currencyInfoNotAvailable [5] NULL } }
+
+
+ AOCSSpecialArrInfo ::= INTEGER (1..10)
+
+
+ ChargedItem ::=
+ ENUMERATED {
+ basicCommunication (0),
+ callAttempt (1),
+ callSetup (2),
+ userToUserInfo (3),
+ operationOfSupplementaryService (4) }
+
+
+ DurationCurrency ::=
+ SEQUENCE {
+ dCurrency [1] Currency,
+ dAmount [2] Amount,
+ dChargingType [3] ChargingType,
+ dTime [4] Time,
+ dGranularity [5] Time OPTIONAL }
+
+
+ FlatRateCurrency ::=
+ SEQUENCE {
+ fRCurrency [1] Currency,
+ fRAmount [2] Amount }
+
+
+ VolumeRateCurrency ::=
+ SEQUENCE {
+ vRCurrency [1] Currency,
+ vRAmount [2] Amount,
+ vRVolumeUnit [3] VolumeUnit }
+
+
+ SpecialChargingCode ::= INTEGER (1..10)
+
+
+ AOCDCurrencyInfo ::=
+ CHOICE {
+ specificCurrency
+ SEQUENCE {
+ recordedCurrency [1] RecordedCurrency,
+ typeOfChargingInfo [2] TypeOfChargingInfo,
+ aOCDBillingId [3] AOCDBillingId OPTIONAL },
+ freeOfCharge [1] NULL }
+
+
+ AOCDChargingUnitInfo ::=
+ CHOICE {
+ specificChargingUnits
+ SEQUENCE {
+ recordedUnitsList [1] RecordedUnitsList,
+ typeOfChargingInfo [2] TypeOfChargingInfo,
+ aOCDBillingId [3] AOCDBillingId OPTIONAL },
+ freeOfCharge [1] NULL }
+
+
+ RecordedCurrency ::=
+ SEQUENCE {
+ rCurrency [1] Currency,
+ rAmount [2] Amount }
+
+
+ RecordedUnitsList ::= SEQUENCE SIZE (1..32) OF RecordedUnits
+
+
+ TypeOfChargingInfo ::=
+ ENUMERATED {
+ subTotal (0),
+ total (1) }
+
+
+ RecordedUnits ::=
+ SEQUENCE {
+ cc CHOICE {
+ recordedNumberOfUnits NumberOfUnits,
+ notAvailable NULL },
+ recordedTypeOfUnits TypeOfUnit OPTIONAL }
+
+
+ AOCDBillingId ::=
+ ENUMERATED {
+ normalCharging (0),
+ reverseCharging (1),
+ creditCardCharging (2) }
+
+
+ AOCECurrencyInfo ::=
+ SEQUENCE {
+ cc CHOICE {
+ specificCurrency SEQUENCE {
+ recordedCurrency [1] RecordedCurrency,
+ aOCEBillingId [2] AOCEBillingId OPTIONAL },
+ freeOfCharge [1] NULL },
+ chargingAssociation ChargingAssociation OPTIONAL }
+
+
+ AOCEChargingUnitInfo ::=
+ SEQUENCE {
+ cc CHOICE {
+ specificChargingUnits SEQUENCE {
+ recordedUnitsList [1] RecordedUnitsList,
+ aOCEBillingId [2] AOCEBillingId OPTIONAL },
+ freeOfCharge [1] NULL },
+ chargingAssociation ChargingAssociation OPTIONAL }
+
+ AOCEBillingId ::=
+ ENUMERATED {
+ normalCharging (0),
+ reverseCharging (1),
+ creditCardCharging (2),
+ callForwardingUnconditional (3),
+ callForwardingBusy (4),
+ callForwardingNoReply (5),
+ callDeflection (6),
+ callTransfer (7) }
+
+
+ Currency ::= IA5String (SIZE (1..10))
+
+
+ Amount ::=
+ SEQUENCE {
+ currencyAmount [1] CurrencyAmount,
+ multiplier [2] Multiplier }
+
+
+ CurrencyAmount ::= INTEGER (0..16777215)
+
+
+ Multiplier ::=
+ ENUMERATED {
+ oneThousandth (0),
+ oneHundredth (1),
+ oneTenth (2),
+ one (3),
+ ten (4),
+ hundred (5),
+ thousand (6) }
+
+
+ Time ::=
+ SEQUENCE {
+ lengthOfTimeUnit [1] LengthOfTimeUnit,
+ scale [2] Scale }
+
+
+ LengthOfTimeUnit ::= INTEGER (0..16777215)
+
+ Scale ::=
+ ENUMERATED {
+ oneHundredthSecond (0),
+ oneTenthSecond (1),
+ oneSecond (2),
+ tenSeconds (3),
+ oneMinute (4),
+ oneHour (5),
+ twentyFourHours (6) }
+
+
+ VolumeUnit ::=
+ ENUMERATED {
+ octet (0),
+ segment (1),
+ message (2) }
+
+
+ TypeOfUnit ::= INTEGER (1..16) -- Value 1-16
+
+
+ NumberOfUnits ::= INTEGER (0..16777215)
+
+
+ ChargingType ::=
+ ENUMERATED {
+ continuousCharging (0),
+ stepFunction (1) }
+
+
+ ChargingAssociation ::=
+ CHOICE {
+ chargeNumber [0] EXPLICIT PartyNumber,
+ chargeIdentifier ChargeIdentifier }
+
+
+ ChargeIdentifier ::= INTEGER (-32768..32767)
+
+ noChargingInfoAvailable ERROR ::= {CODE local:16}
+
+
+END
diff --git a/src/Revised_Basic_Service_Elements.asn b/src/Revised_Basic_Service_Elements.asn
new file mode 100644
index 0000000..6167629
--- /dev/null
+++ b/src/Revised_Basic_Service_Elements.asn
@@ -0,0 +1,55 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Basic_Service_Elements.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 196-1 V1.3.2 (2001-06)
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2006.01.10.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Basic-Service-Elements {itu-t identified-organization etsi(0) 196 revised-basic-service-elements(16)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS BasicService;
+
+IMPORTS;
+
+BasicService ::= ENUMERATED {
+ allServices (0),
+ speech (1),
+ unrestrictedDigitalInformation (2),
+ audio3k1Hz (3),
+ unrestrictedDigitalInformationWithTonesAndAnnouncements (4),
+ multirate(5),
+ telephony3k1Hz (32),
+ teletex (33),
+ telefaxGroup4Class1 (34),
+ videotexSyntaxBased (35),
+ videotelephony (36),
+ telefaxGroup2-3 (37),
+ telephony7kHz (38),
+ euroFileTransfer (39),
+ fileTransferAndAccessManagement (40),
+ videoconference (41),
+ audioGraphicConference (42)
+ }
+
+END -- of Revised-Basic-Service-Elements
diff --git a/src/Revised_CCBS_Operation_and_Errors.asn b/src/Revised_CCBS_Operation_and_Errors.asn
new file mode 100644
index 0000000..639515b
--- /dev/null
+++ b/src/Revised_CCBS_Operation_and_Errors.asn
@@ -0,0 +1,282 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_CCBS_Operation_and_Errors.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 359-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-CCBS-Operation-and-Errors {itu-t identified-organization etsi(0) 359 operations-and-errors (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+
+BEGIN
+
+
+ EXPORTS
+ callInfoRetain,
+ eraseCallLinkageID,
+ cCBSRequest,
+ cCBSDeactivate,
+ cCBSInterrogate,
+ cCBSErase,
+ cCBSRemoteUserFree,
+ cCBSCall,
+ cCBSStatusRequest,
+ cCBSBFree,
+ cCBSStopAlerting,
+ invalidCallLinkageID,
+ invalidCCBSReference,
+ longTermDenial,
+ shortTermDenial,
+ cCBSIsAlreadyActivated,
+ alreadyAccepted,
+ outgoingCCBSQueueFull,
+ callFailureReasonNotBusy,
+ notReadyForCall;
+
+
+ IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ notSubscribed,
+ supplementaryServiceInteractionNotAllowed
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)}
+
+
+ Address,
+ PartyNumber,
+ PartySubaddress
+ FROM Revised-Addressing-Data-Elements
+ {itu-t identified-organization etsi (0) 196 addressing-data-elements (6)}
+
+
+ Q931InformationElement
+ FROM Revised-Embedded-Q931-Types
+ {itu-t identified-organization etsi (0) 196 embedded-q931-types (7)};
+
+ callInfoRetain OPERATION::=
+ {
+ ARGUMENT CallLinkageID
+
+ CODE global: {cCBSOID 1}
+ }
+
+ eraseCallLinkageID OPERATION::=
+ {
+ ARGUMENT CallLinkageID
+
+ CODE global: {cCBSOID 10}
+ }
+
+ cCBSRequest OPERATION::=
+ {
+ ARGUMENT CallLinkageID
+
+ RESULT
+ SEQUENCE {
+ recallMode RecallMode,
+ cCBCReference CCBSReference }
+
+
+ ERRORS {
+ notSubscribed |
+ invalidCallLinkageID |
+ shortTermDenial |
+ longTermDenial |
+ cCBSIsAlreadyActivated |
+ supplementaryServiceInteractionNotAllowed |
+ outgoingCCBSQueueFull |
+ callFailureReasonNotBusy }
+
+ CODE global: {cCBSOID 2}
+ }
+
+
+ cCBSInterrogate OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ cCBSReference CCBSReference OPTIONAL,
+ partyNumberOfA PartyNumber OPTIONAL }
+
+
+ RESULT SEQUENCE {
+ recallMode RecallMode,
+ callDetails CallDetails OPTIONAL }
+
+
+ ERRORS {
+ invalidCCBSReference |
+ notSubscribed }
+
+ CODE global: {cCBSOID 4}
+ }
+
+
+ cCBSDeactivate OPERATION::=
+ {
+ ARGUMENT CCBSReference
+
+ ERRORS {
+ invalidCCBSReference }
+
+ CODE global: {cCBSOID 3}
+ }
+
+
+ cCBSErase OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ recallMode RecallMode,
+ cCBSReference CCBSReference,
+ addressOfB Address,
+ q931InfoElement Q931InformationElement,
+ eraseReason CCBSEraseReason }
+ -- The Bearer capability, High layer compatibility (optional) and
+ -- Low layer compatibility (optional) information elements shall be
+ -- embedded in q931InfoElement.
+
+ CODE global: {cCBSOID 5}
+ }
+
+
+ cCBSRemoteUserFree OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ recallMode RecallMode,
+ cCBSReference CCBSReference,
+ addressOfB Address,
+ q931InfoElement Q931InformationElement }
+ -- The Bearer capability, High layer compatibility (optional) and
+ -- Low layer compatibility (optional) information elements shall be
+ -- embedded in q931InfoElement.
+
+ CODE global: {cCBSOID 6}
+ }
+
+
+ cCBSBFree OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ recallMode RecallMode,
+ cCBSReference CCBSReference,
+ addressOfB Address,
+ q931InfoElement Q931InformationElement }
+ -- The Bearer capability, High layer compatibility (optional) and
+ -- Low layer compatibility (optional) information elements shall be
+ -- embedded in q931InfoElement.
+
+ CODE global: {cCBSOID 9}
+ }
+
+
+ cCBSCall OPERATION::=
+ {
+ ARGUMENT CCBSReference
+
+
+ ERRORS {
+ invalidCCBSReference |
+ alreadyAccepted |
+ notReadyForCall }
+
+ CODE global: {cCBSOID 7}
+ }
+
+
+ cCBSStatusRequest OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ recallMode RecallMode,
+ cCBSReference CCBSReference,
+ q931InfoElement Q931InformationElement }
+ -- The Bearer capability, High layer compatibility (optional) and
+ -- Low layer compatibility (optional) information elements shall be
+ -- embedded in q931InfoElement.
+
+
+ RESULT BOOLEAN -- free=TRUE, busy=FALSE
+
+ CODE global: {cCBSOID 8}
+ }
+
+
+ cCBSStopAlerting OPERATION::=
+ {
+ ARGUMENT CCBSReference
+
+ CODE global: {cCBSOID 11}
+ }
+
+
+ CallDetails ::= SEQUENCE SIZE(1..5) OF CallInformation
+
+
+ CallInformation ::=
+ SEQUENCE {
+ addressOfB Address,
+ q931InfoElement Q931InformationElement,
+ cCBSReference CCBSReference,
+ subAddressOfA PartySubaddress OPTIONAL }
+ -- The Bearer capability, High layer compatibility (optional) and Low
+ -- layer compatibility (optional) information elements shall be
+ -- embedded in q931InfoElement.
+
+
+ CallLinkageID ::= INTEGER (0..127)
+ CCBSReference ::= INTEGER (0..127)
+
+
+ CCBSEraseReason ::=
+ ENUMERATED {
+ normal-unspecified (0),
+ t-CCBS2-timeout (1),
+ t-CCBS3-timeout (2),
+ basic-call-failed (3) }
+
+
+ RecallMode ::=
+ ENUMERATED {
+ globalRecall (0),
+ specificRecall (1) }
+
+
+ cCBSOID OBJECT IDENTIFIER ::= {itu-t identified-organization etsi (0) 359
+ operations-and-errors (1)}
+
+
+ invalidCallLinkageID ERROR ::={ CODE global:{cCBSOID 20}}
+ invalidCCBSReference ERROR ::={ CODE global:{cCBSOID 21}}
+ longTermDenial ERROR ::={ CODE global:{cCBSOID 22}}
+ shortTermDenial ERROR ::={ CODE global:{cCBSOID 23}}
+ cCBSIsAlreadyActivated ERROR ::={ CODE global:{cCBSOID 24}}
+ alreadyAccepted ERROR ::={ CODE global:{cCBSOID 25}}
+ outgoingCCBSQueueFull ERROR ::={ CODE global:{cCBSOID 26}}
+ callFailureReasonNotBusy ERROR ::={ CODE global:{cCBSOID 27}}
+ notReadyForCall ERROR ::={ CODE global:{cCBSOID 28}}
+
+
+
+END -- of CCBS-Operations-and-Errors
diff --git a/src/Revised_CCBS_private_networks_Operations_and_Errors.asn b/src/Revised_CCBS_private_networks_Operations_and_Errors.asn
new file mode 100644
index 0000000..2428fd9
--- /dev/null
+++ b/src/Revised_CCBS_private_networks_Operations_and_Errors.asn
@@ -0,0 +1,125 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_CCBS_private_networks_Operations_and_Errors.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 359-2
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-CCBS-private-networks-Operations-and-Errors {itu-t identified-organization etsi (0) 359 private-networks-operations-and-errors (2)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+
+BEGIN
+
+
+ EXPORTS
+ cCBS-T-Request,
+ cCBS-T-Call,
+ cCBS-T-Suspend,
+ cCBS-T-Resume,
+ cCBS-T-RemoteUserFree,
+ cCBS-T-Available,
+ longTermDenial,
+ shortTermDenial;
+
+
+ IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ notSubscribed
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)}
+
+
+ Address
+ FROM Revised-Addressing-Data-Elements
+ {itu-t identified-organization etsi (0) 196 addressing-data-elements (6)}
+
+
+ Q931InformationElement
+ FROM Revised-Embedded-Q931-Types
+ {itu-t identified-organization etsi (0) 196 embedded-q931-types (7)};
+
+ cCBS-T-Request OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ destinationAddress Address,
+ q931InfoElement Q931InformationElement,
+ retentionSupported [1] IMPLICIT BOOLEAN DEFAULT FALSE,
+ presentationAllowedIndicator [2] IMPLICIT BOOLEAN OPTIONAL,
+ originatingAddress Address OPTIONAL }
+ -- contains HLC, LLC and BC information
+ -- The use of presentationAllowedIndicator and originating-
+ -- Address is specified in ..ETS 300 195.. for the interaction
+ -- of CCBS and CLIP
+
+ RESULT BOOLEAN -- Default False
+
+ ERRORS {
+ shortTermDenial |
+ notSubscribed |
+ longTermDenial }
+
+ CODE global:{cCBS-T-OID 1}
+ }
+
+ cCBS-T-Call OPERATION ::=
+ {
+ CODE global:{cCBS-T-OID 2}
+ }
+
+
+ cCBS-T-Suspend OPERATION ::=
+ {
+ CODE global:{cCBS-T-OID 3}
+ }
+
+
+ cCBS-T-Resume OPERATION::=
+ {
+ CODE global:{cCBS-T-OID 4}
+ }
+
+
+ cCBS-T-RemoteUserFree OPERATION::=
+ {
+ CODE global:{cCBS-T-OID 5}
+ }
+
+
+ cCBS-T-Available OPERATION::=
+ {
+ CODE global:{cCBS-T-OID 6}
+ }
+
+
+ cCBS-T-OID OBJECT IDENTIFIER ::= {itu-t identified-organization etsi (0) 359 private-network-operations-and-errors (2)}
+
+
+ longTermDenial ERROR ::={CODE global:{cCBS-T-OID 20}}
+ shortTermDenial ERROR ::={CODE global:{cCBS-T-OID 21}}
+
+
+END -- of CCBS-private-networks-operations-and-errors
diff --git a/src/Revised_Closed_User_Group_Service_Operations.asn b/src/Revised_Closed_User_Group_Service_Operations.asn
new file mode 100644
index 0000000..5ea9d51
--- /dev/null
+++ b/src/Revised_Closed_User_Group_Service_Operations.asn
@@ -0,0 +1,85 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Explicit_Call_Transfer_Operations_and_Errors.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 138-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Closed-User-Group-Service-Operations {itu-t identified-organization etsi (0) 138 operations-and-errors (1)}
+
+DEFINITIONS ::=
+
+BEGIN
+
+EXPORTS
+ cUGCall,
+ invalidOrUnregisteredCUGIndex,
+ requestedBasicServiceViolatesCUGConstraints,
+ outgoingCallsBarredWithinCUG,
+ incomingCallsBarredWithinCUG,
+ userNotMemberOfCUG,
+ inconsistencyInDesignatedFacilityAndSubscriberClass;
+
+IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+ notSubscribed,
+ basicServiceNotProvided
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)};
+
+ cUGCall OPERATION ::=
+ {
+ -- in Facility Information element. Invoked from calling user to
+ -- originating network side. Also from destination network side to
+ -- called user
+ ARGUMENT SEQUENCE {
+ oARequested OARequested DEFAULT FALSE,
+ cUGIndex CUGIndex OPTIONAL }
+
+ ERRORS {
+ invalidOrUnregisteredCUGIndex |
+ requestedBasicServiceViolatesCUGConstraints |
+ outgoingCallsBarredWithinCUG |
+ incomingCallsBarredWithinCUG |
+ userNotMemberOfCUG |
+ basicServiceNotProvided |
+ inconsistencyInDesignatedFacilityAndSubscriberClass |
+ notSubscribed }
+
+ CODE local:2
+
+ }
+
+ OARequested ::= [1] IMPLICIT BOOLEAN
+
+ CUGIndex ::= [2] IMPLICIT INTEGER (0..32767)
+
+ invalidOrUnregisteredCUGIndex ERROR ::= {CODE local:16}
+ requestedBasicServiceViolatesCUGConstraints ERROR ::= {CODE local:17}
+ outgoingCallsBarredWithinCUG ERROR ::= {CODE local:18}
+ incomingCallsBarredWithinCUG ERROR ::= {CODE local:19}
+ userNotMemberOfCUG ERROR ::= {CODE local:20}
+ inconsistencyInDesignatedFacilityAndSubscriberClass ERROR ::= {CODE local:21}
+
+END
diff --git a/src/Revised_Conference_Add_On_Operations.asn b/src/Revised_Conference_Add_On_Operations.asn
new file mode 100644
index 0000000..b53f723
--- /dev/null
+++ b/src/Revised_Conference_Add_On_Operations.asn
@@ -0,0 +1,181 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Explicit_Call_Transfer_Operations_and_Errors.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 185-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Conference-Add-On-Operations {itu-t identified-organization etsi (0) 185 operations-and-types (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS
+ beginCONF,
+ addCONF,
+ splitCONF,
+ dropCONF,
+ isolateCONF,
+ reattachCONF,
+ partyDISC,
+ illConferenceId,
+ illPartyId,
+ identifyConferee,
+ numberOfPartiesExceeded,
+ notActive,
+ notAllowed,
+ PartyId,
+ ConferenceId,
+ ConfSize;
+
+IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ notSubscribed,
+ notAvailable,
+ supplementaryServiceInteractionNotAllowed,
+ resourceUnavailable,
+ invalidCallState
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)};
+
+
+ beginCONF OPERATION::=
+ {
+ ARGUMENT ConfSize -- optional
+
+ RESULT SEQUENCE {
+ conferenceId ConferenceId,
+ partyId PartyId OPTIONAL }
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ resourceUnavailable |
+ invalidCallState |
+ numberOfPartiesExceeded }
+
+ CODE local:40
+ }
+
+ addCONF OPERATION::=
+ {
+ ARGUMENT ConferenceId
+
+ RESULT PartyId
+
+ ERRORS {
+ illConferenceId |
+ numberOfPartiesExceeded |
+ notAllowed |
+ supplementaryServiceInteractionNotAllowed |
+ invalidCallState }
+
+ CODE local:41
+ }
+
+
+ splitCONF OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ conferenceId ConferenceId,
+ partyId PartyId }
+
+ ERRORS {
+ illConferenceId |
+ illPartyId }
+
+ CODE local:42
+ }
+
+
+ dropCONF OPERATION ::=
+ {
+ ARGUMENT PartyId
+
+ ERRORS {
+ illPartyId |
+ notActive }
+
+ CODE local:43
+ }
+
+
+ isolateCONF OPERATION::=
+ {
+ ARGUMENT PartyId
+
+ ERRORS {
+ illPartyId |
+ notActive }
+
+ CODE local:44
+ }
+
+
+ reattachCONF OPERATION::=
+ {
+ ARGUMENT PartyId
+
+ ERRORS {
+ illPartyId |
+ notActive }
+
+ CODE local:45
+ }
+
+
+ partyDISC OPERATION::=
+ {
+ ARGUMENT PartyId
+
+ CODE local:46
+ }
+
+ identifyConferee OPERATION::=
+ {
+ ARGUMENT PartyId
+
+ CODE local:49
+ }
+
+
+ PartyId ::= INTEGER (0..127)
+
+
+ ConferenceId ::= INTEGER (0..127)
+
+
+ ConfSize ::= INTEGER (0..127)
+
+
+ illConferenceId ERROR ::= {CODE local:28}
+ illPartyId ERROR ::= {CODE local:29}
+ numberOfPartiesExceeded ERROR ::= {CODE local:30}
+ notActive ERROR ::= {CODE local:31}
+ notAllowed ERROR ::= {CODE local:32}
+
+
+END -- of Conference-Add-On-Operations
diff --git a/src/Revised_Diversion_Operations.asn b/src/Revised_Diversion_Operations.asn
new file mode 100644
index 0000000..29df596
--- /dev/null
+++ b/src/Revised_Diversion_Operations.asn
@@ -0,0 +1,395 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Diversion_Operations.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 207-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Diversion-Operations {itu-t identified-organization etsi (0) 207 operations-and-errors (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+ EXPORTS
+ activationDiversion,
+ deactivationDiversion,
+ activationStatusNotificationDiv,
+ deactivationStatusNotificationDiv,
+ interrogationDiversion,
+ interrogateServedUserNumbers,
+ diversionInformation,
+ callDeflection,
+ callRerouting,
+ divertingLegInformation1,
+ divertingLegInformation2,
+ divertingLegInformation3,
+ invalidDivertedToNr,
+ specialServiceNr,
+ diversionToServedUserNr,
+ incomingCallAccepted,
+ numberOfDiversionsExceeded,
+ requestAlreadyAccepted,
+ notActivated;
+
+ IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ PartyNumber,
+ PartySubaddress,
+ Address,
+ PresentationAllowedIndicator,
+ PresentedAddressScreened,
+ PresentedNumberUnscreened
+ FROM Revised-Addressing-Data-Elements
+ {itu-t identified-organization etsi (0) 196 addressing-data-elements (6)}
+
+
+ BasicService
+ FROM Revised-Basic-Service-Elements
+ {itu-t identified-organization etsi (0) 196 basic-service-elements (8)}
+
+ notSubscribed,
+ notAvailable,
+ supplementaryServiceInteractionNotAllowed,
+ basicServiceNotProvided,
+ invalidServedUserNr,
+ resourceUnavailable
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)}
+
+ Service,
+ Preferred
+ FROM Revised-UUS-Operations
+ {itu-t identified-organization etsi (0) 286 operations-and-errors (1)}
+
+
+ Q931InformationElement
+ FROM Revised-Embedded-Q931-Types
+ {itu-t identified-organization etsi (0) 196 embedded-q931-types (7)};
+
+ activationDiversion OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ procedure Procedure,
+ basicService BasicService,
+ forwardedToAddress Address,
+ servedUserNr ServedUserNr }
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ invalidServedUserNr |
+ supplementaryServiceInteractionNotAllowed |
+ basicServiceNotProvided |
+ resourceUnavailable |
+ invalidDivertedToNr |
+ specialServiceNr |
+ diversionToServedUserNr }
+
+ CODE local:7
+ }
+
+
+ -- End of ActivationDiversion operation definition
+
+
+ deactivationDiversion OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ procedure Procedure,
+ basicService BasicService,
+ servedUserNr ServedUserNr }
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ invalidServedUserNr |
+ notActivated }
+
+ CODE local:8
+ }
+
+
+ -- End of DeactivationDiversion operation definition
+
+
+ activationStatusNotificationDiv OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ procedure Procedure,
+ basicService BasicService,
+ forwardedToAddress Address,
+ servedUserNr ServedUserNr }
+
+ CODE local:9
+ }
+
+ -- End of ActivationStatusNotificationDiv operation definition
+
+
+ deactivationStatusNotificationDiv OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ procedure Procedure,
+ basicService BasicService,
+ servedUserNr ServedUserNr }
+
+ CODE local:10
+ }
+
+
+ -- End of DeactivationStatusNotificationDiv operation definition
+
+
+ interrogationDiversion OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ procedure Procedure,
+ basicService BasicService DEFAULT allServices,
+ servedUserNr ServedUserNr }
+
+ RESULT
+ IntResultList
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ invalidServedUserNr }
+
+ CODE local:11
+ }
+
+
+ -- End of InterrogationDiversion operation definition
+
+
+ interrogateServedUserNumbers OPERATION::=
+ {
+ RESULT
+ ServedUserNumberList
+
+
+ ERRORS {
+ notSubscribed |
+ notAvailable }
+
+ CODE local:17
+ }
+
+
+ -- End of InterrogateServedUserNumbers operation definition
+
+
+ diversionInformation OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ diversionReason DiversionReason,
+ basicService BasicService,
+ servedUserSubaddress PartySubaddress OPTIONAL,
+ callingAddress [0] PresentedAddressScreened OPTIONAL,
+ originalCalledNr [1] PresentedNumberUnscreened OPTIONAL,
+ lastDivertingNr [2] PresentedNumberUnscreened OPTIONAL,
+ lastDivertingReason [3] DiversionReason OPTIONAL,
+ userInfo Q931InformationElement OPTIONAL }
+ -- The User-user information element, as specified in the DSS1 L3
+ -- protocol FS shall be embedded in the userInfo parameter
+
+ CODE local:12
+
+ }
+ -- End of DiversionInformation operation definition
+
+
+ callDeflection OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ deflectionAddress Address,
+ presentationAllowedDivertedToUser PresentationAllowedIndicator
+ OPTIONAL }
+
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ invalidDivertedToNr |
+ specialServiceNr |
+ diversionToServedUserNr |
+ incomingCallAccepted |
+ numberOfDiversionsExceeded |
+ supplementaryServiceInteractionNotAllowed |
+ requestAlreadyAccepted }
+
+ CODE local:13
+ }
+
+
+ -- End of CallDeflection operation definition
+
+
+ callRerouting OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ reroutingReason DiversionReason,
+ calledAddress Address,
+ reroutingCounter DiversionCounter,
+ q931InfoElement Q931InformationElement,
+ lastReroutingNr [1] PresentedNumberUnscreened,
+ subscriptionOption [2] SubscriptionOption DEFAULT noNotification,
+ callingPartySubaddress [3] PartySubaddress OPTIONAL }
+ -- The User-user information element (optional), High layer
+ -- compatibility information element (optional), Bearer capability
+ -- information element and Low layer compatibility information
+ -- element (optional) as specified in the DSS1 L3 protocol FS shall be
+ -- embedded in the q931InfoElement
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ supplementaryServiceInteractionNotAllowed |
+ resourceUnavailable |
+ invalidDivertedToNr |
+ specialServiceNr |
+ diversionToServedUserNr |
+ numberOfDiversionsExceeded }
+
+ CODE local:14
+ }
+
+
+ -- End of CallRerouting operation definition
+
+
+ divertingLegInformation1 OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ diversionReason DiversionReason,
+ subscriptionOption SubscriptionOption,
+ divertedToNumber PresentedNumberUnscreened OPTIONAL }
+
+ CODE local:18
+ }
+
+
+ -- End of DivertingLegInformation1 operation definition
+
+
+ divertingLegInformation2 OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ diversionCounter DiversionCounter,
+ diversionReason DiversionReason,
+ divertingNr [1] PresentedNumberUnscreened OPTIONAL,
+ originalCalledNr [2] PresentedNumberUnscreened OPTIONAL }
+
+ CODE local:15
+ }
+
+
+ -- End of DivertingLegInformation2 operation definition
+
+ divertingLegInformation3 OPERATION::=
+ {
+ ARGUMENT PresentationAllowedIndicator
+
+ CODE local:19
+ }
+
+ uUSRequest OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ service [1] IMPLICIT Service,
+ preferred [2] IMPLICIT Preferred }
+
+ CODE local:66
+ }
+
+ -- End of DivertingLegInformation3 operation definition
+
+
+ -- The ETS specifies SIZE (0..29)
+ -- Buffer implementation only supports SIZE (0..10)
+ -- IntResultList ::= SET SIZE (0..29) OF IntResult
+ IntResultList ::= SET SIZE (0..10) OF IntResult
+
+
+ IntResult ::=
+ SEQUENCE {
+ servedUserNr ServedUserNr,
+ basicService BasicService,
+ procedure Procedure,
+ forwardedToAddress Address }
+
+
+ ServedUserNr ::=
+ CHOICE {
+ individualNumbers PartyNumber,
+ allNumbers NULL }
+
+
+ DiversionCounter ::= INTEGER (1..5)
+
+
+ SubscriptionOption ::=
+ ENUMERATED {
+ noNotification (0),
+ notificationWithoutDivertedToNr (1),
+ notificationWithDivertedToNr (2) }
+
+
+ Procedure ::=
+ ENUMERATED {
+ cfu (0),
+ cfb (1),
+ cfnr (2) }
+
+
+ -- The ETS specifies SIZE (0..99)
+ -- Buffer implementation only supports SIZE (0..31)
+ -- ServedUserNumberList ::= SET SIZE (0..99) OF PartyNumber
+ ServedUserNumberList ::= SET SIZE (0..31) OF PartyNumber
+
+
+ DiversionReason ::=
+ ENUMERATED {
+ unknown (0),
+ cfu (1),
+ cfb (2),
+ cfnr (3),
+ cdAlerting (4),
+ cdImmediate (5) }
+
+
+ invalidDivertedToNr ERROR ::= {CODE local:12}
+ specialServiceNr ERROR ::= {CODE local:14}
+ diversionToServedUserNr ERROR ::= {CODE local:15}
+ incomingCallAccepted ERROR ::= {CODE local:23}
+ numberOfDiversionsExceeded ERROR ::= {CODE local:24}
+ requestAlreadyAccepted ERROR ::= {CODE local:48}
+ notActivated ERROR ::= {CODE local:46}
+
+
+
+END -- of diversion operation definitions
+
\ No newline at end of file
diff --git a/src/Revised_Embedded_Q931_Types.asn b/src/Revised_Embedded_Q931_Types.asn
new file mode 100644
index 0000000..8d74166
--- /dev/null
+++ b/src/Revised_Embedded_Q931_Types.asn
@@ -0,0 +1,35 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Embedded_Q931_Types.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 196-1 V1.3.2 (2001-06)
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2006.01.10.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Embedded-Q931-Types {itu-t identified-organization etsi(0) 196 revised-embedded-q931-types(15)}
+DEFINITIONS EXPLICIT TAGS ::=
+BEGIN
+
+EXPORTS Q931InformationElement;
+
+IMPORTS;
+
+Q931InformationElement ::= [APPLICATION 0] IMPLICIT OCTET STRING
+
+END -- of Revised-Embedded-Q931-Types
diff --git a/src/Revised_Explicit_Call_Transfer_Operations_and_Errors.asn b/src/Revised_Explicit_Call_Transfer_Operations_and_Errors.asn
new file mode 100644
index 0000000..7a9bd26
--- /dev/null
+++ b/src/Revised_Explicit_Call_Transfer_Operations_and_Errors.asn
@@ -0,0 +1,174 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Explicit_Call_Transfer_Operations_and_Errors.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 369-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Explicit-Call-Transfer-Operations-and-Errors {itu-t identified-organization etsi (0) 369 operations-and-errors (1)}
+
+DEFINITIONS ::=
+
+
+BEGIN
+
+
+ EXPORTS
+ ectLinkIdRequest,
+ ectExecute,
+ requestSubaddress,
+ subaddressTransfer,
+ explicitEctExecute,
+ linkIdNotAssignedByNetwork,
+ ectLoopTest,
+ ectInform;
+
+
+ IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ notAvailable,
+ notSubscribed,
+ resourceUnavailable,
+ supplementaryServiceInteractionNotAllowed,
+ invalidCallState
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)}
+
+
+ PartySubaddress,
+ PresentedNumberUnscreened
+ FROM Revised-Addressing-Data-Elements
+ {itu-t identified-organization etsi (0) 196 addressing-data-elements (6)};
+
+
+ ectLinkIdRequest OPERATION::=
+ {
+ RESULT
+ LinkId
+
+
+ ERRORS {
+ resourceUnavailable }
+
+ CODE global:{eCTOID ectLinkIdRequest-operation (4)}
+ }
+
+
+ ectExecute OPERATION::=
+ {
+ ERRORS {
+ notAvailable |
+ notSubscribed |
+ invalidCallState |
+ supplementaryServiceInteractionNotAllowed }
+
+ CODE local:6
+ }
+
+
+ explicitEctExecute OPERATION::=
+ {
+ ARGUMENT
+ LinkId
+
+ ERRORS {
+ notAvailable |
+ notSubscribed |
+ invalidCallState |
+ supplementaryServiceInteractionNotAllowed |
+ linkIdNotAssignedByNetwork }
+
+ CODE global:{eCTOID explicitEctExecute-operation (1)}
+ }
+
+
+ requestSubaddress OPERATION::=
+ {
+ CODE global:{eCTOID requestSubAddress-operation (2)}
+ }
+
+
+ subaddressTransfer OPERATION::=
+ {
+ ARGUMENT PartySubaddress
+
+ CODE global:{eCTOID subaddressTransfer-operation (3)}
+ }
+
+
+ ectInform OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ en ENUMERATED {
+ alerting (0),
+ active (1) },
+ redirectionNumber PresentedNumberUnscreened OPTIONAL }
+
+ CODE global:{eCTOID ectInform-operation (5)}
+ }
+
+
+ ectLoopTest OPERATION::=
+ {
+ ARGUMENT
+ CallTransferIdentity
+
+
+ RESULT
+ LoopResult
+
+
+ ERRORS {
+ notAvailable }
+
+ CODE global:{eCTOID ectLoopTest-operation (6)}
+ }
+
+
+ LoopResult ::=
+ ENUMERATED {
+ insufficientInformation (0),
+ noLoopExists (1),
+ simultaneousTransfer (2) }
+
+
+ CallTransferIdentity ::= INTEGER (-128..127)
+
+
+ LinkId ::= INTEGER (-32768..32767)
+
+
+
+ eCTOID OBJECT IDENTIFIER ::= {itu-t identified-organization etsi (0) 369
+ operation-and-errors (1)}
+
+
+ linkIdNotAssignedByNetwork ERROR ::= {CODE global:{eCTOID linkIdNotAssignedByNetwork-error (21)}}
+
+
+
+
+
+END --Explicit-Call-Transfer-Operations-And-Errors
diff --git a/src/Revised_Explicit_Network_Controlled_Channel_Reservation.asn b/src/Revised_Explicit_Network_Controlled_Channel_Reservation.asn
new file mode 100644
index 0000000..7cdbc3e
--- /dev/null
+++ b/src/Revised_Explicit_Network_Controlled_Channel_Reservation.asn
@@ -0,0 +1,86 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Explicit_Network_Controlled_Channel_Reservation.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 196-1 V1.3.2 (2001-06)
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2006.01.10.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Explicit-Network-Controlled-Channel-Reservation {itu-t identified-organization etsi(0) 196
+ revised-explicit-network-controlled-channel-reservation(12)}
+
+DEFINITIONS ::=
+
+BEGIN
+
+EXPORTS explicitReservationCreationControl, explicitReservationManagement, explicitReservationCancel, maximumNumberOfReservationsReached, noExplicitReservationExistsOrInvalidReservationIndicator, unwantedReservationCreated, implicitReservationUsed, ReservationIndicator;
+
+IMPORTS OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+
+ notAvailable, notSubscribed
+ FROM Revised-General-Errors {itu-t identified-organization etsi(0) 196 revised-general-errors(10)};
+
+explicitReservationCreationControl OPERATION ::=
+ {
+ ARGUMENT /*controlOption*/ ENUMERATED {
+ noReservationRequired (0),
+ reservationRequiredWithReservationIndicator (1),
+ reservationRequiredWithoutReservationIndicator (2)} -- optional
+ RESULT ReservationIndicator -- optional
+ ERRORS { maximumNumberOfReservationsReached|
+ notAvailable|
+ notSubscribed|
+ unwantedReservationCreated}
+ CODE local:20
+ }
+
+explicitReservationManagement OPERATION ::=
+ {
+ ARGUMENT ReservationIndicator -- optional
+ -- RESULT
+ ERRORS { noExplicitReservationExistsOrInvalidReservationIndicator|
+ notAvailable|
+ notSubscribed|
+ implicitReservationUsed}
+ CODE local:21
+ }
+
+explicitReservationCancel OPERATION ::=
+ {
+ ARGUMENT ReservationIndicator -- optional
+ -- RESULT
+ ERRORS { noExplicitReservationExistsOrInvalidReservationIndicator|
+ notAvailable|
+ notSubscribed}
+ CODE local:22
+ }
+
+maximumNumberOfReservationsReached ERROR ::= {CODE local:33}
+
+noExplicitReservationExistsOrInvalidReservationIndicator ERROR ::= {CODE local:34}
+
+unwantedReservationCreated ERROR ::= {CODE local:35}
+
+implicitReservationUsed ERROR ::= {CODE local:36}
+
+ReservationIndicator ::= INTEGER (-128..127)
+
+
+END -- of Revised-Explicit-Network-Controlled-Channel-Reservation
diff --git a/src/Revised_Facility_Information_Element_Components.asn b/src/Revised_Facility_Information_Element_Components.asn
new file mode 100644
index 0000000..d20e000
--- /dev/null
+++ b/src/Revised_Facility_Information_Element_Components.asn
@@ -0,0 +1,202 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Facility_Information_Element_Components.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 196-1 V1.3.2 (2001-06)
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.06.27.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Facility-Information-Element-Components
+ {itu-t identified-organization etsi(0) 196 revised-facility-information-element-component(11)}
+DEFINITIONS
+IMPLICIT TAGS ::=
+BEGIN
+-- exports everything
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)};
+ROS {InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE
+ {
+ invoke [1] Invoke {{InvokeIdSet}, {Invokable}},
+ returnResult [2] ReturnResult {{Returnable}},
+ returnError [3] ReturnError {{Errors{{Returnable}}}},
+ reject [4] Reject
+ }
+(CONSTRAINED BY { -- must conform to the above definition -- }
+! RejectProblem : general-unrecognizedPDU)
+Invoke {InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE
+ {
+ invokeId InvokeId (InvokeIdSet)
+ (CONSTRAINED BY {-- must be unambiguous --}
+ ! RejectProblem : invoke-duplicateInvocation),
+ linkedId CHOICE
+ {
+ present [0] IMPLICIT present < InvokeId,
+ absent [1] IMPLICIT NULL
+ }
+ (CONSTRAINED BY {-- must identify an outstanding operation --}
+ ! RejectProblem : invoke-unrecognizedLinkedId)
+ (CONSTRAINED BY {-- which has one or more linked operations--}
+ ! RejectProblem : invoke-linkedResponseUnexpected)
+ OPTIONAL,
+ opcode OPERATION.&operationCode
+ ({Operations}
+ ! RejectProblem : invoke-unrecognizedOperation),
+ argument OPERATION.&ArgumentType
+ ({Operations} {@opcode}
+ ! RejectProblem : invoke-mistypedArgument)
+ OPTIONAL
+ }
+(CONSTRAINED BY { -- must conform to the above definition -- }
+! RejectProblem : general-mistypedPDU)
+(
+ WITH COMPONENTS
+ {...,
+ linkedId ABSENT
+ }
+| WITH COMPONENTS
+ {...,
+ linkedId PRESENT,
+ opcode
+ (CONSTRAINED BY {-- must be in the &Linked field of the associated operation --}
+ ! RejectProblem : invoke-unexpectedLinkedOperation)
+ }
+)
+ReturnResult {OPERATION:Operations}::= SEQUENCE
+ {
+ invokeId InvokeId
+ (CONSTRAINED BY {-- must be that for an outstanding operation --}
+ ! RejectProblem : returnResult-unrecognizedInvocation)
+ (CONSTRAINED BY {-- which returns a result --}
+ ! RejectProblem : returnResult-resultResponseUnexpected),
+ result SEQUENCE
+ {
+ opcode OPERATION.&operationCode
+ ({Operations})(CONSTRAINED BY {-- identified by invokeId --}
+ ! RejectProblem : returnResult-unrecognizedInvocation),
+ result OPERATION.&ResultType
+ ({Operations} {@.opcode} -- added a little period from the Corrigendum
+ ! RejectProblem : returnResult-mistypedResult)
+ }
+ OPTIONAL
+ }
+(CONSTRAINED BY { -- must conform to the above definition -- }
+! RejectProblem : general-mistypedPDU)
+ReturnError {ERROR:Errors} ::= SEQUENCE
+ {
+ invokeId InvokeId
+ (CONSTRAINED BY {-- must be that for an outstanding operation --}
+ ! RejectProblem : returnError-unrecognizedInvocation)
+ (CONSTRAINED BY {-- which returns an error --}
+ ! RejectProblem : returnError-errorResponseUnexpected),
+ errcode ERROR.&errorCode
+ ({Errors}
+ ! RejectProblem : returnError-unrecognizedError)
+ (CONSTRAINED BY
+ {--must be in the &Errors field of the associated opÕn --}
+ ! RejectProblem : returnError-unexpectedError),
+ parameter ERROR.&ParameterType
+ ({Errors}{@errcode}
+ ! RejectProblem : returnError-mistypedParameter) OPTIONAL
+ }
+(CONSTRAINED BY { -- must conform to the above definition -- }
+! RejectProblem : general-mistypedPDU)
+Reject ::= SEQUENCE
+ {
+ invokeId InvokeId,
+ problem CHOICE
+ {
+ general [0] GeneralProblem,
+ invoke [1] InvokeProblem,
+ returnResult [2] ReturnResultProblem,
+ returnError [3] ReturnErrorProblem
+ }
+ }
+(CONSTRAINED BY { -- must conform to the above definition -- }
+! RejectProblem : general-mistypedPDU)
+GeneralProblem ::= INTEGER
+ {
+ unrecognizedComponent (0),
+ mistypedComponent (1),
+ badlyStructuredComponent (2)
+ }
+InvokeProblem ::= INTEGER
+ {
+ duplicateInvocation (0),
+ unrecognizedOperation (1),
+ mistypedArgument (2),
+ resourceLimitation (3),
+ releaseInProgress (4),
+ unrecognizedLinkedId (5),
+ linkedResponseUnexpected (6),
+ unexpectedLinkedOperation (7)
+ }
+ReturnResultProblem ::= INTEGER
+ {
+ unrecognizedInvocation (0),
+ resultResponseUnexpected (1),
+ mistypedResult (2)
+ }
+ReturnErrorProblem ::= INTEGER
+ {
+ unrecognizedInvocation (0),
+ errorResponseUnexpected (1),
+ unrecognizedError (2),
+ unexpectedError (3),
+ mistypedParameter (4)
+ }
+RejectProblem ::= INTEGER
+ {
+ general-unrecognizedPDU (0),
+ general-mistypedPDU (1),
+ general-badlyStructuredPDU (2),
+ invoke-duplicateInvocation (10),
+ invoke-unrecognizedOperation (11),
+ invoke-mistypedArgument (12),
+ invoke-resourceLimitation (13),
+ invoke-releaseInProgress (14),
+ invoke-unrecognizedLinkedId (15),
+ invoke-linkedResponseUnexpected (16),
+ invoke-unexpectedLinkedOperation (17),
+ returnResult-unrecognizedInvocation (20),
+ returnResult-resultResponseUnexpected (21),
+ returnResult-mistypedResult (22),
+ returnError-unrecognizedInvocation (30),
+ returnError-errorResponseUnexpected (31),
+ returnError-unrecognizedError (32),
+ returnError-unexpectedError (33),
+ returnError-mistypedParameter (34)
+ }
+InvokeId ::= CHOICE
+ {
+ present INTEGER,
+ absent NULL
+ }
+noInvokeId InvokeId ::= absent:NULL
+NoInvokeId InvokeId ::= {noInvokeId}
+Errors {OPERATION:Operations} ERROR ::= {Operations.&Errors}
+
+
+Components {OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE
+{
+gfpROS ROS {GFPInvokeIDSet, {Invokable}, {Returnable}}
+}
+
+--GFPInvokeIDSet INTEGER ::= {-32768..32767}
+GFPInvokeIDSet InvokeId ::= { WITH COMPONENTS { ..., present (-32768..32767) } }
+
+END -- of Revised-Facility-Information-Element-Components
diff --git a/src/Revised_Freephone_Operations.asn b/src/Revised_Freephone_Operations.asn
new file mode 100644
index 0000000..fbee1b4
--- /dev/null
+++ b/src/Revised_Freephone_Operations.asn
@@ -0,0 +1,124 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Freephone_Operations.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 210-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Freephone-Operations {itu-t identified-organization etsi (0) 210 operations-and-errors (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+
+
+ EXPORTS
+ callFPH -- ,
+-- Monitor-T-FPH,
+-- Free-T-FPH,
+-- Call-T-FPH -- ;
+
+
+ IMPORTS
+ OPERATION -- ,
+-- ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+-- notAvailable,
+-- notImplemented
+-- FROM General-Errors
+-- {ccitt identified-organisation etsi (0) 196 general-errors (2)}
+
+
+ PartyNumber
+ FROM Revised-Addressing-Data-Elements
+ {itu-t identified-organisation etsi (0) 196 addressing-data-elements
+ (6)}
+
+
+-- Q931InformationElement
+-- FROM Embedded-Q931-Types
+-- {ccitt identified-organisation etsi (0) 196 embedded-q931-types
+-- (7)} --;
+
+
+ callFPH OPERATION::=
+ {
+ ARGUMENT CalledFreephoneNr -- optional
+
+ CODE global:{fPHOID callFPH-operation (1)}
+ }
+
+
+-- Monitor-T-FPH ::=
+-- OPERATION
+-- ARGUMENT SEQUENCE {
+-- q931InfoElement Q931InformationElement,
+-- servedUserDestination PartyNumber,
+-- queueIdentity QueueIdentity OPTIONAL }
+ -- the Bearer capability, High layer compatibility (optional)
+ -- and Low layer compatibility (optional) information elements
+ -- shall be embedded in q931InfoElement.
+
+
+-- RESULT
+
+
+-- ERRORS {
+-- notAvailable,
+-- notImplemented }
+
+
+-- Free-T-FPH ::=
+-- OPERATION
+-- ARGUMENT SEQUENCE {
+-- servedUserDestination PartyNumber,
+-- fPHReference FPHReference }
+
+
+-- Call-T-FPH ::=
+-- OPERATION
+-- ARGUMENT SEQUENCE {
+-- fPHReference FPHReference,
+-- calledFreephoneNr CalledFreephoneNr OPTIONAL }
+
+
+-- FPHReference ::= INTEGER (0..127)
+ CalledFreephoneNr ::= PartyNumber
+-- QueueIdentity ::= INTEGER (0..127)
+
+
+ fPHOID OBJECT IDENTIFIER ::= {itu-t identified-organization etsi (0) 210 freephone-operations (1)}
+
+
+
+
+-- monitor-T-FPH Monitor-T-FPH ::= globalValue
+-- {fPHOID monitor-T-FPH-operation (2)}
+-- free-T-FPH Free-T-FPH ::= globalValue
+-- {fPHOID free-T-FPH-operation (3)}
+-- call-T-FPH Call-T-FPH ::= globalValue
+-- {fPHOID call-T-FPH-operation (4)}
+
+
+END -- of Freephone-Operations
diff --git a/src/Revised_General_Errors.asn b/src/Revised_General_Errors.asn
new file mode 100644
index 0000000..5094c35
--- /dev/null
+++ b/src/Revised_General_Errors.asn
@@ -0,0 +1,69 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_General_Errors.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 196-1 V1.3.2 (2001-06)
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2006.01.10.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-General-Errors {itu-t identified-organization etsi(0) 196 revised-general-errors(10)}
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS notSubscribed, notAvailable, notImplemented, invalidServedUserNr, invalidCallState, basicServiceNotProvided, notIncomingCall, supplementaryServiceInteractionNotAllowed, resourceUnavailable;
+IMPORTS ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)};
+
+notSubscribed ERROR ::= {CODE local:0}
+ -- The requested service or function has not been subscribed for the basic service, and
+ -- optionally the served user's ISDN number, included in the activation invoke component.
+ -- Alternatively the basic service may not have been subscribed.
+
+notAvailable ERROR ::= {CODE local:3}
+ -- The requested supplementary service or function is not available for the basic service,
+ -- and optionally the served user's ISDN number (e.g. temporary fault).
+
+notImplemented ERROR ::= {CODE local:4}
+ -- The supplementary service or function requested is not implemented for the basic
+ -- service, and optionally the served user's ISDN number (e.g. service not provided).
+
+invalidServedUserNr ERROR ::= {CODE local:6}
+ -- The served user's number provided is not a valid number.
+
+invalidCallState ERROR ::= {CODE local:7}
+ -- The supplementary service or function cannot be requested in the current basic call state
+ -- or auxiliary state.
+
+basicServiceNotProvided ERROR ::= {CODE local:8}
+ -- The served user has not subscribed to the basic service (bearer and/or teleservice) for
+ -- which the supplementary service or function was requested.
+
+notIncomingCall ERROR ::= {CODE local:9}
+ -- The supplementary service or function was not requested for an incoming call.
+
+supplementaryServiceInteractionNotAllowed ERROR ::= {CODE local:10}
+ -- The performance of the requested supplementary service or function is prohibited
+ -- by another supplementary service or function.
+
+resourceUnavailable ERROR ::= {CODE local:11}
+ -- The resources required to perform adequately the requested supplementary service or
+ -- function are not available.
+
+END -- of Revised-General-Errors
diff --git a/src/Revised_MCID_Operations.asn b/src/Revised_MCID_Operations.asn
new file mode 100644
index 0000000..956d440
--- /dev/null
+++ b/src/Revised_MCID_Operations.asn
@@ -0,0 +1,59 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_MCID_Operations.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 130-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-MCID-Operations {itu-t identified-organization etsi (0) 130 operations-and-errors (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS
+ mCIDRequest;
+
+IMPORTS
+ OPERATION
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+ notAvailable,
+ notSubscribed,
+ invalidCallState,
+ notIncomingCall,
+ supplementaryServiceInteractionNotAllowed
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)};
+
+mCIDRequest OPERATION ::=
+ {
+ ERRORS
+ {
+ notSubscribed |
+ notAvailable |
+ invalidCallState |
+ notIncomingCall |
+ supplementaryServiceInteractionNotAllowed
+ }
+ }
+
+END
diff --git a/src/Revised_MWI_Operations_and_Errors.asn b/src/Revised_MWI_Operations_and_Errors.asn
new file mode 100644
index 0000000..d8ed499
--- /dev/null
+++ b/src/Revised_MWI_Operations_and_Errors.asn
@@ -0,0 +1,192 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_MWI_Operations_and_Errors.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 745-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-MWI-Operations-and-Errors {itu-t identified-organization etsi (0) 745 operations-and-errors (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+
+BEGIN
+
+
+ EXPORTS
+ mWIActivate,
+ mWIDeactivate,
+ mWIIndicate,
+ invalidReceivingUserNr,
+ receivingUserNotSubscribed,
+ controllingUserNotRegistered,
+ maxNumOfControllingUsersReached,
+ maxNumOfActiveInstancesReached;
+
+
+ IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ notSubscribed,
+ supplementaryServiceInteractionNotAllowed,
+ resourceUnavailable,
+ invalidServedUserNr
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)}
+
+
+ BasicService
+ FROM Revised-Basic-Service-Elements
+ {itu-t identified-organization etsi (0) 196 basic-service-elements (8)}
+
+
+ PartyNumber
+ FROM Revised-Addressing-Data-Elements
+ {itu-t identified-organization etsi (0) 196 addressing-data-elements (6)};
+
+
+ mWIActivate OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ receivingUserNr PartyNumber,
+ basicService BasicService,
+ controllingUserNr [1] PartyNumber OPTIONAL,
+ numberOfMessages [2] MessageCounter OPTIONAL,
+ controllingUserProvidedNr [3] PartyNumber OPTIONAL,
+ time [4] GeneralizedTime OPTIONAL,
+ messageId [5] MessageID OPTIONAL,
+ mode [6] InvocationMode OPTIONAL }
+
+ ERRORS {
+ notSubscribed |
+ supplementaryServiceInteractionNotAllowed |
+ resourceUnavailable |
+ invalidReceivingUserNr |
+ invalidServedUserNr |
+ receivingUserNotSubscribed |
+ controllingUserNotRegistered |
+ indicationNotDelivered |
+ maxNumOfControllingUsersReached |
+ maxNumOfActiveInstancesReached }
+
+ CODE global:{mWIOID 1}
+ }
+
+
+ -- End of MWIActivate operation definition
+
+
+ mWIDeactivate OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ receivingUserNr PartyNumber,
+ basicService BasicService,
+ controllingUserNr PartyNumber OPTIONAL,
+ mode InvocationMode OPTIONAL }
+
+ ERRORS {
+ notSubscribed |
+ supplementaryServiceInteractionNotAllowed |
+ resourceUnavailable |
+ invalidReceivingUserNr |
+ invalidServedUserNr |
+ receivingUserNotSubscribed |
+ controllingUserNotRegistered |
+ indicationNotDelivered }
+
+ CODE global:{mWIOID 2}
+ }
+
+
+ -- End of MWIDeactivate operation definition
+
+
+ mWIIndicate OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ controllingUserNr [1] PartyNumber OPTIONAL,
+ basicService [2] BasicService OPTIONAL,
+ numberOfMessages [3] MessageCounter OPTIONAL,
+ controllingUserProvidedNr [4] PartyNumber OPTIONAL,
+ time [5] GeneralizedTime OPTIONAL,
+ messageId [6] MessageID OPTIONAL }
+
+ CODE global:{mWIOID 3}
+ }
+
+
+ -- End of MWIIndicate operation definition
+
+
+
+ -- For information only:
+ -- GeneralizedTime ::= [UNIVERSAL 24] IMPLICIT VisibleString
+ -- NOTE: Only GeneralizedTime values of a maximum of 23 characters
+ -- are supported. This implies a limit on the precision of
+ -- fractions in time values of:
+ -- * 3 decimal places if seconds are specified,
+ -- * 5 decimal places if minutes but not seconds are
+ -- specified, and
+ -- * 7 decimal places if neither minutes nor seconds are
+ -- specified.
+
+
+ MessageCounter ::= INTEGER (0..65535)
+
+
+ MessageID ::=
+ SEQUENCE {
+ messageRef MessageRef,
+ status MessageStatus }
+
+
+ MessageRef ::= INTEGER (0..65535)
+
+
+ MessageStatus ::=
+ ENUMERATED {
+ addedMessage (0),
+ removedMessage (1) }
+
+ InvocationMode ::=
+ ENUMERATED {
+ deferred (0),
+ immediate (1),
+ combined (2) }
+
+
+ mWIOID OBJECT IDENTIFIER ::= {itu-t identified-organization etsi (0) 745
+ operations-and-errors (1)}
+
+
+
+ invalidReceivingUserNr ERROR ::= {CODE global:{mWIOID 10}}
+ receivingUserNotSubscribed ERROR ::= {CODE global:{mWIOID 11}}
+ controllingUserNotRegistered ERROR ::= {CODE global:{mWIOID 12}}
+ indicationNotDelivered ERROR ::= {CODE global:{mWIOID 13}}
+ maxNumOfControllingUsersReached ERROR ::= {CODE global:{mWIOID 14}}
+ maxNumOfActiveInstancesReached ERROR ::= {CODE global:{mWIOID 15}}
+
+
+END -- MWI-Operations-and-Errors
diff --git a/src/Revised_Notification_Indicator_IE_Data_Structure.asn b/src/Revised_Notification_Indicator_IE_Data_Structure.asn
new file mode 100644
index 0000000..4254721
--- /dev/null
+++ b/src/Revised_Notification_Indicator_IE_Data_Structure.asn
@@ -0,0 +1,62 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Notification_Indicator_IE_Data_Structure.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 196-1 V1.3.2 (2001-06)
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2006.01.10.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Notification-Indicator-IE-Data-Structure {itu-t identified-organization etsi(0) 196
+ revised-notification-data-structure(13)}
+
+DEFINITIONS ::=
+
+BEGIN
+
+EXPORTS NOTIFICATION;
+
+IMPORTS;
+
+NOTIFICATION ::= CLASS
+ {
+ &ArgumentType OPTIONAL,
+ &operationCode Code-NotificationIndicator UNIQUE OPTIONAL
+ }
+WITH SYNTAX
+ {
+ [ARGUMENT &ArgumentType]
+ [CODE &operationCode]
+ }
+
+Code-NotificationIndicator ::= CHOICE
+ {
+ local INTEGER,
+ global OBJECT IDENTIFIER
+ }
+
+
+
+
+NotificationDataStructure ::= SEQUENCE
+ {
+ opcode NOTIFICATION.&operationCode,
+ argument NOTIFICATION.&ArgumentType
+ }
+
+END -- of Revised-Notification-Indicator-IE-Data-Structure
diff --git a/src/Revised_Outgoing_Call_Barring_Operations_and_Errors.asn b/src/Revised_Outgoing_Call_Barring_Operations_and_Errors.asn
new file mode 100644
index 0000000..fb9383d
--- /dev/null
+++ b/src/Revised_Outgoing_Call_Barring_Operations_and_Errors.asn
@@ -0,0 +1,254 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Outgoing_Call_Barring_Operations_and_Errors.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 301 001-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Outgoing-Call-Barring-Operations-and-Errors {itu-t identified-organization etsi(0) 1001 operations-and-errors(1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+
+BEGIN
+
+
+EXPORTS
+ activationOcb,
+ activationStatusNotificationOcb,
+ deactivationOcb,
+ deactivationStatusNotificationOcb,
+ interrogationOcb,
+ disableOcb,
+ ocbInvoked,
+ invalidBarringProgram,
+ noBarringProgram;
+
+IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ PartyNumber
+ FROM Revised-Addressing-Data-Elements
+ {itu-t identified-organization etsi (0) 196 addressing-data-elements (6)}
+
+
+ BasicService
+ FROM Revised-Basic-Service-Elements
+ {itu-t identified-organization etsi (0) 196 basic-service-elements (8)}
+
+
+ notSubscribed,
+ notAvailable,
+ basicServiceNotProvided,
+ invalidServedUserNr,
+ resourceUnavailable,
+ notImplemented,
+ supplementaryServiceInteractionNotAllowed
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)}
+
+
+ notActivated
+ FROM Revised-Diversion-Operations
+ {itu-t identified-organization etsi (0) 207 operations-and-errors(1)}
+
+
+ Pin,
+ invalidPin,
+ userControlBlocked,
+ changeOfPinRequired
+ FROM Revised-Set-Operations-and-Errors
+ {itu-t identified-organization etsi (0) 1002 operations-and-errors(1)};
+
+
+ activationOcb OPERATION::=
+ {
+ ARGUMENT
+ ActivationOcbArgument
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ basicServiceNotProvided |
+ invalidServedUserNr |
+ invalidPin |
+ invalidBarringProgram |
+ noBarringProgram |
+ userControlBlocked |
+ supplementaryServiceInteractionNotAllowed |
+ resourceUnavailable |
+ changeOfPinRequired }
+
+ CODE global:{oCBOID 1}
+ }
+
+
+ deactivationOcb OPERATION::=
+ {
+ ARGUMENT
+ DeactivationOcbArgument
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ basicServiceNotProvided |
+ invalidServedUserNr |
+ notActivated |
+ invalidPin |
+ userControlBlocked |
+ changeOfPinRequired }
+
+ CODE global:{oCBOID 2}
+ }
+
+
+ interrogationOcb OPERATION::=
+ {
+ ARGUMENT
+ InterrogationOcbArgument
+
+
+ RESULT
+ IntOcbResultList
+
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ basicServiceNotProvided |
+ invalidServedUserNr }
+
+ CODE global:{oCBOID 5}
+ }
+
+
+ activationStatusNotificationOcb OPERATION::=
+ {
+ ARGUMENT
+ ActStatusNotificationOcbArg
+
+ CODE global:{oCBOID 3}
+ }
+
+
+ deactivationStatusNotificationOcb OPERATION::=
+ {
+ ARGUMENT
+ DeactStatusNotificationOcbArg
+
+ CODE global:{oCBOID 4}
+ }
+
+
+ disableOcb OPERATION::=
+ {
+ ARGUMENT
+ Pin
+
+ ERRORS {
+ notImplemented |
+ invalidPin |
+ userControlBlocked |
+ changeOfPinRequired }
+
+ CODE global:{oCBOID 6}
+ }
+
+ ocbInvoked OPERATION::=
+ {
+ CODE global:{oCBOID 7}
+ }
+
+ ActivationOcbArgument ::=
+ SEQUENCE {
+ basicService BasicService,
+ pin Pin,
+ barringProgram BarringProgram OPTIONAL,
+ servedUserNr ServedUserNr OPTIONAL}
+
+
+
+ DeactivationOcbArgument ::=
+ SEQUENCE {
+ basicService BasicService,
+ pin Pin,
+ barringProgram BarringProgram OPTIONAL,
+ servedUserNr ServedUserNr OPTIONAL}
+
+
+
+ InterrogationOcbArgument ::=
+ SEQUENCE {
+ basicService BasicService,
+ servedUserNr ServedUserNr OPTIONAL}
+
+
+
+ ActStatusNotificationOcbArg ::=
+ SEQUENCE {
+ basicService BasicService,
+ barringProgram BarringProgram,
+ servedUserNr ServedUserNr}
+
+
+
+ DeactStatusNotificationOcbArg ::=
+ SEQUENCE {
+ basicService BasicService,
+ barringProgram BarringProgram OPTIONAL,
+ servedUserNr ServedUserNr}
+
+
+
+ ServedUserNr ::=
+ CHOICE {
+ individualNumber PartyNumber,
+ allNumbers NULL}
+
+
+ IntOcbResultList ::=
+ SET SIZE (0..30) OF IntOcbResult
+
+
+ IntOcbResult ::=
+ SEQUENCE {
+ servedUserNr ServedUserNr,
+ basicService BasicService,
+ barringProgramList BarringProgramList}
+
+ BarringProgram ::= INTEGER (0..255)
+ BarringProgramList ::=
+ SET SIZE (0..63) OF BarringProgram
+
+
+ oCBOID OBJECT IDENTIFIER ::= {itu-t identified-organization etsi(0) 1001
+ operations-and-errors(1)}
+
+
+ invalidBarringProgram ERROR ::={CODE global:{oCBOID 10}}
+ noBarringProgram ERROR ::={CODE global:{oCBOID 11}}
+ -- notActivated NotActivated ::= localValue 46
+
+END -- of Outgoing-Call-Barring-Operations-and-Errors
+
diff --git a/src/Revised_Set_Operations_and_Errors.asn b/src/Revised_Set_Operations_and_Errors.asn
new file mode 100644
index 0000000..9f10f04
--- /dev/null
+++ b/src/Revised_Set_Operations_and_Errors.asn
@@ -0,0 +1,84 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Set_Operations_and_Errors.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 301 002-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Set-Operations-and-Errors {itu-t identified-organization etsi(0) 1002 operations-and-errors(1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+
+BEGIN
+
+
+ EXPORTS
+ Pin,
+ invalidPin,
+ userControlBlocked,
+ changeOfPinRequired;
+
+
+
+ IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ PartyNumber
+ FROM Revised-Addressing-Data-Elements
+ {itu-t identified-organization etsi (0) 196 addressing-data-elements (6)}
+
+
+ invalidServedUserNr
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)};
+
+
+ Pin ::= NumericString (SIZE(4..12))
+
+
+ -- Pin ::= IA5String (SIZE(4..12)) (FROM ("0"!"1"!"2"!"3"!"4"
+ -- !"5"!"6"!"7"!"8"!"9"
+ -- !"A"!"B"!"C"!"D"!"E"!"F"
+ -- !"G"!"H"!"I"!"J"!"K"
+ -- !"L"!"M"!"N"!"O"!"P"
+ -- !"Q"!"R"!"S"!"T"!"U"
+ -- !"V"!"W"!"X"!"Y"!"Z"
+ -- !"a"!"b"!"c"!"d"!"e"!"f"
+ -- !"g"!"h"!"i"!"j"!"k"
+ -- !"l"!"m"!"n"!"o"!"p"
+ -- !"q"!"r"!"s"!"t"!"u"
+ -- !"v"!"w"!"x"!"y"!"z"))
+
+
+
+ sETOID OBJECT IDENTIFIER ::= {itu-t identified-organization etsi(0)
+ 1002 operations-and-errors(1)}
+
+
+ invalidPin ERROR ::= {CODE global:{sETOID 10}}
+ userControlBlocked ERROR ::= {CODE global:{sETOID 13}}
+ changeOfPinRequired ERROR ::= {CODE global:{sETOID 14}}
+
+ END --of Set-Operations-and-Errors
diff --git a/src/Revised_Status_Request_Procedure.asn b/src/Revised_Status_Request_Procedure.asn
new file mode 100644
index 0000000..50db9e8
--- /dev/null
+++ b/src/Revised_Status_Request_Procedure.asn
@@ -0,0 +1,64 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Status_Request_Procedure.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 196-1 V1.3.2 (2001-06)
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2006.01.10.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Status-Request-Procedure {itu-t identified-organization etsi(0) 196 revised-status-request-procedure(17)}
+
+DEFINITIONS EXPLICIT TAGS::=
+
+BEGIN
+
+EXPORTS statusRequest;
+
+IMPORTS OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+
+ Q931InformationElement
+ FROM Revised-Embedded-Q931-Types
+ {itu-t identified-organization etsi(0) 196
+ revised-embedded-q931-types(15)};
+
+statusRequest OPERATION ::=
+ {
+ ARGUMENT SEQUENCE {
+ compatibilityMode CompatibilityMode,
+ q931InformationElement Q931InformationElement}
+ -- The BC, HLC (optional) and LLC (optional) information
+ -- elements shall be embedded in q931InfoElement
+ RESULT StatusResult
+ CODE global: {itu-t identified-organization etsi(0) 196
+ status-request-procedure(9) statusRequest-operation(1)}
+ }
+
+StatusResult ::= ENUMERATED {
+ compatibleAndFree (0),
+ compatibleAndBusy (1),
+ incompatible (2)}
+
+CompatibilityMode ::= ENUMERATED {
+ allBasicServices (0),
+ oneOrMoreBasicServices (1)}
+
+
+
+END -- of Revised-Status-Request-Procedure
diff --git a/src/Revised_Three_Party_Operations.asn b/src/Revised_Three_Party_Operations.asn
new file mode 100644
index 0000000..77790cf
--- /dev/null
+++ b/src/Revised_Three_Party_Operations.asn
@@ -0,0 +1,74 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_Three_Party_Operations.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 188-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-Three-Party-Operations {itu-t identified-organization etsi (0) 188 operations-and-types (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS
+ begin3PTY,
+ end3PTY;
+
+IMPORTS
+ OPERATION
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ notSubscribed,
+ notAvailable,
+ invalidCallState,
+ resourceUnavailable,
+ supplementaryServiceInteractionNotAllowed
+ FROM Revised-General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)};
+
+ begin3PTY OPERATION ::=
+ {
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ invalidCallState |
+ resourceUnavailable |
+ supplementaryServiceInteractionNotAllowed }
+ -- ETS 300 188, aug 1993 does not provide procedures for the generation
+ -- of the error 'notAvailable'
+
+ CODE local:4
+ }
+
+
+ end3PTY OPERATION ::=
+ {
+ ERRORS {
+ invalidCallState }
+
+ CODE local:5
+ }
+
+
+
+END
\ No newline at end of file
diff --git a/src/Revised_UUS_Operations.asn b/src/Revised_UUS_Operations.asn
new file mode 100644
index 0000000..d42abc5
--- /dev/null
+++ b/src/Revised_UUS_Operations.asn
@@ -0,0 +1,78 @@
+/*
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: Revised_UUS_Operations.asn
+// Description: Functional protocol for ISDN
+//
+// References: ETSI EN 300 286-1
+// Integrated Services Digital Network (ISDN);
+// Generic functional protocol for the support
+// of supplementary services;
+// Rev: <RnXnn>
+// Prodnr: CNL 113 435
+// Updated: 2012.04.19.
+// Contact: http://ttcn.ericsson.se
+*/
+
+Revised-UUS-Operations {itu-t identified-organization etsi (0) 286 operations-and-errors (1)}
+
+DEFINITIONS ::=
+
+BEGIN
+
+
+ EXPORTS
+ userUserService,
+ rejectedByTheUser,
+ rejectedByTheNetwork,
+ Service,
+ Preferred;
+
+ IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)};
+
+
+ userUserService OPERATION ::=
+ {
+ ARGUMENT SEQUENCE {
+ service [1] IMPLICIT Service,
+ preferred [2] IMPLICIT Preferred }
+
+ ERRORS {
+ rejectedByTheUser |
+ rejectedByTheNetwork }
+
+ CODE local:1
+ }
+
+
+ Service ::=
+ INTEGER {
+ service1 (1),
+ service2 (2),
+ service3 (3) } (1..3)
+
+
+ Preferred ::= BOOLEAN
+ -- True = preferred request
+ -- False = required request
+
+
+
+ rejectedByTheNetwork ERROR ::= {CODE local:1}
+ rejectedByTheUser ERROR ::= {CODE local:2}
+
+
+
+END
\ No newline at end of file