Commit b529f334 authored by rennoch's avatar rennoch
Browse files

addition of session invitaion and termination for UE in CSCF_LI_01

parent ce644ba9
Loading
Loading
Loading
Loading
+18 −3
Original line number Diff line number Diff line
@@ -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 {
@@ -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
@@ -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        
+26 −0
Original line number Diff line number Diff line
@@ -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