Commit 9ddd6111 authored by pintar's avatar pintar
Browse files

New types for Cx/Dx interfaces

parent 6ffb66dd
Loading
Loading
Loading
Loading
+169 −13

File changed.

Preview size limit exceeded, changes collapsed.

+339 −213

File changed.

Preview size limit exceeded, changes collapsed.

+434 −0
Original line number Diff line number Diff line
/**
 *    @author   STF 480 
 *  @version  $Id: LibDiameter_Types_Cx_Dx_AVPs.ttcn 132 2014-02-25 08:58:27Z pintar $
 *    @desc     This module defines Diameter Cx and Dx AVP types used by LibDiameter constructs. <br>
 *            Note that any changes made to the definitions in this module
 *            may be overwritten by future releases of this library
 *            End users are encouraged to contact the distributers of this
 *            module regarding their modifications or additions
 *  @remark   Adding of new Rx AVP types is ok;
 */
module LibDiameter_Types_CxDx_AVPs {
    
    import from LibCommon_BasicTypesAndValues {type UInt32;};
    import from LibDiameter_Types_Base_AVPs all;
    
    group AVPTypes{

        group Enum_AVP_Cx_Dx_Types{

            type enumerated User_Authorization_Type_Code{
                // Ref: ETSI TS 129 299 6.3.24
                REGISTRATION (0),
                DE_REGISTRATION (1),
                REGISTRATION_AND_CAPABILITIES (2)
            }
            with {
                variant "length=32"
            }

            type enumerated Srv_Assgmt_Type_Code{
                NO_ASSIGNMENT_E (0),
                REGISTRATION_E (1),
                RE_REGISTRATION_E (2),
                UNREGISTERED_USER_E (3),
                TIMEOUT_DEREGISTRATION_E (4),
                USER_DEREGISTRATION_E (5),
                TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME_E (6),
                USER_DEREGISTRATION_STORE_SERVER_NAME_E (7),
                ADMINISTRATIVE_DEREGISTRATION_E (8),
                AUTHENTICATION_FAILURE_E (9),
                AUTHENTICATION_TIMEOUT_E (10),
                DEREGISTRATION_TOO_MUCH_DATA_E (11),
                AAA_USER_DATA_REQUEST (12),
                PGW_UPDATE (13)
            }
            with {
                     variant "length=32"
                  }

            type enumerated Usr_Dat_Al_Av_Code{
                USER_DATA_NOT_AVAILABLE_E (0),
                USER_DATA_ALREADY_AVAILABLE_E (1)
            }
            with {
                     variant "length=32"
                  }

            type enumerated Multiple_Reg_Id_Code{
                NOT_MULTIPLE_REGISTRATION (0),
                MULTIPLE_REGISTRATION (1)
            }
            with {
                     variant "length=32"
                  }

            type enumerated Session_Prio_Code{
                PRIORITY_0 (0),
                PRIORITY_1 (1),
                PRIORITY_2 (2),
                PRIORITY_3 (3),
                PRIORITY_4 (4)
            }
            with {
                     variant "length=32"
                  }

            type enumerated Loose_Route_Ind_Code{
                LOOSE_ROUTE_NOT_REQUIRED (0),
                LOOSE_ROUTE_REQUIRED (1)
            }
            with {
                     variant "length=32"
                  }

            type enumerated Priviledged_Sender_Ind_Code{
                NOT_PRIVILEDGED_SENDER (0),
                PRIVILEDGED_SENDER (1)
            }
            with {
                     variant "length=32"
                  }

            type enumerated Originating_Request_Code{
                ORIGINATING (0)
            }
            with {
                     variant "length=32"
                  }

            type enumerated Reason_Code_Type{
                  PERMANENT_TERMINATION_E (0),
                  NEW_SERVER_ASSIGNED_E (1),
                  SERVER_CHANGE_E (2),
                  REMOVE_S_CSCF_E (3)
            }
            with {
                     variant "length=32"
                  }

        }//end group Enum_AVP_Cx_Dx_Types

    }//end group AVP_Types
    group AVPs{
        group TS129_229Cx_Dx_AVPS{
            type record Server_Capabilities_AVP{
            // Ref: ETSI TS 129 229 6.3.4  Server-Capabilities AVP
                AVP_Header                     aVP_Header,//<AVP header: 603 ....>
                set of MandatoryCapability_AVP mandatoryCapability optional,
                set of OptionalCapability_AVP  optionalCapability optional,
                set of Server_Name_AVP         server_Name optional,
                set of AVP_Type                aVP_Type optional
            }
            with {
                variant "present=bytes(4, 603);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (MandatoryCapability) "fieldPresent=bytes(4, 604)&&CodecHelper.isAvailable()"
                variant (OptionalCapability) "fieldPresent=bytes(4, 605)&&CodecHelper.isAvailable()"
                variant (ServerName) "fieldPresent=bytes(4, 602)&&CodecHelper.isAvailable()"
                variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
            }
            
            type record MandatoryCapability_AVP{
            //Ref: ETSI TS 129 229 6.3.5.  Mandatory-Capability AVP
                AVP_Header            aVP_Header,//<AVP header: 604 ....>
                UInt32                aVP_Data
            }
            with {
                variant "present=bytes(4, 604);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record OptionalCapability_AVP{
                //Ref: ETSI TS 129 229 6.3.6.  Optional-Capability AVP
                AVP_Header             aVP_Header,//<AVP header: 605 ....>
                UInt32                 aVP_Data
            }
            with {
                variant "present=bytes(4, 605);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            
            type record Visited_Network_Id_AVP{
            // Ref: ETSI TS 129 229 6.3.1  Visited-Network-Id AVP
                AVP_Header             aVP_Header,//<AVP header: 600 ....>
                octetstring            aVP_Data
            }
            with {
                variant "present=bytes(4, 600);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record UAR_Flags_AVP{
            //Ref: ETSI TS 129 229 6.3.44 UAR_Flags_AVP
               AVP_Header           aVP_Header,//<AVP header: 637 ....>
               UInt32               aVP_Data
            }
            with {
                variant "present=bytes(4, 637);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record User_Authorization_Type_AVP{
             //Ref: ETSI TS 129 229 6.3.24 User_Authorization_Type AVP
                AVP_Header                    aVP_Header,//<AVP header: 623 ....>
                User_Authorization_Type_Code  aVP_Data
            }
            with {
                variant "present=bytes(4, 520);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record Wildcarded_Public_Identity_AVP{
            //Ref: ETSI TS 129 229 6.3.35 Wildcarded_Public_Identity AVP
                AVP_Header                    aVP_Header,//<AVP header: 634 ....>
                UTF8String                    aVP_Data
            }
            with {
                variant "present=bytes(4, 634);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record Server_Assignment_Type_AVP{
                //Ref: ETSI TS 129 229 6.3.15 Server-Assignment-Type AVP
                AVP_Header             aVP_Header,//<AVP header: 614 ....>
                Srv_Assgmt_Type_Code   aVP_Data
            }
            with {
                variant "present=bytes(4, 614);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record User_Data_Already_Available_AVP{
                //Ref: ETSI TS 129 229 6.3.26 User_Data_Already_Available AVP
                AVP_Header                 aVP_Header,//<AVP header: 624 ....>
                Usr_Dat_Al_Av_Code         aVP_Data
            }
            with {
                variant "present=bytes(4,624);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record SCSCF_Restoration_Info_AVP{
            //Ref: ETSI TS 129 229 6.3.46 SCSCF_Restoration_Info AVP
                AVP_Header                                          aVP_Header,// < AVP Header: 639 >
                set length (1..infinity) of Restoration_Info_AVP    restoration_Info,
                SIP_Authentication_Scheme_AVP                       sIP_Authentication_Scheme,
                set of AVP_Type                                     aVP_Type optional
            }
            with {
                variant "present=bytes(4, 639);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
            }
            
            type record Restoration_Info_AVP{
            //Ref: ETSI TS 129 229 6.3.52 Restoration_Info AVP
                AVP_Header                    aVP_Header,// < AVP Header: 649 >
                Path_AVP                      path,
                Contact_AVP                   contact,
                Subscription_Info_AVP         subscription_Info optional,
                set of AVP_Type               aVP_Type optional
            }
            with {
                variant "present=bytes(4, 649);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
            }
            
            type record Path_AVP{
            // Ref: ETSI TS 129 229 6.3.47  Path AVP
                AVP_Header             aVP_Header,//<AVP header: 640 ....>
                octetstring            aVP_Data
            }
            with {
                variant "present=bytes(4, 640);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record Subscription_Info_AVP{
            //Ref: ETSI TS 129 229 6.3.49 Subscription_Info AVP
                AVP_Header                    aVP_Header,// < AVP Header: 642 >
                Call_ID_SIP_Header_AVP        call_ID_SIP_Header,
                From_SIP_Header_AVP           from_SIP_Header,
                To_SIP_Header_AVP             to_SIP_Header,
                Record_Route_AVP              record_Route,
                Contact_AVP                   contact,
                set of AVP_Type               aVP_Type optional
            }
            with {
                variant "present=bytes(4, 642);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
            }
            
            type record Contact_AVP{
            // Ref: ETSI TS 129 229 6.3.48  Contact AVP
                AVP_Header             aVP_Header,//<AVP header: 641 ....>
                octetstring            aVP_Data
            }
            with {
                variant "present=bytes(4, 641);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record Call_ID_SIP_Header_AVP{
            // Ref: ETSI TS 129 229 6.3.49.1  Call_ID_SIP_Header AVP
                AVP_Header             aVP_Header,//<AVP header: 643 ....>
                octetstring            aVP_Data
            }
            with {
                variant "present=bytes(4, 643);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record From_SIP_Header_AVP{
            // Ref: ETSI TS 129 229 6.3.49.2  From_SIP_Header AVP
                AVP_Header             aVP_Header,//<AVP header: 644 ....>
                octetstring            aVP_Data
            }
            with {
                variant "present=bytes(4, 644);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record To_SIP_Header_AVP{
            // Ref: ETSI TS 129 229 6.3.49.3  To_SIP_Header AVP
                AVP_Header             aVP_Header,//<AVP header: 645 ....>
                octetstring            aVP_Data
            }
            with {
                variant "present=bytes(4, 645);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record Record_Route_AVP{
            // Ref: ETSI TS 129 229 6.3.49.4  Record_Route AVP
                AVP_Header             aVP_Header,//<AVP header: 646 ....>
                octetstring            aVP_Data
            }
            with {
                variant "present=bytes(4, 646);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record Multiple_Registration_Indication_AVP{
                //Ref: ETSI TS 129 229 6.3.51 Multiple_Registration_Indication AVP
                AVP_Header                 aVP_Header,//<AVP header: 648 ....>
                Multiple_Reg_Id_Code       aVP_Data
            }
            with {
                variant "present=bytes(4,648);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record Session_Priority_AVP{
                //Ref: ETSI TS 129 229 6.3.56 Multiple_Registration_Indication AVP
                AVP_Header                 aVP_Header,//<AVP header: 650 ....>
                Session_Prio_Code          aVP_Data
            }
            with {
                variant "present=bytes(4,650);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }

            type record Associated_Identities_AVP{
            //Ref: ETSI TS 129 229 6.3.33 Subscription_Info AVP
                AVP_Header                    aVP_Header,// < AVP Header: 632 >
                User_Name_AVP                 user_Name optional,
                set of AVP_Type               aVP_Type optional
            }
            with {
                variant "present=bytes(4, 632);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
            }

            type record Associated_Registered_Identities_AVP{
            //Ref: ETSI TS 129 229 6.3.50 Subscription_Info AVP
                AVP_Header                    aVP_Header,// < AVP Header: 647 >
                User_Name_AVP                 user_Name optional,
                set of AVP_Type               aVP_Type optional
            }
            with {
                variant "present=bytes(4, 647);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
            }
            
            type record Loose_Route_Indication_AVP{
                //Ref: ETSI TS 129 229 6.3.45 Multiple_Registration_Indication AVP
                AVP_Header                 aVP_Header,//<AVP header: 638 ....>
                Loose_Route_Ind_Code       aVP_Data
            }
            with {
                variant "present=bytes(4,638);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record Priviledged_Sender_Indication_AVP{
                //Ref: ETSI TS 129 229 6.3.58 Multiple_Registration_Indication AVP
                AVP_Header                    aVP_Header,//<AVP header: 652 ....>
                Priviledged_Sender_Ind_Code   aVP_Data
            }
            with {
                variant "present=bytes(4,652);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }

            type record Originating_Request_AVP{
                //Ref: ETSI TS 129 229 6.3.58 Multiple_Registration_Indication AVP
                AVP_Header                 aVP_Header,//<AVP header: 652 ....>
                Originating_Request_Code   aVP_Data
            }
            with {
                variant "present=bytes(4,652);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }

            type record Deregistration_Reason_AVP{
            //Ref: ETSI TS 129 229 6.3.16 Deregistration_Reason AVP
                AVP_Header              aVP_Header,//SIP-Deregistration-Reason ::= < AVP Header: 615 >
                Reason_Code_AVP         reason_Code,//requi.
                Reason_Info_AVP         reason_Info optional,
                set of AVP_Type         aVP_Type optional
            }
            with {
                variant "present=bytes(4, 615);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
            }

            type record Reason_Code_AVP{
                //Ref: ETSI TS 129 229 6.3.17 Reason_Code AVP
                AVP_Header              aVP_Header,//<AVP header: 616 ....>
                Reason_Code_Type        aVP_Data
            }
            with {
                variant "present=bytes(4, 616);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record Reason_Info_AVP{
                //Ref: ETSI TS 129 229 6.3.18 Reason_Info AVP
                AVP_Header              aVP_Header,//<AVP header: 617 ....>
                UTF8String              aVP_Data
            }
            with {
                variant "present=bytes(4, 617);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Data) "condition=CodecHelper.leaveScope()"
            }
            
            type record Identity_with_Emergency_Registration_AVP{
            //Ref: ETSI TS 129 229 6.3.57 Identity_with_Emergency_Registration AVP
                AVP_Header                  aVP_Header,//SIP-Deregistration-Reason ::= < AVP Header: 651 >
                User_Name_AVP               user_Name,
                Public_Identity_AVP         public_Identity,
                set of AVP_Type             aVP_Type optional
            }
            with {
                variant "present=bytes(4, 651);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
            }
            

        }//end of group TS129_229Cx_Dx_AVPs

    }//end group AVPs

    
} //end module LibDiameter_Types_Cx_Dx_AVPs
 No newline at end of file