Loading ttcn/AtsSccas/AtsSccas_Steps.ttcn +126 −0 Original line number Diff line number Diff line module AtsSccas_Steps { // LibCommon import from LibCommon_VerdictControl all; // LibSip import from LibSip_Common all; import from LibSip_SIPTypesAndValues all; Loading @@ -17,6 +20,7 @@ module AtsSccas_Steps { // AtsSccas import from AtsSccas_PIXITS all; import from AtsSccas_Templates all; group Constants { Loading Loading @@ -456,4 +460,126 @@ module AtsSccas_Steps { } // End of group SetHeaders group CommonProcedures { function f_registrationAS(in CSeq p_cSeq_s) runs on ImsComponent { var CSeq v_cSeq_s := p_cSeq_s; var template(value) REGISTER_Request m_register3ptyUe; var template(value) RequestUnion m_req; var template(value) Response m_ResponseReg_3ptyUe; // Preamble f_init_userprofile(c_userProfile_PCSCFwithHomeUE); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); f_initSipUrl(c_userProfile_PCSCFwithHomeUE); //Registration f_setHeaders_REGISTER(v_cSeq_s);//UE REGISTER m_register3ptyUe := m_register_ue_srvcc( 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", omit, omit, omit ); m_req:= {Register:=valueof(m_register3ptyUe)}; m_ResponseReg_3ptyUe := m_Response_2xxonREGISTER_IMS( c_statusLine200, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, m_SipUrl_currDomain(vc_userprofile), vc_from.addressField.nameAddr.addrSpec ); f_init_userprofile(c_userProfile_SCSCFwithHomeUE); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); //AS as SCCAS f_initSipUrl(c_userProfile_SCSCFwithHomeUE); f_setHeaders_REGISTER_AS(v_cSeq_s);//AS INTERFACE REGISTER f_SendREGISTER( m_REGISTER_Request_AS( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, -, "600000", m_contentType("multipart/mixed",{m_contentTypeBoundary(c_boundary)}) , m_MBody_MIME_SipReqResp(c_boundary,m_req,m_ResponseReg_3ptyUe) )); tc_ack.start; alt { [] SIPP.receive(mw_Response_2xxonREGISTER_AS(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact)) { tc_ack.stop; } [] tc_ack.timeout { f_setVerdict(e_timeout); } } } //end function f_registrationAS function f_deregistrationAS(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preamble f_init_userprofile(c_userProfile_SCSCFwithHomeUE); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); //AS as SCCAS f_initSipUrl(c_userProfile_SCSCFwithHomeUE); f_setHeaders_REGISTER_AS(v_cSeq_s);//AS INTERFACE REGISTER f_SendREGISTER( m_REGISTER_Request_AS( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, -, "0", - , -) ); tc_ack.start; alt { [] SIPP.receive(mw_Response_2xxonREGISTER_AS(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact)) { tc_ack.stop; } [] tc_ack.timeout { f_setVerdict(e_timeout); } } } //end function f_deregistrationAS } //end group CommonProcedures } // End of module AtsSccas_Steps ttcn/AtsSccas/AtsSccas_TCFunctions.ttcn +45 −0 Original line number Diff line number Diff line Loading @@ -735,6 +735,51 @@ module AtsSccas_TCFunctions { } // End of function f_TC_ISC_SCCAS_GEN_INV_01 /** * @desc Verify that the SCCAS sends 1xx and/or 2xx response to the SIP INVITE request towards the served user. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_GEN_INV_02(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preamble f_registrationAS(v_cSeq_s); 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_sccas_Response_2xxonINVITE(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact)) { 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 } } // Postamble f_deregistrationAS(v_cSeq_s); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_GEN_INV_02 } // End of group TP_6A_4_2_SIP_INVITE_request } // End of group Group_6A_4 Loading Loading
ttcn/AtsSccas/AtsSccas_Steps.ttcn +126 −0 Original line number Diff line number Diff line module AtsSccas_Steps { // LibCommon import from LibCommon_VerdictControl all; // LibSip import from LibSip_Common all; import from LibSip_SIPTypesAndValues all; Loading @@ -17,6 +20,7 @@ module AtsSccas_Steps { // AtsSccas import from AtsSccas_PIXITS all; import from AtsSccas_Templates all; group Constants { Loading Loading @@ -456,4 +460,126 @@ module AtsSccas_Steps { } // End of group SetHeaders group CommonProcedures { function f_registrationAS(in CSeq p_cSeq_s) runs on ImsComponent { var CSeq v_cSeq_s := p_cSeq_s; var template(value) REGISTER_Request m_register3ptyUe; var template(value) RequestUnion m_req; var template(value) Response m_ResponseReg_3ptyUe; // Preamble f_init_userprofile(c_userProfile_PCSCFwithHomeUE); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1); f_initSipUrl(c_userProfile_PCSCFwithHomeUE); //Registration f_setHeaders_REGISTER(v_cSeq_s);//UE REGISTER m_register3ptyUe := m_register_ue_srvcc( 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", omit, omit, omit ); m_req:= {Register:=valueof(m_register3ptyUe)}; m_ResponseReg_3ptyUe := m_Response_2xxonREGISTER_IMS( c_statusLine200, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, m_SipUrl_currDomain(vc_userprofile), vc_from.addressField.nameAddr.addrSpec ); f_init_userprofile(c_userProfile_SCSCFwithHomeUE); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); //AS as SCCAS f_initSipUrl(c_userProfile_SCSCFwithHomeUE); f_setHeaders_REGISTER_AS(v_cSeq_s);//AS INTERFACE REGISTER f_SendREGISTER( m_REGISTER_Request_AS( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, -, "600000", m_contentType("multipart/mixed",{m_contentTypeBoundary(c_boundary)}) , m_MBody_MIME_SipReqResp(c_boundary,m_req,m_ResponseReg_3ptyUe) )); tc_ack.start; alt { [] SIPP.receive(mw_Response_2xxonREGISTER_AS(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact)) { tc_ack.stop; } [] tc_ack.timeout { f_setVerdict(e_timeout); } } } //end function f_registrationAS function f_deregistrationAS(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preamble f_init_userprofile(c_userProfile_SCSCFwithHomeUE); f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS); //AS as SCCAS f_initSipUrl(c_userProfile_SCSCFwithHomeUE); f_setHeaders_REGISTER_AS(v_cSeq_s);//AS INTERFACE REGISTER f_SendREGISTER( m_REGISTER_Request_AS( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, -, "0", - , -) ); tc_ack.start; alt { [] SIPP.receive(mw_Response_2xxonREGISTER_AS(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact)) { tc_ack.stop; } [] tc_ack.timeout { f_setVerdict(e_timeout); } } } //end function f_deregistrationAS } //end group CommonProcedures } // End of module AtsSccas_Steps
ttcn/AtsSccas/AtsSccas_TCFunctions.ttcn +45 −0 Original line number Diff line number Diff line Loading @@ -735,6 +735,51 @@ module AtsSccas_TCFunctions { } // End of function f_TC_ISC_SCCAS_GEN_INV_01 /** * @desc Verify that the SCCAS sends 1xx and/or 2xx response to the SIP INVITE request towards the served user. * @param p_cSeq_s Random CSeq REGISTER number */ function f_TC_ISC_SCCAS_GEN_INV_02(in CSeq p_cSeq_s) runs on ImsComponent { // Local variables var CSeq v_cSeq_s := p_cSeq_s; // Preamble f_registrationAS(v_cSeq_s); 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_sccas_Response_2xxonINVITE(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact)) { 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 } } // Postamble f_deregistrationAS(v_cSeq_s); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // End of function f_TC_ISC_SCCAS_GEN_INV_02 } // End of group TP_6A_4_2_SIP_INVITE_request } // End of group Group_6A_4 Loading