Loading ttcn/AtsSccas/AtsSccas_TCFunctions.ttcn +197 −1 Original line number Diff line number Diff line Loading @@ -981,7 +981,7 @@ module AtsSccas_TCFunctions { group Group_9_3 { function f_TC_IISC_SCCAS_CPT_INV_01_ueims(in CSeq p_cSeq_s) function f_TC_ISC_SCCAS_CPT_INV_01(in CSeq p_cSeq_s) runs on ImsComponent { // TODO: set correct service profiles Loading @@ -1006,6 +1006,202 @@ module AtsSccas_TCFunctions { } function f_TC_ISC_SCCAS_CPT_INV_02(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); // initial condition: the UE entity isRegisteredTo the IMS 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 LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_SendINVITE(m_sccas_invite( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, omit, // template(omit) Require p_require := omit, vc_route, m_supported_replaces, m_messageBody_SDP_mediaOnly ) ); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callIdReg, p_cSeq_s)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of f_TC_IISC_SCCAS_CPT_INV_02 function f_TC_ISC_SCCAS_CPT_RIN_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); // initial condition: the UE entity isRegisteredTo the IMS 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 } // End of f_TC_IISC_SCCAS_CPT_RIN_01 function f_TC_ISC_SCCAS_CPT_ACK_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); // initial condition: the UE entity isRegisteredTo the IMS 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 } // End of f_TC_IISC_SCCAS_CPT_ACK_01 function f_TC_ISC_SCCAS_CPT_INV_03(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); // initial condition: the UE entity isRegisteredTo the IMS 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 // TODO: initial condition (PICS?): SCC AS supports the MSC Server assisted mid-call feature according to operator policy // STEP: send invite LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_SendINVITE(m_sccas_invite( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, m_contact_g3gppSrvccAlertingFeature, // TODO: correct use auf g3gppSrvccAlertingFeatureCapabilityIndicator omit, // template(omit) Require p_require := omit, vc_route, m_supported_replaces, omit ) ); f_awaitingResponse(mw_sccas_Response_2xxmediaOnly(vc_callIdReg, p_cSeq_s, ?, ?, ?, mw_contact_g3gppMidcallFeature)); } // End of f_TC_ISC_SCCAS_CPT_INV_03 } // End of group Group_9_3 group Group_10_3 { Loading ttcn/AtsSccas/AtsSccas_Templates.ttcn +103 −0 Original line number Diff line number Diff line Loading @@ -142,6 +142,70 @@ module AtsSccas_Templates group request_sent_Steffen { template LibSip_SIPTypesAndValues.Contact m_contact_g3gppSrvccAlertingFeature := { fieldName := CONTACT_E, contactBody := { wildcard := "g3gppSrvccAlertingFeatureCapabilityIndicator" } } template LibSip_MessageBodyTypes.MessageBody m_messageBody_SDP_mediaOnly := { sdpMessageBody := { protocol_version := 1, // TODO origin := { user_name := "username", // TODO session_id := "sessionID", // TODO session_version := "sessionVersion", // TODO net_type := "netType", // TODO addr_type := "addrType", // TODO addr := "addr" // TODO }, session_name := "sessionName", // TODO information := omit, uri := omit, emails := omit, phone_numbers := omit, connection := omit, bandwidth := omit, times := { { time_field := { start_time := "start", // TODO stop_time //* field is numeric strings // TODO //* that may not fit into //* 32-bit signed int := "stop" }, time_repeat := omit } }, timezone_adjustments := omit, key := omit, attributes := omit, media_list := { { media_field := { media := "media", ports := { port_number := 1, num_of_ports := omit }, transport := "transport", fmts := {"fmts"} }, information := omit, connections := omit, bandwidth := omit, key := omit, attributes := omit } } } } template Supported m_supported_replaces := { fieldName := REPLACES_E, Loading Loading @@ -406,6 +470,45 @@ module AtsSccas_Templates group request_receive_Steffen { template LibSip_SIPTypesAndValues.Contact mw_contact_g3gppMidcallFeature := { fieldName := ?, contactBody := ? // TODO: correct use of g3gppMidcallFeatureCapabilityIndicator } template (present) Response mw_sccas_Response_2xxmediaOnly( //template (present) StatusLine.statusCode p_statusCode := 200, template (present) CallId p_callId := ?, template (present) CSeq p_cSeq := ?, template (present) From p_from := ?, template (present) To p_to := ?, template (present) Via p_via := ?, template (present) Contact p_contact := ?, template (present) PChargingVector p_pChargingVector := ?, template (present) PAssertedID p_pAssertedID := ?, template AcceptContact p_acceptContact := * ) modifies mw_Response_2xx_Base := { // statusLine := mw_statusLine(p_statusCode, ?), messageBody := { sdpMessageBody := { protocol_version := ?, origin := ?, session_name := ?, information := *, uri := *, emails := *, phone_numbers := *, connection := *, bandwidth := *, times := ?, timezone_adjustments := *, key := *, attributes := *, media_list := ? // TODO: media only && Version 0 } } } template (present) Response mw_sccas_Response_200mediaOnly( template (present) StatusLine.statusCode p_statusCode := 200, template (present) CallId p_callId := ?, Loading ttcn/AtsSccas/AtsSccas_Testcases.ttcn +250 −1 Original line number Diff line number Diff line Loading @@ -354,7 +354,7 @@ module AtsSccas_Testcases f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_IISC_SCCAS_CPT_INV_01_ueims(p_cSeq_s)); f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_CPT_INV_01(p_cSeq_s)); Loading @@ -362,6 +362,255 @@ module AtsSccas_Testcases } // End of TP_ISC_SCCAS_CPT_INV_01 /* * @desc Verify that the P-CSCF successfully processes an initial INVITE (Originating Leg) with static STI. * @param p_cSeq_s Transaction Id */ testcase TP_ISC_SCCAS_CPT_INV_02(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_GM) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_GM' shall be set to true for executing the TC. ***"); stop; } // TODO: setUo "the UE entity isRegisteredTo the IMS" // f_Registration_IMS // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_CPT_INV_02(p_cSeq_s)); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1IscDown(v_imsComponent_ueims); } // End of TP_ISC_SCCAS_CPT_INV_02 /* * @desc Verify that the P-CSCF successfully processes an re-INVITE (Originating Leg) * @param p_cSeq_s Transaction Id */ testcase TP_ISC_SCCAS_CPT_RIN_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_GM) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_GM' shall be set to true for executing the TC. ***"); stop; } // TODO: setUo "the UE entity isRegisteredTo the IMS" // f_Registration_IMS // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_CPT_RIN_01(p_cSeq_s)); f_cf_1IscDown(v_imsComponent_ueims); } // End of TP_ISC_SCCAS_CPT_RIN_01 /* * @desc Verify that the P-CSCF successfully processes an ACK and release the source access leg. * @param p_cSeq_s Transaction Id */ testcase TP_ISC_SCCAS_CPT_ACK_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_GM) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_GM' shall be set to true for executing the TC. ***"); stop; } // TODO: setUo "the UE entity isRegisteredTo the IMS" // f_Registration_IMS // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_CPT_ACK_01(p_cSeq_s)); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1IscDown(v_imsComponent_ueims); } // End of TP_ISC_SCCAS_CPT_ACK_01 /* * @desc Verify that the SCC AS Conditions for selecting a sessions in an early dialog phase * @param p_cSeq_s Transaction Id */ testcase TP_ISC_SCCAS_CPT_INV_03(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_GM) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_GM' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_CPT_INV_03(p_cSeq_s)); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1IscDown(v_imsComponent_ueims); } // End of TP_ISC_SCCAS_CPT_INV_03 testcase TP_ISC_SCCAS_CPT_INV_04(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_CPT_INV_04 testcase TP_ISC_SCCAS_PCT_UPD_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_UPD_01 testcase TP_ISC_PCT_RES_02(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_PCT_RES_02 testcase TP_ISC_SCCAS_PCT_INV_05(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_INV_05 testcase TP_ISC_SCCAS_PCT_REF_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_REF_01 testcase TP_ISC_SCCAS_PCT_REF_02(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_REF_02 testcase TP_ISC_SCCAS_PCT_RES_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_RES_01 testcase TP_ISC_SCCAS_MED_BYE_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_MED_BYE_01 testcase TP_ISC_SCCAS_MED_RES_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_MED_RES_01 testcase TP_ISC_SCCAS_MED_RIN_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_MED_RIN_01 testcase TP_ISC_SCCAS_CPT_INV_05(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_CPT_INV_05 testcase TP_ISC_SCCAS_CPT_INV_06(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_CPT_INV_06 testcase TP_ISC_SCCAS_PCT_INV_04(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_INV_04 } // End of group Group_9_3 group Group_10_3 { Loading Loading
ttcn/AtsSccas/AtsSccas_TCFunctions.ttcn +197 −1 Original line number Diff line number Diff line Loading @@ -981,7 +981,7 @@ module AtsSccas_TCFunctions { group Group_9_3 { function f_TC_IISC_SCCAS_CPT_INV_01_ueims(in CSeq p_cSeq_s) function f_TC_ISC_SCCAS_CPT_INV_01(in CSeq p_cSeq_s) runs on ImsComponent { // TODO: set correct service profiles Loading @@ -1006,6 +1006,202 @@ module AtsSccas_TCFunctions { } function f_TC_ISC_SCCAS_CPT_INV_02(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); // initial condition: the UE entity isRegisteredTo the IMS 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 LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_SendINVITE(m_sccas_invite( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, omit, // template(omit) Require p_require := omit, vc_route, m_supported_replaces, m_messageBody_SDP_mediaOnly ) ); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callIdReg, p_cSeq_s)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of f_TC_IISC_SCCAS_CPT_INV_02 function f_TC_ISC_SCCAS_CPT_RIN_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); // initial condition: the UE entity isRegisteredTo the IMS 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 } // End of f_TC_IISC_SCCAS_CPT_RIN_01 function f_TC_ISC_SCCAS_CPT_ACK_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); // initial condition: the UE entity isRegisteredTo the IMS 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 } // End of f_TC_IISC_SCCAS_CPT_ACK_01 function f_TC_ISC_SCCAS_CPT_INV_03(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); // initial condition: the UE entity isRegisteredTo the IMS 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 // TODO: initial condition (PICS?): SCC AS supports the MSC Server assisted mid-call feature according to operator policy // STEP: send invite LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome)); f_SendINVITE(m_sccas_invite( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, m_contact_g3gppSrvccAlertingFeature, // TODO: correct use auf g3gppSrvccAlertingFeatureCapabilityIndicator omit, // template(omit) Require p_require := omit, vc_route, m_supported_replaces, omit ) ); f_awaitingResponse(mw_sccas_Response_2xxmediaOnly(vc_callIdReg, p_cSeq_s, ?, ?, ?, mw_contact_g3gppMidcallFeature)); } // End of f_TC_ISC_SCCAS_CPT_INV_03 } // End of group Group_9_3 group Group_10_3 { Loading
ttcn/AtsSccas/AtsSccas_Templates.ttcn +103 −0 Original line number Diff line number Diff line Loading @@ -142,6 +142,70 @@ module AtsSccas_Templates group request_sent_Steffen { template LibSip_SIPTypesAndValues.Contact m_contact_g3gppSrvccAlertingFeature := { fieldName := CONTACT_E, contactBody := { wildcard := "g3gppSrvccAlertingFeatureCapabilityIndicator" } } template LibSip_MessageBodyTypes.MessageBody m_messageBody_SDP_mediaOnly := { sdpMessageBody := { protocol_version := 1, // TODO origin := { user_name := "username", // TODO session_id := "sessionID", // TODO session_version := "sessionVersion", // TODO net_type := "netType", // TODO addr_type := "addrType", // TODO addr := "addr" // TODO }, session_name := "sessionName", // TODO information := omit, uri := omit, emails := omit, phone_numbers := omit, connection := omit, bandwidth := omit, times := { { time_field := { start_time := "start", // TODO stop_time //* field is numeric strings // TODO //* that may not fit into //* 32-bit signed int := "stop" }, time_repeat := omit } }, timezone_adjustments := omit, key := omit, attributes := omit, media_list := { { media_field := { media := "media", ports := { port_number := 1, num_of_ports := omit }, transport := "transport", fmts := {"fmts"} }, information := omit, connections := omit, bandwidth := omit, key := omit, attributes := omit } } } } template Supported m_supported_replaces := { fieldName := REPLACES_E, Loading Loading @@ -406,6 +470,45 @@ module AtsSccas_Templates group request_receive_Steffen { template LibSip_SIPTypesAndValues.Contact mw_contact_g3gppMidcallFeature := { fieldName := ?, contactBody := ? // TODO: correct use of g3gppMidcallFeatureCapabilityIndicator } template (present) Response mw_sccas_Response_2xxmediaOnly( //template (present) StatusLine.statusCode p_statusCode := 200, template (present) CallId p_callId := ?, template (present) CSeq p_cSeq := ?, template (present) From p_from := ?, template (present) To p_to := ?, template (present) Via p_via := ?, template (present) Contact p_contact := ?, template (present) PChargingVector p_pChargingVector := ?, template (present) PAssertedID p_pAssertedID := ?, template AcceptContact p_acceptContact := * ) modifies mw_Response_2xx_Base := { // statusLine := mw_statusLine(p_statusCode, ?), messageBody := { sdpMessageBody := { protocol_version := ?, origin := ?, session_name := ?, information := *, uri := *, emails := *, phone_numbers := *, connection := *, bandwidth := *, times := ?, timezone_adjustments := *, key := *, attributes := *, media_list := ? // TODO: media only && Version 0 } } } template (present) Response mw_sccas_Response_200mediaOnly( template (present) StatusLine.statusCode p_statusCode := 200, template (present) CallId p_callId := ?, Loading
ttcn/AtsSccas/AtsSccas_Testcases.ttcn +250 −1 Original line number Diff line number Diff line Loading @@ -354,7 +354,7 @@ module AtsSccas_Testcases f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_IISC_SCCAS_CPT_INV_01_ueims(p_cSeq_s)); f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_CPT_INV_01(p_cSeq_s)); Loading @@ -362,6 +362,255 @@ module AtsSccas_Testcases } // End of TP_ISC_SCCAS_CPT_INV_01 /* * @desc Verify that the P-CSCF successfully processes an initial INVITE (Originating Leg) with static STI. * @param p_cSeq_s Transaction Id */ testcase TP_ISC_SCCAS_CPT_INV_02(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_GM) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_GM' shall be set to true for executing the TC. ***"); stop; } // TODO: setUo "the UE entity isRegisteredTo the IMS" // f_Registration_IMS // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_CPT_INV_02(p_cSeq_s)); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1IscDown(v_imsComponent_ueims); } // End of TP_ISC_SCCAS_CPT_INV_02 /* * @desc Verify that the P-CSCF successfully processes an re-INVITE (Originating Leg) * @param p_cSeq_s Transaction Id */ testcase TP_ISC_SCCAS_CPT_RIN_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_GM) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_GM' shall be set to true for executing the TC. ***"); stop; } // TODO: setUo "the UE entity isRegisteredTo the IMS" // f_Registration_IMS // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_CPT_RIN_01(p_cSeq_s)); f_cf_1IscDown(v_imsComponent_ueims); } // End of TP_ISC_SCCAS_CPT_RIN_01 /* * @desc Verify that the P-CSCF successfully processes an ACK and release the source access leg. * @param p_cSeq_s Transaction Id */ testcase TP_ISC_SCCAS_CPT_ACK_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_GM) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_GM' shall be set to true for executing the TC. ***"); stop; } // TODO: setUo "the UE entity isRegisteredTo the IMS" // f_Registration_IMS // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_CPT_ACK_01(p_cSeq_s)); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1IscDown(v_imsComponent_ueims); } // End of TP_ISC_SCCAS_CPT_ACK_01 /* * @desc Verify that the SCC AS Conditions for selecting a sessions in an early dialog phase * @param p_cSeq_s Transaction Id */ testcase TP_ISC_SCCAS_CPT_INV_03(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { var ImsComponent v_imsComponent_ueims; // Test control if (not PICS_SCCAS_GM) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_GM' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_1IscUp(v_imsComponent_ueims); f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_CPT_INV_03(p_cSeq_s)); // synchronize PTC on 3 sychronization points f_serverSync1Client({c_prDone, c_tbDone, c_poDone}); f_cf_1IscDown(v_imsComponent_ueims); } // End of TP_ISC_SCCAS_CPT_INV_03 testcase TP_ISC_SCCAS_CPT_INV_04(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_CPT_INV_04 testcase TP_ISC_SCCAS_PCT_UPD_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_UPD_01 testcase TP_ISC_PCT_RES_02(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_PCT_RES_02 testcase TP_ISC_SCCAS_PCT_INV_05(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_INV_05 testcase TP_ISC_SCCAS_PCT_REF_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_REF_01 testcase TP_ISC_SCCAS_PCT_REF_02(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_REF_02 testcase TP_ISC_SCCAS_PCT_RES_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_RES_01 testcase TP_ISC_SCCAS_MED_BYE_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_MED_BYE_01 testcase TP_ISC_SCCAS_MED_RES_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_MED_RES_01 testcase TP_ISC_SCCAS_MED_RIN_01(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_MED_RIN_01 testcase TP_ISC_SCCAS_CPT_INV_05(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_CPT_INV_05 testcase TP_ISC_SCCAS_CPT_INV_06(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_CPT_INV_06 testcase TP_ISC_SCCAS_PCT_INV_04(inout CSeq p_cSeq_s) runs on ServerSyncComp system TestAdapter { // TODO } // End of TP_ISC_SCCAS_PCT_INV_04 } // End of group Group_9_3 group Group_10_3 { Loading