Commit 2b7adb79 authored by pintar's avatar pintar
Browse files

Small correction due to STF 512/Diameter RfRo validation:

LibIms V3 was not validated up to now. 
-From field was set in setHeaders* functions (setHeadersMESSAGE, setHeadersINVITE,...)
-length calculation in one template was wrong
parent bc163d88
Loading
Loading
Loading
Loading
+21 −15
Original line number Original line Diff line number Diff line
@@ -211,10 +211,11 @@ module LibIms_Steps {
         */
         */
        function f_setHeadersINVITE(
        function f_setHeadersINVITE(
            inout CSeq p_cSeq_s,
            inout CSeq p_cSeq_s,
            in SipUrl p_to_user
            in SipUrl p_to_user,
            in SipUrl p_from_user
        ) runs on ImsComponent  {
        ) runs on ImsComponent  {
            vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier
            vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier
            vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_from := f_initFromHeader(p_from_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            if (vc_boo_route) {
            if (vc_boo_route) {
                vc_route := m_route_interface(vc_interfaceprofile);
                vc_route := m_route_interface(vc_interfaceprofile);
@@ -233,10 +234,11 @@ module LibIms_Steps {
         */
         */
        function f_setHeadersUPDATE(
        function f_setHeadersUPDATE(
            inout CSeq p_cSeq_s,
            inout CSeq p_cSeq_s,
            in SipUrl p_to_user
            in SipUrl p_to_user,
            in SipUrl p_from_user
        ) runs on ImsComponent  {
        ) runs on ImsComponent  {
            vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier
            vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier
            vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_from := f_initFromHeader(p_from_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            if (vc_boo_route) {
            if (vc_boo_route) {
                vc_route := m_route_interface(vc_interfaceprofile);
                vc_route := m_route_interface(vc_interfaceprofile);
@@ -255,10 +257,11 @@ module LibIms_Steps {
         */
         */
        function f_setHeadersMESSAGE(
        function f_setHeadersMESSAGE(
            inout CSeq p_cSeq_s,
            inout CSeq p_cSeq_s,
            in SipUrl p_to_user
            in SipUrl p_to_user,
            in SipUrl p_from_user
        ) runs on ImsComponent  {
        ) runs on ImsComponent  {
            vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier
            vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier
            vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_from := f_initFromHeader(p_from_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            LibSip_Steps.f_setHeadersMESSAGE(p_cSeq_s);
            LibSip_Steps.f_setHeadersMESSAGE(p_cSeq_s);
        } // end f_setHeadersMESSAGE
        } // end f_setHeadersMESSAGE
@@ -270,7 +273,8 @@ module LibIms_Steps {
         */
         */
        function f_setHeadersNOTIFY(
        function f_setHeadersNOTIFY(
            inout CSeq p_cSeq_s,
            inout CSeq p_cSeq_s,
            in SipUrl p_to_user
            in SipUrl p_to_user,
            in SipUrl p_from_user
        ) runs on ImsComponent  {
        ) runs on ImsComponent  {
            LibSip_Steps.f_setHeadersNOTIFY(p_cSeq_s);
            LibSip_Steps.f_setHeadersNOTIFY(p_cSeq_s);


@@ -281,7 +285,7 @@ module LibIms_Steps {
            };
            };


            vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier
            vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier
            vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_from := f_initFromHeader(p_from_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            // contact header initialization for sending of NOTIFY from CSCF component
            // contact header initialization for sending of NOTIFY from CSCF component
            vc_contact := m_Contact(m_SipUrl_currIpaddr_CSCF(vc_userprofile));
            vc_contact := m_Contact(m_SipUrl_currIpaddr_CSCF(vc_userprofile));
@@ -294,7 +298,8 @@ module LibIms_Steps {
         */
         */
        function f_setHeadersPUBLISH(
        function f_setHeadersPUBLISH(
            inout CSeq p_cSeq_s,
            inout CSeq p_cSeq_s,
            in SipUrl p_to_user
            in SipUrl p_to_user,
            in SipUrl p_from_user
        ) runs on ImsComponent  {
        ) runs on ImsComponent  {
            LibSip_Steps.f_setHeadersPUBLISH(p_cSeq_s);
            LibSip_Steps.f_setHeadersPUBLISH(p_cSeq_s);


@@ -305,7 +310,7 @@ module LibIms_Steps {
            };
            };


            vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier
            vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier
            vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_from := f_initFromHeader(p_from_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            if (vc_boo_route) {
            if (vc_boo_route) {
                vc_route := m_route_interface(vc_interfaceprofile);
                vc_route := m_route_interface(vc_interfaceprofile);
@@ -325,7 +330,8 @@ module LibIms_Steps {
         */
         */
        function f_setHeadersSUBSCRIBE(
        function f_setHeadersSUBSCRIBE(
            inout CSeq p_cSeq_s,
            inout CSeq p_cSeq_s,
            in SipUrl p_to_user
            in SipUrl p_to_user,
            in SipUrl p_from_user
        ) runs on ImsComponent  {
        ) runs on ImsComponent  {
            vc_to := {
            vc_to := {
                fieldName := TO_E,
                fieldName := TO_E,
@@ -337,7 +343,7 @@ module LibIms_Steps {
                },  // end addressField
                },  // end addressField
                toParams := omit
                toParams := omit
            };
            };
            vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_from := f_initFromHeader(p_from_user, f_getRndTag()); // init of vc_from using userProfile identifier
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            vc_requestUri := p_to_user; // Request URI of Invite is identical with To header
            LibSip_Steps.f_setHeadersSUBSCRIBE(p_cSeq_s);
            LibSip_Steps.f_setHeadersSUBSCRIBE(p_cSeq_s);
        } // end f_setHeadersSUBSCRIBE
        } // end f_setHeadersSUBSCRIBE
@@ -1303,7 +1309,7 @@ module LibIms_Steps {
            var Request v_request;
            var Request v_request;
            var SUBSCRIBE_Request v_subscribe_request;
            var SUBSCRIBE_Request v_subscribe_request;
            var REGISTER_Request v_register_request;
            var REGISTER_Request v_register_request;
            var BYE_Request v_bye_reqest;
            var BYE_Request v_bye_request;
            var CANCEL_Request v_cancel_request;
            var CANCEL_Request v_cancel_request;
            var NOTIFY_Request v_notify_request;
            var NOTIFY_Request v_notify_request;
            var INFO_Request v_info_request;
            var INFO_Request v_info_request;
@@ -1381,10 +1387,10 @@ module LibIms_Steps {
                repeat;
                repeat;
            }
            }
            // unexpected BYE is acknowledged to avoid retransmissions
            // unexpected BYE is acknowledged to avoid retransmissions
            [] SIPP.receive(mw_BYE_Request_Base(?)) -> value v_bye_reqest sender vc_sent_label {
            [] SIPP.receive(mw_BYE_Request_Base(?)) -> value v_bye_request sender vc_sent_label {
                log("*** " & testcasename() & ": FAIL: Unexpected BYE message received. ***");
                log("*** " & testcasename() & ": FAIL: Unexpected BYE message received. ***");
                setverdict(fail);
                setverdict(fail);
                f_setHeadersOnReceiptOfRequest(v_bye_reqest);
                f_setHeadersOnReceiptOfRequest(v_bye_request);
                f_send200OK();
                f_send200OK();
                action("Please de-register");
                action("Please de-register");
                f_IMS_awaitDeRegistration(p_to_user, p_qop);
                f_IMS_awaitDeRegistration(p_to_user, p_qop);
+1 −1
Original line number Original line Diff line number Diff line
@@ -2429,7 +2429,7 @@ module LibIms_Templates {
                    template(value) MessageBody p_mb
                    template(value) MessageBody p_mb
                ) modifies m_MESSAGE_Request_Base := {
                ) modifies m_MESSAGE_Request_Base := {
                    msgHeader := {
                    msgHeader := {
                        contentLength := m_contentLength(f_MessageBodyLength(m_MBody_longPlainText)),
                        contentLength := m_contentLength(f_MessageBodyLength(p_mb)),
                        contentType := m_contentType(c_plainText),
                        contentType := m_contentType(c_plainText),
                        pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
                        pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
                        require := p_require,
                        require := p_require,