Loading DiameterS6a/ttcn/DiameterS6a_HSS_TCFunctions.ttcn3 +1 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,7 @@ module DiameterS6a_HSS_TCFunctions { tc_ac.start; alt { [] MME_S6a.receive( m_mmeUpdateLocationRequest( mw_mmeUpdateLocationRequest( mdw_ULA_TC_01( vc_sessionId, // containing a Session-ID AVP mdw_ulaBodyAvps_TC_01( Loading DiameterS6a/ttcn/DiameterS6a_Steps.ttcn3 +4 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,10 @@ * @desc Default altstep activated during the preambule */ altstep hss_default() runs on TestAdapter { [] MME_S6a.receive(mw_S6a_ULA_dummy) { // Received an unexpected UL-Answer message, process it as an error [] MME_S6a.receive( mw_mmeUpdateLocationRequest( mw_S6a_ULA_dummy )) { // Received an unexpected UL-Answer message, process it as an error log("*** a_default: ERROR: Received an unexpected UL-Answer message, process it as an error ***"); f_selfOrClientSyncAndVerdict("error", e_error); } Loading DiameterS6a/ttcn/DiameterS6a_Templates.ttcn +54 −17 Original line number Diff line number Diff line Loading @@ -961,25 +961,37 @@ module DiameterS6a_Templates { group S6aBasic_request_templates_send { template (value) DIAMETER_S6a_HSS_Initiated_Message m_mmeUpdateLocationRequest(in template (value) ULA_MSG p_s6a_CCA_MSG) := { s6a_CCA_MSG := p_s6a_CCA_MSG } // End of tempate m_mmeUpdateLocationRequest /** * @desc Send template specifying no state maintained */ template (value) Auth_Session_State_AVP m_auth_Session_State_noStateMaintained modifies m_auth_Session_State_dummy := { aVP_Data := NO_STATE_MAINTAINED_E } // End of tempate m_auth_Session_State_ } // End of tempate m_auth_Session_State_noStateMaintained /** * @desc Send template for user name * @param p_aVP_Data The user name */ template (value) User_Name_AVP m_user_Name( in charstring p_aVP_Data ) modifies m_user_Name_dummy := { aVP_Data := p_aVP_Data } // End of tempate m_user_Name /** * @desc Send template for radio access technology that is serving the UE * @param p_avpData Radio access technology value */ template (value) RAT_Type_AVP m_rAT_Type(in RAT_Type p_avpData ) := { aVP_Header := m_aVP_HeaderVid_Mbit0(c_rAT_Type_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_avpData } // End of tempate m_rAT_Type /** * @desc Send ULR_Flags_AVP message with bits configuration * @param p_aVP_Data ULR-Flags * @see ETSI TS 129 272 V10.8.0 (2013-07) Table 7.3.7/1: ULR-Flags */ template (value) ULR_Flags_AVP m_ulr_Flags_AVP( in UInt32 p_aVP_Data ) modifies m_ulrFlags_dummy := { aVP_Data := p_aVP_Data Loading @@ -988,6 +1000,16 @@ module DiameterS6a_Templates { } // End of group S6aBasic_request_templates_send group S9basic_request_templates_receive { /** * @desc Main receive template for MME_S6a port * @param p_s6a_CCA_MSG UL-Answer receive template message */ template (present) DIAMETER_S6a_HSS_Initiated_Message mw_mmeUpdateLocationRequest(in template (present) ULA_MSG p_s6a_CCA_MSG) := { s6a_CCA_MSG := p_s6a_CCA_MSG } // End of tempate m_mmeUpdateLocationRequest } // End of group S9basic_request_templates_receive group S6aBasic_answer_templates_send { Loading Loading @@ -1044,15 +1066,15 @@ module DiameterS6a_Templates { } // End of tempate md_ULR_TC_01 /** * @desc * @param p_auth_Session_State * @param p_originHost * @param p_originRealm * @param p_destinationRealm * @param p_user_Name * @param p_rat_Type * @param p_ulr_Flags * @param p_visited_PLMN_Id * @desc Send template for ULR message body * @param p_auth_Session_State Specifies if the state is maintained for a particular session * @param p_originHost Identifies the endpoint that originated the Diameter message * @param p_originRealm Realm of the originator * @param p_destinationRealm The realm to which the message is to be routed * @param p_user_Name User-Name * @param p_rat_Type Radio access type the UE is using * @param p_ulr_Flags ULR Bit mask * @param p_visited_PLMN_Id Concatenation of MCC and MNC */ template (value) ULR_Body_AVP md_ulrBodyAvps_TC_01( in template (value) Auth_Session_State_AVP p_auth_Session_State, Loading Loading @@ -1082,6 +1104,11 @@ module DiameterS6a_Templates { group t_TC_HSS_UL_01 { /** * @desc Receive template for ULA * @param p_sessionId Session identifier * @param p_ulaBody ULA message body */ template (present) ULA_MSG mdw_ULA_TC_01( in template (present) Session_Id_AVP p_sessionId, in template (present) ULA_Body_AVP p_ulaBody Loading @@ -1090,18 +1117,28 @@ module DiameterS6a_Templates { uLA_Body := p_ulaBody } // End of template mdw_ULR_TC_01 /** * @desc Receive template for ULA message body * @param p_resultCode Indicates whether a particular request was completed successfully or an error occurred * @param p_auth_Session_State Specifies if the state is maintained for a particular session * @param p_originHost Identifies the endpoint that originated the Diameter message * @param p_originRealm Realm of the originator * @param p_ula_Flags ULA Bit mask */ template (present) ULA_Body_AVP mdw_ulaBodyAvps_TC_01( in template (present) Result_Code_AVP p_resultCode, in template (present) Auth_Session_State_AVP p_auth_Session_State, in template (present) Origin_Host_AVP p_originHost, in template (present) Origin_Realm_AVP p_originRealm, in template (present) ULA_Flags_AVP p_ula_Flags in template (present) ULA_Flags_AVP p_ula_Flags, in template (present)Subscription_Data_AVP p_subscription_Data ) modifies mw_S6a_ULA_Body_dummy := { result_Code := p_resultCode, auth_Session_State := p_auth_Session_State, origin_Host := p_originHost, origin_Realm := m_originRealm_dummy, auth_Session_State := p_auth_Session_State, ula_Flags := p_ula_Flags ula_Flags := p_ula_Flags, subscription_Data := p_subscription_Data } // End of template mdw_ulrBodyAvps_TC_01 } // End of group S6aModified_request_templates_receive Loading Loading
DiameterS6a/ttcn/DiameterS6a_HSS_TCFunctions.ttcn3 +1 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,7 @@ module DiameterS6a_HSS_TCFunctions { tc_ac.start; alt { [] MME_S6a.receive( m_mmeUpdateLocationRequest( mw_mmeUpdateLocationRequest( mdw_ULA_TC_01( vc_sessionId, // containing a Session-ID AVP mdw_ulaBodyAvps_TC_01( Loading
DiameterS6a/ttcn/DiameterS6a_Steps.ttcn3 +4 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,10 @@ * @desc Default altstep activated during the preambule */ altstep hss_default() runs on TestAdapter { [] MME_S6a.receive(mw_S6a_ULA_dummy) { // Received an unexpected UL-Answer message, process it as an error [] MME_S6a.receive( mw_mmeUpdateLocationRequest( mw_S6a_ULA_dummy )) { // Received an unexpected UL-Answer message, process it as an error log("*** a_default: ERROR: Received an unexpected UL-Answer message, process it as an error ***"); f_selfOrClientSyncAndVerdict("error", e_error); } Loading
DiameterS6a/ttcn/DiameterS6a_Templates.ttcn +54 −17 Original line number Diff line number Diff line Loading @@ -961,25 +961,37 @@ module DiameterS6a_Templates { group S6aBasic_request_templates_send { template (value) DIAMETER_S6a_HSS_Initiated_Message m_mmeUpdateLocationRequest(in template (value) ULA_MSG p_s6a_CCA_MSG) := { s6a_CCA_MSG := p_s6a_CCA_MSG } // End of tempate m_mmeUpdateLocationRequest /** * @desc Send template specifying no state maintained */ template (value) Auth_Session_State_AVP m_auth_Session_State_noStateMaintained modifies m_auth_Session_State_dummy := { aVP_Data := NO_STATE_MAINTAINED_E } // End of tempate m_auth_Session_State_ } // End of tempate m_auth_Session_State_noStateMaintained /** * @desc Send template for user name * @param p_aVP_Data The user name */ template (value) User_Name_AVP m_user_Name( in charstring p_aVP_Data ) modifies m_user_Name_dummy := { aVP_Data := p_aVP_Data } // End of tempate m_user_Name /** * @desc Send template for radio access technology that is serving the UE * @param p_avpData Radio access technology value */ template (value) RAT_Type_AVP m_rAT_Type(in RAT_Type p_avpData ) := { aVP_Header := m_aVP_HeaderVid_Mbit0(c_rAT_Type_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_avpData } // End of tempate m_rAT_Type /** * @desc Send ULR_Flags_AVP message with bits configuration * @param p_aVP_Data ULR-Flags * @see ETSI TS 129 272 V10.8.0 (2013-07) Table 7.3.7/1: ULR-Flags */ template (value) ULR_Flags_AVP m_ulr_Flags_AVP( in UInt32 p_aVP_Data ) modifies m_ulrFlags_dummy := { aVP_Data := p_aVP_Data Loading @@ -988,6 +1000,16 @@ module DiameterS6a_Templates { } // End of group S6aBasic_request_templates_send group S9basic_request_templates_receive { /** * @desc Main receive template for MME_S6a port * @param p_s6a_CCA_MSG UL-Answer receive template message */ template (present) DIAMETER_S6a_HSS_Initiated_Message mw_mmeUpdateLocationRequest(in template (present) ULA_MSG p_s6a_CCA_MSG) := { s6a_CCA_MSG := p_s6a_CCA_MSG } // End of tempate m_mmeUpdateLocationRequest } // End of group S9basic_request_templates_receive group S6aBasic_answer_templates_send { Loading Loading @@ -1044,15 +1066,15 @@ module DiameterS6a_Templates { } // End of tempate md_ULR_TC_01 /** * @desc * @param p_auth_Session_State * @param p_originHost * @param p_originRealm * @param p_destinationRealm * @param p_user_Name * @param p_rat_Type * @param p_ulr_Flags * @param p_visited_PLMN_Id * @desc Send template for ULR message body * @param p_auth_Session_State Specifies if the state is maintained for a particular session * @param p_originHost Identifies the endpoint that originated the Diameter message * @param p_originRealm Realm of the originator * @param p_destinationRealm The realm to which the message is to be routed * @param p_user_Name User-Name * @param p_rat_Type Radio access type the UE is using * @param p_ulr_Flags ULR Bit mask * @param p_visited_PLMN_Id Concatenation of MCC and MNC */ template (value) ULR_Body_AVP md_ulrBodyAvps_TC_01( in template (value) Auth_Session_State_AVP p_auth_Session_State, Loading Loading @@ -1082,6 +1104,11 @@ module DiameterS6a_Templates { group t_TC_HSS_UL_01 { /** * @desc Receive template for ULA * @param p_sessionId Session identifier * @param p_ulaBody ULA message body */ template (present) ULA_MSG mdw_ULA_TC_01( in template (present) Session_Id_AVP p_sessionId, in template (present) ULA_Body_AVP p_ulaBody Loading @@ -1090,18 +1117,28 @@ module DiameterS6a_Templates { uLA_Body := p_ulaBody } // End of template mdw_ULR_TC_01 /** * @desc Receive template for ULA message body * @param p_resultCode Indicates whether a particular request was completed successfully or an error occurred * @param p_auth_Session_State Specifies if the state is maintained for a particular session * @param p_originHost Identifies the endpoint that originated the Diameter message * @param p_originRealm Realm of the originator * @param p_ula_Flags ULA Bit mask */ template (present) ULA_Body_AVP mdw_ulaBodyAvps_TC_01( in template (present) Result_Code_AVP p_resultCode, in template (present) Auth_Session_State_AVP p_auth_Session_State, in template (present) Origin_Host_AVP p_originHost, in template (present) Origin_Realm_AVP p_originRealm, in template (present) ULA_Flags_AVP p_ula_Flags in template (present) ULA_Flags_AVP p_ula_Flags, in template (present)Subscription_Data_AVP p_subscription_Data ) modifies mw_S6a_ULA_Body_dummy := { result_Code := p_resultCode, auth_Session_State := p_auth_Session_State, origin_Host := p_originHost, origin_Realm := m_originRealm_dummy, auth_Session_State := p_auth_Session_State, ula_Flags := p_ula_Flags ula_Flags := p_ula_Flags, subscription_Data := p_subscription_Data } // End of template mdw_ulrBodyAvps_TC_01 } // End of group S6aModified_request_templates_receive Loading