Loading CH/CH_TC_Functions.ttcn +544 −44 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ module CH_TC_Functions { import from LibSip_SIPTypesAndValues language "TTCN-3:2005" all; function f_TC_CH_U01( function f_TC_CH_U01_001( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, Loading Loading @@ -62,8 +62,8 @@ module CH_TC_Functions { vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading @@ -83,19 +83,13 @@ module CH_TC_Functions { // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD (sendonly) using UPDATE method"); log(vc_sdp_local); f_SIP_modMediaDirection(0,m_attribute_sendonly); log(vc_sdp_local); // LibIms_Steps.f_setHeadersUPDATE(p_CSeq,c_userProfile_PCSCFwithHomeUE); log(vc_sdp_local); // f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, omit, valueof(m_MBody_SDP(vc_sdp_local)))); f_SendUPDATE(m_UPDATE_Request_Base( vc_requestUri, vc_callId, p_CSeq, vc_from, vc_to, vc_callee_From, //vc_from, vc_callee_To, //vc_to, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local)) Loading Loading @@ -131,12 +125,12 @@ module CH_TC_Functions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_IMS( //f_terminateCall_UE( f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading Loading @@ -189,8 +183,8 @@ module CH_TC_Functions { vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading @@ -210,8 +204,259 @@ module CH_TC_Functions { // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD (sendonly) using UPDATE method"); log(vc_sdp_local); f_SIP_modMediaDirection(0,m_attribute_sendonly); f_SendUPDATE(m_UPDATE_Request_Base( vc_requestUri, vc_callId, p_CSeq, vc_callee_From, //vc_from, vc_callee_To, //vc_to, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local)) ); f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); f_SIP_checksetSDPreqDirection( mw_attribute_recvonly, omit); action("Please set communication on HOLD using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection( mw_attribute_inactive, m_attribute_inactive ); f_sendResponse(m_Response_2xxonUPDATE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please resume communication using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonUPDATE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U01_005( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please set communication on HOLD (session attribute) using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonUPDATE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U01_006( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD (session attribute sendonly) using UPDATE method"); f_SIP_modSessionDirection(m_attribute_sendonly); f_SendUPDATE(m_UPDATE_Request_Base( vc_requestUri, vc_callId, p_CSeq, vc_callee_From, vc_callee_To, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local)) ); f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); f_SIP_checksetSDPreqDirectionSession( mw_attribute_recvonly, omit); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please set communication on HOLD using UPDATE request (session attribute)"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonUPDATE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U01_007( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); action("Please set communication on HOLD (session attribute) using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirectionSession( mw_attribute_sendrecv, m_attribute_sendrecv ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please resume (session) communication using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonUPDATE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U01_008( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD (sendonly) using UPDATE method"); log(vc_sdp_local); f_SIP_modSessionDirection(m_attribute_sendonly); log(vc_sdp_local); // LibIms_Steps.f_setHeadersUPDATE(p_CSeq,c_userProfile_PCSCFwithHomeUE); log(vc_sdp_local); Loading @@ -221,8 +466,8 @@ module CH_TC_Functions { vc_requestUri, vc_callId, p_CSeq, vc_from, vc_to, vc_callee_From, //vc_from, vc_callee_To, //vc_to, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local)) Loading @@ -230,13 +475,13 @@ module CH_TC_Functions { f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); f_SIP_checksetSDPreqDirection( f_SIP_checksetSDPreqDirectionSession( mw_attribute_recvonly, omit); action("Please set communication on HOLD using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection( f_SIP_checksetSDPreqDirectionSession( mw_attribute_inactive, m_attribute_inactive ); Loading @@ -257,7 +502,7 @@ module CH_TC_Functions { action("Please resume communication using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection( f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); Loading @@ -275,18 +520,20 @@ module CH_TC_Functions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_IMS( //f_terminateCall_UE( f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U02( function f_TC_CH_U02_001( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, Loading Loading @@ -325,12 +572,12 @@ module CH_TC_Functions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_IMS( // f_terminateCall_UE( f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading @@ -345,21 +592,18 @@ module CH_TC_Functions { // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); f_acceptCall(mw_attribute_sendrecv); vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD sendonly"); log(vc_sdp_local); f_SIP_modMediaDirection(0,m_attribute_sendonly); log(vc_sdp_local); f_setHeadersReINVITE(p_CSeq,false); log(vc_sdp_local); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, omit, 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_SIP_checksetSDPreqDirection( mw_attribute_recvonly, omit p_direction_preamble, omit ); Loading Loading @@ -390,12 +634,12 @@ module CH_TC_Functions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_IMS( //f_terminateCall_UE( f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading Loading @@ -462,8 +706,8 @@ module CH_TC_Functions { vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading @@ -482,11 +726,8 @@ module CH_TC_Functions { vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD sendonly"); log(vc_sdp_local); f_SIP_modMediaDirection(0,m_attribute_sendonly); log(vc_sdp_local); f_setHeadersReINVITE(p_CSeq,false); log(vc_sdp_local); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, omit, 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)); Loading Loading @@ -544,8 +785,267 @@ module CH_TC_Functions { vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U02_005( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please set communication (session attribute) on HOLD"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U02_006( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(mw_attribute_sendrecv); vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets (session) communication on HOLD sendonly"); f_SIP_modSessionDirection(m_attribute_sendonly); f_setHeadersReINVITE(p_CSeq,false); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, omit, 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_SIP_checksetSDPreqDirectionSession( p_direction_preamble, omit ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please resume communication"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U02_007( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); action("Please set communication (session attribute) on HOLD"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( mw_attribute_sendonly, m_attribute_recvonly ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please resume (session) communication"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U02_008( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD sendonly"); f_SIP_modSessionDirection(m_attribute_sendonly); f_setHeadersReINVITE(p_CSeq,false); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, omit, 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_SIP_checksetSDPreqDirectionSession( mw_attribute_recvonly, omit ); action("Please set communication on HOLD"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( mw_attribute_inactive, m_attribute_inactive ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please resume (session) communication"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading CH/CH_TestCases.ttcn +12 −12 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
CH/CH_TC_Functions.ttcn +544 −44 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ module CH_TC_Functions { import from LibSip_SIPTypesAndValues language "TTCN-3:2005" all; function f_TC_CH_U01( function f_TC_CH_U01_001( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, Loading Loading @@ -62,8 +62,8 @@ module CH_TC_Functions { vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading @@ -83,19 +83,13 @@ module CH_TC_Functions { // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD (sendonly) using UPDATE method"); log(vc_sdp_local); f_SIP_modMediaDirection(0,m_attribute_sendonly); log(vc_sdp_local); // LibIms_Steps.f_setHeadersUPDATE(p_CSeq,c_userProfile_PCSCFwithHomeUE); log(vc_sdp_local); // f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, omit, valueof(m_MBody_SDP(vc_sdp_local)))); f_SendUPDATE(m_UPDATE_Request_Base( vc_requestUri, vc_callId, p_CSeq, vc_from, vc_to, vc_callee_From, //vc_from, vc_callee_To, //vc_to, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local)) Loading Loading @@ -131,12 +125,12 @@ module CH_TC_Functions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_IMS( //f_terminateCall_UE( f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading Loading @@ -189,8 +183,8 @@ module CH_TC_Functions { vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading @@ -210,8 +204,259 @@ module CH_TC_Functions { // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD (sendonly) using UPDATE method"); log(vc_sdp_local); f_SIP_modMediaDirection(0,m_attribute_sendonly); f_SendUPDATE(m_UPDATE_Request_Base( vc_requestUri, vc_callId, p_CSeq, vc_callee_From, //vc_from, vc_callee_To, //vc_to, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local)) ); f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); f_SIP_checksetSDPreqDirection( mw_attribute_recvonly, omit); action("Please set communication on HOLD using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection( mw_attribute_inactive, m_attribute_inactive ); f_sendResponse(m_Response_2xxonUPDATE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please resume communication using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonUPDATE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U01_005( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please set communication on HOLD (session attribute) using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonUPDATE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U01_006( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD (session attribute sendonly) using UPDATE method"); f_SIP_modSessionDirection(m_attribute_sendonly); f_SendUPDATE(m_UPDATE_Request_Base( vc_requestUri, vc_callId, p_CSeq, vc_callee_From, vc_callee_To, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local)) ); f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); f_SIP_checksetSDPreqDirectionSession( mw_attribute_recvonly, omit); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please set communication on HOLD using UPDATE request (session attribute)"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonUPDATE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U01_007( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); action("Please set communication on HOLD (session attribute) using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirectionSession( mw_attribute_sendrecv, m_attribute_sendrecv ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please resume (session) communication using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonUPDATE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U01_008( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD (sendonly) using UPDATE method"); log(vc_sdp_local); f_SIP_modSessionDirection(m_attribute_sendonly); log(vc_sdp_local); // LibIms_Steps.f_setHeadersUPDATE(p_CSeq,c_userProfile_PCSCFwithHomeUE); log(vc_sdp_local); Loading @@ -221,8 +466,8 @@ module CH_TC_Functions { vc_requestUri, vc_callId, p_CSeq, vc_from, vc_to, vc_callee_From, //vc_from, vc_callee_To, //vc_to, vc_via, vc_contact, m_MBody_SDP(vc_sdp_local)) Loading @@ -230,13 +475,13 @@ module CH_TC_Functions { f_awaitingResponse(mw_Response_Base(c_statusLine200,vc_callId, vc_cSeq)); f_SIP_checksetSDPreqDirection( f_SIP_checksetSDPreqDirectionSession( mw_attribute_recvonly, omit); action("Please set communication on HOLD using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection( f_SIP_checksetSDPreqDirectionSession( mw_attribute_inactive, m_attribute_inactive ); Loading @@ -257,7 +502,7 @@ module CH_TC_Functions { action("Please resume communication using UPDATE request"); f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); f_SIP_checksetSDPreqDirection( f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); Loading @@ -275,18 +520,20 @@ module CH_TC_Functions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_IMS( //f_terminateCall_UE( f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U02( function f_TC_CH_U02_001( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, Loading Loading @@ -325,12 +572,12 @@ module CH_TC_Functions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_IMS( // f_terminateCall_UE( f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading @@ -345,21 +592,18 @@ module CH_TC_Functions { // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); f_acceptCall(mw_attribute_sendrecv); vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD sendonly"); log(vc_sdp_local); f_SIP_modMediaDirection(0,m_attribute_sendonly); log(vc_sdp_local); f_setHeadersReINVITE(p_CSeq,false); log(vc_sdp_local); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, omit, 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_SIP_checksetSDPreqDirection( mw_attribute_recvonly, omit p_direction_preamble, omit ); Loading Loading @@ -390,12 +634,12 @@ module CH_TC_Functions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_IMS( //f_terminateCall_UE( f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading Loading @@ -462,8 +706,8 @@ module CH_TC_Functions { vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading @@ -482,11 +726,8 @@ module CH_TC_Functions { vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD sendonly"); log(vc_sdp_local); f_SIP_modMediaDirection(0,m_attribute_sendonly); log(vc_sdp_local); f_setHeadersReINVITE(p_CSeq,false); log(vc_sdp_local); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, omit, 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)); Loading Loading @@ -544,8 +785,267 @@ module CH_TC_Functions { vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U02_005( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please set communication (session attribute) on HOLD"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U02_006( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(mw_attribute_sendrecv); vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets (session) communication on HOLD sendonly"); f_SIP_modSessionDirection(m_attribute_sendonly); f_setHeadersReINVITE(p_CSeq,false); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, omit, 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_SIP_checksetSDPreqDirectionSession( p_direction_preamble, omit ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please resume communication"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U02_007( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); action("Please set communication (session attribute) on HOLD"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( mw_attribute_sendonly, m_attribute_recvonly ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please resume (session) communication"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } function f_TC_CH_U02_008( CSeq p_CSeq, template SDP_attribute p_direction_preamble, template SDP_attribute p_direction_in, SDP_attribute p_direction_out ) runs on ImsComponent { f_init_gm_pcscf(p_CSeq); // ---- preamble -----> f_gm_pcscf_preamble(p_CSeq); f_acceptCall(p_direction_preamble); vc_sdp_remote := vc_sdp_local; // tester sets communication on HOLD "sendonly" log("tester sets communication on HOLD sendonly"); f_SIP_modSessionDirection(m_attribute_sendonly); f_setHeadersReINVITE(p_CSeq,false); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, omit, omit, omit, 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_SIP_checksetSDPreqDirectionSession( mw_attribute_recvonly, omit ); action("Please set communication on HOLD"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( mw_attribute_inactive, m_attribute_inactive ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // ---- test body -----> action("Please resume (session) communication"); f_awaitingINVITE(mw_INVITE_Request_MB(?, ?)); f_SIP_checksetSDPreqDirectionSession( p_direction_in, p_direction_out ); f_sendResponse(m_Response_2xxonINVITE( c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To vc_caller_To, vc_via, vc_contact, f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)) )); // wait for ACK f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // ---- postamble ----> f_terminateCall_UE( vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To ); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); } Loading
CH/CH_TestCases.ttcn +12 −12 File changed.Preview size limit exceeded, changes collapsed. Show changes