Loading DiameterRx/ttcn/DiameterRx_Steps.ttcn3 +16 −173 Original line number Diff line number Diff line Loading @@ -35,7 +35,6 @@ //Defaults vc_def_catchSyncStop_diameter := activate(a_diameter_catchSyncStop()); vc_default_diameter := activate (a_diameter_default()); activate(a_diameter_Rx_default()); //Base LibDiameter init function if there will be any base initialisation f_Diameter_Init_Component(); Loading Loading @@ -65,84 +64,16 @@ * @param */ function f_IUT_session_establishment() runs on DiameterComponent {var DIAMETER_MSG v_MSG; runs on DiameterComponent { if (PX_DIAM_LLP_ENABLED and f_gtZero(vc_ETS_conn)) { tc_wait.start(2.0); interleave { []DIAMP.receive (DIAMETER_MSG:{aAR_MSG:=mw_AAR_basic(?,?,?,?,*)}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for AAR if needed vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session1 f_send_AAA(m_AAA_modified_ResultCode_ANCA(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess), omit)); } f_awaiting_AAR(mw_AAR_dummy); // IUT esthablish Diameter session []DIAMP.receive (DIAMETER_MSG:{aAR_MSG:=mw_AAR_basic(?,?,?,?,*)}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for AAR if needed vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session2 f_send_AAA(m_AAA_modified_ResultCode_ANCA(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess), omit)); } } } else { tc_wait.start; interleave { []DIAMP.receive (DIAMETER_MSG:{aAR_MSG:=mw_AAR_basic(?,?,?,?,*)}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for AAR if needed vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session1 f_send_AAA(m_AAA_modified_ResultCode_ANCA(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess), omit)); } []DIAMP.receive (DIAMETER_MSG:{aAR_MSG:=mw_AAR_basic(?,?,?,?,*)}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for AAR if needed vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session2 f_send_AAA(m_AAA_modified_ResultCode_ANCA(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess), omit)); } } } } // end function f_IUT_session_establishment /* Loading Loading @@ -232,6 +163,7 @@ group twoSessionRelatedFunctions{ function f_awaitAAR_sendAAAandSaveSessionIds() runs on DiameterComponent { var DIAMETER_MSG v_MSG; Loading @@ -249,7 +181,7 @@ vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session1 if needed //TODO store session1 f_send_AAA(m_AAA_basic(vc_sessionId, vc_originHost, vc_originRealm)); } Loading @@ -261,7 +193,7 @@ vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session2 if needed //TODO store session2 f_send_AAA(m_AAA_basic(vc_sessionId, vc_originHost, vc_originRealm)); } } Loading @@ -279,7 +211,7 @@ vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session1 if needed //TODO store session1 f_send_AAA(m_AAA_basic(vc_sessionId, vc_originHost, vc_originRealm)); } Loading @@ -291,102 +223,13 @@ vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session2 if needed //TODO store session2 f_send_AAA(m_AAA_basic(vc_sessionId, vc_originHost, vc_originRealm)); } } } } //end function f_awaitAAR_sendAAAandSaveSessionIds() function f_awaitSTR_sendSTA() runs on DiameterComponent { var DIAMETER_MSG v_MSG; if (PX_DIAM_LLP_ENABLED and f_gtZero(vc_ETS_conn)) { tc_wait.start(5.0); interleave { []DIAMP.receive (DIAMETER_MSG:{sTR_MSG:=mw_STR_dummy}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for STR if needed vc_recv_hopid:= vc_recvDiamMsg.sTR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.sTR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.sTR_MSG.session_Id; f_send_STA(m_STA_basic(vc_sessionId, m_resultCode(m_resultCode_diameterSuccess), vc_originHost, vc_originRealm)); } []DIAMP.receive (DIAMETER_MSG:{sTR_MSG:=mw_STR_dummy}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for STR if needed vc_recv_hopid:= vc_recvDiamMsg.sTR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.sTR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.sTR_MSG.session_Id; f_send_STA(m_STA_basic(vc_sessionId, m_resultCode(m_resultCode_diameterSuccess), vc_originHost, vc_originRealm)); } } } else { tc_wait.start; interleave { []DIAMP.receive (DIAMETER_MSG:{sTR_MSG:=mw_STR_dummy}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for STR if needed vc_recv_hopid:= vc_recvDiamMsg.sTR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.sTR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.sTR_MSG.session_Id; f_send_STA(m_STA_basic(vc_sessionId, m_resultCode(m_resultCode_diameterSuccess), vc_originHost, vc_originRealm)); } []DIAMP.receive (DIAMETER_MSG:{sTR_MSG:=mw_STR_dummy}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for STR if needed vc_recv_hopid:= vc_recvDiamMsg.sTR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.sTR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.sTR_MSG.session_Id; f_send_STA(m_STA_basic(vc_sessionId, m_resultCode(m_resultCode_diameterSuccess), vc_originHost, vc_originRealm)); } } } } //end function f_awaitAAR_sendAAAandSaveSessionIds() } //end group twoSessionRelatedFunctions altstep a_diameter_Rx_default() runs on DiameterComponent { []DIAMP.receive (DIAMETER_MSG:{aAR_MSG:=mw_AAR_basic(?,?,?,?,*)}) -> value vc_recvDiamMsg { tc_wait.stop; setverdict(fail,"Unexpected AAR"); // store specific parameter for AAR if needed vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; f_send_AAA(m_AAA_modified_ResultCode_ANCA(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(DIAMETER_UNSUPPORTED_VERSION_E), omit)); } } } // end module DiameterRx_Steps No newline at end of file Loading
DiameterRx/ttcn/DiameterRx_Steps.ttcn3 +16 −173 Original line number Diff line number Diff line Loading @@ -35,7 +35,6 @@ //Defaults vc_def_catchSyncStop_diameter := activate(a_diameter_catchSyncStop()); vc_default_diameter := activate (a_diameter_default()); activate(a_diameter_Rx_default()); //Base LibDiameter init function if there will be any base initialisation f_Diameter_Init_Component(); Loading Loading @@ -65,84 +64,16 @@ * @param */ function f_IUT_session_establishment() runs on DiameterComponent {var DIAMETER_MSG v_MSG; runs on DiameterComponent { if (PX_DIAM_LLP_ENABLED and f_gtZero(vc_ETS_conn)) { tc_wait.start(2.0); interleave { []DIAMP.receive (DIAMETER_MSG:{aAR_MSG:=mw_AAR_basic(?,?,?,?,*)}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for AAR if needed vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session1 f_send_AAA(m_AAA_modified_ResultCode_ANCA(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess), omit)); } f_awaiting_AAR(mw_AAR_dummy); // IUT esthablish Diameter session []DIAMP.receive (DIAMETER_MSG:{aAR_MSG:=mw_AAR_basic(?,?,?,?,*)}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for AAR if needed vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session2 f_send_AAA(m_AAA_modified_ResultCode_ANCA(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess), omit)); } } } else { tc_wait.start; interleave { []DIAMP.receive (DIAMETER_MSG:{aAR_MSG:=mw_AAR_basic(?,?,?,?,*)}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for AAR if needed vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session1 f_send_AAA(m_AAA_modified_ResultCode_ANCA(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess), omit)); } []DIAMP.receive (DIAMETER_MSG:{aAR_MSG:=mw_AAR_basic(?,?,?,?,*)}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for AAR if needed vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session2 f_send_AAA(m_AAA_modified_ResultCode_ANCA(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(m_resultCode_diameterSuccess), omit)); } } } } // end function f_IUT_session_establishment /* Loading Loading @@ -232,6 +163,7 @@ group twoSessionRelatedFunctions{ function f_awaitAAR_sendAAAandSaveSessionIds() runs on DiameterComponent { var DIAMETER_MSG v_MSG; Loading @@ -249,7 +181,7 @@ vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session1 if needed //TODO store session1 f_send_AAA(m_AAA_basic(vc_sessionId, vc_originHost, vc_originRealm)); } Loading @@ -261,7 +193,7 @@ vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session2 if needed //TODO store session2 f_send_AAA(m_AAA_basic(vc_sessionId, vc_originHost, vc_originRealm)); } } Loading @@ -279,7 +211,7 @@ vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session1 if needed //TODO store session1 f_send_AAA(m_AAA_basic(vc_sessionId, vc_originHost, vc_originRealm)); } Loading @@ -291,102 +223,13 @@ vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; //TODO store session2 if needed //TODO store session2 f_send_AAA(m_AAA_basic(vc_sessionId, vc_originHost, vc_originRealm)); } } } } //end function f_awaitAAR_sendAAAandSaveSessionIds() function f_awaitSTR_sendSTA() runs on DiameterComponent { var DIAMETER_MSG v_MSG; if (PX_DIAM_LLP_ENABLED and f_gtZero(vc_ETS_conn)) { tc_wait.start(5.0); interleave { []DIAMP.receive (DIAMETER_MSG:{sTR_MSG:=mw_STR_dummy}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for STR if needed vc_recv_hopid:= vc_recvDiamMsg.sTR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.sTR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.sTR_MSG.session_Id; f_send_STA(m_STA_basic(vc_sessionId, m_resultCode(m_resultCode_diameterSuccess), vc_originHost, vc_originRealm)); } []DIAMP.receive (DIAMETER_MSG:{sTR_MSG:=mw_STR_dummy}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for STR if needed vc_recv_hopid:= vc_recvDiamMsg.sTR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.sTR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.sTR_MSG.session_Id; f_send_STA(m_STA_basic(vc_sessionId, m_resultCode(m_resultCode_diameterSuccess), vc_originHost, vc_originRealm)); } } } else { tc_wait.start; interleave { []DIAMP.receive (DIAMETER_MSG:{sTR_MSG:=mw_STR_dummy}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for STR if needed vc_recv_hopid:= vc_recvDiamMsg.sTR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.sTR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.sTR_MSG.session_Id; f_send_STA(m_STA_basic(vc_sessionId, m_resultCode(m_resultCode_diameterSuccess), vc_originHost, vc_originRealm)); } []DIAMP.receive (DIAMETER_MSG:{sTR_MSG:=mw_STR_dummy}) -> value v_MSG { tc_wait.stop; vc_recvDiamMsg := v_MSG; // store specific parameter for STR if needed vc_recv_hopid:= vc_recvDiamMsg.sTR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.sTR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.sTR_MSG.session_Id; f_send_STA(m_STA_basic(vc_sessionId, m_resultCode(m_resultCode_diameterSuccess), vc_originHost, vc_originRealm)); } } } } //end function f_awaitAAR_sendAAAandSaveSessionIds() } //end group twoSessionRelatedFunctions altstep a_diameter_Rx_default() runs on DiameterComponent { []DIAMP.receive (DIAMETER_MSG:{aAR_MSG:=mw_AAR_basic(?,?,?,?,*)}) -> value vc_recvDiamMsg { tc_wait.stop; setverdict(fail,"Unexpected AAR"); // store specific parameter for AAR if needed vc_recv_hopid:= vc_recvDiamMsg.aAR_MSG.header.hopid; vc_recv_endid:= vc_recvDiamMsg.aAR_MSG.header.endid; vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id; f_send_AAA(m_AAA_modified_ResultCode_ANCA(vc_sessionId, vc_originHost, vc_originRealm, m_resultCode(DIAMETER_UNSUPPORTED_VERSION_E), omit)); } } } // end module DiameterRx_Steps No newline at end of file