Newer
Older
/*
* @author TTF T010
* @version $Id$
* @desc This module provides the TP behaviour functions at MM interface
*/
module AtsImsIot_TP_behavior_MM {
import from LibIms_Templates all;
import from LibIms_UpperTester all;
// LibIot
import from LibIot_TypesAndValues all;
import from LibIot_Functions all;
import from LibIot_TestInterface all;
import from LibIot_PIXITS all;
// LibSip
import from LibSip_SIPTypesAndValues all;
import from LibSip_Templates all;
import from LibSip_Common all;
import from LibSip_SDPTypes all;
// LibMsrp
import from LibMsrp_TypesAndValues all;
import from LibMsrp_Functions all;
import from LibMsrp_Templates all;
// AtsImsIot
import from AtsImsIot_TestSystem all;
import from AtsImsIot_Templates_MW all;
import from AtsImsIot_Templates all;
import from AtsImsIot_TypesAndValues all;
import from AtsImsIot_Functions all;
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
group imsInvite {
/**
* @desc Verify that the P-CSCF successfully processes an initial INVITE (Originating Leg)..
* Initial conditions with {
* the UE_A entity isAttachedTo the EPC_A and
* the PSAP entity isAttachedTo the EPC_B and
* the UE_A entity isRegisteredTo the IMS_A and
* the PSAP entity isRegisteredTo the IMS_B
* }
*
* Expected behaviour
* ensure that {
* when {
* the PSAP entity receives an INVITE containing
* From indicating value PX_UE_A_SIP_URI,
* To indicating value PX_PSAP_SIP_URI,
* CallId indicating value PX_UE_A_CALLID,
* Via indicating value PX_UE_A_VIA,
* Route indicating value PX_UE_A_SERVICE_ROUTE,
* PAccessNetworkInfo,
* MessageBody containing
* SDP containing
* Version indicating value "0"
* ;
* ;;
* from the IMS_EBCF_A entity
* }
* then {
* the PSAP entity sends an 100_Trying
* to the IMS_IBCF_A entity
* }
* }
*/
function f_mtc_check_TP_MM_PSAP_INVITE_01(
in SipInterfaceMonitor p_monitorCompRef,
in boolean p_checkMessage := false,
out SipMessage p_sip
) runs on ImsTestCoordinator {
if (isvalue(p_monitorCompRef)) {
var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A);
var ImsUserInfo v_userInfoB := f_getTelUserId(PX_PSAP);
// Check the INVITE
p_monitorCompRef.start(
f_Iot_Sip_receive(
{ mw_SipRequest(mw_TP_MM_PSAP_INVITE_01(
-, // FIXME Set expected value
mw_From_AddrUnion_TelUrl(-), // v_userInfoA.publicId
mw_To_AddrUnion_TelUrl(-) // v_userInfoB.publicId
))
},
{ mw_SipRequest(mw_INVITE_Request_Base) },
{0, omit},
"TP_MM_PSAP_INVITE_01 - Request",
true,
p_checkMessage
)
);
p_monitorCompRef.done;
// Retrieve messge
f_getSipMsgFromMonitor(p_monitorCompRef, p_sip);
log("##### p_sip: ", p_sip);
}
} // End of function f_mtc_check_TP_MM_PSAP_INVITE_01
} // End of group imsInvite
} // end module AtsImsIot_TP_behavior_MM