Loading AtsCommon/SipIsup_IMS_TCFunctions.ttcn +116 −18 Original line number Diff line number Diff line Loading @@ -2985,24 +2985,7 @@ module SipIsup_IMS_TCFunctions { v_cSeq_INVITE:=vc_cSeq; //Check for precondition in Require header of INVITE if (ispresent(vc_request.msgHeader.require.optionsTags)) { var boolean v_precondition_found:=false; for (var integer v_i:=0; v_i<sizeof(vc_request.msgHeader.require.optionsTags); v_i:=v_i+1){ if (match(vc_request.msgHeader.require.optionsTags[v_i],c_tagPrecond)) { v_precondition_found:=true; } } if (not(v_precondition_found)){ setverdict(fail); log("FAIL: precondition not found in Require options list!"); } } else { setverdict(fail); log("FAIL: Require options is not present!"); } f_checkRequirePrecondition(vc_request); //Check SDP atributes regarding specification if (not(f_check_attribute(vc_sdp_remote, m_attribute_curr(c_qos, c_local, c_none)) and Loading Loading @@ -4800,6 +4783,121 @@ module SipIsup_IMS_TCFunctions { }// end function f_IMS_TC_303_023 /* * @desc This is the test case function (IMS/SIP side) for TC_303_024 * @param loc_CSeq_s - Transaction Id */ function f_IMS_TC_303_024(in CSeq p_cSeq_s) runs on ImsComponent { var CSeq v_cSeq_INVITE; //to store CSeq of INVITE message var SDP_attribute_list v_attribute_list_183 := valueof({ m_attribute_PCMU }); var SDP_attribute_list v_attribute_list_200Update := valueof({ m_attribute_PCMU }); var SDP_attribute_list v_attribute_list_200Invite := valueof({ m_attribute_PCMU }); // PREAMBLE // IMS component interface initialization f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY //Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_IMS_mb(*,*,*,*)); v_cSeq_INVITE:=vc_cSeq; //Check for precondition in Require header of INVITE f_checkRequirePrecondition(vc_request); vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_183)); // Set Require header to 100rel f_sendResponse(m_Response_18XonINVITE_sdp_require(c_statusLine183,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_mBody_SDP(vc_sdp_local)),m_Require_100rel)); f_awaitingPRACK_sendReply(mw_PRACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_200Update)); f_sendResponse(m_Response_2xxonUPDATE(c_statusLine200,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,f_route(),valueof(m_mBody_SDP(vc_sdp_local)))); //Set Require header to 100rel f_sendResponse(m_Response_18XonINVITE_sdp_require(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_mBody_SDP(vc_sdp_local)),m_Require_100rel)); f_awaitingPRACK_sendReply(mw_PRACK_Request_Base(vc_callId)); f_check_Ringing(); vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_200Invite)); f_sendResponse(m_Response_2xxonINVITE(c_statusLine200,vc_callId, v_cSeq_INVITE,vc_caller_From, vc_caller_To, vc_via,vc_contact,f_route(),valueof(m_mBody_SDP(vc_sdp_local)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_check_Conversation(); //await BYE and send 200 OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration (); }// end function f_IMS_TC_303_024 /* * @desc This is the test case function (IMS/SIP side) for TC_303_025 * @param loc_CSeq_s - Transaction Id */ function f_IMS_TC_303_025(in CSeq p_cSeq_s) runs on ImsComponent { var CSeq v_cSeq_INVITE; //to store CSeq of INVITE message var SDP_attribute_list v_attribute_list_183 := valueof({ m_attribute_PCMU }); var SDP_attribute_list v_attribute_list_200Update := valueof({ m_attribute_PCMU }); var SDP_attribute_list v_attribute_list_200Invite := valueof({ m_attribute_PCMU }); // PREAMBLE // IMS component interface initialization f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY //Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_IMS_mb(*,*,*,*)); v_cSeq_INVITE:=vc_cSeq; //Check for precondition in Require header of INVITE f_checkRequirePrecondition(vc_request); //Check SDP atributes regarding specification if (not(f_check_attribute(vc_sdp_remote, m_attribute_CLEARMODE_DPT))) { setverdict(fail); log("FAIL: Attribute in INVITE does not match!"); } vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_183)); // Set Require header to 100rel f_sendResponse(m_Response_18XonINVITE_sdp_require(c_statusLine183,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_mBody_SDP(vc_sdp_local)),m_Require_100rel)); f_awaitingPRACK_sendReply(mw_PRACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_200Update)); f_sendResponse(m_Response_2xxonUPDATE(c_statusLine200,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,f_route(),valueof(m_mBody_SDP(vc_sdp_local)))); //Set Require header to 100rel f_sendResponse(m_Response_18XonINVITE_sdp_require(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_mBody_SDP(vc_sdp_local)),m_Require_100rel)); f_awaitingPRACK_sendReply(mw_PRACK_Request_Base(vc_callId)); f_check_Ringing(); vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_200Invite)); f_sendResponse(m_Response_2xxonINVITE(c_statusLine200,vc_callId, v_cSeq_INVITE,vc_caller_From, vc_caller_To, vc_via,vc_contact,f_route(),valueof(m_mBody_SDP(vc_sdp_local)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_check_Conversation(); //await BYE and send 200 OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration () }// end function f_IMS_TC_303_025 } // end group TP303_Sending_ACM group TP304_Sending_CPG { Loading Loading
AtsCommon/SipIsup_IMS_TCFunctions.ttcn +116 −18 Original line number Diff line number Diff line Loading @@ -2985,24 +2985,7 @@ module SipIsup_IMS_TCFunctions { v_cSeq_INVITE:=vc_cSeq; //Check for precondition in Require header of INVITE if (ispresent(vc_request.msgHeader.require.optionsTags)) { var boolean v_precondition_found:=false; for (var integer v_i:=0; v_i<sizeof(vc_request.msgHeader.require.optionsTags); v_i:=v_i+1){ if (match(vc_request.msgHeader.require.optionsTags[v_i],c_tagPrecond)) { v_precondition_found:=true; } } if (not(v_precondition_found)){ setverdict(fail); log("FAIL: precondition not found in Require options list!"); } } else { setverdict(fail); log("FAIL: Require options is not present!"); } f_checkRequirePrecondition(vc_request); //Check SDP atributes regarding specification if (not(f_check_attribute(vc_sdp_remote, m_attribute_curr(c_qos, c_local, c_none)) and Loading Loading @@ -4800,6 +4783,121 @@ module SipIsup_IMS_TCFunctions { }// end function f_IMS_TC_303_023 /* * @desc This is the test case function (IMS/SIP side) for TC_303_024 * @param loc_CSeq_s - Transaction Id */ function f_IMS_TC_303_024(in CSeq p_cSeq_s) runs on ImsComponent { var CSeq v_cSeq_INVITE; //to store CSeq of INVITE message var SDP_attribute_list v_attribute_list_183 := valueof({ m_attribute_PCMU }); var SDP_attribute_list v_attribute_list_200Update := valueof({ m_attribute_PCMU }); var SDP_attribute_list v_attribute_list_200Invite := valueof({ m_attribute_PCMU }); // PREAMBLE // IMS component interface initialization f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY //Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_IMS_mb(*,*,*,*)); v_cSeq_INVITE:=vc_cSeq; //Check for precondition in Require header of INVITE f_checkRequirePrecondition(vc_request); vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_183)); // Set Require header to 100rel f_sendResponse(m_Response_18XonINVITE_sdp_require(c_statusLine183,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_mBody_SDP(vc_sdp_local)),m_Require_100rel)); f_awaitingPRACK_sendReply(mw_PRACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_200Update)); f_sendResponse(m_Response_2xxonUPDATE(c_statusLine200,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,f_route(),valueof(m_mBody_SDP(vc_sdp_local)))); //Set Require header to 100rel f_sendResponse(m_Response_18XonINVITE_sdp_require(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_mBody_SDP(vc_sdp_local)),m_Require_100rel)); f_awaitingPRACK_sendReply(mw_PRACK_Request_Base(vc_callId)); f_check_Ringing(); vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_200Invite)); f_sendResponse(m_Response_2xxonINVITE(c_statusLine200,vc_callId, v_cSeq_INVITE,vc_caller_From, vc_caller_To, vc_via,vc_contact,f_route(),valueof(m_mBody_SDP(vc_sdp_local)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_check_Conversation(); //await BYE and send 200 OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration (); }// end function f_IMS_TC_303_024 /* * @desc This is the test case function (IMS/SIP side) for TC_303_025 * @param loc_CSeq_s - Transaction Id */ function f_IMS_TC_303_025(in CSeq p_cSeq_s) runs on ImsComponent { var CSeq v_cSeq_INVITE; //to store CSeq of INVITE message var SDP_attribute_list v_attribute_list_183 := valueof({ m_attribute_PCMU }); var SDP_attribute_list v_attribute_list_200Update := valueof({ m_attribute_PCMU }); var SDP_attribute_list v_attribute_list_200Invite := valueof({ m_attribute_PCMU }); // PREAMBLE // IMS component interface initialization f_IMS_preamble_MGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done // TESTBODY //Awaiting INVITE f_awaitingINVITE(mw_INVITE_Request_IMS_mb(*,*,*,*)); v_cSeq_INVITE:=vc_cSeq; //Check for precondition in Require header of INVITE f_checkRequirePrecondition(vc_request); //Check SDP atributes regarding specification if (not(f_check_attribute(vc_sdp_remote, m_attribute_CLEARMODE_DPT))) { setverdict(fail); log("FAIL: Attribute in INVITE does not match!"); } vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_183)); // Set Require header to 100rel f_sendResponse(m_Response_18XonINVITE_sdp_require(c_statusLine183,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_mBody_SDP(vc_sdp_local)),m_Require_100rel)); f_awaitingPRACK_sendReply(mw_PRACK_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point f_awaitingUPDATE(mw_UPDATE_Request_Base(vc_callId)); vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_200Update)); f_sendResponse(m_Response_2xxonUPDATE(c_statusLine200,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,f_route(),valueof(m_mBody_SDP(vc_sdp_local)))); //Set Require header to 100rel f_sendResponse(m_Response_18XonINVITE_sdp_require(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,valueof(m_mBody_SDP(vc_sdp_local)),m_Require_100rel)); f_awaitingPRACK_sendReply(mw_PRACK_Request_Base(vc_callId)); f_check_Ringing(); vc_sdp_local := valueof(m_SDP_media_attr_preconditions(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile, v_attribute_list_200Invite)); f_sendResponse(m_Response_2xxonINVITE(c_statusLine200,vc_callId, v_cSeq_INVITE,vc_caller_From, vc_caller_To, vc_via,vc_contact,f_route(),valueof(m_mBody_SDP(vc_sdp_local)))); f_awaitingACK(mw_ACK_Request_Base(vc_callId)); f_check_Conversation(); //await BYE and send 200 OK f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done // POSTAMBLE f_SIP_postamble_IMS1_withoutRegistration () }// end function f_IMS_TC_303_025 } // end group TP303_Sending_ACM group TP304_Sending_CPG { Loading