Loading ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +576 −26 File changed.Preview size limit exceeded, changes collapsed. Show changes ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EB.ttcn +238 −28 Original line number Diff line number Diff line Loading @@ -358,6 +358,72 @@ module AtsImsIot_TP_behavior_MW_EB { } } // End of function f_mtc_check_TP_MW_IBCF_200OK_01 /** * @desc Verify that the E-CSCF successfully processes a 200 (Ok) provisional response on initial INVITE (Terminating Leg). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B * } * * Expected behaviour * ensure that { * when { * the IMS_E_CSCF_A entity receives a 200_Ok containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE, * PChargingVector, * PChargingFunctionAddresses, * PPreferredIdentity * ; * from the UE_B entity * } * then { * the IMS_E_CSCF_A entity sends a 200_Ok containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE, * not PChargingVector, * not PChargingFunctionAddresses, * not PPreferredIdentity * ; * from the IMS_P_CSCF_B entity * } * } */ function f_mtc_check_TP_MW_IBCF_200OK_02( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 200 OK p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipResponse(mw_200OK( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.callId, p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField )) }, { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, "TP_MW_IBCF_200OK_02", false, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_MW_IBCF_200OK_02 } // End of group ims200Ok group imsAck { Loading Loading @@ -425,4 +491,148 @@ module AtsImsIot_TP_behavior_MW_EB { } // End of group imsAck group imsBye { /** * @desc Verify that the E-CSCF successfully processes a BYE (Terminating Leg). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B and * the UE_A entity previouslyEstablishedCallWith the UE_B * } * * Expected behaviour * ensure that { * when { * the IMS_E_CSCF_A entity receives a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE * ; * from the IMS_P_CSCF_A entity * } * then { * the IMS_E_CSCF_A entity sends a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE * ; * from the IMS_IBCF_A entity * } * } */ function f_mtc_check_TP_MW_IBCF_BYE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the BYE p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipRequest(mw_TP_MW_IBCF_BYE_01( p_sip.request.msgHeader.callId, -, // New CSeq, -, // FIXME To be set { fieldName := FROM_E, addressField := p_sip.request.msgHeader.toField.addressField, fromParams := * }, //p_sip.request.msgHeader.fromField, { fieldName := TO_E, addressField := p_sip.request.msgHeader.fromField.addressField, toParams := * } //p_sip.request.msgHeader.toField )) }, { mw_SipRequest(mw_BYE_Request_Base) }, { 0, omit }, "TP_MW_IBCF_BYE_01 - Request", true, p_checkMessage ) ); p_monitorCompRef.done; // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } } // End of function f_mtc_check_TP_MW_IBCF_BYE_01 } // End of group imsBye group ims200OkBye { /** * @desc Verify that the E-CSCF successfully processes a 200 (OK) BYE (Originating Leg). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B * } * * Expected behaviour * ensure that { * when { * the IMS_E_CSCF_A entity sends a 200_Ok containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE, * not PChargingVector, * not PChargingFunctionAddresses, * not PPreferredIdentity * to the IMS_IBCF_A entity * } * then { * the IMS_E_CSCF_A entity sends a 200_Ok containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE, * not PChargingVector, * not PChargingFunctionAddresses, * not PPreferredIdentity * to the IMS_P_CSCF_A entity * } * } */ function f_mtc_check_TP_MW_IBCF_200OK_BYE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 200 OK BYE p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipResponse(mw_200OK( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.callId, p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField )) }, { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, "TP_MW_IBCF_200OK_BYE_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_MW_IBCF_200OK_BYE_01 } // End of group ims200OkBye } // End of module AtsImsIot_TP_behavior_MW_EB No newline at end of file ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn +138 −0 Original line number Diff line number Diff line Loading @@ -430,4 +430,142 @@ module AtsImsIot_TP_behavior_MW_EC { } // End of group imsAck group imsBye { /** * @desc Verify that the P-CSCF successfully processes a BYE (Originating Leg). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B and * the UE_A entity previouslyEstablishedCallWith the UE_B * } * * Expected behaviour * ensure that { * when { * the IMS_P_CSCF_A entity receives a BYE containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE * ; * from the UE_A entity * } * then { * the IMS_P_CSCF_A entity sends a BYE containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE * ; * from the IMS_E_CSCF_A entity * } * } */ function f_mtc_check_TP_MW_ECSCF_BYE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the BYE p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipRequest(mw_TP_MW_ECSCF_BYE_01( p_sip.request.msgHeader.callId, -, // New CSeq -, // FIXME To be set p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField )) }, { mw_SipRequest(mw_BYE_Request_Base) }, { 0, omit }, "TP_MW_ECSCF_BYE_01 - Request", true, p_checkMessage ) ); p_monitorCompRef.done; // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } } // End of function f_mtc_check_TP_MW_ECSCF_BYE_01 } // End of group imsBye group ims200OkBye { /** * @desc Verify that the P-CSCF successfully processes a 200 (OK) BYE (Originating Leg). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B * } * * Expected behaviour * ensure that { * when { * the IMS_P_CSCF_A entity sends a 200_Ok containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE, * not PChargingVector, * not PChargingFunctionAddresses, * not PPreferredIdentity * ; * to the IMS_E_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends a 200_Ok containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE, * not PChargingVector, * not PChargingFunctionAddresses, * not PPreferredIdentity * ; * to the UE_A entity * } * } */ function f_mtc_check_TP_MW_ECSCF_200OK_BYE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 200 OK BYE p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipResponse(mw_200OK( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.callId, p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField )) }, { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, "TP_MW_ECSCF_200OK_BYE_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_MW_ECSCF_200OK_BYE_01 } // End of group ims200OkBye } // End of module AtsImsIot_TP_behavior_MW_EC No newline at end of file ttcn/AtsImsIot/AtsImsIot_Templates_MW.ttcn +54 −0 Original line number Diff line number Diff line Loading @@ -1027,6 +1027,33 @@ module AtsImsIot_Templates_MW { } } // End of template mw_TP_MW_ECSCF_ACK_02 template (present) BYE_Request mw_TP_MW_ECSCF_BYE_01( // TODO To be enforced template (present) CallId p_callId := ?, template (present) CSeq p_cSeq := ?, template (present) SipUrl p_bye_uri := ?, template (present) From p_from := ?, template (present) To p_to := ? ) modifies mw_BYE_Request_Base := { requestLine := { method := BYE_E, requestUri := p_bye_uri, // @TODO sipVersion := c_sipNameVersion }, msgHeader := { callId := p_callId, fromField := p_from, toField := p_to, route := { fieldName := ROUTE_E, routeBody := { *, ?, * } } } } // End of template mw_TP_MW_PCSCF_BYE_01 } group g_ibcf { Loading Loading @@ -1134,6 +1161,33 @@ module AtsImsIot_Templates_MW { } } // End of template mw_TP_MW_IBCF_ACK_01 template (present) BYE_Request mw_TP_MW_IBCF_BYE_01( // TODO To be enforced template (present) CallId p_callId := ?, template (present) CSeq p_cSeq := ?, template (present) SipUrl p_bye_uri := ?, template (present) From p_from := ?, template (present) To p_to := ? ) modifies mw_BYE_Request_Base := { requestLine := { method := BYE_E, requestUri := p_bye_uri, // @TODO sipVersion := c_sipNameVersion }, msgHeader := { callId := p_callId, fromField := p_from, toField := p_to, route := { fieldName := ROUTE_E, routeBody := { *, ?, * } } } } // End of template mw_TP_MW_IBCF_BYE_01 } } // End of module AtsImsIot_Templates_MW No newline at end of file ttcn/AtsImsIot/AtsImsIot_TestConfiguration.ttcn +1 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ module AtsImsIot_TestConfiguration { const charstring c_trigger_B := "User B"; //* eut trigger name User A const charstring c_userUE_A := "User A"; const charstring c_userUE_A_emergency := "User A Emergency"; const charstring c_userUE_A2 := "User A2"; //* eut trigger name User B const charstring c_userUE_B := "User B"; Loading Loading
ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +576 −26 File changed.Preview size limit exceeded, changes collapsed. Show changes
ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EB.ttcn +238 −28 Original line number Diff line number Diff line Loading @@ -358,6 +358,72 @@ module AtsImsIot_TP_behavior_MW_EB { } } // End of function f_mtc_check_TP_MW_IBCF_200OK_01 /** * @desc Verify that the E-CSCF successfully processes a 200 (Ok) provisional response on initial INVITE (Terminating Leg). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B * } * * Expected behaviour * ensure that { * when { * the IMS_E_CSCF_A entity receives a 200_Ok containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE, * PChargingVector, * PChargingFunctionAddresses, * PPreferredIdentity * ; * from the UE_B entity * } * then { * the IMS_E_CSCF_A entity sends a 200_Ok containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE, * not PChargingVector, * not PChargingFunctionAddresses, * not PPreferredIdentity * ; * from the IMS_P_CSCF_B entity * } * } */ function f_mtc_check_TP_MW_IBCF_200OK_02( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 200 OK p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipResponse(mw_200OK( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.callId, p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField )) }, { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, "TP_MW_IBCF_200OK_02", false, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_MW_IBCF_200OK_02 } // End of group ims200Ok group imsAck { Loading Loading @@ -425,4 +491,148 @@ module AtsImsIot_TP_behavior_MW_EB { } // End of group imsAck group imsBye { /** * @desc Verify that the E-CSCF successfully processes a BYE (Terminating Leg). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B and * the UE_A entity previouslyEstablishedCallWith the UE_B * } * * Expected behaviour * ensure that { * when { * the IMS_E_CSCF_A entity receives a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE * ; * from the IMS_P_CSCF_A entity * } * then { * the IMS_E_CSCF_A entity sends a BYE containing * From indicating value PX_UE_B_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_B_CALLID, * Via indicating value PX_UE_B_VIA, * Route indicating value PX_UE_B_SERVICE_ROUTE * ; * from the IMS_IBCF_A entity * } * } */ function f_mtc_check_TP_MW_IBCF_BYE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the BYE p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipRequest(mw_TP_MW_IBCF_BYE_01( p_sip.request.msgHeader.callId, -, // New CSeq, -, // FIXME To be set { fieldName := FROM_E, addressField := p_sip.request.msgHeader.toField.addressField, fromParams := * }, //p_sip.request.msgHeader.fromField, { fieldName := TO_E, addressField := p_sip.request.msgHeader.fromField.addressField, toParams := * } //p_sip.request.msgHeader.toField )) }, { mw_SipRequest(mw_BYE_Request_Base) }, { 0, omit }, "TP_MW_IBCF_BYE_01 - Request", true, p_checkMessage ) ); p_monitorCompRef.done; // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } } // End of function f_mtc_check_TP_MW_IBCF_BYE_01 } // End of group imsBye group ims200OkBye { /** * @desc Verify that the E-CSCF successfully processes a 200 (OK) BYE (Originating Leg). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B * } * * Expected behaviour * ensure that { * when { * the IMS_E_CSCF_A entity sends a 200_Ok containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE, * not PChargingVector, * not PChargingFunctionAddresses, * not PPreferredIdentity * to the IMS_IBCF_A entity * } * then { * the IMS_E_CSCF_A entity sends a 200_Ok containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE, * not PChargingVector, * not PChargingFunctionAddresses, * not PPreferredIdentity * to the IMS_P_CSCF_A entity * } * } */ function f_mtc_check_TP_MW_IBCF_200OK_BYE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 200 OK BYE p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipResponse(mw_200OK( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.callId, p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField )) }, { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, "TP_MW_IBCF_200OK_BYE_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_MW_IBCF_200OK_BYE_01 } // End of group ims200OkBye } // End of module AtsImsIot_TP_behavior_MW_EB No newline at end of file
ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn +138 −0 Original line number Diff line number Diff line Loading @@ -430,4 +430,142 @@ module AtsImsIot_TP_behavior_MW_EC { } // End of group imsAck group imsBye { /** * @desc Verify that the P-CSCF successfully processes a BYE (Originating Leg). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B and * the UE_A entity previouslyEstablishedCallWith the UE_B * } * * Expected behaviour * ensure that { * when { * the IMS_P_CSCF_A entity receives a BYE containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE * ; * from the UE_A entity * } * then { * the IMS_P_CSCF_A entity sends a BYE containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE * ; * from the IMS_E_CSCF_A entity * } * } */ function f_mtc_check_TP_MW_ECSCF_BYE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the BYE p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipRequest(mw_TP_MW_ECSCF_BYE_01( p_sip.request.msgHeader.callId, -, // New CSeq -, // FIXME To be set p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField )) }, { mw_SipRequest(mw_BYE_Request_Base) }, { 0, omit }, "TP_MW_ECSCF_BYE_01 - Request", true, p_checkMessage ) ); p_monitorCompRef.done; // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } } // End of function f_mtc_check_TP_MW_ECSCF_BYE_01 } // End of group imsBye group ims200OkBye { /** * @desc Verify that the P-CSCF successfully processes a 200 (OK) BYE (Originating Leg). * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and * the UE_B entity isAttachedTo the EPC_B and * the UE_A entity isRegisteredTo the IMS_A and * the UE_B entity isRegisteredTo the IMS_B * } * * Expected behaviour * ensure that { * when { * the IMS_P_CSCF_A entity sends a 200_Ok containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE, * not PChargingVector, * not PChargingFunctionAddresses, * not PPreferredIdentity * ; * to the IMS_E_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends a 200_Ok containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_B_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE, * not PChargingVector, * not PChargingFunctionAddresses, * not PPreferredIdentity * ; * to the UE_A entity * } * } */ function f_mtc_check_TP_MW_ECSCF_200OK_BYE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 200 OK BYE p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipResponse(mw_200OK( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.callId, p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField )) }, { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, "TP_MW_ECSCF_200OK_BYE_01", false, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_MW_ECSCF_200OK_BYE_01 } // End of group ims200OkBye } // End of module AtsImsIot_TP_behavior_MW_EC No newline at end of file
ttcn/AtsImsIot/AtsImsIot_Templates_MW.ttcn +54 −0 Original line number Diff line number Diff line Loading @@ -1027,6 +1027,33 @@ module AtsImsIot_Templates_MW { } } // End of template mw_TP_MW_ECSCF_ACK_02 template (present) BYE_Request mw_TP_MW_ECSCF_BYE_01( // TODO To be enforced template (present) CallId p_callId := ?, template (present) CSeq p_cSeq := ?, template (present) SipUrl p_bye_uri := ?, template (present) From p_from := ?, template (present) To p_to := ? ) modifies mw_BYE_Request_Base := { requestLine := { method := BYE_E, requestUri := p_bye_uri, // @TODO sipVersion := c_sipNameVersion }, msgHeader := { callId := p_callId, fromField := p_from, toField := p_to, route := { fieldName := ROUTE_E, routeBody := { *, ?, * } } } } // End of template mw_TP_MW_PCSCF_BYE_01 } group g_ibcf { Loading Loading @@ -1134,6 +1161,33 @@ module AtsImsIot_Templates_MW { } } // End of template mw_TP_MW_IBCF_ACK_01 template (present) BYE_Request mw_TP_MW_IBCF_BYE_01( // TODO To be enforced template (present) CallId p_callId := ?, template (present) CSeq p_cSeq := ?, template (present) SipUrl p_bye_uri := ?, template (present) From p_from := ?, template (present) To p_to := ? ) modifies mw_BYE_Request_Base := { requestLine := { method := BYE_E, requestUri := p_bye_uri, // @TODO sipVersion := c_sipNameVersion }, msgHeader := { callId := p_callId, fromField := p_from, toField := p_to, route := { fieldName := ROUTE_E, routeBody := { *, ?, * } } } } // End of template mw_TP_MW_IBCF_BYE_01 } } // End of module AtsImsIot_Templates_MW No newline at end of file
ttcn/AtsImsIot/AtsImsIot_TestConfiguration.ttcn +1 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ module AtsImsIot_TestConfiguration { const charstring c_trigger_B := "User B"; //* eut trigger name User A const charstring c_userUE_A := "User A"; const charstring c_userUE_A_emergency := "User A Emergency"; const charstring c_userUE_A2 := "User A2"; //* eut trigger name User B const charstring c_userUE_B := "User B"; Loading