Loading ttcn/LibSip_Steps.ttcn +69 −3 Original line number Diff line number Diff line Loading @@ -2388,10 +2388,12 @@ group SDPOperations{ function f_SIP_checksetSDPreqDirection(template SDP_attribute p_direction_in, template SDP_attribute p_direction_out) runs on SipComponent { var template SDP_attribute v_direction_out := p_direction_out; // check incoming SDP attribute log(vc_request.messageBody.sdpMessageBody);log(p_direction_in); if (not (ispresent(vc_request.messageBody) and (f_check_attribute(vc_request.messageBody.sdpMessageBody,p_direction_in) ))) {if ( match(mw_attribute_sendrecv,p_direction_in) and {log("than branch of if"); if ( match(p_direction_in,mw_attribute_sendrecv) and not(f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_sendrecv) or f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_sendonly) or f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_recvonly) or Loading @@ -2400,13 +2402,47 @@ group SDPOperations{ ){ log("no direction attributes with expectation: ", p_direction_in) } else {setverdict(fail);};}; else {setverdict(fail);};} else {setverdict(pass);log("attribute found in message body");}; if (match(omit,p_direction_out))//not isvalue(v_direction_out))//MRO {v_direction_out := f_get_attribute_answer(vc_request.messageBody.sdpMessageBody, p_direction_in);} f_SIP_modMediaDirection(1, v_direction_out); // handling of attribute in media description f_SIP_modSessionDirection(v_direction_out); // handling of attribute in session } /* * * @desc check (from remote) and set (local) the session/media attribute lines on directions * @param p_direction_in incoming SDP attribute that need to be checked * @param p_direction_out SDP attribute that should be included in the SDP answer (to be returned to peer) * @return * @verdict */ function f_SIP_checkResponsesetSDPreqDirection(template SDP_attribute p_direction_in, template SDP_attribute p_direction_out) runs on SipComponent { var template SDP_attribute v_direction_out := p_direction_out; // check incoming SDP attribute log(vc_response.messageBody.sdpMessageBody);log(p_direction_in); if (not (ispresent(vc_response.messageBody) and (f_check_attribute(vc_response.messageBody.sdpMessageBody,p_direction_in) ))) {log("than branch of if"); if ( match(p_direction_in,mw_attribute_sendrecv) and not(f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_sendrecv) or f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_sendonly) or f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_recvonly) or f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_inactive) ) ){ log("no direction attributes with expectation: ", p_direction_in) } else {setverdict(fail);};} else {setverdict(pass);log("attribute found in message body");}; if (match(omit,p_direction_out))//not isvalue(v_direction_out))//MRO {v_direction_out := f_get_attribute_answer(vc_response.messageBody.sdpMessageBody, p_direction_in);} f_SIP_modMediaDirection(1, v_direction_out); // handling of attribute in media description f_SIP_modSessionDirection(v_direction_out); // handling of attribute in session } /* * * @desc check (from remote) and set (local) the session attribute lines on directions Loading Loading @@ -2436,6 +2472,36 @@ group SDPOperations{ f_SIP_modSessionDirection(v_direction_out); // handling of attribute in session } /* * * @desc check (from remote) and set (local) the session attribute lines on directions * @param p_direction_in incoming SDP attribute that need to be checked * @param p_direction_out SDP attribute that should be included in the SDP answer (to be returned to peer) * @return * @verdict */ function f_SIP_checkResponsesetSDPreqDirectionSession(template SDP_attribute p_direction_in, template SDP_attribute p_direction_out) runs on SipComponent { var template SDP_attribute v_direction_out := p_direction_out; // check incoming SDP attribute if (not (ispresent(vc_response.messageBody) and (f_check_session_attribute(vc_response.messageBody.sdpMessageBody,p_direction_in) ))) {if ( match(mw_attribute_sendrecv,p_direction_in) and not(f_check_session_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_sendrecv) or f_check_session_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_sendonly) or f_check_session_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_recvonly) or f_check_session_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_inactive) ) ){ log("no direction attributes with expectation: ", p_direction_in) } else {setverdict(fail);};}; if (match(omit,p_direction_out))//not isvalue(v_direction_out))//MRO {v_direction_out := f_get_attribute_answer(vc_response.messageBody.sdpMessageBody, p_direction_in);} f_SIP_modSessionDirection(v_direction_out); // handling of attribute in session } /* * * @desc check (from remote) and set (local)the session/media attribute lines on directions Loading Loading
ttcn/LibSip_Steps.ttcn +69 −3 Original line number Diff line number Diff line Loading @@ -2388,10 +2388,12 @@ group SDPOperations{ function f_SIP_checksetSDPreqDirection(template SDP_attribute p_direction_in, template SDP_attribute p_direction_out) runs on SipComponent { var template SDP_attribute v_direction_out := p_direction_out; // check incoming SDP attribute log(vc_request.messageBody.sdpMessageBody);log(p_direction_in); if (not (ispresent(vc_request.messageBody) and (f_check_attribute(vc_request.messageBody.sdpMessageBody,p_direction_in) ))) {if ( match(mw_attribute_sendrecv,p_direction_in) and {log("than branch of if"); if ( match(p_direction_in,mw_attribute_sendrecv) and not(f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_sendrecv) or f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_sendonly) or f_check_attribute(vc_request.messageBody.sdpMessageBody,mw_attribute_recvonly) or Loading @@ -2400,13 +2402,47 @@ group SDPOperations{ ){ log("no direction attributes with expectation: ", p_direction_in) } else {setverdict(fail);};}; else {setverdict(fail);};} else {setverdict(pass);log("attribute found in message body");}; if (match(omit,p_direction_out))//not isvalue(v_direction_out))//MRO {v_direction_out := f_get_attribute_answer(vc_request.messageBody.sdpMessageBody, p_direction_in);} f_SIP_modMediaDirection(1, v_direction_out); // handling of attribute in media description f_SIP_modSessionDirection(v_direction_out); // handling of attribute in session } /* * * @desc check (from remote) and set (local) the session/media attribute lines on directions * @param p_direction_in incoming SDP attribute that need to be checked * @param p_direction_out SDP attribute that should be included in the SDP answer (to be returned to peer) * @return * @verdict */ function f_SIP_checkResponsesetSDPreqDirection(template SDP_attribute p_direction_in, template SDP_attribute p_direction_out) runs on SipComponent { var template SDP_attribute v_direction_out := p_direction_out; // check incoming SDP attribute log(vc_response.messageBody.sdpMessageBody);log(p_direction_in); if (not (ispresent(vc_response.messageBody) and (f_check_attribute(vc_response.messageBody.sdpMessageBody,p_direction_in) ))) {log("than branch of if"); if ( match(p_direction_in,mw_attribute_sendrecv) and not(f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_sendrecv) or f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_sendonly) or f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_recvonly) or f_check_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_inactive) ) ){ log("no direction attributes with expectation: ", p_direction_in) } else {setverdict(fail);};} else {setverdict(pass);log("attribute found in message body");}; if (match(omit,p_direction_out))//not isvalue(v_direction_out))//MRO {v_direction_out := f_get_attribute_answer(vc_response.messageBody.sdpMessageBody, p_direction_in);} f_SIP_modMediaDirection(1, v_direction_out); // handling of attribute in media description f_SIP_modSessionDirection(v_direction_out); // handling of attribute in session } /* * * @desc check (from remote) and set (local) the session attribute lines on directions Loading Loading @@ -2436,6 +2472,36 @@ group SDPOperations{ f_SIP_modSessionDirection(v_direction_out); // handling of attribute in session } /* * * @desc check (from remote) and set (local) the session attribute lines on directions * @param p_direction_in incoming SDP attribute that need to be checked * @param p_direction_out SDP attribute that should be included in the SDP answer (to be returned to peer) * @return * @verdict */ function f_SIP_checkResponsesetSDPreqDirectionSession(template SDP_attribute p_direction_in, template SDP_attribute p_direction_out) runs on SipComponent { var template SDP_attribute v_direction_out := p_direction_out; // check incoming SDP attribute if (not (ispresent(vc_response.messageBody) and (f_check_session_attribute(vc_response.messageBody.sdpMessageBody,p_direction_in) ))) {if ( match(mw_attribute_sendrecv,p_direction_in) and not(f_check_session_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_sendrecv) or f_check_session_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_sendonly) or f_check_session_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_recvonly) or f_check_session_attribute(vc_response.messageBody.sdpMessageBody,mw_attribute_inactive) ) ){ log("no direction attributes with expectation: ", p_direction_in) } else {setverdict(fail);};}; if (match(omit,p_direction_out))//not isvalue(v_direction_out))//MRO {v_direction_out := f_get_attribute_answer(vc_response.messageBody.sdpMessageBody, p_direction_in);} f_SIP_modSessionDirection(v_direction_out); // handling of attribute in session } /* * * @desc check (from remote) and set (local)the session/media attribute lines on directions Loading