Loading DiameterS6a/ttcn/DiameterS6a_MME_TCFunctions.ttcn3 +39 −0 Original line number Diff line number Diff line Loading @@ -1325,6 +1325,45 @@ module DiameterS6a_MME_TCFunctions { } // End of TC function f_TC_NAS_AttachRequest_Trigger function f_TC_NAS_UlrRequest_Trigger() runs on TestAdapter { // Local variables // Preamble f_preamble_NAS(); if (PX_MME_IUT_SUPPORT_NAS_PROTOCOL == true) { // Send a Tracking Area Update (TAU) request // http://www.eventhelix.com/lte/tracking-area-update/lte-tracking-area-update.pdf } else { action("UE is already attched, trigger a UL-Request to request information"); } f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***"); // Test Body // Clause 'when' if (PX_MME_IUT_SUPPORT_NAS_PROTOCOL == true) { // FIXME How to achiev it? } else { action("the IUT is requested to indicate additional request for update location information"); } f_selfOrClientSyncAndVerdict(c_sync1, e_success); // Clause 'then': Nothing to do f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // Postamble if (PX_MME_IUT_SUPPORT_NAS_PROTOCOL == true) { // FIXME } else { action("Terminate the test cases"); } f_postamble_NAS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of TC function f_TC_NAS_UlrRequest_Trigger } // End of group nasProtocols } // End of module DiameterS6a_MME_TCFunctions No newline at end of file DiameterS6a/ttcn/DiameterS6a_Templates.ttcn +147 −4 Original line number Diff line number Diff line Loading @@ -34,7 +34,8 @@ module DiameterS6a_Templates { m_destinationRealm_dummy, m_destinationHost_dummy, m_user_Name_dummy, m_aVP_HeaderVid_Mbit1, m_cmdFlagsReq, m_vendor_Specific_Appl_Id_dummy, m_auth_Session_State_dummy, m_destinationRealm_dummy, m_user_Identity_dummy, m_data_Reference_dummy, m_user_Data_dummy, mw_cmdFlags, m_cmdFlagsAns, m_aVP_Header_Mbit1, m_aVP_HeaderVid_Mbit0 m_aVP_Header_Mbit1, mw_aVP_HeaderVid_Mbit1, m_aVP_HeaderVid_Mbit0 }; import from LibDiameter_Types_Base_AVPs { type all Loading Loading @@ -446,12 +447,12 @@ module DiameterS6a_Templates { template (value) QoS_Subscribed_AVP m_qosSubscribed_dummy := { aVP_Header := m_aVP_HeaderVid_Mbit1 ( c_qos_Subscribed_AVP_Code, 4, c_vendId3gpp ), aVP_Data := "" aVP_Data := ''O } // End of template m_qosSubscribed_dummy template (value) PDP_Type_AVP m_pdpType_dummy := { aVP_Header := m_aVP_HeaderVid_Mbit1 ( c_pdp_Type_AVP_Code, 4, c_vendId3gpp ), aVP_Data := "" aVP_Data := ''O } // End of template m_pdpType_dummy } // End of group sendingTemplatesForAVPs Loading Loading @@ -519,6 +520,64 @@ module DiameterS6a_Templates { aVP_Data := p_aVP_Data } // End of template mw_hplmn_ODB /** * @desc Identifies the per subscriber"s default APN configuration */ template (present) Context_Identifier_AVP mw_contextIdentifier_dummy := { aVP_Header := m_aVP_HeaderVid_Mbit1 ( c_context_Identifier_AVP_Code, 4, c_vendId3gpp ), aVP_Data := ? } // End of tempate mw_contextIdentifier_dummy template (present) APN_Configuration_Profile_AVP mw_apnConfigurationProfile_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1 ( c_apn_Configuration_Profile_AVP_Code, ?, c_vendId3gpp ), context_Identifier := ?, all_APN_Conf_Included_Id := ?, aPN_Configuration := ? } // End of template mw_apnConfigurationProfile_dummy template (present) APN_Configuration_AVP mw_aPN_Configuration_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1 ( c_apn_Configuration_AVP_Code, ?, c_vendId3gpp ), context_Identifier := ?, served_Party := *, pDN_Type := ?, service_Selection := ?, ePS_Subscribed_QoS_Profile := *, vPLMN_Dynamic_Address_Allowed := *, mIP6_Agent_Info := *, visited_Network_Identifier := *, pDN_GW_Allocation_Type := *, threeGPP_Charging_Char := *, aMBR := *, specific_APN_Info := *, aPN_OI_Replacement :=*, sIPTO_Permission := *, lIPA_Permission := *, aVP_Type := * } // End of template mw_aPN_Configuration_dummy template (present) APN_Configuration_AVP mw_aPN_Configuration_ePS_aMBR modifies mw_aPN_Configuration_dummy := { ePS_Subscribed_QoS_Profile := ?, aMBR := ? } // End of template mw_aPN_Configuration_ePS_aMBR template (present) APN_Configuration_Profile_AVP mw_apnConfigurationProfile( in template (present) Context_Identifier_AVP p_context_Identifier, in template (present) All_APN_Conf_Included_Id_AVP p_all_APN_Conf_Included_Id ) modifies mw_apnConfigurationProfile_dummy := { context_Identifier := p_context_Identifier, all_APN_Conf_Included_Id := p_all_APN_Conf_Included_Id, aPN_Configuration := superset(mw_aPN_Configuration_ePS_aMBR) } // End of template mw_apnConfigurationProfile } // End of group awaitingTemplatesForAVPs } // End of group SpecificAVPHeaders Loading Loading @@ -1456,6 +1515,14 @@ module DiameterS6a_Templates { group S6aBasic_answer_templates_receive { /** * @desc Main receive template for MME_S6a port * @param p_uLA_MSG UL-Request receive template message */ template (present) DIAMETER_MSG mw_hssUpdateLocationAnswer(in template (present) ULA_MSG p_uLA_MSG) := { uLA_MSG := p_uLA_MSG } // End of tempate mw_hssUpdateLocationAnswer /** * @desc Main receive template for HSS_S6a port * @param p_CLA_MSG CL-Answer receive template message Loading Loading @@ -2070,6 +2137,63 @@ module DiameterS6a_Templates { } // End of group t_TC_MME_UL_01 /** * @desc Receive templates for TC_MME_UL_02 */ group t_TC_MME_UL_02 { template (present) ULR_Body_AVP mdw_ulrBodyAvps_TC_02( in template (present) ULR_Flags_AVP p_ulr_Flags ) modifies mw_S6a_ULR_Body_dummy := { ulr_Flags := p_ulr_Flags } // End of tempate mdw_ulrBodyAvps_TC_02 } // End of group t_TC_MME_UL_02 /** * @desc Receive templates for TC_MME_UL_03 */ group t_TC_MME_UL_03 { template (present) ULR_Body_AVP mdw_ulrBodyAvps_TC_03( 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) Destination_Realm_AVP p_destinationRealm, in template (present) User_Name_AVP p_user_Name, in template (present) RAT_Type_AVP p_rat_Type, in template (present) ULR_Flags_AVP p_ulr_Flags, in template (present) Visited_PLMN_Id_AVP p_visited_PLMN_Id ) modifies mdw_ulrBodyAvps_TC_01 := { } // End of tempate mdw_ulrBodyAvps_TC_03 } // End of group t_TC_MME_UL_03 /** * @desc Receive templates for TC_MME_UL_04 */ group t_TC_MME_UL_04 { template (present) ULA_Body_AVP mdw_hssUlaBodyAvps_TC_04( in template (present) Subscription_Data_AVP p_subscription_Data ) modifies mw_S6a_ULA_Body_dummy := { subscription_Data := p_subscription_Data } // End of tempate mdw_hssUlaBodyAvps_TC_04 template (present) ULR_Body_AVP mdw_hssUlrBodyAvps_TC_04( 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) Destination_Realm_AVP p_destinationRealm, in template (present) User_Name_AVP p_user_Name, in template (present) RAT_Type_AVP p_rat_Type, in template (present) ULR_Flags_AVP p_ulr_Flags, in template (present) Visited_PLMN_Id_AVP p_visited_PLMN_Id ) modifies mdw_ulrBodyAvps_TC_01 := { } // End of tempate mdw_hssUlrBodyAvps_TC_04 } // End of group t_TC_MME_UL_04 } // End of group S6aModified_request_templates_receive group S6aModified_answer_templates_send { Loading Loading @@ -2340,7 +2464,7 @@ module DiameterS6a_Templates { m_originRealm_dummy, p_ula_Flags, p_subscription_Data ); // End of template mdw_ulrBodyAvps_TC_02 ); // End of template mdw_ulaBodyAvps_TC_02 /** * @desc Contain information about a dynamically established APN on a serving node Loading Loading @@ -2496,6 +2620,25 @@ module DiameterS6a_Templates { } // End of group t_TC_HSS_UL_12 /** * @desc Receive templates for TC_HSS_UL_13 */ group t_TC_HSS_UL_13 { template (present) ULA_Body_AVP mdw_ulaBodyAvps_TC_13( in template (present) Subscription_Data_AVP p_subscription_Data ) modifies mw_S6a_ULA_Body_dummy := { subscription_Data := p_subscription_Data } // End of template mdw_ulaBodyAvps_TC_12 template (present) Subscription_Data_AVP mdw_subscriptionData_TC_13( in template (present) APN_Configuration_Profile_AVP p_aPN_Configuration_Profile ) modifies mw_subscriptionData_dummy := { aPN_Configuration_Profile := p_aPN_Configuration_Profile } // End of template mdw_subscriptionData_TC_13 } // End of group t_TC_HSS_UL_13 } // End of group S6aModified_answer_templates_receive } // End of group S6aModified_templates Loading Loading
DiameterS6a/ttcn/DiameterS6a_MME_TCFunctions.ttcn3 +39 −0 Original line number Diff line number Diff line Loading @@ -1325,6 +1325,45 @@ module DiameterS6a_MME_TCFunctions { } // End of TC function f_TC_NAS_AttachRequest_Trigger function f_TC_NAS_UlrRequest_Trigger() runs on TestAdapter { // Local variables // Preamble f_preamble_NAS(); if (PX_MME_IUT_SUPPORT_NAS_PROTOCOL == true) { // Send a Tracking Area Update (TAU) request // http://www.eventhelix.com/lte/tracking-area-update/lte-tracking-area-update.pdf } else { action("UE is already attched, trigger a UL-Request to request information"); } f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***"); // Test Body // Clause 'when' if (PX_MME_IUT_SUPPORT_NAS_PROTOCOL == true) { // FIXME How to achiev it? } else { action("the IUT is requested to indicate additional request for update location information"); } f_selfOrClientSyncAndVerdict(c_sync1, e_success); // Clause 'then': Nothing to do f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // Postamble if (PX_MME_IUT_SUPPORT_NAS_PROTOCOL == true) { // FIXME } else { action("Terminate the test cases"); } f_postamble_NAS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of TC function f_TC_NAS_UlrRequest_Trigger } // End of group nasProtocols } // End of module DiameterS6a_MME_TCFunctions No newline at end of file
DiameterS6a/ttcn/DiameterS6a_Templates.ttcn +147 −4 Original line number Diff line number Diff line Loading @@ -34,7 +34,8 @@ module DiameterS6a_Templates { m_destinationRealm_dummy, m_destinationHost_dummy, m_user_Name_dummy, m_aVP_HeaderVid_Mbit1, m_cmdFlagsReq, m_vendor_Specific_Appl_Id_dummy, m_auth_Session_State_dummy, m_destinationRealm_dummy, m_user_Identity_dummy, m_data_Reference_dummy, m_user_Data_dummy, mw_cmdFlags, m_cmdFlagsAns, m_aVP_Header_Mbit1, m_aVP_HeaderVid_Mbit0 m_aVP_Header_Mbit1, mw_aVP_HeaderVid_Mbit1, m_aVP_HeaderVid_Mbit0 }; import from LibDiameter_Types_Base_AVPs { type all Loading Loading @@ -446,12 +447,12 @@ module DiameterS6a_Templates { template (value) QoS_Subscribed_AVP m_qosSubscribed_dummy := { aVP_Header := m_aVP_HeaderVid_Mbit1 ( c_qos_Subscribed_AVP_Code, 4, c_vendId3gpp ), aVP_Data := "" aVP_Data := ''O } // End of template m_qosSubscribed_dummy template (value) PDP_Type_AVP m_pdpType_dummy := { aVP_Header := m_aVP_HeaderVid_Mbit1 ( c_pdp_Type_AVP_Code, 4, c_vendId3gpp ), aVP_Data := "" aVP_Data := ''O } // End of template m_pdpType_dummy } // End of group sendingTemplatesForAVPs Loading Loading @@ -519,6 +520,64 @@ module DiameterS6a_Templates { aVP_Data := p_aVP_Data } // End of template mw_hplmn_ODB /** * @desc Identifies the per subscriber"s default APN configuration */ template (present) Context_Identifier_AVP mw_contextIdentifier_dummy := { aVP_Header := m_aVP_HeaderVid_Mbit1 ( c_context_Identifier_AVP_Code, 4, c_vendId3gpp ), aVP_Data := ? } // End of tempate mw_contextIdentifier_dummy template (present) APN_Configuration_Profile_AVP mw_apnConfigurationProfile_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1 ( c_apn_Configuration_Profile_AVP_Code, ?, c_vendId3gpp ), context_Identifier := ?, all_APN_Conf_Included_Id := ?, aPN_Configuration := ? } // End of template mw_apnConfigurationProfile_dummy template (present) APN_Configuration_AVP mw_aPN_Configuration_dummy := { aVP_Header := mw_aVP_HeaderVid_Mbit1 ( c_apn_Configuration_AVP_Code, ?, c_vendId3gpp ), context_Identifier := ?, served_Party := *, pDN_Type := ?, service_Selection := ?, ePS_Subscribed_QoS_Profile := *, vPLMN_Dynamic_Address_Allowed := *, mIP6_Agent_Info := *, visited_Network_Identifier := *, pDN_GW_Allocation_Type := *, threeGPP_Charging_Char := *, aMBR := *, specific_APN_Info := *, aPN_OI_Replacement :=*, sIPTO_Permission := *, lIPA_Permission := *, aVP_Type := * } // End of template mw_aPN_Configuration_dummy template (present) APN_Configuration_AVP mw_aPN_Configuration_ePS_aMBR modifies mw_aPN_Configuration_dummy := { ePS_Subscribed_QoS_Profile := ?, aMBR := ? } // End of template mw_aPN_Configuration_ePS_aMBR template (present) APN_Configuration_Profile_AVP mw_apnConfigurationProfile( in template (present) Context_Identifier_AVP p_context_Identifier, in template (present) All_APN_Conf_Included_Id_AVP p_all_APN_Conf_Included_Id ) modifies mw_apnConfigurationProfile_dummy := { context_Identifier := p_context_Identifier, all_APN_Conf_Included_Id := p_all_APN_Conf_Included_Id, aPN_Configuration := superset(mw_aPN_Configuration_ePS_aMBR) } // End of template mw_apnConfigurationProfile } // End of group awaitingTemplatesForAVPs } // End of group SpecificAVPHeaders Loading Loading @@ -1456,6 +1515,14 @@ module DiameterS6a_Templates { group S6aBasic_answer_templates_receive { /** * @desc Main receive template for MME_S6a port * @param p_uLA_MSG UL-Request receive template message */ template (present) DIAMETER_MSG mw_hssUpdateLocationAnswer(in template (present) ULA_MSG p_uLA_MSG) := { uLA_MSG := p_uLA_MSG } // End of tempate mw_hssUpdateLocationAnswer /** * @desc Main receive template for HSS_S6a port * @param p_CLA_MSG CL-Answer receive template message Loading Loading @@ -2070,6 +2137,63 @@ module DiameterS6a_Templates { } // End of group t_TC_MME_UL_01 /** * @desc Receive templates for TC_MME_UL_02 */ group t_TC_MME_UL_02 { template (present) ULR_Body_AVP mdw_ulrBodyAvps_TC_02( in template (present) ULR_Flags_AVP p_ulr_Flags ) modifies mw_S6a_ULR_Body_dummy := { ulr_Flags := p_ulr_Flags } // End of tempate mdw_ulrBodyAvps_TC_02 } // End of group t_TC_MME_UL_02 /** * @desc Receive templates for TC_MME_UL_03 */ group t_TC_MME_UL_03 { template (present) ULR_Body_AVP mdw_ulrBodyAvps_TC_03( 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) Destination_Realm_AVP p_destinationRealm, in template (present) User_Name_AVP p_user_Name, in template (present) RAT_Type_AVP p_rat_Type, in template (present) ULR_Flags_AVP p_ulr_Flags, in template (present) Visited_PLMN_Id_AVP p_visited_PLMN_Id ) modifies mdw_ulrBodyAvps_TC_01 := { } // End of tempate mdw_ulrBodyAvps_TC_03 } // End of group t_TC_MME_UL_03 /** * @desc Receive templates for TC_MME_UL_04 */ group t_TC_MME_UL_04 { template (present) ULA_Body_AVP mdw_hssUlaBodyAvps_TC_04( in template (present) Subscription_Data_AVP p_subscription_Data ) modifies mw_S6a_ULA_Body_dummy := { subscription_Data := p_subscription_Data } // End of tempate mdw_hssUlaBodyAvps_TC_04 template (present) ULR_Body_AVP mdw_hssUlrBodyAvps_TC_04( 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) Destination_Realm_AVP p_destinationRealm, in template (present) User_Name_AVP p_user_Name, in template (present) RAT_Type_AVP p_rat_Type, in template (present) ULR_Flags_AVP p_ulr_Flags, in template (present) Visited_PLMN_Id_AVP p_visited_PLMN_Id ) modifies mdw_ulrBodyAvps_TC_01 := { } // End of tempate mdw_hssUlrBodyAvps_TC_04 } // End of group t_TC_MME_UL_04 } // End of group S6aModified_request_templates_receive group S6aModified_answer_templates_send { Loading Loading @@ -2340,7 +2464,7 @@ module DiameterS6a_Templates { m_originRealm_dummy, p_ula_Flags, p_subscription_Data ); // End of template mdw_ulrBodyAvps_TC_02 ); // End of template mdw_ulaBodyAvps_TC_02 /** * @desc Contain information about a dynamically established APN on a serving node Loading Loading @@ -2496,6 +2620,25 @@ module DiameterS6a_Templates { } // End of group t_TC_HSS_UL_12 /** * @desc Receive templates for TC_HSS_UL_13 */ group t_TC_HSS_UL_13 { template (present) ULA_Body_AVP mdw_ulaBodyAvps_TC_13( in template (present) Subscription_Data_AVP p_subscription_Data ) modifies mw_S6a_ULA_Body_dummy := { subscription_Data := p_subscription_Data } // End of template mdw_ulaBodyAvps_TC_12 template (present) Subscription_Data_AVP mdw_subscriptionData_TC_13( in template (present) APN_Configuration_Profile_AVP p_aPN_Configuration_Profile ) modifies mw_subscriptionData_dummy := { aPN_Configuration_Profile := p_aPN_Configuration_Profile } // End of template mdw_subscriptionData_TC_13 } // End of group t_TC_HSS_UL_13 } // End of group S6aModified_answer_templates_receive } // End of group S6aModified_templates Loading