| /////////////////////////////////////////////////////////////////////////////// |
| // |
| // 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 |