Commit 85b745d9 authored by garciay's avatar garciay
Browse files

Override LibDiameter SIP_Auth_Data_Item_AVP defined by RFC by the one defined...

Override LibDiameter SIP_Auth_Data_Item_AVP defined by RFC by the one defined by ETSI TS 129 229 V10.5.0 (2013-04) Clause 6.3.13 SIP-Auth-Data-Item AVP
parent b1ad99d2
Loading
Loading
Loading
Loading
+237 −32
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ module LibDiameter_Templates {
    //LibDiameter
    import from LibDiameter_Types_Base_AVPs all;
    import from LibDiameter_Types_Gx_AVPs all;
    import from LibDiameter_Types_CxDx_AVPs all;
    import from LibDiameter_TypesAndValues all;
    import from LibDiameter_PIXITS all;

@@ -496,9 +497,22 @@ module LibDiameter_Templates {
                aVP_Data := "abcabc"
            }

            template SIP_User_Authorization_Type_AVP m_sIP_User_Authorization_Type_dummy := {
            template SIP_Digest_Authenticate_AVP m_sIP_Digest_Authenticate(
                                                                           in template (value)  Digest_Realm_AVP p_digest_Realm 
            ) := {
                aVP_Header := m_aVP_Header_Mbit1(c_sIP_Digest_Authenticate_AVP_Code),
                digest_Realm        := p_digest_Realm,
                digest_Algorithm    := omit,
                digest_QoP          := omit,
                digest_HA1          := omit,
                aVP_Type            := omit
            }

            template SIP_User_Authorization_Type_AVP m_sIP_User_Authorization_Type(
                                                                                   in template (value) SIP_User_Auth_Ty_Type p_aVP_Data := REGISTRATION_E
            ) := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_User_Authorization_Type_AVP_Code, 4, omit),
                aVP_Data := REGISTRATION_E
                aVP_Data := p_aVP_Data
            }

            template SIP_User_Data_Already_Available_AVP m_sIP_User_Data_Already_Available_dummy := {
@@ -598,8 +612,8 @@ module LibDiameter_Templates {
                aVP_Data := 1
            }
            
            template SIP_Auth_Data_Item_AVP m_sIPAuthDataItem_dummy := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Auth_Data_Item_AVP_Code, 1, c_vendId3gpp),
            template LibDiameter_Types_Base_AVPs.SIP_Auth_Data_Item_AVP m_sIPAuthDataItem_dummy := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(LibDiameter_TypesAndValues.c_sIP_Auth_Data_Item_AVP_Code, 1, c_vendId3gpp),
                sIP_Authentication_Scheme := m_sIPAuthenticationScheme_digest,
                sIP_Item_Number := omit,
                sIP_Authenticate := omit,
