Loading ttcn/AtsSccas/AtsSccas_TCFunctions.ttcn +335 −0 Original line number Diff line number Diff line Loading @@ -1455,6 +1455,341 @@ module AtsSccas_TCFunctions { } // End of function f_TC_ISC_SCCAS_CPT_INV_10 /** * @desc Verify that the SCC AS handles correctly additional session transfer initiation. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_CPT_INV_11(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preambule f_init_userprofile(c_userProfile_UE1atSUThome); f_initSipUrl(c_serviceProfile_EMERGENCY); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); // Registration f_sendRegistrationAndAwait200Ok( v_cSeq_s, m_sccas_register( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest( vc_authorization, {c_Integrity_protected_no} ), PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation "600000", -, m_contentType(c_sdpApplication), // TODO To be refined during validation m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation ), mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersINVITE(v_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_SendINVITE( m_sccas_invite( vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, -, -, -, m_MBody_SDP(vc_sdp_local) )); tc_ack.start; alt { [] SIPP.receive(mw_Response_Base(c_statusLine200)) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: 200 OK message was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } // TODO Deregistration? f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_CPT_INV_11 /** * @desc Verify that the SCC AS handles correctly transfer of session with inactive speech media component. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_CPT_INV_12(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preambule f_init_userprofile(c_userProfile_UE1atSUThome); f_initSipUrl(c_serviceProfile_EMERGENCY); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); // Registration f_sendRegistrationAndAwait200Ok( v_cSeq_s, m_sccas_register( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest( vc_authorization, {c_Integrity_protected_no} ), PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation "600000", -, m_contentType(c_sdpApplication), // TODO To be refined during validation m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation ), mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersINVITE(v_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_SendINVITE( m_sccas_invite( // TODO request active speech media component using CS bearer vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, -, -, -, m_MBody_SDP(vc_sdp_local) )); tc_ack.start; alt { [] SIPP.receive(mw_INVITE_Request(?,vc_requestUri)) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: forwarded INVITE message was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } // TODO Deregistration? f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_CPT_INV_12 /** * @desc Verify that the SCC AS handles correctly transfer of originating session in alerting phase. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_CPT_INV_13(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preambule f_init_userprofile(c_userProfile_UE1atSUThome); f_initSipUrl(c_serviceProfile_EMERGENCY); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); // Registration f_sendRegistrationAndAwait200Ok( v_cSeq_s, m_sccas_register( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest( vc_authorization, {c_Integrity_protected_no} ), PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation "600000", -, m_contentType(c_sdpApplication), // TODO To be refined during validation m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation ), mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersINVITE(v_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_sendResponse( m_Response_2xx_Base( c_statusLine200, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG )); tc_ack.start; alt { [] SIPP.receive(mw_Response_Base(c_statusLine180)) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: Respoonse 180 was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } // TODO Deregistration? f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_CPT_INV_13 /** * @desc Verify that the SCC AS handles correctly transfer of terminating session in alerting phase. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_CPT_INV_14(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preambule f_init_userprofile(c_userProfile_UE1atSUThome); f_initSipUrl(c_serviceProfile_EMERGENCY); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); // Registration f_sendRegistrationAndAwait200Ok( v_cSeq_s, m_sccas_register( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest( vc_authorization, {c_Integrity_protected_no} ), PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation "600000", -, m_contentType(c_sdpApplication), // TODO To be refined during validation m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation ), mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersINVITE(v_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_sendResponse( m_Response_2xx_Base( c_statusLine200, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG )); tc_ack.start; alt { [] SIPP.receive(mw_Response_Base(c_statusLine183)) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: Respoonse 183 was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } // TODO Deregistration? f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_CPT_INV_14 /** * @desc Verify that the SCC AS correctly behave procedures when the access transfer is completed. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_TER_BYE_01(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preambule f_init_userprofile(c_userProfile_UE1atSUThome); f_initSipUrl(c_serviceProfile_EMERGENCY); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); // Registration f_sendRegistrationAndAwait200Ok( v_cSeq_s, m_sccas_register( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest( vc_authorization, {c_Integrity_protected_no} ), PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation "600000", -, m_contentType(c_sdpApplication), // TODO To be refined during validation m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation ), mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersBYE(v_cSeq_s, f_initSipUrl(c_userProfile_UE1atSUThome)); f_SendBYE( m_BYE_Request_UE( vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG )); tc_ack.start; alt { [] SIPP.receive(mw_Response_Base(c_statusLine200)) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: 200 OK message was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } // TODO Deregistration? f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_TER_BYE_01 } // End of group Group_12_3 group helpers { Loading Loading
ttcn/AtsSccas/AtsSccas_TCFunctions.ttcn +335 −0 Original line number Diff line number Diff line Loading @@ -1455,6 +1455,341 @@ module AtsSccas_TCFunctions { } // End of function f_TC_ISC_SCCAS_CPT_INV_10 /** * @desc Verify that the SCC AS handles correctly additional session transfer initiation. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_CPT_INV_11(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preambule f_init_userprofile(c_userProfile_UE1atSUThome); f_initSipUrl(c_serviceProfile_EMERGENCY); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); // Registration f_sendRegistrationAndAwait200Ok( v_cSeq_s, m_sccas_register( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest( vc_authorization, {c_Integrity_protected_no} ), PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation "600000", -, m_contentType(c_sdpApplication), // TODO To be refined during validation m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation ), mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersINVITE(v_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_SendINVITE( m_sccas_invite( vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, -, -, -, m_MBody_SDP(vc_sdp_local) )); tc_ack.start; alt { [] SIPP.receive(mw_Response_Base(c_statusLine200)) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: 200 OK message was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } // TODO Deregistration? f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_CPT_INV_11 /** * @desc Verify that the SCC AS handles correctly transfer of session with inactive speech media component. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_CPT_INV_12(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preambule f_init_userprofile(c_userProfile_UE1atSUThome); f_initSipUrl(c_serviceProfile_EMERGENCY); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); // Registration f_sendRegistrationAndAwait200Ok( v_cSeq_s, m_sccas_register( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest( vc_authorization, {c_Integrity_protected_no} ), PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation "600000", -, m_contentType(c_sdpApplication), // TODO To be refined during validation m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation ), mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersINVITE(v_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_SendINVITE( m_sccas_invite( // TODO request active speech media component using CS bearer vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, -, -, -, m_MBody_SDP(vc_sdp_local) )); tc_ack.start; alt { [] SIPP.receive(mw_INVITE_Request(?,vc_requestUri)) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: forwarded INVITE message was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } // TODO Deregistration? f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_CPT_INV_12 /** * @desc Verify that the SCC AS handles correctly transfer of originating session in alerting phase. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_CPT_INV_13(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preambule f_init_userprofile(c_userProfile_UE1atSUThome); f_initSipUrl(c_serviceProfile_EMERGENCY); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); // Registration f_sendRegistrationAndAwait200Ok( v_cSeq_s, m_sccas_register( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest( vc_authorization, {c_Integrity_protected_no} ), PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation "600000", -, m_contentType(c_sdpApplication), // TODO To be refined during validation m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation ), mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersINVITE(v_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_sendResponse( m_Response_2xx_Base( c_statusLine200, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG )); tc_ack.start; alt { [] SIPP.receive(mw_Response_Base(c_statusLine180)) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: Respoonse 180 was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } // TODO Deregistration? f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_CPT_INV_13 /** * @desc Verify that the SCC AS handles correctly transfer of terminating session in alerting phase. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_CPT_INV_14(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preambule f_init_userprofile(c_userProfile_UE1atSUThome); f_initSipUrl(c_serviceProfile_EMERGENCY); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); // Registration f_sendRegistrationAndAwait200Ok( v_cSeq_s, m_sccas_register( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest( vc_authorization, {c_Integrity_protected_no} ), PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation "600000", -, m_contentType(c_sdpApplication), // TODO To be refined during validation m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation ), mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersINVITE(v_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_sendResponse( m_Response_2xx_Base( c_statusLine200, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG )); tc_ack.start; alt { [] SIPP.receive(mw_Response_Base(c_statusLine183)) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: Respoonse 183 was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } // TODO Deregistration? f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_CPT_INV_14 /** * @desc Verify that the SCC AS correctly behave procedures when the access transfer is completed. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_TER_BYE_01(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preambule f_init_userprofile(c_userProfile_UE1atSUThome); f_initSipUrl(c_serviceProfile_EMERGENCY); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); // Registration f_sendRegistrationAndAwait200Ok( v_cSeq_s, m_sccas_register( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest( vc_authorization, {c_Integrity_protected_no} ), PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation "600000", -, m_contentType(c_sdpApplication), // TODO To be refined during validation m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation ), mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact) ); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync // Registration f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersBYE(v_cSeq_s, f_initSipUrl(c_userProfile_UE1atSUThome)); f_SendBYE( m_BYE_Request_UE( vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG )); tc_ack.start; alt { [] SIPP.receive(mw_Response_Base(c_statusLine200)) { tc_ack.stop; log("*** " & __SCOPE__ & ": PASS: 200 OK message was received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync } [] tc_ack.timeout { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync } } // TODO Deregistration? f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_TER_BYE_01 } // End of group Group_12_3 group helpers { Loading