Loading ttcn/DiameterShDh_PIXITS.ttcn3 +30 −5 Original line number Diff line number Diff line Loading @@ -175,11 +175,15 @@ module DiameterShDh_PIXITS { /** @desc UTF8String * TODO */ modulepar charstring PX_PublicUserIdentity := "origin.etsi.org"; modulepar charstring PX_PublicUserIdentity := "sip:+431234567@ims.etsi.org"; /** @desc UTF8String * TODO */ modulepar charstring PX_NotExistingUserIdentity := "origin.etsi2.org"; modulepar charstring PX_NotExistingUserIdentity := "sip:+4312345670@ims.etsi.org"; /** @desc UTF8String * TODO */ modulepar charstring PX_UnavailableUserIdentity := "sip:+4312345670@ims.etsi.org"; /** @desc UTF8String * TODO */ Loading @@ -187,16 +191,21 @@ module DiameterShDh_PIXITS { /** @desc UTF8String * TODO */ modulepar charstring PX_NotRelatedPrivateIdentity := "foo"; modulepar charstring PX_NotRelatedPrivateIdentity := "sip:+3869910000007@imscore.notexist"; /** @desc UTF8String * TODO */ modulepar charstring PX_NotRelatedPrivateIdentity_MSISDN := "386991000007"; /** @desc UTF8String * TODO */ modulepar charstring PX_PublicUser_MSISDN := "foo"; modulepar charstring PX_PublicUser_MSISDN := "431234567"; /** @desc UTF8String * TODO */ modulepar charstring PX_IMSPublicUserIdentity := "foo"; modulepar charstring PX_IMSPublicUserIdentity := "431234567"; modulepar UTF8String PX_IUT_SIP_URL := "sip:stf549@etsi.org"; Loading @@ -211,8 +220,24 @@ module DiameterShDh_PIXITS { */ modulepar TServiceData PX_Service_Data_unexpected := {elem:="1"} /** @desc Data_Reference_Type * General Data_Reference_Type for UDR and PUR messages */ modulepar Data_Reference_Type PX_Data_Reference_Type := IMS_PUBLIC_IDENTITY_E; /** @desc Data_Reference_Type * Data_Reference_Type used only for allowed SNR messages */ modulepar Data_Reference_Type PX_Data_Reference_Type_NotificationAllowed := UE_SRVCC_CAPABILITY_E; /** @desc Data_Reference_Type * Data_Reference_Type used only for not allowed SNR messages */ modulepar Data_Reference_Type PX_Data_Reference_Type_NotificationNotAllowed := STN_SR_E; group DiameterTimers { /** @desc float for TWait default value for waiting an expiration period (cp. TP_SH_HSS_SN_07) Loading ttcn/DiameterShDh_Steps.ttcn3 +23 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,29 @@ module DiameterShDh_Steps { m_user_Identity_dummy } } // End function f_Select_UserIdentity /* Function f_Select_NotRelatedUserIdentity * @desc: Returns User-Identity AVP based on PIXIT parameter PX_USER_IDENTITY */ function f_Select_NotRelatedUserIdentity(in integer p_userIdentity) return User_Identity_AVP { if (p_userIdentity == 1) { return m_specific_user_Identity(m_public_user_identity(PX_NotRelatedPrivateIdentity)) } if (p_userIdentity == 2) { return m_msisdn_user_Identity(m_MSISDN_user_identity(f_char_to_BCD(PX_NotRelatedPrivateIdentity_MSISDN))) } // Note: The above list can be augmented with additional User-Identity AVP variants. else { log("*** " & __SCOPE__ & ": ERROR: No valid User-Identity was chosen. ***"); return m_user_Identity_dummy } } // End function f_Select_NotRelatedUserIdentity } // End of group GlobalSteps group Preambles { Loading ttcn/DiameterShDh_TCFunctions.ttcn3 +437 −207 File changed.Preview size limit exceeded, changes collapsed. Show changes ttcn/DiameterShDh_Templates.ttcn3 +91 −4 Original line number Diff line number Diff line Loading @@ -147,14 +147,16 @@ module DiameterShDh_Templates { template (value) Server_Name_AVP m_server_name( in template (value) UTF8String p_aVP_Data ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Name_AVP_Code, 4, c_vendId3gpp), aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Name_AVP_Code, lengthof(p_aVP_Data), c_vendId3gpp), aVP_Data := p_aVP_Data } template (value) DSAI_Tag_AVP m_dSAI_Tag_AVP( in template (value) octetstring p_aVP_Data ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_dSAI_Tag_AVP_Code, 4, c_vendId3gpp), aVP_Header := m_aVP_HeaderVid_Mbit1(c_dSAI_Tag_AVP_Code, lengthof(p_aVP_Data), c_vendId3gpp), aVP_Data := p_aVP_Data } Loading Loading @@ -184,6 +186,24 @@ module DiameterShDh_Templates { aVP_Data := p_aVP_Data } template (value) Current_Location_AVP m_current_location( in template (value) Current_Location_Type p_aVP_Data) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_current_Location_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } template (value) Requested_Domain_AVP m_requested_domain( in template (value) Request_Domain_Type p_aVP_Data) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_requested_Domain_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } template (value) DSAI_Tag_AVP m_dsai_tag( in template (value) octetstring p_aVP_Data) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_dSAI_Tag_AVP_Code, lengthof(p_aVP_Data), c_vendId3gpp), aVP_Data := p_aVP_Data } } // End of group sendingTemplatesForAVPs group receivingTemplatesForAVPs{ Loading Loading @@ -588,6 +608,66 @@ module DiameterShDh_Templates { data_Reference := {p_data_Reference} } // End of template md_udrBodyAvps_initial_filter_criteria /** * @desc Send template for UDR message body */ template (value) UDR_Body_AVP md_udrBodyAvps_location_information( template (value) Origin_Host_AVP p_origin_Host, template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Data_Reference_AVP p_data_Reference := m_data_Reference_dummy ) modifies m_UDR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh, origin_Host := p_origin_Host, origin_Realm := p_origin_Realm, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, requested_Domain := m_requested_domain(PS_DOMAIN_E), current_Location := m_current_location(DO_NOT_NEED_INITIATE_ACTIVATE_LOCATION_RETRIEVAL_E), data_Reference := {p_data_Reference} } // End of template md_udrBodyAvps_location_information /** * @desc Send template for UDR message body */ template (value) UDR_Body_AVP md_udrBodyAvps_user_state( template (value) Origin_Host_AVP p_origin_Host, template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Data_Reference_AVP p_data_Reference := m_data_Reference_dummy ) modifies m_UDR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh, origin_Host := p_origin_Host, origin_Realm := p_origin_Realm, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, requested_Domain := m_requested_domain(PS_DOMAIN_E), data_Reference := {p_data_Reference} } // End of template md_udrBodyAvps_user_state /** * @desc Send template for UDR message body */ template (value) UDR_Body_AVP md_udrBodyAvps_dsai( template (value) Origin_Host_AVP p_origin_Host, template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Data_Reference_AVP p_data_Reference := m_data_Reference_dummy, template (value) Server_Name_AVP p_server_Name := m_server_name_dummy ) modifies m_UDR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh, origin_Host := p_origin_Host, origin_Realm := p_origin_Realm, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, server_Name := p_server_Name, dSAI_Tag := {m_dsai_tag('0101'O)}, data_Reference := {p_data_Reference} } // End of template md_udrBodyAvps_user_state } // End of group udr_msg group pnr_msg { Loading Loading @@ -748,7 +828,7 @@ module DiameterShDh_Templates { template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Subs_Req_Type_AVP p_subs_Req_Type := m_subs_Req_Type_dummy, template (value) SNR_Body_AVP.data_Reference p_data_Referencelist := {m_data_Reference_dummy}, template (value) User_Name_AVP p_user_Name := m_user_Name_dummy template User_Name_AVP p_user_Name := m_user_Name_dummy ) modifies m_SNR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh,//required only in TS129 229 Loading Loading @@ -778,7 +858,7 @@ module DiameterShDh_Templates { destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, data_Reference := {p_data_Reference}, dSAI_Tag := superset(p_dsai_tag) dSAI_Tag := {p_dsai_tag} } // End of template md_snrBodyAvps_DSAI_Tag Loading Loading @@ -806,6 +886,9 @@ module DiameterShDh_Templates { template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Subs_Req_Type_AVP p_subs_Req_Type := m_subs_Req_Type_dummy, template (value) Data_Reference_AVP p_data_Reference := m_data_Reference_dummy, template User_Name_AVP p_user_Name := m_user_Name_dummy, template (value) SNR_Body_AVP.service_Indication p_service_Indication ) modifies m_SNR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh,//required only in TS129 229 Loading @@ -814,6 +897,9 @@ module DiameterShDh_Templates { origin_Realm := p_origin_Realm, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, subs_Req_Type := p_subs_Req_Type, data_Reference := {p_data_Reference}, user_Name := p_user_Name, service_Indication := p_service_Indication } // End of template md_snrBodyAvps_service_IndicationList Loading Loading @@ -1495,6 +1581,7 @@ module DiameterShDh_Templates { template (present) SNA_Body_AVP mdw_snaBodyAvps_experimental_result( template Experimental_Result_AVP p_experimentalResult ) modifies mw_SNA_Body_dummy := { result_Code := *, experimental_Result := p_experimentalResult } // End of template mdw_snaBodyAvps_experimental_result Loading ttcn/DiameterShDh_TestCases.ttcn3 +3 −0 Original line number Diff line number Diff line Loading @@ -2596,6 +2596,9 @@ module DiameterShDh_TestCases { stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); // Start v_diameterSh_as.start(f_TC_SH_HSS_PU_21()); Loading Loading
ttcn/DiameterShDh_PIXITS.ttcn3 +30 −5 Original line number Diff line number Diff line Loading @@ -175,11 +175,15 @@ module DiameterShDh_PIXITS { /** @desc UTF8String * TODO */ modulepar charstring PX_PublicUserIdentity := "origin.etsi.org"; modulepar charstring PX_PublicUserIdentity := "sip:+431234567@ims.etsi.org"; /** @desc UTF8String * TODO */ modulepar charstring PX_NotExistingUserIdentity := "origin.etsi2.org"; modulepar charstring PX_NotExistingUserIdentity := "sip:+4312345670@ims.etsi.org"; /** @desc UTF8String * TODO */ modulepar charstring PX_UnavailableUserIdentity := "sip:+4312345670@ims.etsi.org"; /** @desc UTF8String * TODO */ Loading @@ -187,16 +191,21 @@ module DiameterShDh_PIXITS { /** @desc UTF8String * TODO */ modulepar charstring PX_NotRelatedPrivateIdentity := "foo"; modulepar charstring PX_NotRelatedPrivateIdentity := "sip:+3869910000007@imscore.notexist"; /** @desc UTF8String * TODO */ modulepar charstring PX_NotRelatedPrivateIdentity_MSISDN := "386991000007"; /** @desc UTF8String * TODO */ modulepar charstring PX_PublicUser_MSISDN := "foo"; modulepar charstring PX_PublicUser_MSISDN := "431234567"; /** @desc UTF8String * TODO */ modulepar charstring PX_IMSPublicUserIdentity := "foo"; modulepar charstring PX_IMSPublicUserIdentity := "431234567"; modulepar UTF8String PX_IUT_SIP_URL := "sip:stf549@etsi.org"; Loading @@ -211,8 +220,24 @@ module DiameterShDh_PIXITS { */ modulepar TServiceData PX_Service_Data_unexpected := {elem:="1"} /** @desc Data_Reference_Type * General Data_Reference_Type for UDR and PUR messages */ modulepar Data_Reference_Type PX_Data_Reference_Type := IMS_PUBLIC_IDENTITY_E; /** @desc Data_Reference_Type * Data_Reference_Type used only for allowed SNR messages */ modulepar Data_Reference_Type PX_Data_Reference_Type_NotificationAllowed := UE_SRVCC_CAPABILITY_E; /** @desc Data_Reference_Type * Data_Reference_Type used only for not allowed SNR messages */ modulepar Data_Reference_Type PX_Data_Reference_Type_NotificationNotAllowed := STN_SR_E; group DiameterTimers { /** @desc float for TWait default value for waiting an expiration period (cp. TP_SH_HSS_SN_07) Loading
ttcn/DiameterShDh_Steps.ttcn3 +23 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,29 @@ module DiameterShDh_Steps { m_user_Identity_dummy } } // End function f_Select_UserIdentity /* Function f_Select_NotRelatedUserIdentity * @desc: Returns User-Identity AVP based on PIXIT parameter PX_USER_IDENTITY */ function f_Select_NotRelatedUserIdentity(in integer p_userIdentity) return User_Identity_AVP { if (p_userIdentity == 1) { return m_specific_user_Identity(m_public_user_identity(PX_NotRelatedPrivateIdentity)) } if (p_userIdentity == 2) { return m_msisdn_user_Identity(m_MSISDN_user_identity(f_char_to_BCD(PX_NotRelatedPrivateIdentity_MSISDN))) } // Note: The above list can be augmented with additional User-Identity AVP variants. else { log("*** " & __SCOPE__ & ": ERROR: No valid User-Identity was chosen. ***"); return m_user_Identity_dummy } } // End function f_Select_NotRelatedUserIdentity } // End of group GlobalSteps group Preambles { Loading
ttcn/DiameterShDh_TCFunctions.ttcn3 +437 −207 File changed.Preview size limit exceeded, changes collapsed. Show changes
ttcn/DiameterShDh_Templates.ttcn3 +91 −4 Original line number Diff line number Diff line Loading @@ -147,14 +147,16 @@ module DiameterShDh_Templates { template (value) Server_Name_AVP m_server_name( in template (value) UTF8String p_aVP_Data ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Name_AVP_Code, 4, c_vendId3gpp), aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Name_AVP_Code, lengthof(p_aVP_Data), c_vendId3gpp), aVP_Data := p_aVP_Data } template (value) DSAI_Tag_AVP m_dSAI_Tag_AVP( in template (value) octetstring p_aVP_Data ) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_dSAI_Tag_AVP_Code, 4, c_vendId3gpp), aVP_Header := m_aVP_HeaderVid_Mbit1(c_dSAI_Tag_AVP_Code, lengthof(p_aVP_Data), c_vendId3gpp), aVP_Data := p_aVP_Data } Loading Loading @@ -184,6 +186,24 @@ module DiameterShDh_Templates { aVP_Data := p_aVP_Data } template (value) Current_Location_AVP m_current_location( in template (value) Current_Location_Type p_aVP_Data) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_current_Location_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } template (value) Requested_Domain_AVP m_requested_domain( in template (value) Request_Domain_Type p_aVP_Data) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_requested_Domain_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_aVP_Data } template (value) DSAI_Tag_AVP m_dsai_tag( in template (value) octetstring p_aVP_Data) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_dSAI_Tag_AVP_Code, lengthof(p_aVP_Data), c_vendId3gpp), aVP_Data := p_aVP_Data } } // End of group sendingTemplatesForAVPs group receivingTemplatesForAVPs{ Loading Loading @@ -588,6 +608,66 @@ module DiameterShDh_Templates { data_Reference := {p_data_Reference} } // End of template md_udrBodyAvps_initial_filter_criteria /** * @desc Send template for UDR message body */ template (value) UDR_Body_AVP md_udrBodyAvps_location_information( template (value) Origin_Host_AVP p_origin_Host, template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Data_Reference_AVP p_data_Reference := m_data_Reference_dummy ) modifies m_UDR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh, origin_Host := p_origin_Host, origin_Realm := p_origin_Realm, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, requested_Domain := m_requested_domain(PS_DOMAIN_E), current_Location := m_current_location(DO_NOT_NEED_INITIATE_ACTIVATE_LOCATION_RETRIEVAL_E), data_Reference := {p_data_Reference} } // End of template md_udrBodyAvps_location_information /** * @desc Send template for UDR message body */ template (value) UDR_Body_AVP md_udrBodyAvps_user_state( template (value) Origin_Host_AVP p_origin_Host, template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Data_Reference_AVP p_data_Reference := m_data_Reference_dummy ) modifies m_UDR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh, origin_Host := p_origin_Host, origin_Realm := p_origin_Realm, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, requested_Domain := m_requested_domain(PS_DOMAIN_E), data_Reference := {p_data_Reference} } // End of template md_udrBodyAvps_user_state /** * @desc Send template for UDR message body */ template (value) UDR_Body_AVP md_udrBodyAvps_dsai( template (value) Origin_Host_AVP p_origin_Host, template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Data_Reference_AVP p_data_Reference := m_data_Reference_dummy, template (value) Server_Name_AVP p_server_Name := m_server_name_dummy ) modifies m_UDR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh, origin_Host := p_origin_Host, origin_Realm := p_origin_Realm, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, server_Name := p_server_Name, dSAI_Tag := {m_dsai_tag('0101'O)}, data_Reference := {p_data_Reference} } // End of template md_udrBodyAvps_user_state } // End of group udr_msg group pnr_msg { Loading Loading @@ -748,7 +828,7 @@ module DiameterShDh_Templates { template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Subs_Req_Type_AVP p_subs_Req_Type := m_subs_Req_Type_dummy, template (value) SNR_Body_AVP.data_Reference p_data_Referencelist := {m_data_Reference_dummy}, template (value) User_Name_AVP p_user_Name := m_user_Name_dummy template User_Name_AVP p_user_Name := m_user_Name_dummy ) modifies m_SNR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh,//required only in TS129 229 Loading Loading @@ -778,7 +858,7 @@ module DiameterShDh_Templates { destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, data_Reference := {p_data_Reference}, dSAI_Tag := superset(p_dsai_tag) dSAI_Tag := {p_dsai_tag} } // End of template md_snrBodyAvps_DSAI_Tag Loading Loading @@ -806,6 +886,9 @@ module DiameterShDh_Templates { template (value) Origin_Realm_AVP p_origin_Realm, template (value) Destination_Realm_AVP p_destination_Realm, template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy, template (value) Subs_Req_Type_AVP p_subs_Req_Type := m_subs_Req_Type_dummy, template (value) Data_Reference_AVP p_data_Reference := m_data_Reference_dummy, template User_Name_AVP p_user_Name := m_user_Name_dummy, template (value) SNR_Body_AVP.service_Indication p_service_Indication ) modifies m_SNR_Body_dummy := { vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Sh,//required only in TS129 229 Loading @@ -814,6 +897,9 @@ module DiameterShDh_Templates { origin_Realm := p_origin_Realm, destination_Realm := p_destination_Realm, user_Identity := p_user_Identity, subs_Req_Type := p_subs_Req_Type, data_Reference := {p_data_Reference}, user_Name := p_user_Name, service_Indication := p_service_Indication } // End of template md_snrBodyAvps_service_IndicationList Loading Loading @@ -1495,6 +1581,7 @@ module DiameterShDh_Templates { template (present) SNA_Body_AVP mdw_snaBodyAvps_experimental_result( template Experimental_Result_AVP p_experimentalResult ) modifies mw_SNA_Body_dummy := { result_Code := *, experimental_Result := p_experimentalResult } // End of template mdw_snaBodyAvps_experimental_result Loading
ttcn/DiameterShDh_TestCases.ttcn3 +3 −0 Original line number Diff line number Diff line Loading @@ -2596,6 +2596,9 @@ module DiameterShDh_TestCases { stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); // Start v_diameterSh_as.start(f_TC_SH_HSS_PU_21()); Loading