Loading ttcn/LibDiameter_Interface.ttcn +4 −7 Original line number Diff line number Diff line Loading @@ -55,12 +55,9 @@ module LibDiameter_Interface var template Result_Code_AVP vc_resultCode; var template Media_Component_Description_AVP vc_mediaComponentDescription; // indicators set/used parameter status or state handling in default var boolean vc_ignore_CER_before_sync_establishement := true; // disable ignore CER when it is received in preamble //general timers timer tc_wait := 135.0; //define PIXIT if needed timer tc_msg_wait := 5.0; timer tc_wait := 5.0; // define PIXIT if needed timer tc_delay := 1.0; // delay next Request // variables for storing default references var default vc_default_diameter; Loading ttcn/LibDiameter_Steps.ttcn +129 −70 File changed.Preview size limit exceeded, changes collapsed. Show changes ttcn/LibDiameter_Templates.ttcn +83 −72 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ module LibDiameter_Templates { //LibCommon import from LibCommon_DataStrings {type Bit1, Bit4, Bit5, Bit8;}//all; import from LibCommon_BasicTypesAndValues {type UInt8, UInt32;}; import from LibCommon_TextStrings { const c_NUL;}; //LibDiameter import from LibDiameter_TypesAndValues all; import from LibDiameter_PIXITS all; Loading Loading @@ -212,7 +212,7 @@ module LibDiameter_Templates { endid := 0 } template DiameterHeader mw_diameterHeaderAns_dummy(Command_Code p_cmdcode, template (present) UInt32 p_applid) := { template DiameterHeader mw_diameterHeaderAns_dummy(Command_Code p_cmdcode, template UInt32 p_applid) := { version := c_versionId, msglen := ?, //Message lenght with AVPs has to be calculated cmdflags := mw_cmdFlags, //RPETrrrr Loading Loading @@ -250,10 +250,10 @@ module LibDiameter_Templates { aVP_vid := * } template AVP_Header m_aVP_Header(AVP_Code p_avpCode) := { template AVP_Header m_aVP_Header(AVP_Code p_avpCode, AVP_Length p_dataLen:=0) := { aVP_Code := p_avpCode, aVP_flags := m_avpFlags, aVP_len := 8, aVP_len := 8 + p_dataLen, aVP_vid := omit } Loading Loading @@ -294,82 +294,82 @@ module LibDiameter_Templates { group DummyAVPHeaders{ template Host_IP_Address_AVP m_hostIPAddress_dummy := { aVP_Header := m_aVP_Header(c_vendIdHost_IP_Address_AVP), aVP_Header := m_aVP_Header(c_vendIdHost_IP_Address_AVP,6), aVP_Data := {addressFamily := int2oct(1,2), ipAddress := {ipv4 := {127, 0, 0, 0}}} } template Origin_Host_AVP m_originHost_dummy := { aVP_Header := m_aVP_Header(c_vendIdOrigin_Host_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdOrigin_Host_AVP, 3), aVP_Data := "abc" } template Origin_Realm_AVP m_originRealm_dummy := { aVP_Header := m_aVP_Header(c_vendIdOrigin_Realm_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdOrigin_Realm_AVP, 3), aVP_Data := "abc" } template Vendor_Id_AVP m_vendorId_dummy := { aVP_Header := m_aVP_Header(c_vendIdVendor_Id_AVP), aVP_Header := m_aVP_Header(c_vendIdVendor_Id_AVP, 4), aVP_Data := 0 } template Product_Name_AVP m_productName_dummy := { aVP_Header := m_aVP_Header(c_vendIdProduct_Name_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdProduct_Name_AVP, 3), aVP_Data := "abc" } template Disconnect_Cause_AVP m_disconnectCause_dummy := { aVP_Header := m_aVP_Header(c_vendIdDisconnect_Cause_AVP), aVP_Header := m_aVP_Header(c_vendIdDisconnect_Cause_AVP, 4), aVP_Data := REBOOTING_E } template Result_Code_AVP m_resultCode_dummy := { aVP_Header := m_aVP_Header(c_vendIdResult_Code_AVP), aVP_Header := m_aVP_Header(c_vendIdResult_Code_AVP, 4), aVP_Data := DIAMETER_DUMMY_E } template Destination_Host_AVP m_destinationHost_dummy := { aVP_Header := m_aVP_Header(c_vendIdDestination_Host_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdDestination_Host_AVP, 3), aVP_Data := "abc" } template Destination_Realm_AVP m_destinationRealm_dummy := { aVP_Header := m_aVP_Header(c_vendIdDestination_Realm_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdDestination_Realm_AVP, 3), aVP_Data := "abc" } template Termination_Cause_AVP m_terminationCause_dummy := { aVP_Header := m_aVP_Header(c_vendIdTermination_Cause_AVP), aVP_Header := m_aVP_Header(c_vendIdTermination_Cause_AVP, 4), aVP_Data := DIAMETER_LOGOUT_E } template Session_Id_AVP m_sessionId_dummy := { aVP_Header := m_aVP_Header(c_vendIdSession_Id_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdSession_Id_AVP, 3), aVP_Data := "abc" } template Auth_Application_Id_AVP m_authApplicationId_dummy := { aVP_Header := m_aVP_Header(c_vendIdAuth_Application_Id_AVP), aVP_Header := m_aVP_Header(c_vendIdAuth_Application_Id_AVP, 4), aVP_Data := 0 } template Accounting_Record_Type_AVP m_accounting_Record_Type_dummy := { aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Type_AVP), aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Type_AVP,4), aVP_Data := EVENT_RECORD_E } template Accounting_Record_Number_AVP m_accounting_Record_Number_dummy := { aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Number_AVP), aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Number_AVP,4), aVP_Data := 0 } template Auth_Session_State_AVP m_auth_Session_State_dummy := { aVP_Header := m_aVP_Header(c_vendIdAuth_Session_State_AVP), aVP_Header := m_aVP_Header(c_vendIdAuth_Session_State_AVP,4), aVP_Data := STATE_MAINTAINED_E } Loading @@ -384,31 +384,32 @@ module LibDiameter_Templates { // } template SIP_AOR_AVP m_sIP_AOR_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_AOR_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_AOR_AVP,6), aVP_Data := { scheme := "aaa://", hostPort := {"", omit}, scheme := "sip", userInfo := {"dbo"}, hostPort := omit, urlParameters := omit } } template SIP_Visited_Network_Id_AVP m_sIP_Visited_Network_Id_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_Visited_Network_Id_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdSIP_Visited_Network_Id_AVP,6), aVP_Data := "abcabc" } template SIP_User_Authorization_Type_AVP m_sIP_User_Authorization_Type_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_User_Authorization_Type_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_User_Authorization_Type_AVP,4), aVP_Data := REGISTRATION_E } template SIP_User_Data_Already_Available_AVP m_sIP_User_Data_Already_Available_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Already_Available_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Already_Available_AVP,4), aVP_Data := USER_DATA_NOT_AVAILABLE_E } template SIP_Server_Assignment_Type_AVP m_sIP_Server_Assignment_Type_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_Server_Assignment_Type_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_Server_Assignment_Type_AVP,4), aVP_Data := NO_ASSIGNMENT_E } Loading @@ -416,11 +417,11 @@ module LibDiameter_Templates { { aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_AVP), sIP_User_Data_Type := { aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Type_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Type_AVP,3), aVP_Data := "abc" }, sIP_User_Data_Contents := { aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Contents_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Contents_AVP,1), aVP_Data := '00'O }, aVP_Type := omit Loading @@ -434,25 +435,25 @@ module LibDiameter_Templates { } template SIP_Method_AVP m_sIP_Method_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_Method_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdSIP_Method_AVP,3), aVP_Data := "sip" } template SIP_Deregistration_Reason_AVP m_sIP_Deregistration_Reason_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_Deregistration_Reason_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_Deregistration_Reason_AVP,8), sIP_Reason_Code_AVP := m_sIP_Reason_Code_dummy, sIP_Reason_Info_AVP := omit, aVP_Type := omit } template SIP_Reason_Code_AVP m_sIP_Reason_Code_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_Reason_Code_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_Reason_Code_AVP,4), aVP_Data := PERMANENT_TERMINATION_E } template User_Name_AVP m_user_Name_dummy := { aVP_Header := m_aVP_Header(c_vendIdUser_Name_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdUser_Name_AVP,3), aVP_Data := "dbo" } template User_Identity_AVP m_user_Identity_dummy := { Loading @@ -463,22 +464,22 @@ module LibDiameter_Templates { } template User_Data_AVP m_user_Data_dummy := { aVP_Header := m_aVP_Header(c_vendIdUser_Data_AVP), aVP_Header := m_aVP_Header(c_vendIdUser_Data_AVP, 1), aVP_Data := '00'O } template CC_Request_Type_AVP m_cC_Request_Type_dummy := { aVP_Header := m_aVP_Header(c_vendIdCC_Request_Type_AVP), aVP_Header := m_aVP_Header(c_vendIdCC_Request_Type_AVP,4), aVP_Data := INITIAL_REQUEST_E } template CC_Request_Number_AVP m_cC_Request_Number_dummy := { aVP_Header := m_aVP_Header(c_vendIdCC_Request_Number_AVP), aVP_Header := m_aVP_Header(c_vendIdCC_Request_Number_AVP,4), aVP_Data := 0 } template Data_Reference_AVP m_data_Reference_dummy := { aVP_Header := m_aVP_Header(c_vendIdData_Reference_AVP), aVP_Header := m_aVP_Header(c_vendIdData_Reference_AVP, 4), aVP_Data := REPOSITORY_DATA_E } Loading @@ -493,6 +494,12 @@ module LibDiameter_Templates { group SpecificAVPHeaders { template Auth_Application_Id_AVP m_authApplicationId := { aVP_Header := m_aVP_Header(c_vendIdAuth_Application_Id_AVP, 4), aVP_Data := c_applIdRx } template Host_IP_Address_AVP m_hostIPAddress(Address p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdHost_IP_Address_AVP, f_IPAdressLength(), omit), aVP_Data := p_avpData Loading @@ -500,7 +507,7 @@ module LibDiameter_Templates { template Origin_Host_AVP m_originHost(charstring p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdOrigin_Host_AVP, lengthof(p_avpData), omit), aVP_Data := f_paddedBytes_string(p_avpData) aVP_Data := p_avpData } template Result_Code_AVP mw_resultCode(template (present)/*integer*/Result_Code_Type p_avpData) := { Loading Loading @@ -535,12 +542,17 @@ module LibDiameter_Templates { template Origin_Realm_AVP m_originRealm(template(value) charstring p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdOrigin_Realm_AVP, lengthof(p_avpData), omit), aVP_Data := f_paddedBytes_string(p_avpData) aVP_Data := p_avpData } template Product_Name_AVP m_productName(template(value) universal charstring p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdProduct_Name_AVP, lengthof(p_avpData), omit), aVP_Data := f_paddedBytes_string(p_avpData) aVP_Data := p_avpData } template Vendor_Id_AVP m_supportedVendorId(template(value) UInt32 p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdSupported_Vendor_Id_AVP, 4, omit), aVP_Data := p_avpData } template Vendor_Id_AVP m_vendorId(template(value) UInt32 p_avpData) := { Loading @@ -548,6 +560,13 @@ module LibDiameter_Templates { aVP_Data := p_avpData } template Vendor_Specific_Appl_Id_AVP m_vendor_Specific_Appl_Id := { aVP_Header := m_aVP_HeaderVid(c_vendIdVendor_Specific_Appl_Id_AVP, 24, omit), vendor_Id := {m_vendorId(c_vendId3gpp)}, auth_Application_Id := {m_authApplicationId}, acct_Application_Id := omit } template Disconnect_Cause_AVP m_disconnectCause(Disconnect_Cause_Type p_aVP_Data) := { aVP_Header := m_aVP_HeaderVid(c_vendIdDisconnect_Cause_AVP, 4, omit ), aVP_Data := p_aVP_Data Loading Loading @@ -902,7 +921,7 @@ module LibDiameter_Templates { auth_Session_State := m_auth_Session_State_dummy, origin_Host := m_originHost_dummy, origin_Realm := m_originRealm_dummy, destination_Host := m_destinationRealm_dummy, destination_Host := m_destinationHost_dummy, sIP_Deregistration_Reason := m_sIP_Deregistration_Reason_dummy, destination_Realm := m_destinationRealm_dummy, user_Name := omit, Loading Loading @@ -1385,7 +1404,7 @@ module LibDiameter_Templates { template AAA_MSG m_AAA_dummy := { header := m_diameterHeaderReq_dummy(AAA_E, c_applIdCommonMsg), header := m_diameterHeaderAns_dummy(AAA_E, c_applIdCommonMsg), session_Id := m_sessionId_dummy, result_Code := omit, origin_Host := m_originHost_dummy, Loading Loading @@ -2141,7 +2160,10 @@ module LibDiameter_Templates { origin_Realm := p_originRealm, host_IP_Address := {m_hostIPAddress(p_address)}, vendor_Id := m_vendorId(c_vendId3gpp), product_Name := m_productName("ETSI") product_Name := m_productName("ETSI"), supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)}, vendor_Specific_Application_Id := {m_vendor_Specific_Appl_Id}, auth_Application_Id := {m_authApplicationId} } template DWR_MSG m_DWR_basic(template (present) Origin_Host_AVP p_originHost, Loading Loading @@ -2171,8 +2193,12 @@ module LibDiameter_Templates { origin_Realm := p_originRealm, host_IP_Address := {m_hostIPAddress(p_address)}, vendor_Id := m_vendorId(c_vendId3gpp), product_Name := m_productName("ETSI") product_Name := m_productName("ETSI"), supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)}, vendor_Specific_Application_Id := {m_vendor_Specific_Appl_Id}, auth_Application_Id := {m_authApplicationId} } template DWA_MSG m_DWA_basic(template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm) modifies m_DWA_dummy := { result_Code := m_resultCode(m_resultCode_diameterSuccess), Loading Loading @@ -2207,25 +2233,10 @@ module LibDiameter_Templates { function f_IPAdressLength () return integer {if (PX_IPv6) {return(18) }//16 for IPv6 + 2 for IP familly else {return(6) }// 4 for IPv4 + 2 for IP family {return(16+2) } //+2 address family else {return(4+2) } } function f_paddedBytes_string(in charstring p_char) return charstring { var integer v_string_length := lengthof(p_char); var charstring v_additionalPaddedString; select(v_string_length mod 4){ case (0) {v_additionalPaddedString:=""} case (1) {v_additionalPaddedString:=c_NUL & c_NUL & c_NUL} case (2) {v_additionalPaddedString:=c_NUL & c_NUL} case (3) {v_additionalPaddedString:=c_NUL} } return p_char & v_additionalPaddedString; } // end function f_paddedBytes_string }//end group FunctionsForTemplates }//end module LibDiameter_Templates No newline at end of file Loading
ttcn/LibDiameter_Interface.ttcn +4 −7 Original line number Diff line number Diff line Loading @@ -55,12 +55,9 @@ module LibDiameter_Interface var template Result_Code_AVP vc_resultCode; var template Media_Component_Description_AVP vc_mediaComponentDescription; // indicators set/used parameter status or state handling in default var boolean vc_ignore_CER_before_sync_establishement := true; // disable ignore CER when it is received in preamble //general timers timer tc_wait := 135.0; //define PIXIT if needed timer tc_msg_wait := 5.0; timer tc_wait := 5.0; // define PIXIT if needed timer tc_delay := 1.0; // delay next Request // variables for storing default references var default vc_default_diameter; Loading
ttcn/LibDiameter_Steps.ttcn +129 −70 File changed.Preview size limit exceeded, changes collapsed. Show changes
ttcn/LibDiameter_Templates.ttcn +83 −72 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ module LibDiameter_Templates { //LibCommon import from LibCommon_DataStrings {type Bit1, Bit4, Bit5, Bit8;}//all; import from LibCommon_BasicTypesAndValues {type UInt8, UInt32;}; import from LibCommon_TextStrings { const c_NUL;}; //LibDiameter import from LibDiameter_TypesAndValues all; import from LibDiameter_PIXITS all; Loading Loading @@ -212,7 +212,7 @@ module LibDiameter_Templates { endid := 0 } template DiameterHeader mw_diameterHeaderAns_dummy(Command_Code p_cmdcode, template (present) UInt32 p_applid) := { template DiameterHeader mw_diameterHeaderAns_dummy(Command_Code p_cmdcode, template UInt32 p_applid) := { version := c_versionId, msglen := ?, //Message lenght with AVPs has to be calculated cmdflags := mw_cmdFlags, //RPETrrrr Loading Loading @@ -250,10 +250,10 @@ module LibDiameter_Templates { aVP_vid := * } template AVP_Header m_aVP_Header(AVP_Code p_avpCode) := { template AVP_Header m_aVP_Header(AVP_Code p_avpCode, AVP_Length p_dataLen:=0) := { aVP_Code := p_avpCode, aVP_flags := m_avpFlags, aVP_len := 8, aVP_len := 8 + p_dataLen, aVP_vid := omit } Loading Loading @@ -294,82 +294,82 @@ module LibDiameter_Templates { group DummyAVPHeaders{ template Host_IP_Address_AVP m_hostIPAddress_dummy := { aVP_Header := m_aVP_Header(c_vendIdHost_IP_Address_AVP), aVP_Header := m_aVP_Header(c_vendIdHost_IP_Address_AVP,6), aVP_Data := {addressFamily := int2oct(1,2), ipAddress := {ipv4 := {127, 0, 0, 0}}} } template Origin_Host_AVP m_originHost_dummy := { aVP_Header := m_aVP_Header(c_vendIdOrigin_Host_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdOrigin_Host_AVP, 3), aVP_Data := "abc" } template Origin_Realm_AVP m_originRealm_dummy := { aVP_Header := m_aVP_Header(c_vendIdOrigin_Realm_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdOrigin_Realm_AVP, 3), aVP_Data := "abc" } template Vendor_Id_AVP m_vendorId_dummy := { aVP_Header := m_aVP_Header(c_vendIdVendor_Id_AVP), aVP_Header := m_aVP_Header(c_vendIdVendor_Id_AVP, 4), aVP_Data := 0 } template Product_Name_AVP m_productName_dummy := { aVP_Header := m_aVP_Header(c_vendIdProduct_Name_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdProduct_Name_AVP, 3), aVP_Data := "abc" } template Disconnect_Cause_AVP m_disconnectCause_dummy := { aVP_Header := m_aVP_Header(c_vendIdDisconnect_Cause_AVP), aVP_Header := m_aVP_Header(c_vendIdDisconnect_Cause_AVP, 4), aVP_Data := REBOOTING_E } template Result_Code_AVP m_resultCode_dummy := { aVP_Header := m_aVP_Header(c_vendIdResult_Code_AVP), aVP_Header := m_aVP_Header(c_vendIdResult_Code_AVP, 4), aVP_Data := DIAMETER_DUMMY_E } template Destination_Host_AVP m_destinationHost_dummy := { aVP_Header := m_aVP_Header(c_vendIdDestination_Host_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdDestination_Host_AVP, 3), aVP_Data := "abc" } template Destination_Realm_AVP m_destinationRealm_dummy := { aVP_Header := m_aVP_Header(c_vendIdDestination_Realm_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdDestination_Realm_AVP, 3), aVP_Data := "abc" } template Termination_Cause_AVP m_terminationCause_dummy := { aVP_Header := m_aVP_Header(c_vendIdTermination_Cause_AVP), aVP_Header := m_aVP_Header(c_vendIdTermination_Cause_AVP, 4), aVP_Data := DIAMETER_LOGOUT_E } template Session_Id_AVP m_sessionId_dummy := { aVP_Header := m_aVP_Header(c_vendIdSession_Id_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdSession_Id_AVP, 3), aVP_Data := "abc" } template Auth_Application_Id_AVP m_authApplicationId_dummy := { aVP_Header := m_aVP_Header(c_vendIdAuth_Application_Id_AVP), aVP_Header := m_aVP_Header(c_vendIdAuth_Application_Id_AVP, 4), aVP_Data := 0 } template Accounting_Record_Type_AVP m_accounting_Record_Type_dummy := { aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Type_AVP), aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Type_AVP,4), aVP_Data := EVENT_RECORD_E } template Accounting_Record_Number_AVP m_accounting_Record_Number_dummy := { aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Number_AVP), aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Number_AVP,4), aVP_Data := 0 } template Auth_Session_State_AVP m_auth_Session_State_dummy := { aVP_Header := m_aVP_Header(c_vendIdAuth_Session_State_AVP), aVP_Header := m_aVP_Header(c_vendIdAuth_Session_State_AVP,4), aVP_Data := STATE_MAINTAINED_E } Loading @@ -384,31 +384,32 @@ module LibDiameter_Templates { // } template SIP_AOR_AVP m_sIP_AOR_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_AOR_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_AOR_AVP,6), aVP_Data := { scheme := "aaa://", hostPort := {"", omit}, scheme := "sip", userInfo := {"dbo"}, hostPort := omit, urlParameters := omit } } template SIP_Visited_Network_Id_AVP m_sIP_Visited_Network_Id_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_Visited_Network_Id_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdSIP_Visited_Network_Id_AVP,6), aVP_Data := "abcabc" } template SIP_User_Authorization_Type_AVP m_sIP_User_Authorization_Type_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_User_Authorization_Type_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_User_Authorization_Type_AVP,4), aVP_Data := REGISTRATION_E } template SIP_User_Data_Already_Available_AVP m_sIP_User_Data_Already_Available_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Already_Available_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Already_Available_AVP,4), aVP_Data := USER_DATA_NOT_AVAILABLE_E } template SIP_Server_Assignment_Type_AVP m_sIP_Server_Assignment_Type_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_Server_Assignment_Type_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_Server_Assignment_Type_AVP,4), aVP_Data := NO_ASSIGNMENT_E } Loading @@ -416,11 +417,11 @@ module LibDiameter_Templates { { aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_AVP), sIP_User_Data_Type := { aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Type_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Type_AVP,3), aVP_Data := "abc" }, sIP_User_Data_Contents := { aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Contents_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Contents_AVP,1), aVP_Data := '00'O }, aVP_Type := omit Loading @@ -434,25 +435,25 @@ module LibDiameter_Templates { } template SIP_Method_AVP m_sIP_Method_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_Method_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdSIP_Method_AVP,3), aVP_Data := "sip" } template SIP_Deregistration_Reason_AVP m_sIP_Deregistration_Reason_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_Deregistration_Reason_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_Deregistration_Reason_AVP,8), sIP_Reason_Code_AVP := m_sIP_Reason_Code_dummy, sIP_Reason_Info_AVP := omit, aVP_Type := omit } template SIP_Reason_Code_AVP m_sIP_Reason_Code_dummy := { aVP_Header := m_aVP_Header(c_vendIdSIP_Reason_Code_AVP), aVP_Header := m_aVP_Header(c_vendIdSIP_Reason_Code_AVP,4), aVP_Data := PERMANENT_TERMINATION_E } template User_Name_AVP m_user_Name_dummy := { aVP_Header := m_aVP_Header(c_vendIdUser_Name_AVP), aVP_Data := "" aVP_Header := m_aVP_Header(c_vendIdUser_Name_AVP,3), aVP_Data := "dbo" } template User_Identity_AVP m_user_Identity_dummy := { Loading @@ -463,22 +464,22 @@ module LibDiameter_Templates { } template User_Data_AVP m_user_Data_dummy := { aVP_Header := m_aVP_Header(c_vendIdUser_Data_AVP), aVP_Header := m_aVP_Header(c_vendIdUser_Data_AVP, 1), aVP_Data := '00'O } template CC_Request_Type_AVP m_cC_Request_Type_dummy := { aVP_Header := m_aVP_Header(c_vendIdCC_Request_Type_AVP), aVP_Header := m_aVP_Header(c_vendIdCC_Request_Type_AVP,4), aVP_Data := INITIAL_REQUEST_E } template CC_Request_Number_AVP m_cC_Request_Number_dummy := { aVP_Header := m_aVP_Header(c_vendIdCC_Request_Number_AVP), aVP_Header := m_aVP_Header(c_vendIdCC_Request_Number_AVP,4), aVP_Data := 0 } template Data_Reference_AVP m_data_Reference_dummy := { aVP_Header := m_aVP_Header(c_vendIdData_Reference_AVP), aVP_Header := m_aVP_Header(c_vendIdData_Reference_AVP, 4), aVP_Data := REPOSITORY_DATA_E } Loading @@ -493,6 +494,12 @@ module LibDiameter_Templates { group SpecificAVPHeaders { template Auth_Application_Id_AVP m_authApplicationId := { aVP_Header := m_aVP_Header(c_vendIdAuth_Application_Id_AVP, 4), aVP_Data := c_applIdRx } template Host_IP_Address_AVP m_hostIPAddress(Address p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdHost_IP_Address_AVP, f_IPAdressLength(), omit), aVP_Data := p_avpData Loading @@ -500,7 +507,7 @@ module LibDiameter_Templates { template Origin_Host_AVP m_originHost(charstring p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdOrigin_Host_AVP, lengthof(p_avpData), omit), aVP_Data := f_paddedBytes_string(p_avpData) aVP_Data := p_avpData } template Result_Code_AVP mw_resultCode(template (present)/*integer*/Result_Code_Type p_avpData) := { Loading Loading @@ -535,12 +542,17 @@ module LibDiameter_Templates { template Origin_Realm_AVP m_originRealm(template(value) charstring p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdOrigin_Realm_AVP, lengthof(p_avpData), omit), aVP_Data := f_paddedBytes_string(p_avpData) aVP_Data := p_avpData } template Product_Name_AVP m_productName(template(value) universal charstring p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdProduct_Name_AVP, lengthof(p_avpData), omit), aVP_Data := f_paddedBytes_string(p_avpData) aVP_Data := p_avpData } template Vendor_Id_AVP m_supportedVendorId(template(value) UInt32 p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdSupported_Vendor_Id_AVP, 4, omit), aVP_Data := p_avpData } template Vendor_Id_AVP m_vendorId(template(value) UInt32 p_avpData) := { Loading @@ -548,6 +560,13 @@ module LibDiameter_Templates { aVP_Data := p_avpData } template Vendor_Specific_Appl_Id_AVP m_vendor_Specific_Appl_Id := { aVP_Header := m_aVP_HeaderVid(c_vendIdVendor_Specific_Appl_Id_AVP, 24, omit), vendor_Id := {m_vendorId(c_vendId3gpp)}, auth_Application_Id := {m_authApplicationId}, acct_Application_Id := omit } template Disconnect_Cause_AVP m_disconnectCause(Disconnect_Cause_Type p_aVP_Data) := { aVP_Header := m_aVP_HeaderVid(c_vendIdDisconnect_Cause_AVP, 4, omit ), aVP_Data := p_aVP_Data Loading Loading @@ -902,7 +921,7 @@ module LibDiameter_Templates { auth_Session_State := m_auth_Session_State_dummy, origin_Host := m_originHost_dummy, origin_Realm := m_originRealm_dummy, destination_Host := m_destinationRealm_dummy, destination_Host := m_destinationHost_dummy, sIP_Deregistration_Reason := m_sIP_Deregistration_Reason_dummy, destination_Realm := m_destinationRealm_dummy, user_Name := omit, Loading Loading @@ -1385,7 +1404,7 @@ module LibDiameter_Templates { template AAA_MSG m_AAA_dummy := { header := m_diameterHeaderReq_dummy(AAA_E, c_applIdCommonMsg), header := m_diameterHeaderAns_dummy(AAA_E, c_applIdCommonMsg), session_Id := m_sessionId_dummy, result_Code := omit, origin_Host := m_originHost_dummy, Loading Loading @@ -2141,7 +2160,10 @@ module LibDiameter_Templates { origin_Realm := p_originRealm, host_IP_Address := {m_hostIPAddress(p_address)}, vendor_Id := m_vendorId(c_vendId3gpp), product_Name := m_productName("ETSI") product_Name := m_productName("ETSI"), supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)}, vendor_Specific_Application_Id := {m_vendor_Specific_Appl_Id}, auth_Application_Id := {m_authApplicationId} } template DWR_MSG m_DWR_basic(template (present) Origin_Host_AVP p_originHost, Loading Loading @@ -2171,8 +2193,12 @@ module LibDiameter_Templates { origin_Realm := p_originRealm, host_IP_Address := {m_hostIPAddress(p_address)}, vendor_Id := m_vendorId(c_vendId3gpp), product_Name := m_productName("ETSI") product_Name := m_productName("ETSI"), supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)}, vendor_Specific_Application_Id := {m_vendor_Specific_Appl_Id}, auth_Application_Id := {m_authApplicationId} } template DWA_MSG m_DWA_basic(template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm) modifies m_DWA_dummy := { result_Code := m_resultCode(m_resultCode_diameterSuccess), Loading Loading @@ -2207,25 +2233,10 @@ module LibDiameter_Templates { function f_IPAdressLength () return integer {if (PX_IPv6) {return(18) }//16 for IPv6 + 2 for IP familly else {return(6) }// 4 for IPv4 + 2 for IP family {return(16+2) } //+2 address family else {return(4+2) } } function f_paddedBytes_string(in charstring p_char) return charstring { var integer v_string_length := lengthof(p_char); var charstring v_additionalPaddedString; select(v_string_length mod 4){ case (0) {v_additionalPaddedString:=""} case (1) {v_additionalPaddedString:=c_NUL & c_NUL & c_NUL} case (2) {v_additionalPaddedString:=c_NUL & c_NUL} case (3) {v_additionalPaddedString:=c_NUL} } return p_char & v_additionalPaddedString; } // end function f_paddedBytes_string }//end group FunctionsForTemplates }//end module LibDiameter_Templates No newline at end of file