Loading DiameterCxDx/ttcn/DiameterCxDx_Dx_TCFunctions.ttcn3 +18 −3 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ module DiameterCxDx_Dx_TCFunctions { // LibSip import from LibSip_SIPTypesAndValues all; import from LibSip_Templates all; import from LibSip_Steps {function f_RemoveRegistration;}; import from LibSip_Steps {function f_RemoveRegistration, f_SendACK, f_SendINVITE, f_awaitingResponse}; // LibCommon import from LibCommon_Sync { Loading @@ -36,6 +36,7 @@ module DiameterCxDx_Dx_TCFunctions { import from DiameterCxDx_Steps all; import from DiameterCxDx_PIXITS all; import from DiameterCxDx_TestSystem all; import from DiameterCxDx_SIP_Templates all; group TP_SLFRole{ // §5.2.2.1 Loading Loading @@ -387,14 +388,28 @@ module DiameterCxDx_Dx_TCFunctions { // 200 OK and user profile setting f_IMS_preamble_withRegistration(p_cSeq_s, v_register); // TODO: Send Invite // Send Invite LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, vc_requestUri); f_SendINVITE(m_INVITE_Request_UE_Diameter(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route_REG, omit, m_MBody_SDP(vc_sdp_local))); // await response - 200 f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId,vc_cSeq)); // send ACK LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_selfOrClientSyncAndVerdict( c_prDone, f_getVerdict() ); // sync - preamble done f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict()); // sync testbody done f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync - postamble done //TODO terminate call with BYE // SendBYE and await response f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_RemoveRegistration(vc_cSeq); // deregistration in SUT } // end function f_TC_DX_CSCF_LI_01_UE Loading DiameterCxDx/ttcn/DiameterCxDx_SIP_Templates.ttcn +26 −0 Original line number Diff line number Diff line Loading @@ -11,7 +11,33 @@ * and always modify base templates only; */ module DiameterCxDx_SIP_Templates { // LibSip import from LibSip_Templates all; //import from LibSip_Steps all; import from LibSip_SIPTypesAndValues all; import from LibSip_MessageBodyTypes all; //import from LibSip_SDPTypes all; //import from LibSip_PIXITS all; template INVITE_Request m_INVITE_Request_UE_Diameter (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, Contact p_contact, template Require p_require, template Route p_route, template Supported p_supported, template MessageBody p_mb ) modifies m_INVITE_Request_Base := { msgHeader := { contentLength := {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := c_sdpApplication}, require := p_require, route := p_route, supported := p_supported }, messageBody := p_mb } }//end module DiameterCx_SIP_Templates No newline at end of file Loading
DiameterCxDx/ttcn/DiameterCxDx_Dx_TCFunctions.ttcn3 +18 −3 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ module DiameterCxDx_Dx_TCFunctions { // LibSip import from LibSip_SIPTypesAndValues all; import from LibSip_Templates all; import from LibSip_Steps {function f_RemoveRegistration;}; import from LibSip_Steps {function f_RemoveRegistration, f_SendACK, f_SendINVITE, f_awaitingResponse}; // LibCommon import from LibCommon_Sync { Loading @@ -36,6 +36,7 @@ module DiameterCxDx_Dx_TCFunctions { import from DiameterCxDx_Steps all; import from DiameterCxDx_PIXITS all; import from DiameterCxDx_TestSystem all; import from DiameterCxDx_SIP_Templates all; group TP_SLFRole{ // §5.2.2.1 Loading Loading @@ -387,14 +388,28 @@ module DiameterCxDx_Dx_TCFunctions { // 200 OK and user profile setting f_IMS_preamble_withRegistration(p_cSeq_s, v_register); // TODO: Send Invite // Send Invite LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, vc_requestUri); f_SendINVITE(m_INVITE_Request_UE_Diameter(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, omit, vc_route_REG, omit, m_MBody_SDP(vc_sdp_local))); // await response - 200 f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId,vc_cSeq)); // send ACK LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_selfOrClientSyncAndVerdict( c_prDone, f_getVerdict() ); // sync - preamble done f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict()); // sync testbody done f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync - postamble done //TODO terminate call with BYE // SendBYE and await response f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To); f_RemoveRegistration(vc_cSeq); // deregistration in SUT } // end function f_TC_DX_CSCF_LI_01_UE Loading
DiameterCxDx/ttcn/DiameterCxDx_SIP_Templates.ttcn +26 −0 Original line number Diff line number Diff line Loading @@ -11,7 +11,33 @@ * and always modify base templates only; */ module DiameterCxDx_SIP_Templates { // LibSip import from LibSip_Templates all; //import from LibSip_Steps all; import from LibSip_SIPTypesAndValues all; import from LibSip_MessageBodyTypes all; //import from LibSip_SDPTypes all; //import from LibSip_PIXITS all; template INVITE_Request m_INVITE_Request_UE_Diameter (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, Contact p_contact, template Require p_require, template Route p_route, template Supported p_supported, template MessageBody p_mb ) modifies m_INVITE_Request_Base := { msgHeader := { contentLength := {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := c_sdpApplication}, require := p_require, route := p_route, supported := p_supported }, messageBody := p_mb } }//end module DiameterCx_SIP_Templates No newline at end of file