Loading SIPAts/ttcn/SIPI_SIP_EncapsISUP.ttcn +12 −88 Original line number Diff line number Diff line Loading @@ -415,7 +415,7 @@ group TP101_Sending_IAM { function f_EncapsIsup_TC_101_035() runs on SipComponent { f_EncapsIsup_TC_101_009(); //All encapsulated messages are default in TC101_008 f_EncapsIsup_TC_101_008(); //All encapsulated messages are default in TC101_008 } // end function f_EncapsIsup_TC_101_035 Loading Loading @@ -2137,6 +2137,9 @@ group TP309_Receiving_RSC_GRS_CGB { /*function with default mwIAM messages*/ f_mwIAM(); /*function with default sent ACM messages*/ f_mACM(); f_mwREL_v(mw_REL_CAU1(mw_CAU_cval(31))); /*function with default send RLC messages*/ Loading Loading @@ -3413,25 +3416,6 @@ group TP409_CW { f_mRLC(); } function f_EncapsIsup_TC_409_007() runs on SipComponent { f_mwIAM(); if (PX_TC409_007_VA == 1) { f_mACM_v(m_ACM_GNI(m_GenNotifInd(c_GNI_gNotInd_waitCall))); } else { f_mCPG_v(m_CPG_CDI(m_GenNotifInd(c_GNI_gNotInd_waitCall), omit, omit, omit)); } f_mREL_v(m_REL_CAU2(m_CAU_Causev(19))); f_mwRLC(); } function f_EncapsIsup_TC_409_008() runs on SipComponent { f_mIAM(); Loading @@ -3445,9 +3429,12 @@ group TP409_CW { f_mwCPG_v(mw_CPG_GNI(mw_GenNotifInd(c_GNI_gNotInd_waitCall))); } f_mREL_v(m_REL_CAU2(m_CAU_Causev(19))); // f_mREL_v(m_REL_CAU2(m_CAU_Causev(19))); // // f_mwRLC(); f_mwREL_v(mw_REL_CAU1(mw_CAU_cval(19))); f_mwRLC(); f_mRLC(); } } // end group TP409_CW Loading Loading @@ -3959,7 +3946,7 @@ group TP412_ECT { f_mACM_mANM(); /*Awaiting encapsulated FAC message with Additional calling party number into Call transfer number and SAC*/ f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_GEN_addrSignals_txNat), mw_SAC_PAR_tlv_any)); f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_CTN_addrSignals_txNat), mw_SAC_PAR_tlv_any)); /*function with default mwREL and mRLC messages*/ f_mwREL_mRLC(); Loading @@ -3981,35 +3968,6 @@ group TP412_ECT { } /* function f_EncapsIsup_TC_412_003() runs on SipComponent { f_mwIAM(); //function with default mACM, mANM messages f_mACM_mANM(); //Awaiting encapsulated FAC message with Calling party number into Call transfer number f_mwFAC_v(mw_FAC_GNI_CTN(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_IAM_CLI_digits_txNat))); //function with default mwREL and mRLC messages f_mwREL_mRLC(); } function f_EncapsIsup_TC_412_004() runs on SipComponent { f_mIAM_v(m_IAM_CLI_GEN_ATP_ENC(m_CallingNum_allowed(c_CLI_natAddrInd_natSig, c_CLI_screenInd_ntwProv, PX_ISUP_IAM_CLI_digits_rxNat),omit , omit)); //function with default mwACM, mwANM messages f_mwACM_mwANM(); f_mFAC_v(m_FAC_GNI_CTN(m_GenNotifInd(c_GNI_gNotInd_transAct), m_CTN_PAR_allowed(PX_ISUP_TX_CTN_addrSignals_txNat))); //function with default mREL and mwRLC messages f_mREL_mwRLC(); }*/ function f_EncapsIsup_TC_412_005() runs on SipComponent { f_mwIAM(); Loading Loading @@ -4046,40 +4004,6 @@ group TP412_ECT { } /* function f_EncapsIsup_TC_412_007() runs on SipComponent { f_mwIAM(); //function with default mACM messages f_mACM(); f_mANM_v(m_ANM_CNN(m_ConnNum_allowed(c_CNN_natAddrInd_natSig, c_CNN_screenInd_ntwProv, PX_ISUP_TX_CPN_addrSignals_rxNat))); f_mwCPG_v(mw_CPG_EVI_GNI(c_EVI_eventInd_progr, mw_GenNotifInd(c_GNI_gNotInd_remHold))); f_mwFAC_v(mw_FAC_GNI_CTN(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_CPN_addrSignals_rxNat))); //function with default mwREL and mRLC messages f_mwREL_mRLC(); } function f_EncapsIsup_TC_412_008() runs on SipComponent { f_mIAM(); //function with default mwACM, mwANM messages f_mwACM_mwANM(); f_mCPG_v(m_CPG_EVI_GNI(c_EVI_eventInd_progr, m_GenNotifInd(c_GNI_gNotInd_remHold))); f_mFAC_v(m_FAC_GNI_CTN(m_GenNotifInd(c_GNI_gNotInd_transAct), m_CTN_PAR_allowed(PX_ISUP_TX_CTN_addrSignals_txNat))); //function with default mREL and mwRLC messages f_mREL_mwRLC(); }*/ function f_EncapsIsup_TC_412_009() runs on SipComponent { /*function with default mwIAM, mACM, mANM messages*/ Loading Loading @@ -4291,7 +4215,7 @@ group TP412_ECT { //change from V5-V6 f_mCPG_v(m_CPG_EVI_GNI(c_EVI_eventInd_progr, m_GenNotifInd(c_GNI_gNotInd_remHold))); /*Awaiting encapsulated FAC message with Additional calling party number into Call transfer number and SAC*/ f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_GEN_addrSignals_txNat), mw_SAC_PAR_tlv_any)); f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_CTN_addrSignals_txNat), mw_SAC_PAR_tlv_any)); f_mFAC_v2(m_FAC_ATP(m_AT_ConnSub_Def)); Loading SIPAts/ttcn/SIPI_SIP_Steps.ttcn +682 −612 Original line number Diff line number Diff line Loading @@ -414,6 +414,7 @@ import from LibCommon_VerdictControl all; function f_setHeadersOnReceiptOfBye(Request loc_BYE_Request) runs on SipComponent { vc_request := loc_BYE_Request; vc_cSeq := valueof(loc_BYE_Request.msgHeader.cSeq); vc_iUT_CSeq := valueof(loc_BYE_Request.msgHeader.cSeq); vc_from := loc_BYE_Request.msgHeader.fromField; Loading Loading @@ -989,6 +990,7 @@ group externalfunctions { function f_Registration(inout CSeq p_cSeq_s) runs on SipComponent { var SemicolonParam_List tmp_params; if (PX_SIP_REGISTRATION) { f_setHeadersPtcForRegister(p_cSeq_s); Loading Loading @@ -1055,8 +1057,7 @@ group externalfunctions { { setverdict(inconc); if (not vc_first_recv) {syncPort.send(m_syncClientStop); stop;}; // nothing to do if no communication before //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading Loading @@ -1086,20 +1087,20 @@ group externalfunctions { vc_cSeqInvite := vc_cSeq; SIPP.send(m_Response_100_1(vc_callId, vc_cSeq, vc_from, vc_to, vc_via )) to sent_label; //axr } [] SIPP.receive { all timer.stop; f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); stop } // [] SIPP.receive // { // all timer.stop; // f_cancelCall(); // f_cancelCall_cause(); // f_awaitSUTidle(); // f_RemoveRegistration(vc_cSeq); // syncPort.send(m_syncClientStop); // stop // } [] TWait.timeout { setverdict(inconc); if (not vc_first_recv) {syncPort.send(m_syncClientStop); stop;}; // nothing to do if no communication before //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // //f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); Loading Loading @@ -1158,11 +1159,11 @@ group externalfunctions { setverdict(pass); } // other Response [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response [] SIPP.receive(mw_Response_1XX_1(vc_callId, vc_cSeq))-> value v_Response sender sent_label { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading @@ -1171,14 +1172,14 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); stop } } } // end f_awaiting183Response } // end f_awaiting1XXResponse /** * @desc Await Response Loading @@ -1203,20 +1204,19 @@ group externalfunctions { setverdict(pass); } // other Response [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response sender sent_label { setverdict(fail); // f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_sendACK(vc_cSeq); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop } // [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response // sender sent_label // { // setverdict(fail); // f_sendACK(vc_cSeq); // f_awaitSUTidle(); // syncPort.send(m_syncClientStop); // stop // } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop Loading Loading @@ -1248,21 +1248,20 @@ group externalfunctions { setverdict(pass); } // other Response [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response sender sent_label { setverdict(fail); // f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_setHeadersOnReceiptOfResponse(vc_cSeq, v_Response); f_sendACK(vc_cSeq); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop } // [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response // sender sent_label // { // setverdict(fail); // f_setHeadersOnReceiptOfResponse(vc_cSeq, v_Response); // f_sendACK(vc_cSeq); // f_awaitSUTidle(); // syncPort.send(m_syncClientStop); // stop // } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop Loading @@ -1285,7 +1284,6 @@ group externalfunctions { */ function f_awaiting200OkResponse_andAck_Encaps(in boolean p_doAck, template (present) ISUP_BICC_MSG p_ISUP_BICC) runs on SipComponent { // f_awaitingResponse_andAck(mw_Response_200_Encaps(vc_callId, vc_cSeq, p_ISUP_BICC), 0, p_doAck); f_awaiting2ResponsesAck( mw_Response_200_MIME(vc_callId, vc_cSeq, p_ISUP_BICC), // MIME content type mw_Response_200_Encaps(vc_callId, vc_cSeq, p_ISUP_BICC), // ISUP content type Loading Loading @@ -1331,26 +1329,26 @@ group externalfunctions { {setverdict(fail);} }; if (p_doAck) { f_setHeadersOnReceiptOfResponse(vc_cSeq, v_Response); if (p_doAck) {f_sendACK(vc_cSeq);}; f_sendACK(vc_cSeq); }; setverdict(pass); } // other Response [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response sender sent_label { setverdict(fail); // f_cancelCall_cause(); // f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_sendACK(vc_cSeq); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop } // [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response // sender sent_label // { // setverdict(fail); // f_sendACK(vc_cSeq); // f_awaitSUTidle(); // syncPort.send(m_syncClientStop); // repeat; // } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop Loading Loading @@ -1394,7 +1392,7 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); //vc_ignore4xx := true; stop Loading Loading @@ -1435,19 +1433,19 @@ group externalfunctions { setverdict(pass); } // other Response [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response sender sent_label { setverdict(fail); //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_awaitSUTidle(); stop } // [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response // sender sent_label // { // setverdict(fail); // //f_cancelCall(); // // f_cancelCall_cause(); // f_awaitSUTidle(); // stop // } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); stop } Loading Loading @@ -1544,7 +1542,8 @@ group externalfunctions { TResp.stop; vc_ignore_bye:= true; f_setHeadersOnReceiptOfBye(v_BYE_Request); f_send200OK_withCallId(p_CallId); } f_send200OK_withCallId(p_CallId); } // Ignore other Request [] SIPP.receive { repeat; Loading @@ -1552,7 +1551,7 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(p_CallId, p_cSeq_s, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); stop Loading Loading @@ -1585,7 +1584,7 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, p_cSeq_s, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); stop Loading Loading @@ -1613,13 +1612,10 @@ group externalfunctions { f_send200OKBYE_MIME(); } // Ignore other Request [] SIPP.receive { repeat; } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, p_cSeq_s, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); stop Loading Loading @@ -1995,7 +1991,7 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading Loading @@ -2023,14 +2019,10 @@ group externalfunctions { //Answer to the UPDATE f_send200OKwithSDP(vc_SDP_local); } // Ignore other Request [] SIPP.receive { repeat; } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading Loading @@ -2059,7 +2051,7 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); f_cancelCall(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading Loading @@ -2132,14 +2124,14 @@ group externalfunctions { //Answer to the INFO if (p_reply) {f_send200OK();}; } // Ignore other Request [] SIPP.receive { repeat; } // // Ignore other Request // [] SIPP.receive { // repeat; // } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading @@ -2147,7 +2139,7 @@ group externalfunctions { } } } // end of f_awaitingPRACK_sendReply } // end of f_awaitingINFO_sendReply } // end AwaitingMessage Loading Loading @@ -2266,11 +2258,34 @@ group SendMessage { (vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via )) to sent_label;}; } /** * * @desc Send 484 and await ACK in case of Address incomplete */ function f_send484_awaitACK() runs on SipComponent { var To callee_To := { fieldName := TO_E, addressField := vc_requestINVITE.msgHeader.fromField.addressField, toParams := vc_requestINVITE.msgHeader.fromField.fromParams }; var From callee_From := { fieldName := FROM_E, addressField := vc_requestINVITE.msgHeader.toField.addressField, fromParams := vc_requestINVITE.msgHeader.toField.toParams }; SIPP.send(m_Response_484_1( valueof(vc_requestINVITE.msgHeader.callId), valueof(vc_requestINVITE.msgHeader.cSeq), //to reject the call callee_From, callee_To, vc_requestINVITE.msgHeader.via)) to sent_label; // sends address incomplete f_awaitingAckRequest(vc_cSeq); } /** * * @desc Send 486 and await ACK in case of INVITE reject * @param p_noencaps set to false if encaps not requiered * @param p_ISUP_BICC ISUP message to encapsulate to send */ function f_send486_awaitACK() runs on SipComponent { Loading Loading @@ -4270,11 +4285,11 @@ group Postambles { // send BYE and wait for 200 OK f_terminateCall( vc_callId, vc_cSeq, p_callid, p_cSeq_s, p_from, p_to, vc_reqHostPort, p_reqHostPort, m_MBody_ISUP(valueof(vc_rel_msg))); } Loading Loading @@ -4367,23 +4382,43 @@ group Postambles { * @desc send CANCEL message * @param p_request template of the message to be sent */ function f_cancelCall(CallId p_callid, CSeq loc_CSeq, From p_from, To p_to, HostPort p_reqHostPort, Via loc_via) function f_cancelCall() runs on SipComponent { // This function is called to bring back the IUT in idle condition // in case of errors or unexpected behaviour. if (vc_dialog_caller == true) { f_SIP_postamble_release_active( // [REL/RLC encapsulated] vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_reqHostPort); } else if (vc_dialog_callee == true) { f_mREL_mwRLC(); f_SIP_postamble_release_active( // [REL/RLC encapsulated] vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_reqHostPort); } else if (vc_callee == true) { f_send486_awaitACK(); } else { // Sending of a CANCEL request with the same Cseq loc_CSeq.method := "CANCEL"; SIPP.send(m_CANCEL_Request_1(p_callid, loc_CSeq, p_from, p_to, p_reqHostPort, loc_via )) to sent_label; vc_cSeq.method := "CANCEL"; SIPP.send(m_CANCEL_Request_1(vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_reqHostPort, vc_via )) to sent_label; TResp.start(PX_SIP_TRESP); alt { [] SIPP.receive (mw_Response_1XX_1(p_callid, loc_CSeq)) [] SIPP.receive (mw_Response_1XX_1(vc_callId, vc_cSeq)) { repeat; } [] SIPP.receive (mw_Response_200_1(p_callid, loc_CSeq)) [] SIPP.receive (mw_Response_200_1(vc_callId, vc_cSeq)) { TResp.stop; } Loading @@ -4395,6 +4430,10 @@ group Postambles { } [] TResp.timeout {syncPort.send(m_syncClientStop); stop} } // awaiting 487 and send ACK vc_cSeq.method := "INVITE"; f_awaitingResponse_andAck(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq, 487), 0, true); } } Loading Loading @@ -4447,8 +4486,7 @@ group DefaultsTestStep { setverdict(fail); all timer.stop; //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); stop Loading @@ -4472,6 +4510,12 @@ group DefaultsTestStep repeat } // 180 to 183 replies [vc_dialog_caller==false] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,(180..183))) { repeat } // ignore 484 if flag is set [vc_ignore484==true] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq, 484)) { Loading @@ -4495,8 +4539,8 @@ group DefaultsTestStep [] SIPP.receive(mw_BYE_Request_1(?))-> value vc_request sender sent_label { // all timer.stop; setverdict(fail); f_setHeadersOnReceiptOfBye(vc_request); vc_callId := vc_request.msgHeader.callId; // f_sendACK(vc_request.msgHeader.cSeq); if (vc_BOO_RecordRoute) { Loading @@ -4508,10 +4552,19 @@ group DefaultsTestStep SIPP.send(m_Response_200_1(vc_callId, vc_cSeq, vc_from, vc_to, vc_via)) to sent_label; }; if (vc_2ndCallToRelease==true) { vc_2ndCallToRelease:= false; repeat } else { setverdict(fail); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); stop } } // unexpected CANCEL is acknowledged to avoid retransmissions [] SIPP.receive(mw_CANCEL_Request_1(?))-> value vc_request sender sent_label Loading @@ -4521,6 +4574,7 @@ group DefaultsTestStep f_setHeadersOnReceiptOfCancel(vc_request); //Answer to the CANCEL f_send200OK(); f_send487_awaitACK(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); stop Loading Loading @@ -4575,11 +4629,27 @@ group DefaultsTestStep syncPort.send(m_syncClientStop); stop } [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,(400..699)))-> value vc_response sender sent_label { setverdict(fail); f_sendACK(vc_cSeq); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop } [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value vc_response sender sent_label { setverdict(fail); f_sendACK(vc_cSeq); repeat; } [] SIPP.receive { // all timer.stop; setverdict(fail); //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); //f_cancelCall(); f_cancelCall_cause(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading SIPAts/ttcn/SIPI_SIP_TCFunctions.ttcn +321 −178 File changed.Preview size limit exceeded, changes collapsed. Show changes SIPAts/ttcn/SIPI_SIP_Templates.ttcn +13 −2 Original line number Diff line number Diff line Loading @@ -174,7 +174,7 @@ group SubFields template SipUrl m_SipUrl_ofIUT_i1 := // SIP-URL of the user behind the IUT (ISDN user) (incomplete number) { scheme := SIP_SCHEME, // contains "sip" userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,lengthof(PX_SIP_IUT_USER)-2), userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,1), password := omit}, hostPort := { Loading @@ -188,7 +188,7 @@ group SubFields template SipUrl m_SipUrl_ofIUT_i2 := // SIP-URL of the user behind the IUT (ISDN user) (incomplete number) { scheme := SIP_SCHEME, // contains "sip" userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,lengthof(PX_SIP_IUT_USER)-1), userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,2), password := omit}, hostPort := { Loading Loading @@ -441,6 +441,17 @@ group Headers toParams := omit }; template To m_To_IUT_i2 := { fieldName := TO_E, addressField := {nameAddr := { displayName := "IUT", // optional charstring addrSpec := m_SipUrl_ofIUT_i2 // SipUrl }},//end addressField toParams := omit }; template To m_To_ETS := { fieldName := TO_E, Loading Loading
SIPAts/ttcn/SIPI_SIP_EncapsISUP.ttcn +12 −88 Original line number Diff line number Diff line Loading @@ -415,7 +415,7 @@ group TP101_Sending_IAM { function f_EncapsIsup_TC_101_035() runs on SipComponent { f_EncapsIsup_TC_101_009(); //All encapsulated messages are default in TC101_008 f_EncapsIsup_TC_101_008(); //All encapsulated messages are default in TC101_008 } // end function f_EncapsIsup_TC_101_035 Loading Loading @@ -2137,6 +2137,9 @@ group TP309_Receiving_RSC_GRS_CGB { /*function with default mwIAM messages*/ f_mwIAM(); /*function with default sent ACM messages*/ f_mACM(); f_mwREL_v(mw_REL_CAU1(mw_CAU_cval(31))); /*function with default send RLC messages*/ Loading Loading @@ -3413,25 +3416,6 @@ group TP409_CW { f_mRLC(); } function f_EncapsIsup_TC_409_007() runs on SipComponent { f_mwIAM(); if (PX_TC409_007_VA == 1) { f_mACM_v(m_ACM_GNI(m_GenNotifInd(c_GNI_gNotInd_waitCall))); } else { f_mCPG_v(m_CPG_CDI(m_GenNotifInd(c_GNI_gNotInd_waitCall), omit, omit, omit)); } f_mREL_v(m_REL_CAU2(m_CAU_Causev(19))); f_mwRLC(); } function f_EncapsIsup_TC_409_008() runs on SipComponent { f_mIAM(); Loading @@ -3445,9 +3429,12 @@ group TP409_CW { f_mwCPG_v(mw_CPG_GNI(mw_GenNotifInd(c_GNI_gNotInd_waitCall))); } f_mREL_v(m_REL_CAU2(m_CAU_Causev(19))); // f_mREL_v(m_REL_CAU2(m_CAU_Causev(19))); // // f_mwRLC(); f_mwREL_v(mw_REL_CAU1(mw_CAU_cval(19))); f_mwRLC(); f_mRLC(); } } // end group TP409_CW Loading Loading @@ -3959,7 +3946,7 @@ group TP412_ECT { f_mACM_mANM(); /*Awaiting encapsulated FAC message with Additional calling party number into Call transfer number and SAC*/ f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_GEN_addrSignals_txNat), mw_SAC_PAR_tlv_any)); f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_CTN_addrSignals_txNat), mw_SAC_PAR_tlv_any)); /*function with default mwREL and mRLC messages*/ f_mwREL_mRLC(); Loading @@ -3981,35 +3968,6 @@ group TP412_ECT { } /* function f_EncapsIsup_TC_412_003() runs on SipComponent { f_mwIAM(); //function with default mACM, mANM messages f_mACM_mANM(); //Awaiting encapsulated FAC message with Calling party number into Call transfer number f_mwFAC_v(mw_FAC_GNI_CTN(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_IAM_CLI_digits_txNat))); //function with default mwREL and mRLC messages f_mwREL_mRLC(); } function f_EncapsIsup_TC_412_004() runs on SipComponent { f_mIAM_v(m_IAM_CLI_GEN_ATP_ENC(m_CallingNum_allowed(c_CLI_natAddrInd_natSig, c_CLI_screenInd_ntwProv, PX_ISUP_IAM_CLI_digits_rxNat),omit , omit)); //function with default mwACM, mwANM messages f_mwACM_mwANM(); f_mFAC_v(m_FAC_GNI_CTN(m_GenNotifInd(c_GNI_gNotInd_transAct), m_CTN_PAR_allowed(PX_ISUP_TX_CTN_addrSignals_txNat))); //function with default mREL and mwRLC messages f_mREL_mwRLC(); }*/ function f_EncapsIsup_TC_412_005() runs on SipComponent { f_mwIAM(); Loading Loading @@ -4046,40 +4004,6 @@ group TP412_ECT { } /* function f_EncapsIsup_TC_412_007() runs on SipComponent { f_mwIAM(); //function with default mACM messages f_mACM(); f_mANM_v(m_ANM_CNN(m_ConnNum_allowed(c_CNN_natAddrInd_natSig, c_CNN_screenInd_ntwProv, PX_ISUP_TX_CPN_addrSignals_rxNat))); f_mwCPG_v(mw_CPG_EVI_GNI(c_EVI_eventInd_progr, mw_GenNotifInd(c_GNI_gNotInd_remHold))); f_mwFAC_v(mw_FAC_GNI_CTN(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_CPN_addrSignals_rxNat))); //function with default mwREL and mRLC messages f_mwREL_mRLC(); } function f_EncapsIsup_TC_412_008() runs on SipComponent { f_mIAM(); //function with default mwACM, mwANM messages f_mwACM_mwANM(); f_mCPG_v(m_CPG_EVI_GNI(c_EVI_eventInd_progr, m_GenNotifInd(c_GNI_gNotInd_remHold))); f_mFAC_v(m_FAC_GNI_CTN(m_GenNotifInd(c_GNI_gNotInd_transAct), m_CTN_PAR_allowed(PX_ISUP_TX_CTN_addrSignals_txNat))); //function with default mREL and mwRLC messages f_mREL_mwRLC(); }*/ function f_EncapsIsup_TC_412_009() runs on SipComponent { /*function with default mwIAM, mACM, mANM messages*/ Loading Loading @@ -4291,7 +4215,7 @@ group TP412_ECT { //change from V5-V6 f_mCPG_v(m_CPG_EVI_GNI(c_EVI_eventInd_progr, m_GenNotifInd(c_GNI_gNotInd_remHold))); /*Awaiting encapsulated FAC message with Additional calling party number into Call transfer number and SAC*/ f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_GEN_addrSignals_txNat), mw_SAC_PAR_tlv_any)); f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_CTN_addrSignals_txNat), mw_SAC_PAR_tlv_any)); f_mFAC_v2(m_FAC_ATP(m_AT_ConnSub_Def)); Loading
SIPAts/ttcn/SIPI_SIP_Steps.ttcn +682 −612 Original line number Diff line number Diff line Loading @@ -414,6 +414,7 @@ import from LibCommon_VerdictControl all; function f_setHeadersOnReceiptOfBye(Request loc_BYE_Request) runs on SipComponent { vc_request := loc_BYE_Request; vc_cSeq := valueof(loc_BYE_Request.msgHeader.cSeq); vc_iUT_CSeq := valueof(loc_BYE_Request.msgHeader.cSeq); vc_from := loc_BYE_Request.msgHeader.fromField; Loading Loading @@ -989,6 +990,7 @@ group externalfunctions { function f_Registration(inout CSeq p_cSeq_s) runs on SipComponent { var SemicolonParam_List tmp_params; if (PX_SIP_REGISTRATION) { f_setHeadersPtcForRegister(p_cSeq_s); Loading Loading @@ -1055,8 +1057,7 @@ group externalfunctions { { setverdict(inconc); if (not vc_first_recv) {syncPort.send(m_syncClientStop); stop;}; // nothing to do if no communication before //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading Loading @@ -1086,20 +1087,20 @@ group externalfunctions { vc_cSeqInvite := vc_cSeq; SIPP.send(m_Response_100_1(vc_callId, vc_cSeq, vc_from, vc_to, vc_via )) to sent_label; //axr } [] SIPP.receive { all timer.stop; f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); stop } // [] SIPP.receive // { // all timer.stop; // f_cancelCall(); // f_cancelCall_cause(); // f_awaitSUTidle(); // f_RemoveRegistration(vc_cSeq); // syncPort.send(m_syncClientStop); // stop // } [] TWait.timeout { setverdict(inconc); if (not vc_first_recv) {syncPort.send(m_syncClientStop); stop;}; // nothing to do if no communication before //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // //f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); Loading Loading @@ -1158,11 +1159,11 @@ group externalfunctions { setverdict(pass); } // other Response [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response [] SIPP.receive(mw_Response_1XX_1(vc_callId, vc_cSeq))-> value v_Response sender sent_label { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading @@ -1171,14 +1172,14 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); stop } } } // end f_awaiting183Response } // end f_awaiting1XXResponse /** * @desc Await Response Loading @@ -1203,20 +1204,19 @@ group externalfunctions { setverdict(pass); } // other Response [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response sender sent_label { setverdict(fail); // f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_sendACK(vc_cSeq); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop } // [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response // sender sent_label // { // setverdict(fail); // f_sendACK(vc_cSeq); // f_awaitSUTidle(); // syncPort.send(m_syncClientStop); // stop // } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop Loading Loading @@ -1248,21 +1248,20 @@ group externalfunctions { setverdict(pass); } // other Response [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response sender sent_label { setverdict(fail); // f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_setHeadersOnReceiptOfResponse(vc_cSeq, v_Response); f_sendACK(vc_cSeq); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop } // [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response // sender sent_label // { // setverdict(fail); // f_setHeadersOnReceiptOfResponse(vc_cSeq, v_Response); // f_sendACK(vc_cSeq); // f_awaitSUTidle(); // syncPort.send(m_syncClientStop); // stop // } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop Loading @@ -1285,7 +1284,6 @@ group externalfunctions { */ function f_awaiting200OkResponse_andAck_Encaps(in boolean p_doAck, template (present) ISUP_BICC_MSG p_ISUP_BICC) runs on SipComponent { // f_awaitingResponse_andAck(mw_Response_200_Encaps(vc_callId, vc_cSeq, p_ISUP_BICC), 0, p_doAck); f_awaiting2ResponsesAck( mw_Response_200_MIME(vc_callId, vc_cSeq, p_ISUP_BICC), // MIME content type mw_Response_200_Encaps(vc_callId, vc_cSeq, p_ISUP_BICC), // ISUP content type Loading Loading @@ -1331,26 +1329,26 @@ group externalfunctions { {setverdict(fail);} }; if (p_doAck) { f_setHeadersOnReceiptOfResponse(vc_cSeq, v_Response); if (p_doAck) {f_sendACK(vc_cSeq);}; f_sendACK(vc_cSeq); }; setverdict(pass); } // other Response [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response sender sent_label { setverdict(fail); // f_cancelCall_cause(); // f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_sendACK(vc_cSeq); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop } // [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response // sender sent_label // { // setverdict(fail); // f_sendACK(vc_cSeq); // f_awaitSUTidle(); // syncPort.send(m_syncClientStop); // repeat; // } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop Loading Loading @@ -1394,7 +1392,7 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); //vc_ignore4xx := true; stop Loading Loading @@ -1435,19 +1433,19 @@ group externalfunctions { setverdict(pass); } // other Response [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response sender sent_label { setverdict(fail); //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_awaitSUTidle(); stop } // [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response // sender sent_label // { // setverdict(fail); // //f_cancelCall(); // // f_cancelCall_cause(); // f_awaitSUTidle(); // stop // } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); stop } Loading Loading @@ -1544,7 +1542,8 @@ group externalfunctions { TResp.stop; vc_ignore_bye:= true; f_setHeadersOnReceiptOfBye(v_BYE_Request); f_send200OK_withCallId(p_CallId); } f_send200OK_withCallId(p_CallId); } // Ignore other Request [] SIPP.receive { repeat; Loading @@ -1552,7 +1551,7 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(p_CallId, p_cSeq_s, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); stop Loading Loading @@ -1585,7 +1584,7 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, p_cSeq_s, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); stop Loading Loading @@ -1613,13 +1612,10 @@ group externalfunctions { f_send200OKBYE_MIME(); } // Ignore other Request [] SIPP.receive { repeat; } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, p_cSeq_s, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); stop Loading Loading @@ -1995,7 +1991,7 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading Loading @@ -2023,14 +2019,10 @@ group externalfunctions { //Answer to the UPDATE f_send200OKwithSDP(vc_SDP_local); } // Ignore other Request [] SIPP.receive { repeat; } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading Loading @@ -2059,7 +2051,7 @@ group externalfunctions { [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); f_cancelCall(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading Loading @@ -2132,14 +2124,14 @@ group externalfunctions { //Answer to the INFO if (p_reply) {f_send200OK();}; } // Ignore other Request [] SIPP.receive { repeat; } // // Ignore other Request // [] SIPP.receive { // repeat; // } [] TResp.timeout { setverdict(fail); f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); // f_cancelCall_cause(); f_awaitSUTidle(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading @@ -2147,7 +2139,7 @@ group externalfunctions { } } } // end of f_awaitingPRACK_sendReply } // end of f_awaitingINFO_sendReply } // end AwaitingMessage Loading Loading @@ -2266,11 +2258,34 @@ group SendMessage { (vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via )) to sent_label;}; } /** * * @desc Send 484 and await ACK in case of Address incomplete */ function f_send484_awaitACK() runs on SipComponent { var To callee_To := { fieldName := TO_E, addressField := vc_requestINVITE.msgHeader.fromField.addressField, toParams := vc_requestINVITE.msgHeader.fromField.fromParams }; var From callee_From := { fieldName := FROM_E, addressField := vc_requestINVITE.msgHeader.toField.addressField, fromParams := vc_requestINVITE.msgHeader.toField.toParams }; SIPP.send(m_Response_484_1( valueof(vc_requestINVITE.msgHeader.callId), valueof(vc_requestINVITE.msgHeader.cSeq), //to reject the call callee_From, callee_To, vc_requestINVITE.msgHeader.via)) to sent_label; // sends address incomplete f_awaitingAckRequest(vc_cSeq); } /** * * @desc Send 486 and await ACK in case of INVITE reject * @param p_noencaps set to false if encaps not requiered * @param p_ISUP_BICC ISUP message to encapsulate to send */ function f_send486_awaitACK() runs on SipComponent { Loading Loading @@ -4270,11 +4285,11 @@ group Postambles { // send BYE and wait for 200 OK f_terminateCall( vc_callId, vc_cSeq, p_callid, p_cSeq_s, p_from, p_to, vc_reqHostPort, p_reqHostPort, m_MBody_ISUP(valueof(vc_rel_msg))); } Loading Loading @@ -4367,23 +4382,43 @@ group Postambles { * @desc send CANCEL message * @param p_request template of the message to be sent */ function f_cancelCall(CallId p_callid, CSeq loc_CSeq, From p_from, To p_to, HostPort p_reqHostPort, Via loc_via) function f_cancelCall() runs on SipComponent { // This function is called to bring back the IUT in idle condition // in case of errors or unexpected behaviour. if (vc_dialog_caller == true) { f_SIP_postamble_release_active( // [REL/RLC encapsulated] vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_reqHostPort); } else if (vc_dialog_callee == true) { f_mREL_mwRLC(); f_SIP_postamble_release_active( // [REL/RLC encapsulated] vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_reqHostPort); } else if (vc_callee == true) { f_send486_awaitACK(); } else { // Sending of a CANCEL request with the same Cseq loc_CSeq.method := "CANCEL"; SIPP.send(m_CANCEL_Request_1(p_callid, loc_CSeq, p_from, p_to, p_reqHostPort, loc_via )) to sent_label; vc_cSeq.method := "CANCEL"; SIPP.send(m_CANCEL_Request_1(vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_reqHostPort, vc_via )) to sent_label; TResp.start(PX_SIP_TRESP); alt { [] SIPP.receive (mw_Response_1XX_1(p_callid, loc_CSeq)) [] SIPP.receive (mw_Response_1XX_1(vc_callId, vc_cSeq)) { repeat; } [] SIPP.receive (mw_Response_200_1(p_callid, loc_CSeq)) [] SIPP.receive (mw_Response_200_1(vc_callId, vc_cSeq)) { TResp.stop; } Loading @@ -4395,6 +4430,10 @@ group Postambles { } [] TResp.timeout {syncPort.send(m_syncClientStop); stop} } // awaiting 487 and send ACK vc_cSeq.method := "INVITE"; f_awaitingResponse_andAck(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq, 487), 0, true); } } Loading Loading @@ -4447,8 +4486,7 @@ group DefaultsTestStep { setverdict(fail); all timer.stop; //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause(); f_cancelCall(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); stop Loading @@ -4472,6 +4510,12 @@ group DefaultsTestStep repeat } // 180 to 183 replies [vc_dialog_caller==false] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,(180..183))) { repeat } // ignore 484 if flag is set [vc_ignore484==true] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq, 484)) { Loading @@ -4495,8 +4539,8 @@ group DefaultsTestStep [] SIPP.receive(mw_BYE_Request_1(?))-> value vc_request sender sent_label { // all timer.stop; setverdict(fail); f_setHeadersOnReceiptOfBye(vc_request); vc_callId := vc_request.msgHeader.callId; // f_sendACK(vc_request.msgHeader.cSeq); if (vc_BOO_RecordRoute) { Loading @@ -4508,10 +4552,19 @@ group DefaultsTestStep SIPP.send(m_Response_200_1(vc_callId, vc_cSeq, vc_from, vc_to, vc_via)) to sent_label; }; if (vc_2ndCallToRelease==true) { vc_2ndCallToRelease:= false; repeat } else { setverdict(fail); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); stop } } // unexpected CANCEL is acknowledged to avoid retransmissions [] SIPP.receive(mw_CANCEL_Request_1(?))-> value vc_request sender sent_label Loading @@ -4521,6 +4574,7 @@ group DefaultsTestStep f_setHeadersOnReceiptOfCancel(vc_request); //Answer to the CANCEL f_send200OK(); f_send487_awaitACK(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); stop Loading Loading @@ -4575,11 +4629,27 @@ group DefaultsTestStep syncPort.send(m_syncClientStop); stop } [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,(400..699)))-> value vc_response sender sent_label { setverdict(fail); f_sendACK(vc_cSeq); f_awaitSUTidle(); syncPort.send(m_syncClientStop); stop } [] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value vc_response sender sent_label { setverdict(fail); f_sendACK(vc_cSeq); repeat; } [] SIPP.receive { // all timer.stop; setverdict(fail); //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); //f_cancelCall(); f_cancelCall_cause(); f_RemoveRegistration(vc_cSeq); syncPort.send(m_syncClientStop); Loading
SIPAts/ttcn/SIPI_SIP_TCFunctions.ttcn +321 −178 File changed.Preview size limit exceeded, changes collapsed. Show changes
SIPAts/ttcn/SIPI_SIP_Templates.ttcn +13 −2 Original line number Diff line number Diff line Loading @@ -174,7 +174,7 @@ group SubFields template SipUrl m_SipUrl_ofIUT_i1 := // SIP-URL of the user behind the IUT (ISDN user) (incomplete number) { scheme := SIP_SCHEME, // contains "sip" userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,lengthof(PX_SIP_IUT_USER)-2), userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,1), password := omit}, hostPort := { Loading @@ -188,7 +188,7 @@ group SubFields template SipUrl m_SipUrl_ofIUT_i2 := // SIP-URL of the user behind the IUT (ISDN user) (incomplete number) { scheme := SIP_SCHEME, // contains "sip" userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,lengthof(PX_SIP_IUT_USER)-1), userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,2), password := omit}, hostPort := { Loading Loading @@ -441,6 +441,17 @@ group Headers toParams := omit }; template To m_To_IUT_i2 := { fieldName := TO_E, addressField := {nameAddr := { displayName := "IUT", // optional charstring addrSpec := m_SipUrl_ofIUT_i2 // SipUrl }},//end addressField toParams := omit }; template To m_To_ETS := { fieldName := TO_E, Loading