Loading DiameterS6a/ttcn/DiameterS6a_MME_TCFunctions.ttcn3 +48 −3 Original line number Diff line number Diff line Loading @@ -1532,6 +1532,27 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_DSD_03() runs on TestAdapter { // Local variables var User_Name_AVP v_user_Name := md_user_Name ( PX_INVALID_USR_NAME ); var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; var MIP_Home_Agent_Address_AVP v_mipHomeAgentAddress := md_mipHomeAgentAddress ( PX_MIP6_AGENT_IP_ADDRESS ); var Destination_Realm_AVP v_mIP6Destination_Realm := m_destinationRealm ( PX_MIP6_AGENT_DEST_REALM ); var Destination_Host_AVP v_mip6Destination_Host := m_destinationHost ( PX_MIP6_AGENT_DEST_HOST ); var MIP_Home_Agent_Host_AVP v_mipHomeAgentHost := md_mipHomeAgentHost ( v_mIP6Destination_Realm, v_mip6Destination_Host ); var MIP6_Agent_Info_AVP v_mIP6AgentInfo := md_mip6_Agent_Info_AVP ( v_mipHomeAgentAddress, v_mipHomeAgentHost); var All_APN_Conf_Included_Id_AVP v_allAPNConfIncludedId := m_allAPNConfIncludedId ( MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED_E ); var Context_Identifier_AVP v_contextIdentifier := md_contextIdentifier ( PX_CONTEXT_ID ); var PDN_Type_AVP v_pdnType := m_pdnType ( IPv4_OR_IPv6_E ); var Service_Selection_AVP v_serviceSelection := m_serviceSelection ( PX_SERVICE_SEL ); var APN_Configuration_AVP v_apnConfiguration := m_apnConfiguration ( v_contextIdentifier, v_pdnType, v_serviceSelection, v_mIP6AgentInfo ); var APN_Configuration_Profile_AVP v_apnConfigurationProfile := m_apnConfigurationProfile ( v_contextIdentifier, v_allAPNConfIncludedId, v_apnConfiguration ); var DSR_Flags_AVP v_dSR_Flags := m_dsrFlags_AVP ( bit2int('1000'B) ); // PDN subscription contexts Withdrawal (bit 3) var Result_Code_AVP v_resultCode := mw_resultCode(DIAMETER_UNABLE_TO_COMPLY_E); // Preamble f_preamble_MME(); Loading @@ -1540,8 +1561,32 @@ module DiameterS6a_MME_TCFunctions { // Test Body // Clause 'when' HSS_S6a.send ( m_mmeDeleteSubscriberDataRequest ( md_DSR_TCs ( vc_sessionId, md_dsrBodyAvps_Flags_ContextId ( v_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationHost, // containing a Destination-Host AVP vc_destinationRealm, // containing a Destination-Realm AVP v_user_Name, // containing a User-Name AVP v_dSR_Flags, {md_contextIdentifier(PX_CONTEXT_ID)} )))); // containing a Context-Identifier AVP // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( mw_hssDeleteSubscriberDataAnswer ( mdw_DSA_TCs ( vc_sessionId, mdw_dsaBodyAvps_Result ( v_resultCode, // containing a Result-Code AVP indicating DIAMETER_UNABLE_TO_COMPLY *, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm )))) { // containing an Origin-Realm AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } } // End of alt // Postamble f_postamble_MME(); Loading DiameterS6a/ttcn/DiameterS6a_Templates.ttcn +31 −1 Original line number Diff line number Diff line Loading @@ -2245,6 +2245,36 @@ module DiameterS6a_Templates { destination_Realm := p_destinationRealm, user_Name := p_user_Name, dSR_Flags := p_dSR_Flags } // End of template md_dsrBodyAvps_Flags /** * @desc Send template for DSR 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_destinationHost The Host to which the message is to be routed * @param p_destinationRealm The realm to which the message is to be routed * @param p_user_Name User-Name * @param p_dSRFlags */ template (value) DSR_Body_AVP md_dsrBodyAvps_Flags_ContextId( in template (value) Auth_Session_State_AVP p_auth_Session_State, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm, in template (value) Destination_Host_AVP p_destinationHost, in template (value) Destination_Realm_AVP p_destinationRealm, in template (value) User_Name_AVP p_user_Name, in template (value) DSR_Flags_AVP p_dSR_Flags, in template DSR_Body_AVP.context_Identifier p_contextIdentifier ) modifies md_dsrBodyAvps_Flags := { auth_Session_State := p_auth_Session_State, origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Host := p_destinationHost, destination_Realm := p_destinationRealm, user_Name := p_user_Name, dSR_Flags := p_dSR_Flags, context_Identifier := p_contextIdentifier } // End of template md_idrBodyAvps_Flags } // End of group t_TC_HSS_DSR Loading Loading
DiameterS6a/ttcn/DiameterS6a_MME_TCFunctions.ttcn3 +48 −3 Original line number Diff line number Diff line Loading @@ -1532,6 +1532,27 @@ module DiameterS6a_MME_TCFunctions { function f_TC_MME_DSD_03() runs on TestAdapter { // Local variables var User_Name_AVP v_user_Name := md_user_Name ( PX_INVALID_USR_NAME ); var Auth_Session_State_AVP v_noStateMaintained := md_auth_Session_State_noStateMaintained; var MIP_Home_Agent_Address_AVP v_mipHomeAgentAddress := md_mipHomeAgentAddress ( PX_MIP6_AGENT_IP_ADDRESS ); var Destination_Realm_AVP v_mIP6Destination_Realm := m_destinationRealm ( PX_MIP6_AGENT_DEST_REALM ); var Destination_Host_AVP v_mip6Destination_Host := m_destinationHost ( PX_MIP6_AGENT_DEST_HOST ); var MIP_Home_Agent_Host_AVP v_mipHomeAgentHost := md_mipHomeAgentHost ( v_mIP6Destination_Realm, v_mip6Destination_Host ); var MIP6_Agent_Info_AVP v_mIP6AgentInfo := md_mip6_Agent_Info_AVP ( v_mipHomeAgentAddress, v_mipHomeAgentHost); var All_APN_Conf_Included_Id_AVP v_allAPNConfIncludedId := m_allAPNConfIncludedId ( MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED_E ); var Context_Identifier_AVP v_contextIdentifier := md_contextIdentifier ( PX_CONTEXT_ID ); var PDN_Type_AVP v_pdnType := m_pdnType ( IPv4_OR_IPv6_E ); var Service_Selection_AVP v_serviceSelection := m_serviceSelection ( PX_SERVICE_SEL ); var APN_Configuration_AVP v_apnConfiguration := m_apnConfiguration ( v_contextIdentifier, v_pdnType, v_serviceSelection, v_mIP6AgentInfo ); var APN_Configuration_Profile_AVP v_apnConfigurationProfile := m_apnConfigurationProfile ( v_contextIdentifier, v_allAPNConfIncludedId, v_apnConfiguration ); var DSR_Flags_AVP v_dSR_Flags := m_dsrFlags_AVP ( bit2int('1000'B) ); // PDN subscription contexts Withdrawal (bit 3) var Result_Code_AVP v_resultCode := mw_resultCode(DIAMETER_UNABLE_TO_COMPLY_E); // Preamble f_preamble_MME(); Loading @@ -1540,8 +1561,32 @@ module DiameterS6a_MME_TCFunctions { // Test Body // Clause 'when' HSS_S6a.send ( m_mmeDeleteSubscriberDataRequest ( md_DSR_TCs ( vc_sessionId, md_dsrBodyAvps_Flags_ContextId ( v_noStateMaintained, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationHost, // containing a Destination-Host AVP vc_destinationRealm, // containing a Destination-Realm AVP v_user_Name, // containing a User-Name AVP v_dSR_Flags, {md_contextIdentifier(PX_CONTEXT_ID)} )))); // containing a Context-Identifier AVP // Clause 'then' tc_ac.start; alt { [] HSS_S6a.receive ( mw_hssDeleteSubscriberDataAnswer ( mdw_DSA_TCs ( vc_sessionId, mdw_dsaBodyAvps_Result ( v_resultCode, // containing a Result-Code AVP indicating DIAMETER_UNABLE_TO_COMPLY *, // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED vc_originHost, // containing an Origin-Host AVP vc_originRealm )))) { // containing an Origin-Realm AVP f_selfOrClientSyncAndVerdict(c_tbDone, e_success); log("*** " & __SCOPE__ & ": PASS: Expected was received. ***"); } [] tc_ac.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); } } // End of alt // Postamble f_postamble_MME(); Loading
DiameterS6a/ttcn/DiameterS6a_Templates.ttcn +31 −1 Original line number Diff line number Diff line Loading @@ -2245,6 +2245,36 @@ module DiameterS6a_Templates { destination_Realm := p_destinationRealm, user_Name := p_user_Name, dSR_Flags := p_dSR_Flags } // End of template md_dsrBodyAvps_Flags /** * @desc Send template for DSR 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_destinationHost The Host to which the message is to be routed * @param p_destinationRealm The realm to which the message is to be routed * @param p_user_Name User-Name * @param p_dSRFlags */ template (value) DSR_Body_AVP md_dsrBodyAvps_Flags_ContextId( in template (value) Auth_Session_State_AVP p_auth_Session_State, in template (value) Origin_Host_AVP p_originHost, in template (value) Origin_Realm_AVP p_originRealm, in template (value) Destination_Host_AVP p_destinationHost, in template (value) Destination_Realm_AVP p_destinationRealm, in template (value) User_Name_AVP p_user_Name, in template (value) DSR_Flags_AVP p_dSR_Flags, in template DSR_Body_AVP.context_Identifier p_contextIdentifier ) modifies md_dsrBodyAvps_Flags := { auth_Session_State := p_auth_Session_State, origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Host := p_destinationHost, destination_Realm := p_destinationRealm, user_Name := p_user_Name, dSR_Flags := p_dSR_Flags, context_Identifier := p_contextIdentifier } // End of template md_idrBodyAvps_Flags } // End of group t_TC_HSS_DSR Loading