Loading CDIV/CDIV_TC_Functions.ttcn +410 −0 Original line number Diff line number Diff line Loading @@ -1600,11 +1600,421 @@ module CDIV_TC_Functions { }// end f_TC_CDIV_N04_001 function f_TC_CDIV_N04_002(in CSeq p_cSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_ics_scscf(p_cSeq); //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); // ---- test body -----> // send INVITE 1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_CDIV( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_HistoryInfo( {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) }), valueof(m_MBody_SDP(vc_sdp_local)) )); f_awaitingINVITE(mw_INVITE_Request_Base); f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); f_sendResponse(m_Response_ext(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_CDIV(c_statusLine181, vc_callId, vc_cSeq, mw_HistoryInfo( {mw_HistoryInfoEntry(mw_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) }), *,*));//Passerted,Privacy f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?)); }// end f_TC_CDIV_N04_002 function f_TC_CDIV_N04_003(in CSeq p_cSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_ics_scscf(p_cSeq); //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); // ---- test body -----> // send INVITE 1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_CDIV( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_HistoryInfo( {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) }), valueof(m_MBody_SDP(vc_sdp_local)) )); f_awaitingINVITE(mw_INVITE_Request_Base); f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingResponse(mw_Response_CDIV(c_statusLine200, vc_callId, vc_cSeq, mw_HistoryInfo( {mw_HistoryInfoEntry(mw_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) }), *,*));//Passerted,Privacy f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?)); }// end f_TC_CDIV_N04_003 function f_TC_CDIV_N04_004(in CSeq p_cSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_ics_scscf(p_cSeq); //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); // ---- test body -----> // send INVITE 1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_CDIV( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_HistoryInfo( {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) }), valueof(m_MBody_SDP(vc_sdp_local)) )); f_awaitingINVITE(mw_INVITE_Request_Base); f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_CDIV(c_statusLine180, vc_callId, vc_cSeq, mw_HistoryInfo( {mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Privacy_gen("history"),mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) }), *,*));//Passerted,Privacy f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?)); }// end f_TC_CDIV_N04_004 function f_TC_CDIV_N04_005(in CSeq p_cSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_ics_scscf(p_cSeq); //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); // ---- test body -----> // send INVITE 1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_CDIV( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_HistoryInfo( {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) }), valueof(m_MBody_SDP(vc_sdp_local)) )); f_awaitingINVITE(mw_INVITE_Request_Base); f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); f_sendResponse(m_Response_ext(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_CDIV(c_statusLine181, vc_callId, vc_cSeq, mw_HistoryInfo( {mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Privacy_gen("history"), mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) }), *,*));//Passerted,Privacy f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?)); }// end f_TC_CDIV_N04_005 function f_TC_CDIV_N04_006(in CSeq p_cSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_ics_scscf(p_cSeq); //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); // ---- test body -----> // send INVITE 1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_CDIV( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_HistoryInfo( {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) }), valueof(m_MBody_SDP(vc_sdp_local)) )); f_awaitingINVITE(mw_INVITE_Request_Base); f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingResponse(mw_Response_CDIV(c_statusLine200, vc_callId, vc_cSeq, mw_HistoryInfo( {mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Privacy_gen("history"), mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) }), *,*));//Passerted,Privacy f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?)); }// end f_TC_CDIV_N04_006 } // end group ASdiverted_to } //end group Netw group User { group OrigUE { function f_TC_CDIV_U01_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()); // ---- test body -----> f_getInvite(mw_INVITE_Request_Base); f_sendResponse(m_Response_history(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_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_sendResponse(m_Response_Base(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof( m_MBody_SDP(vc_sdp_local)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done //await BYE and send 200 OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } function f_TC_CDIV_U01_002(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()); // ---- test body -----> f_getInvite(mw_INVITE_Request_Base); f_sendResponse(m_Response_Base(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_sendResponse(m_Response_history(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_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_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof( m_MBody_SDP(vc_sdp_local)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done //await BYE and send 200 OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } function f_TC_CDIV_U01_003(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()); // ---- test body -----> f_getInvite(mw_INVITE_Request_Base); f_sendResponse(m_Response_Base(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_sendResponse(m_Response_Base(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_sendResponse(m_Response_history_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(),valueof( m_MBody_SDP(vc_sdp_local)), 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_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done //await BYE and send 200 OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } } //end group OrigUE group DivertingUE { }//end group DivertingUE Loading CDIV/CDIV_Templates.ttcn +18 −2 Original line number Diff line number Diff line Loading @@ -63,13 +63,29 @@ group MessageTemplates{ { contact := p_contact, contentLength := {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := c_xmlAplication}, event := m_Event_reg,//TODO check which event belongs to CDIV event := {fieldName:=EVENT_E, eventType:="conference",eventParams:=omit}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/comm-div-info+xml"}, event := m_Event_cdiv, expires := m_Expires_600000 }, 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:= { msgHeader :={ historyInfo := p_historyInfo } } template Response m_Response_history_mbody (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, template Route p_route, template RecordRoute p_recordroute, template MessageBody p_mb, template HistoryInfo p_historyInfo) modifies m_Response_mbody:= { msgHeader :={ historyInfo := p_historyInfo } } template Response mw_Response_CDIV(template StatusLine p_statusLine, template CallId p_callId, template CSeq p_cSeq, template HistoryInfo p_historyInfo, template PAssertedID p_pAssertedID, template Privacy p_privacy ) modifies mw_Response_Base := { Loading CDIV/CDIV_TestCases.ttcn +169 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
CDIV/CDIV_TC_Functions.ttcn +410 −0 Original line number Diff line number Diff line Loading @@ -1600,11 +1600,421 @@ module CDIV_TC_Functions { }// end f_TC_CDIV_N04_001 function f_TC_CDIV_N04_002(in CSeq p_cSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_ics_scscf(p_cSeq); //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); // ---- test body -----> // send INVITE 1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_CDIV( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_HistoryInfo( {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) }), valueof(m_MBody_SDP(vc_sdp_local)) )); f_awaitingINVITE(mw_INVITE_Request_Base); f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); f_sendResponse(m_Response_ext(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_CDIV(c_statusLine181, vc_callId, vc_cSeq, mw_HistoryInfo( {mw_HistoryInfoEntry(mw_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) }), *,*));//Passerted,Privacy f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?)); }// end f_TC_CDIV_N04_002 function f_TC_CDIV_N04_003(in CSeq p_cSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_ics_scscf(p_cSeq); //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); // ---- test body -----> // send INVITE 1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_CDIV( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_HistoryInfo( {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) }), valueof(m_MBody_SDP(vc_sdp_local)) )); f_awaitingINVITE(mw_INVITE_Request_Base); f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingResponse(mw_Response_CDIV(c_statusLine200, vc_callId, vc_cSeq, mw_HistoryInfo( {mw_HistoryInfoEntry(mw_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) }), *,*));//Passerted,Privacy f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?)); }// end f_TC_CDIV_N04_003 function f_TC_CDIV_N04_004(in CSeq p_cSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_ics_scscf(p_cSeq); //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); // ---- test body -----> // send INVITE 1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_CDIV( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_HistoryInfo( {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) }), valueof(m_MBody_SDP(vc_sdp_local)) )); f_awaitingINVITE(mw_INVITE_Request_Base); f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_CDIV(c_statusLine180, vc_callId, vc_cSeq, mw_HistoryInfo( {mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Privacy_gen("history"),mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) }), *,*));//Passerted,Privacy f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?)); }// end f_TC_CDIV_N04_004 function f_TC_CDIV_N04_005(in CSeq p_cSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_ics_scscf(p_cSeq); //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); // ---- test body -----> // send INVITE 1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_CDIV( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_HistoryInfo( {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) }), valueof(m_MBody_SDP(vc_sdp_local)) )); f_awaitingINVITE(mw_INVITE_Request_Base); f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); f_sendResponse(m_Response_ext(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_CDIV(c_statusLine181, vc_callId, vc_cSeq, mw_HistoryInfo( {mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Privacy_gen("history"), mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) }), *,*));//Passerted,Privacy f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?)); }// end f_TC_CDIV_N04_005 function f_TC_CDIV_N04_006(in CSeq p_cSeq) runs on ImsComponent { var charstring v_CauseValList[8]:= {"404", "302", "486", "408", "480", "503", "487", "503"}; f_init_ics_scscf(p_cSeq); //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); // ---- test body -----> // send INVITE 1 LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_CDIV( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, m_HistoryInfo( {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) }), valueof(m_MBody_SDP(vc_sdp_local)) )); f_awaitingINVITE(mw_INVITE_Request_Base); f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute())); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_awaitingResponse(mw_Response_CDIV(c_statusLine200, vc_callId, vc_cSeq, mw_HistoryInfo( {mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Privacy_gen("history"), mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) }), *,*));//Passerted,Privacy f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?)); }// end f_TC_CDIV_N04_006 } // end group ASdiverted_to } //end group Netw group User { group OrigUE { function f_TC_CDIV_U01_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()); // ---- test body -----> f_getInvite(mw_INVITE_Request_Base); f_sendResponse(m_Response_history(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_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_sendResponse(m_Response_Base(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof( m_MBody_SDP(vc_sdp_local)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done //await BYE and send 200 OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } function f_TC_CDIV_U01_002(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()); // ---- test body -----> f_getInvite(mw_INVITE_Request_Base); f_sendResponse(m_Response_Base(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_sendResponse(m_Response_history(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_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_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof( m_MBody_SDP(vc_sdp_local)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done //await BYE and send 200 OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } function f_TC_CDIV_U01_003(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()); // ---- test body -----> f_getInvite(mw_INVITE_Request_Base); f_sendResponse(m_Response_Base(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_sendResponse(m_Response_Base(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); f_sendResponse(m_Response_history_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(),valueof( m_MBody_SDP(vc_sdp_local)), 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_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_check_Conversation(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done //await BYE and send 200 OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } } //end group OrigUE group DivertingUE { }//end group DivertingUE Loading
CDIV/CDIV_Templates.ttcn +18 −2 Original line number Diff line number Diff line Loading @@ -63,13 +63,29 @@ group MessageTemplates{ { contact := p_contact, contentLength := {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := c_xmlAplication}, event := m_Event_reg,//TODO check which event belongs to CDIV event := {fieldName:=EVENT_E, eventType:="conference",eventParams:=omit}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/comm-div-info+xml"}, event := m_Event_cdiv, expires := m_Expires_600000 }, 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:= { msgHeader :={ historyInfo := p_historyInfo } } template Response m_Response_history_mbody (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, template Route p_route, template RecordRoute p_recordroute, template MessageBody p_mb, template HistoryInfo p_historyInfo) modifies m_Response_mbody:= { msgHeader :={ historyInfo := p_historyInfo } } template Response mw_Response_CDIV(template StatusLine p_statusLine, template CallId p_callId, template CSeq p_cSeq, template HistoryInfo p_historyInfo, template PAssertedID p_pAssertedID, template Privacy p_privacy ) modifies mw_Response_Base := { Loading
CDIV/CDIV_TestCases.ttcn +169 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes