Loading CDIV/CDIV_TC_Functions.ttcn +76 −0 Original line number Diff line number Diff line Loading @@ -2017,6 +2017,82 @@ module CDIV_TC_Functions { } } //end group OrigUE group DivertingUE { function f_TC_CDIV_U02_001(CSeq p_CSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_SendMESSAGE(m_MESSAGE_Request_CDIV (vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, m_HistoryInfo( {m_HistoryInfoEntry(m_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,omit),{1},omit), m_HistoryInfoEntry(m_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) }) )); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } function f_TC_CDIV_U02_002(CSeq p_CSeq) runs on ImsComponent { var Diversion_reason_info_type v_ReasonValList[8]:= {int404, int302, int486, int408, int480, int503, int487, int503}; f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); //await SUBSCRIBE f_awaitingSUBSCRIBE(mw_SUBSCRIBE_Request_mbody(mw_MBody_XML(mw_XmlBody_CDIVN(mw_comm_div_subs_info (v_ReasonValList[PX_TC_VA-1]))))); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_SendNOTIFY(m_NOTIFY_Request_CDIV(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, m_MBody_XML(m_XmlBody_CDIVN(m_comm_div_ntfy_info(v_ReasonValList[PX_TC_VA-1]))) )); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } function f_TC_CDIV_U02_003(CSeq p_CSeq) runs on ImsComponent { var Diversion_reason_info_type v_ReasonValList[8]:= {int404, int302, int486, int408, int480, int503, int487, int503}; f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); //await SUBSCRIBE f_awaitingSUBSCRIBE(mw_SUBSCRIBE_Request_mbody(mw_MBody_XML(mw_XmlBody_CDIVN(mw_comm_div_subs_info (v_ReasonValList[PX_TC_VA-1]))))); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_SendNOTIFY(m_NOTIFY_Request_CDIV(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, m_MBody_XML(m_XmlBody_CDIVN(m_comm_div_ntfy_info(v_ReasonValList[PX_TC_VA-1]))) )); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } }//end group DivertingUE }// end group User Loading CDIV/CDIV_Templates.ttcn +74 −2 Original line number Diff line number Diff line Loading @@ -51,6 +51,25 @@ group MessageTemplates{ } } template MESSAGE_Request m_MESSAGE_Request_CDIV (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, template HistoryInfo p_historyInfo) modifies m_MESSAGE_Request_Base := { msgHeader := { historyInfo := p_historyInfo } } template NOTIFY_Request m_NOTIFY_Request_CDIV (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, template MessageBody p_mb) modifies m_NOTIFY_Request_Base := { msgHeader := { contentLength := {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/comm-div-info+xml"} }, messageBody := p_mb } template SUBSCRIBE_Request m_SUBSCRIBE_Request_CDIV (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, Contact p_contact, template MessageBody p_mb) modifies m_SUBSCRIBE_Request_Base := { Loading @@ -70,6 +89,11 @@ group MessageTemplates{ messageBody := p_mb } template SUBSCRIBE_Request mw_SUBSCRIBE_Request_mbody(template MessageBody p_mb) modifies mw_SUBSCRIBE_Request_Base := { messageBody := p_mb } template Response m_Response_history (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, template HistoryInfo p_historyInfo) modifies m_Response_Base:= { Loading Loading @@ -244,9 +268,57 @@ group MessageTemplates{ elem := omit } template Comm_div_info_type mw_comm_div_ntfy_info := { template Comm_div_info_type mw_comm_div_subs_info(Diversion_reason_info_type p_enumReason) := { entity := "entity", comm_div_subs_info := { anyAttributes := *, comm_div_selection_criteria := { anyAttributes:= *, originating_user_selection_criteria:= *, diverting_user_selection_criteria:= *, diverted_to_user_selection_criteria:= *, diversion_time_selection_criteria:= *, diversion_reason_selection_criteria:= m_reason_type(p_enumReason), elem:= * }, comm_div_ntfy_trigger_criteria := { anyAttributes := *, notification_time_selection_criteria := *, presence_status_selection_criteria := *, notification_buffer_interval := *, elem := * }, comm_div_info_selection_criteria := *, elem := * }, comm_div_ntfy_info := *, elem := * } template Comm_div_info_type m_comm_div_ntfy_info(Diversion_reason_info_type p_enumReason) := { entity := "entity", comm_div_subs_info := omit, comm_div_ntfy_info := { anyAttributes := omit, originating_user_info := omit, diverting_user_info := omit, diverted_to_user_info := omit, diversion_time_info := omit,//"101231235959" yymmddhhmmss diversion_reason_info := p_enumReason, diversion_rule_info := { anyAttributes := omit, diversion_rule := "Any text" }, elem := omit }, elem := omit } template Comm_div_info_type mw_comm_div_ntfy_info := { entity := "entity", comm_div_subs_info := *, comm_div_ntfy_info := { anyAttributes := *, originating_user_info := ?, Loading @@ -260,7 +332,7 @@ group MessageTemplates{ }, elem := * }, elem := omit elem := * } }//end xmlTemplates group Loading CDIV/CDIV_TestCases.ttcn +63 −0 Original line number Diff line number Diff line Loading @@ -930,6 +930,69 @@ module CDIV_TestCases { } //end group OrigUE group DivertingUE { /** * @desc TC_CDIV_U02_001 * @param p_cSeq_s Transaction Id */ testcase TC_CDIV_U02_001(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter { // variable declaration var ImsComponent v_pcscf; // setup test configuration f_cf_ue_up(v_pcscf); // start component v_pcscf.start(f_TC_CDIV_U02_001(p_cSeq)); // synchronize component f_serverSync1Client({c_prDone, c_tbDone}); // tear down test configuration f_cf_ue_down(v_pcscf); } /** * @desc TC_CDIV_U02_002 * @param p_cSeq_s Transaction Id */ testcase TC_CDIV_U02_002(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter { // variable declaration var ImsComponent v_pcscf; // setup test configuration f_cf_ue_up(v_pcscf); // start component v_pcscf.start(f_TC_CDIV_U02_002(p_cSeq)); // synchronize component f_serverSync1Client({c_prDone, c_tbDone}); // tear down test configuration f_cf_ue_down(v_pcscf); } /** * @desc TC_CDIV_U02_003 * @param p_cSeq_s Transaction Id */ testcase TC_CDIV_U02_003(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter { // variable declaration var ImsComponent v_pcscf; // setup test configuration f_cf_ue_up(v_pcscf); // start component v_pcscf.start(f_TC_CDIV_U02_003(p_cSeq)); // synchronize component f_serverSync1Client({c_prDone, c_tbDone}); // tear down test configuration f_cf_ue_down(v_pcscf); } }//end group DivertingUE }// end group User Loading Loading
CDIV/CDIV_TC_Functions.ttcn +76 −0 Original line number Diff line number Diff line Loading @@ -2017,6 +2017,82 @@ module CDIV_TC_Functions { } } //end group OrigUE group DivertingUE { function f_TC_CDIV_U02_001(CSeq p_CSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_SendMESSAGE(m_MESSAGE_Request_CDIV (vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, m_HistoryInfo( {m_HistoryInfoEntry(m_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,omit),{1},omit), m_HistoryInfoEntry(m_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) }) )); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } function f_TC_CDIV_U02_002(CSeq p_CSeq) runs on ImsComponent { var Diversion_reason_info_type v_ReasonValList[8]:= {int404, int302, int486, int408, int480, int503, int487, int503}; f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); //await SUBSCRIBE f_awaitingSUBSCRIBE(mw_SUBSCRIBE_Request_mbody(mw_MBody_XML(mw_XmlBody_CDIVN(mw_comm_div_subs_info (v_ReasonValList[PX_TC_VA-1]))))); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_SendNOTIFY(m_NOTIFY_Request_CDIV(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, m_MBody_XML(m_XmlBody_CDIVN(m_comm_div_ntfy_info(v_ReasonValList[PX_TC_VA-1]))) )); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } function f_TC_CDIV_U02_003(CSeq p_CSeq) runs on ImsComponent { var Diversion_reason_info_type v_ReasonValList[8]:= {int404, int302, int486, int408, int480, int503, int487, int503}; f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); //await SUBSCRIBE f_awaitingSUBSCRIBE(mw_SUBSCRIBE_Request_mbody(mw_MBody_XML(mw_XmlBody_CDIVN(mw_comm_div_subs_info (v_ReasonValList[PX_TC_VA-1]))))); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_SendNOTIFY(m_NOTIFY_Request_CDIV(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, m_MBody_XML(m_XmlBody_CDIVN(m_comm_div_ntfy_info(v_ReasonValList[PX_TC_VA-1]))) )); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } }//end group DivertingUE }// end group User Loading
CDIV/CDIV_Templates.ttcn +74 −2 Original line number Diff line number Diff line Loading @@ -51,6 +51,25 @@ group MessageTemplates{ } } template MESSAGE_Request m_MESSAGE_Request_CDIV (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, template HistoryInfo p_historyInfo) modifies m_MESSAGE_Request_Base := { msgHeader := { historyInfo := p_historyInfo } } template NOTIFY_Request m_NOTIFY_Request_CDIV (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, template MessageBody p_mb) modifies m_NOTIFY_Request_Base := { msgHeader := { contentLength := {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/comm-div-info+xml"} }, messageBody := p_mb } template SUBSCRIBE_Request m_SUBSCRIBE_Request_CDIV (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, Contact p_contact, template MessageBody p_mb) modifies m_SUBSCRIBE_Request_Base := { Loading @@ -70,6 +89,11 @@ group MessageTemplates{ messageBody := p_mb } template SUBSCRIBE_Request mw_SUBSCRIBE_Request_mbody(template MessageBody p_mb) modifies mw_SUBSCRIBE_Request_Base := { messageBody := p_mb } template Response m_Response_history (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, template HistoryInfo p_historyInfo) modifies m_Response_Base:= { Loading Loading @@ -244,9 +268,57 @@ group MessageTemplates{ elem := omit } template Comm_div_info_type mw_comm_div_ntfy_info := { template Comm_div_info_type mw_comm_div_subs_info(Diversion_reason_info_type p_enumReason) := { entity := "entity", comm_div_subs_info := { anyAttributes := *, comm_div_selection_criteria := { anyAttributes:= *, originating_user_selection_criteria:= *, diverting_user_selection_criteria:= *, diverted_to_user_selection_criteria:= *, diversion_time_selection_criteria:= *, diversion_reason_selection_criteria:= m_reason_type(p_enumReason), elem:= * }, comm_div_ntfy_trigger_criteria := { anyAttributes := *, notification_time_selection_criteria := *, presence_status_selection_criteria := *, notification_buffer_interval := *, elem := * }, comm_div_info_selection_criteria := *, elem := * }, comm_div_ntfy_info := *, elem := * } template Comm_div_info_type m_comm_div_ntfy_info(Diversion_reason_info_type p_enumReason) := { entity := "entity", comm_div_subs_info := omit, comm_div_ntfy_info := { anyAttributes := omit, originating_user_info := omit, diverting_user_info := omit, diverted_to_user_info := omit, diversion_time_info := omit,//"101231235959" yymmddhhmmss diversion_reason_info := p_enumReason, diversion_rule_info := { anyAttributes := omit, diversion_rule := "Any text" }, elem := omit }, elem := omit } template Comm_div_info_type mw_comm_div_ntfy_info := { entity := "entity", comm_div_subs_info := *, comm_div_ntfy_info := { anyAttributes := *, originating_user_info := ?, Loading @@ -260,7 +332,7 @@ group MessageTemplates{ }, elem := * }, elem := omit elem := * } }//end xmlTemplates group Loading
CDIV/CDIV_TestCases.ttcn +63 −0 Original line number Diff line number Diff line Loading @@ -930,6 +930,69 @@ module CDIV_TestCases { } //end group OrigUE group DivertingUE { /** * @desc TC_CDIV_U02_001 * @param p_cSeq_s Transaction Id */ testcase TC_CDIV_U02_001(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter { // variable declaration var ImsComponent v_pcscf; // setup test configuration f_cf_ue_up(v_pcscf); // start component v_pcscf.start(f_TC_CDIV_U02_001(p_cSeq)); // synchronize component f_serverSync1Client({c_prDone, c_tbDone}); // tear down test configuration f_cf_ue_down(v_pcscf); } /** * @desc TC_CDIV_U02_002 * @param p_cSeq_s Transaction Id */ testcase TC_CDIV_U02_002(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter { // variable declaration var ImsComponent v_pcscf; // setup test configuration f_cf_ue_up(v_pcscf); // start component v_pcscf.start(f_TC_CDIV_U02_002(p_cSeq)); // synchronize component f_serverSync1Client({c_prDone, c_tbDone}); // tear down test configuration f_cf_ue_down(v_pcscf); } /** * @desc TC_CDIV_U02_003 * @param p_cSeq_s Transaction Id */ testcase TC_CDIV_U02_003(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter { // variable declaration var ImsComponent v_pcscf; // setup test configuration f_cf_ue_up(v_pcscf); // start component v_pcscf.start(f_TC_CDIV_U02_003(p_cSeq)); // synchronize component f_serverSync1Client({c_prDone, c_tbDone}); // tear down test configuration f_cf_ue_down(v_pcscf); } }//end group DivertingUE }// end group User Loading