@@ -612,6 +626,27 @@ module LibDiameter_Templates {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code, 4, c_vendId3gpp),
                aVP_Data := DIGEST_E
            }
            
            template SIP_Authentication_Scheme_AVP m_sIPAuthenticationScheme_unknown := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code, 4, c_vendId3gpp),
                aVP_Data := UNKNOWN_E
            }
            
            template SIP_Authentication_Scheme_AVP m_sIPAuthenticationScheme_digest_aka := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code, 4, c_vendId3gpp),
                aVP_Data := DIGEST_AKAv1_MD5_E
            }
            
            template SIP_Authentication_Scheme_AVP m_sIPAuthenticationScheme_nass := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code, 4, c_vendId3gpp),
                aVP_Data := NASS_BUNDLE_E
            }
            
            template SIP_Authentication_Scheme_AVP m_sIPAuthenticationScheme_giga := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code, 4, c_vendId3gpp),
                aVP_Data := GIGA_E
            }
            
        } //end group DummyAVPHeaders

        group SpecificAVPHeaders {
@@ -762,20 +797,6 @@ module LibDiameter_Templates {
                aVP_Data := p_avpData
            }            
            
            template SIP_Auth_Data_Item_AVP m_sIPAuthDataItem (template (value) SIP_Authentication_Scheme_AVP p_SIP_Authentication_Scheme,
			                                                   template (omit)  SIP_Item_Number_AVP           p_SIP_Item_Number := omit,
															   template (omit)  SIP_Authenticate_AVP          p_SIP_Authenticate := omit,
															   template (omit)  SIP_Authorization_AVP         p_SIP_Authorization := omit,
															   template (omit)  SIP_Authentication_Info_AVP   p_SIP_Authentication_Info := omit) := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Auth_Data_Item_AVP_Code, 1, c_vendId3gpp),
				sIP_Authentication_Scheme := p_SIP_Authentication_Scheme,
				sIP_Item_Number := p_SIP_Item_Number,
				sIP_Authenticate := p_SIP_Authenticate,
				sIP_Authorization := p_SIP_Authorization,
				sIP_Authentication_Info := p_SIP_Authentication_Info,
				aVP_Type := omit
            }
            
            template SIP_Authentication_Scheme_AVP m_sIPAuthenticationScheme(template (value) SIP_Auth_Schm_Type p_SIPAuthSchmType) := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code, 4, c_vendId3gpp),
                aVP_Data := p_SIPAuthSchmType
@@ -785,6 +806,76 @@ module LibDiameter_Templates {
                aVP_Header := m_aVP_Header_Mbit1(c_user_Name_AVP_Code, f_getUTF8StringLength(p_avpData)),
                aVP_Data := p_avpData
            }
            
            template SIP_Item_Number_AVP m_sIPItemNumber(template (value) UInt32 p_aVP_Data) := {
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Item_Number_AVP_Code, 4, c_vendId3gpp),
                aVP_Data := p_aVP_Data
            }
            
            template SIP_Authorization_AVP m_sIP_Authorization(
                                                                template (value) Digest_Username_AVP    p_digest_Username,
                                                                template (value) Digest_Realm_AVP       p_digestRealm,
                                                                template (value) Digest_Nonce_AVP       p_digestNonce,
                                                                template (value) Digest_URI_AVP         p_digestUri,
                                                                template (value) Digest_Response_AVP    p_digest_Response
            ) := {
                aVP_Header              := m_aVP_HeaderVid_Mbit1(c_sIP_Authorization_AVP_Code, 4, c_vendId3gpp),
                digest_Username         := p_digest_Username,
                digest_Realm            := p_digestRealm,
                digest_Nonce            := p_digestNonce,
                digest_URI              := p_digestUri,
                digest_Response         := p_digest_Response,
                digest_Algorithm        := omit,
                digest_CNonce           := omit,
                digest_Opaque           := omit,
                digest_QoP              := omit,
                digest_Nonce_Count      := omit,
                digest_Method           := omit,
                digest_Entity_Body_Hash := omit,
                digest_Auth_Param       := omit,
                aVP_Type                := omit
            }
            
            template SIP_Authorization_AVP m_sIP_Authorization_digest_aka(
                                                                          template (value) Digest_Username_AVP    p_digest_Username,
                                                                          template (value) Digest_Realm_AVP       p_digestRealm,
                                                                          template (value) Digest_Nonce_AVP       p_digestNonce,
                                                                          template (value) Digest_URI_AVP         p_digestUri,
                                                                          template (value) Digest_Response_AVP    p_digest_Response
            ) modifies m_sIP_Authorization := {
                // TODO How to pass RAND + AUX
            }
            
            template Digest_Username_AVP m_digestUsername(template (value) UTF8String p_text) := {
                Type := c_digest_Username_AVP_Code,
                Length := f_getUTF8StringLength(p_text),
                Text := p_text
            }
            
            template Digest_Realm_AVP m_digestRealm(template (value) UTF8String p_text) := {
                Type := c_digest_Realm_AVP_Code,
                Length := f_getUTF8StringLength(p_text),
                Text := p_text
            }
            
            template Digest_Nonce_AVP m_digestNonce(template (value) UTF8String p_text) := {
                Type := c_digest_Realm_AVP_Code,
                Length := f_getUTF8StringLength(p_text),
                Text := p_text
            }
            
            template Digest_URI_AVP m_digestUri(template (value) UTF8String p_text) := {
                Type := c_digest_URI_AVP_Code,
                Length := f_getUTF8StringLength(p_text),
                Text := p_text
            }
            
            template Digest_Response_AVP m_digestResponse(template (value) UTF8String p_text) := {
                Type := c_digest_Response_AVP_Code,
                Length := f_getUTF8StringLength(p_text),
                Text := p_text
            }
            
            template User_Name_AVP mw_userName(template (present) UTF8String p_avpData) := {
                aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_user_Name_AVP_Code),
                aVP_Data := p_avpData
