Loading ttcn/LibDiameter_Steps.ttcn +27 −14 Original line number Diff line number Diff line Loading @@ -73,7 +73,10 @@ group AwaitingMessage { vc_recvDiamMsg := v_MSG; } [] tc_wait.timeout { setverdict(fail,"*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***") setverdict(fail,"*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); //Stop the component in case of timeout all timer.stop; f_componentStop(); } } } Loading @@ -88,7 +91,10 @@ group AwaitingMessage { vc_recvDiamMsg := v_MSG; } [] tc_wait.timeout { setverdict(fail,"*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***") setverdict(fail,"*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); //Stop the component in case of timeout all timer.stop; f_componentStop(); } } } Loading Loading @@ -1510,6 +1516,18 @@ group GlobalSteps { stop; } /** * @desc component termination */ function f_componentStop( ) runs on DiameterComponent { syncPort.send(m_syncClientStop); DIAMP.clear; stop; } /** /** * * @desc original copied from older LibCommon_VerdictControl Loading Loading @@ -1760,18 +1778,15 @@ group DefaultsTestStep f_send_DWA(m_DWA_basic(vc_originHost, vc_originRealm)); repeat; } [] DIAMP.receive (DIAMETER_MSG:{cER_MSG := mw_CER_basic(mw_authApplicationId(c_applIdRx))}) -> value vc_recvDiamMsgDefault //CER message can be accepted in following cases: //- if CER message was not accepted 1st time then it is handled in default altstep. //- if component is unmaped and maped back for TP reason then Diameter Session can be established again in default Altestep [] DIAMP.receive (DIAMETER_MSG:{cER_MSG := mw_CER_basic(?)}) -> value vc_recvDiamMsgDefault { vc_recv_hopid:= vc_recvDiamMsgDefault.cER_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsgDefault.cER_MSG.header.endid; f_send_CEA(m_CEA_AppId(vc_originHost, vc_originRealm, vc_hostIPAddress, c_applIdRx)); repeat; } [] DIAMP.receive (DIAMETER_MSG:{cER_MSG := mw_CER_basic(mw_authApplicationId(c_applIdGx))}) -> value vc_recvDiamMsgDefault { vc_recv_hopid:= vc_recvDiamMsgDefault.cER_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsgDefault.cER_MSG.header.endid; f_send_CEA(m_CEA_AppId(vc_originHost, vc_originRealm, vc_hostIPAddress, c_applIdGx)); //Set all possible interfaces to avoid multiple CER checking f_send_CEA(m_CEA_AppId_all(vc_originHost, vc_originRealm, vc_hostIPAddress)); repeat; } [] DIAMP.receive (DIAMETER_MSG:?) -> value vc_recvDiamMsgDefault Loading @@ -1798,9 +1813,7 @@ group DefaultsTestStep // Terminate component execution stop; } } }//end altstep a_diameter_default } // end of group DefaultsTestStep } // end module LibDiameter_Steps No newline at end of file ttcn/LibDiameter_Templates.ttcn +30 −0 Original line number Diff line number Diff line Loading @@ -3322,6 +3322,36 @@ module LibDiameter_Templates { } } template (value) CEA_MSG m_CEA_AppId_all( template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Address p_address) modifies m_CEA_basic := { cEA_Body := { result_Code := m_resultCode(m_resultCode_diameterSuccess), origin_Host := p_originHost, origin_Realm := p_originRealm, host_IP_Address := {m_hostIPAddress(p_address)}, vendor_Id := m_vendorId(c_vendId3gpp), product_Name := m_productName("ETSI "), supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)}, vendor_Specific_Application_Id := {m_vendor_Specific_Appl_Id(c_applIdRx), m_vendor_Specific_Appl_Id(c_applIdGx), m_vendor_Specific_Appl_Id(c_applId3GPPCxDx), m_vendor_Specific_Appl_Id(c_applIdRf), m_vendor_Specific_Appl_Id(c_applIdRo) //add new if needed }, auth_Application_Id := {m_authApplicationId(c_applIdRx), m_authApplicationId(c_applIdGx), m_authApplicationId(c_applId3GPPCxDx), m_authApplicationId(c_applIdRf), m_authApplicationId(c_applIdRo) //add new if needed } } } } //end group modified_answer_templates_send group modified_answer_templates_receive { Loading ttcn/LibDiameter_TypesAndValues.ttcn +3 −0 Original line number Diff line number Diff line Loading @@ -2821,6 +2821,9 @@ group BasicTypesAndConstants{ } // End of group MessageTypes with{ encode "DIAMETERCodec" } group Other{ Loading Loading
ttcn/LibDiameter_Steps.ttcn +27 −14 Original line number Diff line number Diff line Loading @@ -73,7 +73,10 @@ group AwaitingMessage { vc_recvDiamMsg := v_MSG; } [] tc_wait.timeout { setverdict(fail,"*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***") setverdict(fail,"*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); //Stop the component in case of timeout all timer.stop; f_componentStop(); } } } Loading @@ -88,7 +91,10 @@ group AwaitingMessage { vc_recvDiamMsg := v_MSG; } [] tc_wait.timeout { setverdict(fail,"*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***") setverdict(fail,"*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); //Stop the component in case of timeout all timer.stop; f_componentStop(); } } } Loading Loading @@ -1510,6 +1516,18 @@ group GlobalSteps { stop; } /** * @desc component termination */ function f_componentStop( ) runs on DiameterComponent { syncPort.send(m_syncClientStop); DIAMP.clear; stop; } /** /** * * @desc original copied from older LibCommon_VerdictControl Loading Loading @@ -1760,18 +1778,15 @@ group DefaultsTestStep f_send_DWA(m_DWA_basic(vc_originHost, vc_originRealm)); repeat; } [] DIAMP.receive (DIAMETER_MSG:{cER_MSG := mw_CER_basic(mw_authApplicationId(c_applIdRx))}) -> value vc_recvDiamMsgDefault //CER message can be accepted in following cases: //- if CER message was not accepted 1st time then it is handled in default altstep. //- if component is unmaped and maped back for TP reason then Diameter Session can be established again in default Altestep [] DIAMP.receive (DIAMETER_MSG:{cER_MSG := mw_CER_basic(?)}) -> value vc_recvDiamMsgDefault { vc_recv_hopid:= vc_recvDiamMsgDefault.cER_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsgDefault.cER_MSG.header.endid; f_send_CEA(m_CEA_AppId(vc_originHost, vc_originRealm, vc_hostIPAddress, c_applIdRx)); repeat; } [] DIAMP.receive (DIAMETER_MSG:{cER_MSG := mw_CER_basic(mw_authApplicationId(c_applIdGx))}) -> value vc_recvDiamMsgDefault { vc_recv_hopid:= vc_recvDiamMsgDefault.cER_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsgDefault.cER_MSG.header.endid; f_send_CEA(m_CEA_AppId(vc_originHost, vc_originRealm, vc_hostIPAddress, c_applIdGx)); //Set all possible interfaces to avoid multiple CER checking f_send_CEA(m_CEA_AppId_all(vc_originHost, vc_originRealm, vc_hostIPAddress)); repeat; } [] DIAMP.receive (DIAMETER_MSG:?) -> value vc_recvDiamMsgDefault Loading @@ -1798,9 +1813,7 @@ group DefaultsTestStep // Terminate component execution stop; } } }//end altstep a_diameter_default } // end of group DefaultsTestStep } // end module LibDiameter_Steps No newline at end of file
ttcn/LibDiameter_Templates.ttcn +30 −0 Original line number Diff line number Diff line Loading @@ -3322,6 +3322,36 @@ module LibDiameter_Templates { } } template (value) CEA_MSG m_CEA_AppId_all( template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Address p_address) modifies m_CEA_basic := { cEA_Body := { result_Code := m_resultCode(m_resultCode_diameterSuccess), origin_Host := p_originHost, origin_Realm := p_originRealm, host_IP_Address := {m_hostIPAddress(p_address)}, vendor_Id := m_vendorId(c_vendId3gpp), product_Name := m_productName("ETSI "), supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)}, vendor_Specific_Application_Id := {m_vendor_Specific_Appl_Id(c_applIdRx), m_vendor_Specific_Appl_Id(c_applIdGx), m_vendor_Specific_Appl_Id(c_applId3GPPCxDx), m_vendor_Specific_Appl_Id(c_applIdRf), m_vendor_Specific_Appl_Id(c_applIdRo) //add new if needed }, auth_Application_Id := {m_authApplicationId(c_applIdRx), m_authApplicationId(c_applIdGx), m_authApplicationId(c_applId3GPPCxDx), m_authApplicationId(c_applIdRf), m_authApplicationId(c_applIdRo) //add new if needed } } } } //end group modified_answer_templates_send group modified_answer_templates_receive { Loading
ttcn/LibDiameter_TypesAndValues.ttcn +3 −0 Original line number Diff line number Diff line Loading @@ -2821,6 +2821,9 @@ group BasicTypesAndConstants{ } // End of group MessageTypes with{ encode "DIAMETERCodec" } group Other{ Loading