@@ -1280,7 +1371,7 @@ module LibDiameter_Templates {
                destination_Host := omit,
                user_Name := omit,
                sIP_Visited_Network_Id := m_sIP_Visited_Network_Id_dummy,
                sIP_User_Authorization_Type := m_sIP_User_Authorization_Type_dummy,
                sIP_User_Authorization_Type := m_sIP_User_Authorization_Type,
                supported_Features := omit,
                public_Identity := omit,
                visited_Network_Id := omit,
@@ -2985,6 +3076,120 @@ module LibDiameter_Templates {
        } //end group modified_request_templates_send

        group modified_request_templates_receive {
            
            template User_Data_AVP mw_user_Data_dummy := {
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_user_Data_AVP_Code, ?, c_vendId3gpp),
                aVP_Data := ?
            }
            
            template LibDiameter_Types_Base_AVPs.SIP_Auth_Data_Item_AVP mw_sIPAuthDataItem_dummy := {
                aVP_Header := mw_aVP_HeaderVid_Mbit1(LibDiameter_TypesAndValues.c_sIP_Auth_Data_Item_AVP_Code, ?, c_vendId3gpp),
                sIP_Authentication_Scheme := mw_sIPAuthenticationScheme_digest,
                sIP_Item_Number := omit,
                sIP_Authenticate := omit,
                sIP_Authorization := omit,
                sIP_Authentication_Info := omit,
                aVP_Type := omit
            }
            
            template (present) LibDiameter_Types_Base_AVPs.SIP_Auth_Data_Item_AVP mw_sIPAuthDataItem(
                                                                                                     template (present) SIP_Authentication_Scheme_AVP   p_sIP_Authentication_Scheme,
                                                                                                     template (present) SIP_Item_Number_AVP             p_sIP_Item_Number := ?,
                                                                                                     template (present) SIP_Authenticate_AVP            p_sIP_Authenticate := ?,
                                                                                                     template SIP_Authorization_AVP                     p_sIP_Authorization := omit
            ) modifies mw_sIPAuthDataItem_dummy := {
                aVP_Header := mw_aVP_HeaderVid_Mbit1(LibDiameter_TypesAndValues.c_sIP_Auth_Data_Item_AVP_Code, ?, c_vendId3gpp),
                sIP_Authentication_Scheme   := p_sIP_Authentication_Scheme,
                sIP_Item_Number             := p_sIP_Item_Number,
                sIP_Authenticate            := p_sIP_Authenticate,
                sIP_Authorization           := p_sIP_Authorization
            }
            
            template SIP_Authentication_Scheme_AVP mw_sIPAuthenticationScheme_digest := {
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code, ?, c_vendId3gpp),
                aVP_Data := ?
            }
            
            template SIP_Authentication_Scheme_AVP mw_sIPAuthenticationScheme_digest_aka := {
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code, ?, c_vendId3gpp),
                aVP_Data := DIGEST_AKAv1_MD5_E
            }
            
            template SIP_Number_Auth_Items_AVP mw_sIPNumberAuthItems (template (present) UInt32 p_avpData := ?) := {
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_Number_Auth_Items_AVP_Code, ?, c_vendId3gpp),
                aVP_Data := p_avpData
            }
            
            template SIP_Authenticate_AVP mw_sIPAuthenticate_dummy := {
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_Authenticate_AVP_Code, ?, c_vendId3gpp),
                digest_Realm := ?,
                digest_Nonce := ?,
                digest_Domain := *,
                digest_Opaque := *,
                digest_Stale := *,
                digest_Algorithm := *,
                digest_QoP := *,
                digest_HA1 := *,
                digest_Auth_Param := *,
                aVP_Type := *
            }
            
            template SIP_Authorization_AVP mw_sIPAuthorization_dummy := {
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_Authorization_AVP_Code, ?, c_vendId3gpp),
                digest_Username         := ?,
                digest_Realm            := ?,
                digest_Nonce            := ?,
                digest_URI              := ?,
                digest_Response         := ?,
                digest_Algorithm        := *,
                digest_CNonce           := *,
                digest_Opaque           := *,
                digest_QoP              := *,
                digest_Nonce_Count      := *,
                digest_Method           := *,
                digest_Entity_Body_Hash := *,
                digest_Auth_Param       := *,
                aVP_Type                := *
            }
            
            template SIP_Authenticate_AVP mw_sIPAuthenticate_digest (
                                                                               template (present) Digest_Realm_AVP  p_digest_Realm := ?, 
                                                                               template (present) Digest_QoP_AVP    p_digest_QoP := ?, 
                                                                               template (present) Digest_HA1_AVP    p_digest_HA1 := ?
            ) modifies mw_sIPAuthenticate_dummy := {
                digest_Realm := p_digest_Realm,
                digest_QoP := p_digest_QoP,
                digest_HA1 := p_digest_HA1
            }
              
            template (present) SIP_Authenticate_AVP mw_sIPAuthenticate_digest_aka (
                                                                                   template (present) Digest_Realm_AVP  p_digest_Realm := ?, 
                                                                                   template (present) Digest_QoP_AVP    p_digest_QoP := ?, 
                                                                                   template (present) Digest_HA1_AVP    p_digest_HA1 := ?
            ) modifies mw_sIPAuthenticate_digest := {
                digest_Opaque := ?
            }
              
            template SIP_User_Data_AVP mw_sIP_User_Data_dummy :=
            {
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_User_Data_AVP_Code, ?, c_vendId3gpp),
                sIP_User_Data_Type := {
                    aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_User_Data_Type_AVP_Code, ?, c_vendId3gpp),
                    aVP_Data := ?
                },
                sIP_User_Data_Contents := {
                    aVP_Header := mw_aVP_HeaderVid_Mbit1(c_sIP_User_Data_Contents_AVP_Code, ?, c_vendId3gpp),
                    aVP_Data := ?
                },
                aVP_Type := *
            }
            
            template Framed_IP_Address_AVP mw_framed_IP_Address_dummy := {
            //  Ref: RFC4005 6.11.1 Framed_IP_Address AVP
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_framed_IP_Address_AVP_Code, ?, c_vendId3gpp),
                aVP_Data := ?
            }
            
        } //end group modified_request_templates_receive

        group modified_answer_templates_send {
+3 −3
Original line number Diff line number Diff line
@@ -1433,7 +1433,7 @@ group BasicTypesAndConstants{
                    Public_Identity_AVP                    public_Identity optional,               //required only in TS129 229
                    SIP_Server_URI_AVP                     sIP_Server_URI optional,                //only in RFC4740
                    SIP_Number_Auth_Items_AVP              sIP_Number_Auth_Items optional,         //RFC4740 & required in TS129 229
                    SIP_Auth_Data_Item_AVP                 sIP_Auth_Data_Item optional,            //RFC4740 & required in TS129 229
                    LibDiameter_Types_CxDx_AVPs.SIP_Auth_Data_Item_AVP                 sIP_Auth_Data_Item optional,            //required in TS129 229
                    Server_Name_AVP                        server_Name optional,                   //only TS129 229
                    set of Failed_AVP                      failed optional,                        //only TS129 229
                    set of Proxy_Info_AVP                  proxy_Info optional,                    //RFC4740 & TS129 229
@@ -1471,7 +1471,7 @@ group BasicTypesAndConstants{
                    Public_Identity_AVP                    public_Identity optional,               //required only in TS129 229
                    SIP_AOR_AVP                            sIP_AOR optional,                       //only in RFC4740
                    SIP_Number_Auth_Items_AVP              sIP_Number_Auth_Items optional,         //RFC4740 & TS129 229
                    set of SIP_Auth_Data_Item_AVP          sIP_Auth_Data_Item optional,            //RFC4740 & TS129 229
                    set of LibDiameter_Types_CxDx_AVPs.SIP_Auth_Data_Item_AVP          sIP_Auth_Data_Item optional,            //TS129 229
                    Auth_Grace_Period_AVP                  auth_Grace_Period optional,             //only in RFC4740
                    Authorization_Lifetime_AVP             authorization_Lifetime optional,        //only in RFC4740
                    Redirect_Host_AVP                      redirect_Host optional,                 //only in RFC4740
@@ -1591,7 +1591,7 @@ group BasicTypesAndConstants{
                    set of Supported_Features_AVP          supported_Features optional,            //only TS129 229
                    User_Data_AVP                          user_Data optional,                     //only TS129 229
                    Charging_Information_AVP               charging_Information optional,          //only TS129 229
                    SIP_Auth_Data_Item_AVP                 sIP_Auth_Data_Item optional,            //only TS129 229
                    LibDiameter_Types_CxDx_AVPs.SIP_Auth_Data_Item_AVP                 sIP_Auth_Data_Item optional,            //only TS129 229
                    set of Proxy_Info_AVP                  proxy_Info optional,                    //RFC4740 & TS129 229
                    set of Route_Record_AVP                route_Record optional,                  //RFC4740 & TS129 229
                    set of AVP_Type                        aVP_Type optional                       //RFC4740 & TS129 229
+18 −3
Original line number Diff line number Diff line
@@ -364,7 +364,11 @@ module LibDiameter_Types_Base_AVPs {
                     variant "length=32"
                  }
            type enumerated SIP_Auth_Schm_Type{
                DIGEST_E (0)
                DIGEST_E (0),
                DIGEST_AKAv1_MD5_E (1),
                NASS_BUNDLE_E (2),
                GIGA_E (3),
                UNKNOWN_E
            }
            with {
                     variant "length=32"
@@ -1432,6 +1436,7 @@ module LibDiameter_Types_Base_AVPs {
                variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
            }
            
            
            type record SIP_Reason_Info_AVP{
                //Ref: RFC4740 9.7.2.  SIP-Reason-Info AVP
                AVP_Header                     aVP_Header,//<AVP header: 385 ....>
@@ -1919,6 +1924,16 @@ module LibDiameter_Types_Base_AVPs {
                    variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
                }

                type record Framed_Interface_Id_AVP{
                //  Ref: RFC4005 6.11.5.  Framed-Interface-Id AVP
                    AVP_Header                     aVP_Header,//<AVP header: 96 ....>
                    octetstring                 aVP_Data
                }
                with {
                    variant "present=bytes(4, 97);use=com.testingtech.ttcn.tci.codec.CodecHelper"
                    variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
                }

            }//end group IP_Access_Authorization_AVPs

        }//end group RFC4005_AVPs
+64 −2

File changed.

Preview size limit exceeded, changes collapsed.