1 | /**
|
---|
2 | * @author STF 370
|
---|
3 | * @version $Id:$
|
---|
4 | * @desc This module provides trigger and configuration functions for IMS.
|
---|
5 | */
|
---|
6 | module LibIms_UpperTester {
|
---|
7 |
|
---|
8 |
|
---|
9 | import from LibIot_Functions {function f_sendEquipmentCmd;}
|
---|
10 |
|
---|
11 | import from LibUpperTester {
|
---|
12 | template m_EQ_Request;
|
---|
13 | type EquipmentCommand;
|
---|
14 | }
|
---|
15 |
|
---|
16 | import from LibIot_TestInterface {type TestCoordinator, EquipmentUser;}
|
---|
17 |
|
---|
18 | group ue {
|
---|
19 | group ueTypes {
|
---|
20 | group ueCommands {
|
---|
21 |
|
---|
22 | /**
|
---|
23 | * @desc Command to trigger registration of the UE
|
---|
24 | * @remark
|
---|
25 | * Note that the registration trigger command needs has
|
---|
26 | * additional parameter for the public, private user id and
|
---|
27 | * password.
|
---|
28 | * @remark
|
---|
29 | * Note that the user friendly application and the upper test
|
---|
30 | * adapter may need to be uparaded if new messages are added.
|
---|
31 | */
|
---|
32 | const EquipmentCommand c_UE_REGISTRATION := "UE_REGISTRATION";
|
---|
33 | const EquipmentCommand c_UE_CHECKisREGISTERED := "UE_CHECK_IS_REGISTER";
|
---|
34 | const EquipmentCommand c_UE_CHECKisnotREGISTERED := "UE_CHECK_IS_NOT_REGISTERED";
|
---|
35 | const EquipmentCommand c_UE_CHECK_CALLisINITIALIZED := "UE_CHECK_CALL_IS_INITIALIZED";
|
---|
36 | const EquipmentCommand c_UE_CHECK_CALLisANSWERED := "UE_CHECK_CALL_IS_ANSWERED";
|
---|
37 | const EquipmentCommand c_UE_CHECK_CALLisENDED := "UE_CHECK_CALL_IS_ENDED";
|
---|
38 | const EquipmentCommand c_UE_CHECK_NEWMEDIASTREAMisADDED := "UE_CHECK_NEW_MEDIA_STREAM_IS_ADDED";
|
---|
39 | const EquipmentCommand c_UE_CHECK_REMOVEMEDIASTREAMisADDED := "UE_CHECK_NEW_MEDIA_STREAM_IS_REMOVED";
|
---|
40 |
|
---|
41 |
|
---|
42 | /**
|
---|
43 | *
|
---|
44 | * @desc Command to trigger de-registration of the UE
|
---|
45 | */
|
---|
46 | const EquipmentCommand c_UE_DEREGISTRATION := "UE_DEREGISTRATION";
|
---|
47 |
|
---|
48 | /**
|
---|
49 | * @desc Command to trigger UE to send a message
|
---|
50 | */
|
---|
51 | const EquipmentCommand c_UE_SEND_MESSAGE := "UE_SEND_MESSAGE";
|
---|
52 |
|
---|
53 | /**
|
---|
54 | * @desc Command to check if UE has receipt of a message
|
---|
55 | */
|
---|
56 | const EquipmentCommand c_UE_CHECK_MESSAGE_RECEIPT := "UE_CHECK_MESSAGE_RECEIPT";
|
---|
57 |
|
---|
58 |
|
---|
59 | /**
|
---|
60 | * @desc Command to check if UE is informed about that the message request could not be delivered.
|
---|
61 | */
|
---|
62 | const EquipmentCommand c_UE_CHECK_MESSAGE_NOT_DELIVERED := "UE_CHECK_MESSAGE_NOT_DELIVERED";
|
---|
63 | }
|
---|
64 | }
|
---|
65 |
|
---|
66 | group ueFunctions {
|
---|
67 |
|
---|
68 |
|
---|
69 | /**
|
---|
70 | *
|
---|
71 | * @desc Triggers registration of a given user via UE
|
---|
72 | * @param p_publicId The public user identity
|
---|
73 | * @param p_privateId The private user identity
|
---|
74 | * @param p_pw The users password
|
---|
75 | * @verdict e2e verdict will be set depending on the result of trigger action
|
---|
76 | */
|
---|
77 | function f_userRegistration(in charstring p_publicId, in charstring p_privateId, in charstring p_pw)
|
---|
78 | runs on EquipmentUser {
|
---|
79 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_REGISTRATION, {p_publicId, p_privateId, p_pw})));
|
---|
80 | }
|
---|
81 |
|
---|
82 | function f_checkUserIsRegistered()
|
---|
83 | runs on EquipmentUser {
|
---|
84 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECKisREGISTERED, {})));
|
---|
85 | }
|
---|
86 | function f_checkUserIsNotRegistered()
|
---|
87 | runs on EquipmentUser {
|
---|
88 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECKisnotREGISTERED, {})));
|
---|
89 | }
|
---|
90 | function f_checkUserCallIsInitiated()
|
---|
91 | runs on EquipmentUser {
|
---|
92 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_CALLisINITIALIZED, {})));
|
---|
93 | }
|
---|
94 | function f_checkUserCallIsAnswered()
|
---|
95 | runs on EquipmentUser {
|
---|
96 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_CALLisANSWERED, {})));
|
---|
97 | }
|
---|
98 | function f_checkUserCallIsEnded()
|
---|
99 | runs on EquipmentUser {
|
---|
100 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_CALLisENDED, {})));
|
---|
101 | }
|
---|
102 | function f_checkUserAddNewMediaStream()
|
---|
103 | runs on EquipmentUser {
|
---|
104 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_NEWMEDIASTREAMisADDED, {})));
|
---|
105 | }
|
---|
106 | function f_checkUserRemoveNewMediaStream()
|
---|
107 | runs on EquipmentUser {
|
---|
108 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_REMOVEMEDIASTREAMisADDED, {})));
|
---|
109 | }
|
---|
110 | /**
|
---|
111 | *
|
---|
112 | * @desc Triggers de-registration of a given user via UE
|
---|
113 | * @param p_publicId The public user name
|
---|
114 | * @verdict e2e verdict will be set depending on the result of trigger action
|
---|
115 | */
|
---|
116 | function f_userDeregistration(in charstring p_publicId)
|
---|
117 | runs on EquipmentUser {
|
---|
118 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_DEREGISTRATION, {p_publicId})));
|
---|
119 | }
|
---|
120 |
|
---|
121 | /**
|
---|
122 | *
|
---|
123 | * @desc Trigger sending an instant message via UE
|
---|
124 | */
|
---|
125 | function f_userSendMessage(in charstring p_body)
|
---|
126 | runs on EquipmentUser {
|
---|
127 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_SEND_MESSAGE, {p_body})));
|
---|
128 | }
|
---|
129 |
|
---|
130 | /**
|
---|
131 | *
|
---|
132 | * @desc Trigger checking the receipt of instant message at UE
|
---|
133 | */
|
---|
134 | function f_userCheckMessageReceipt() runs on EquipmentUser {
|
---|
135 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_MESSAGE_RECEIPT, {})));
|
---|
136 | }
|
---|
137 |
|
---|
138 | /**
|
---|
139 | *
|
---|
140 | * @desc Trigger checking the receipt of instant message at UE
|
---|
141 | */
|
---|
142 | function f_userCheckMessageNotDelivered() runs on EquipmentUser {
|
---|
143 | f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_MESSAGE_NOT_DELIVERED, {})));
|
---|
144 | }
|
---|
145 | }
|
---|
146 | }
|
---|
147 |
|
---|
148 | group LibUEModuleParameters {
|
---|
149 |
|
---|
150 | /**
|
---|
151 | *
|
---|
152 | * @desc Required information for user components
|
---|
153 | * @member publicId public user identity
|
---|
154 | * @member privateId private user identity
|
---|
155 | * @member password user password
|
---|
156 | * @member domain Home domain of user
|
---|
157 | * @member domainProxy Entry point to either home or roaming IMS network
|
---|
158 | */
|
---|
159 | type record ImsUserInfo {
|
---|
160 | charstring publicId, // (default) id to be used by UE
|
---|
161 | charstring privateId,
|
---|
162 | charstring password,
|
---|
163 | charstring domain,
|
---|
164 | charstring domainProxy
|
---|
165 | }
|
---|
166 |
|
---|
167 | type union ImsUserIdentity {
|
---|
168 | ImsUserInfo genUserId,
|
---|
169 | ImsUserInfo sipUserId,
|
---|
170 | ImsUserInfo telUserId,
|
---|
171 | ImsUserInfo noasUserId,
|
---|
172 | ImsUserInfo holdUserId,
|
---|
173 | ImsUserInfo oipUserId,
|
---|
174 | ImsUserInfo oirUserId,
|
---|
175 | ImsUserInfo acrUserId,
|
---|
176 | ImsUserInfo cfuUserId,
|
---|
177 | ImsUserInfo presUserId,
|
---|
178 | ImsUserInfo iptvUserId
|
---|
179 | }
|
---|
180 |
|
---|
181 | /**
|
---|
182 | *
|
---|
183 | * @desc List of IMS user information
|
---|
184 | */
|
---|
185 | type record of ImsUserIdentity ImsUserIdentityList ;
|
---|
186 |
|
---|
187 | /**
|
---|
188 | *
|
---|
189 | * @desc The record collects IMS user information configured in one specific core IMS
|
---|
190 | * @member productIndex index pointing to the entry of the core IMS product in PX_PRODUCTS
|
---|
191 | * @member userInfos Lists information about all users configured in the HSS of this core IMS
|
---|
192 | */
|
---|
193 | type record CoreImsUserInfo {
|
---|
194 | integer productIndex,
|
---|
195 | ImsUserIdentityList userIds
|
---|
196 | }
|
---|
197 |
|
---|
198 | /**
|
---|
199 | *
|
---|
200 | * @desc Collects IMS user information configured in all core IMS participating in the interoperability event
|
---|
201 | */
|
---|
202 | type record of CoreImsUserInfo CoreImsUserInfoList;
|
---|
203 |
|
---|
204 |
|
---|
205 | /**
|
---|
206 | *
|
---|
207 | * @desc Example of module parameter based entry of EUT interface information for all products particpating in an interoperability event
|
---|
208 | */
|
---|
209 | modulepar CoreImsUserInfoList PX_IMS_USER_DATA := {
|
---|
210 | {
|
---|
211 | productIndex := 0, // Ericsson
|
---|
212 | userIds := {
|
---|
213 | {
|
---|
214 | genUserId := {
|
---|
215 | publicId := "userGEN",
|
---|
216 | privateId := "userGEN_priv",
|
---|
217 | password := "123456",
|
---|
218 | domain := "ericsson.etsi",
|
---|
219 | domainProxy := "pcscf.ericsson.etsi" //pcscf domain or IPaddress
|
---|
220 |
|
---|
221 | }},
|
---|
222 | {
|
---|
223 | sipUserId := {
|
---|
224 | publicId := "userSIP",
|
---|
225 | privateId := "userSIP_priv",
|
---|
226 | password := "123456",
|
---|
227 | domain := "ericsson.etsi",
|
---|
228 | domainProxy := "pcscf.ericsson.etsi" //pcscf domain or IPaddress
|
---|
229 |
|
---|
230 | }},
|
---|
231 | {
|
---|
232 | telUserId := {
|
---|
233 | publicId := "tel: 3344123432",
|
---|
234 | privateId := "userTEL_priv",
|
---|
235 | password := "123456",
|
---|
236 | domain := "ericsson.etsi",
|
---|
237 | domainProxy := "pcscf.ericsson.etsi" //pcscf domain or IPaddress
|
---|
238 | }}
|
---|
239 | }
|
---|
240 | },
|
---|
241 | {
|
---|
242 | productIndex := 1, // Thomson
|
---|
243 | userIds := {
|
---|
244 | {
|
---|
245 | genUserId := {
|
---|
246 | publicId := "userSIP",
|
---|
247 | privateId := "userSIP_priv",
|
---|
248 | password := "123456",
|
---|
249 | domain := "thomson.etsi",
|
---|
250 | domainProxy := "pcscf.thomson.etsi" //pcscf domain or IPaddress
|
---|
251 |
|
---|
252 | }},
|
---|
253 | {
|
---|
254 | sipUserId := {
|
---|
255 | publicId := "userSIP",
|
---|
256 | privateId := "userSIP_priv",
|
---|
257 | password := "123456",
|
---|
258 | domain := "thomson.etsi",
|
---|
259 | domainProxy := "pcscf.thomson.etsi" //pcscf domain or IPaddress
|
---|
260 | }},
|
---|
261 | {
|
---|
262 | telUserId := {
|
---|
263 | publicId := "tel: 3344123443",
|
---|
264 | privateId := "userTEL_priv",
|
---|
265 | password := "123456",
|
---|
266 | domain := "thomson.etsi",
|
---|
267 | domainProxy := "pcscf.thomson.etsi" //pcscf domain or IPaddress
|
---|
268 | }}
|
---|
269 | }
|
---|
270 | },
|
---|
271 | {
|
---|
272 | productIndex := 2, // NSN
|
---|
273 | userIds := {
|
---|
274 | {
|
---|
275 | genUserId := {
|
---|
276 | publicId := "userGEN",
|
---|
277 | privateId := "userGEN_priv",
|
---|
278 | password := "123456",
|
---|
279 | domain := "nsn.etsi",
|
---|
280 | domainProxy := "pcscf.nsn.etsi" //pcscf domain or IPaddress
|
---|
281 |
|
---|
282 | }},
|
---|
283 | {
|
---|
284 | sipUserId := {
|
---|
285 | publicId := "userSIP",
|
---|
286 | privateId := "userSIP_priv",
|
---|
287 | password := "123456",
|
---|
288 | domain := "nsn.etsi",
|
---|
289 | domainProxy := "pcscf.nsn.etsi" //pcscf domain or IPaddress
|
---|
290 | }},
|
---|
291 | {
|
---|
292 | telUserId := {
|
---|
293 | publicId := "tel: 3344123443",
|
---|
294 | privateId := "userTEL_priv",
|
---|
295 | password := "123456",
|
---|
296 | domain := "nsn.etsi",
|
---|
297 | domainProxy := "pcscf.nsn.etsi" //pcscf domain or IPaddress
|
---|
298 | }}
|
---|
299 | }
|
---|
300 | },
|
---|
301 | {
|
---|
302 | productIndex := 3, // Italtel
|
---|
303 | userIds := {
|
---|
304 | {
|
---|
305 | genUserId := {
|
---|
306 | publicId := "userGEN",
|
---|
307 | privateId := "userGEN_priv",
|
---|
308 | password := "123456",
|
---|
309 | domain := "italtel.etsi",
|
---|
310 | domainProxy := "pcscf.italtel.etsi" //pcscf domain or IPaddress
|
---|
311 |
|
---|
312 | }},
|
---|
313 | {
|
---|
314 | sipUserId := {
|
---|
315 | publicId := "userSIP",
|
---|
316 | privateId := "userSIP_priv",
|
---|
317 | password := "123456",
|
---|
318 | domain := "italtel.etsi",
|
---|
319 | domainProxy := "pcscf.italtel.etsi" //pcscf domain or IPaddress
|
---|
320 | }},
|
---|
321 | {
|
---|
322 | telUserId := {
|
---|
323 | publicId := "tel: 3344123443",
|
---|
324 | privateId := "userTEL_priv",
|
---|
325 | password := "123456",
|
---|
326 | domain := "italtel.etsi",
|
---|
327 | domainProxy := "pcscf.italtel.etsi" //pcscf domain or IPaddress
|
---|
328 | }}
|
---|
329 | }
|
---|
330 | },
|
---|
331 | {
|
---|
332 | productIndex := 4, // EXFO
|
---|
333 | userIds := {
|
---|
334 | {
|
---|
335 | genUserId := {
|
---|
336 | publicId := "userGEN",
|
---|
337 | privateId := "userGEN_priv",
|
---|
338 | password := "123456",
|
---|
339 | domain := "exfo.etsi",
|
---|
340 | domainProxy := "pcscf.exfo.etsi" //pcscf domain or IPaddress
|
---|
341 |
|
---|
342 | }},
|
---|
343 | {
|
---|
344 | sipUserId := {
|
---|
345 | publicId := "userSIP",
|
---|
346 | privateId := "userSIP_priv",
|
---|
347 | password := "123456",
|
---|
348 | domain := "exfo.etsi",
|
---|
349 | domainProxy := "pcscf.exfo.etsi" //pcscf domain or IPaddress
|
---|
350 | }},
|
---|
351 | {
|
---|
352 | telUserId := {
|
---|
353 | publicId := "tel: 3344123443",
|
---|
354 | privateId := "userTEL_priv",
|
---|
355 | password := "123456",
|
---|
356 | domain := "exfo.etsi",
|
---|
357 | domainProxy := "pcscf.exfo.etsi" //pcscf domain or IPaddress
|
---|
358 | }}
|
---|
359 | }
|
---|
360 | },
|
---|
361 | {
|
---|
362 | productIndex := 5, // Iskratel
|
---|
363 | userIds := {
|
---|
364 | {
|
---|
365 | genUserId := {
|
---|
366 | publicId := "userGEN",
|
---|
367 | privateId := "userGEN_priv",
|
---|
368 | password := "123456",
|
---|
369 | domain := "iskratel.etsi",
|
---|
370 | domainProxy := "pcscf.iskratel.etsi" //pcscf domain or IPaddress
|
---|
371 |
|
---|
372 | }},
|
---|
373 | {
|
---|
374 | sipUserId := {
|
---|
375 | publicId := "userSIP",
|
---|
376 | privateId := "userSIP_priv",
|
---|
377 | password := "123456",
|
---|
378 | domain := "iskratel.etsi",
|
---|
379 | domainProxy := "pcscf.iskratel.etsi" //pcscf domain or IPaddress
|
---|
380 | }},
|
---|
381 | {
|
---|
382 | telUserId := {
|
---|
383 | publicId := "tel: 3344123443",
|
---|
384 | privateId := "userTEL_priv",
|
---|
385 | password := "123456",
|
---|
386 | domain := "iskratel.etsi",
|
---|
387 | domainProxy := "pcscf.iskratel.etsi" //pcscf domain or IPaddress
|
---|
388 | }}
|
---|
389 | }
|
---|
390 | },
|
---|
391 | {
|
---|
392 | productIndex := 6, // Testing Tech IMS Core
|
---|
393 | userIds := {
|
---|
394 | {
|
---|
395 | genUserId := {
|
---|
396 | publicId := "userGEN",
|
---|
397 | privateId := "userGEN_priv",
|
---|
398 | password := "123456",
|
---|
399 | domain := "testingtech.com",
|
---|
400 | domainProxy := "pcscf.testingtech.com" //pcscf domain or IPaddress
|
---|
401 |
|
---|
402 | }},
|
---|
403 | {
|
---|
404 | sipUserId := {
|
---|
405 | publicId := "userSIP",
|
---|
406 | privateId := "userSIP_priv",
|
---|
407 | password := "123456",
|
---|
408 | domain := "testingtech.com",
|
---|
409 | domainProxy := "pcscf.testingtech.com" //pcscf domain or IPaddress
|
---|
410 | }},
|
---|
411 | {
|
---|
412 | telUserId := {
|
---|
413 | publicId := "tel: 3344123443",
|
---|
414 | privateId := "userTEL_priv",
|
---|
415 | password := "123456",
|
---|
416 | domain := "testingtech.com",
|
---|
417 | domainProxy := "pcscf.testingtech.com" //pcscf domain or IPaddress
|
---|
418 | }}
|
---|
419 | }
|
---|
420 | },
|
---|
421 | {
|
---|
422 | productIndex := 7, // Acme
|
---|
423 | userIds := {
|
---|
424 | {
|
---|
425 | genUserId := {
|
---|
426 | publicId := "userGEN",
|
---|
427 | privateId := "userGEN_priv",
|
---|
428 | password := "123456",
|
---|
429 | domain := "acme.etsi",
|
---|
430 | domainProxy := "pcscf.acme.etsi" //pcscf domain or IPaddress
|
---|
431 |
|
---|
432 | }},
|
---|
433 | {
|
---|
434 | sipUserId := {
|
---|
435 | publicId := "userSIP",
|
---|
436 | privateId := "userSIP_priv",
|
---|
437 | password := "123456",
|
---|
438 | domain := "acme.etsi",
|
---|
439 | domainProxy := "acme" //pcscf domain or IPaddress
|
---|
440 | }},
|
---|
441 | {
|
---|
442 | telUserId := {
|
---|
443 | publicId := "tel: 3344123443",
|
---|
444 | privateId := "userTEL_priv",
|
---|
445 | password := "123456",
|
---|
446 | domain := "acme.etsi",
|
---|
447 | domainProxy := "pcscf.acme.etsi" //pcscf domain or IPaddress
|
---|
448 | }}
|
---|
449 | }
|
---|
450 | },
|
---|
451 | {
|
---|
452 | productIndex := 8, // Nexcom
|
---|
453 | userIds := {
|
---|
454 | {
|
---|
455 | genUserId := {
|
---|
456 | publicId := "userGEN",
|
---|
457 | privateId := "userSIP_priv",
|
---|
458 | password := "123456",
|
---|
459 | domain := "nexcom.etsi",
|
---|
460 | domainProxy := "pcscf.nexcom.etsi" //pcscf domain or IPaddress
|
---|
461 |
|
---|
462 | }},
|
---|
463 | {
|
---|
464 | sipUserId := {
|
---|
465 | publicId := "userGEN",
|
---|
466 | privateId := "userSIP_priv",
|
---|
467 | password := "123456",
|
---|
468 | domain := "nexcom.etsi",
|
---|
469 | domainProxy := "pcscf.nexcom.etsi" //pcscf domain or IPaddress
|
---|
470 | }},
|
---|
471 | {
|
---|
472 | telUserId := {
|
---|
473 | publicId := "tel: 3344123443",
|
---|
474 | privateId := "userTEL_priv",
|
---|
475 | password := "123456",
|
---|
476 | domain := "nexcom.etsi",
|
---|
477 | domainProxy := "pcscf.nexcom.etsi" //pcscf domain or IPaddress
|
---|
478 | }}
|
---|
479 | }
|
---|
480 | },
|
---|
481 | {
|
---|
482 | productIndex := 9, // Hotaro
|
---|
483 | userIds := {
|
---|
484 | {
|
---|
485 | genUserId := {
|
---|
486 | publicId := "userGEN",
|
---|
487 | privateId := "userGEN_priv",
|
---|
488 | password := "123456",
|
---|
489 | domain := "hotaro.etsi",
|
---|
490 | domainProxy := "pcscf.hotaro.etsi" //pcscf domain or IPaddress
|
---|
491 |
|
---|
492 | }},
|
---|
493 | {
|
---|
494 | sipUserId := {
|
---|
495 | publicId := "userSIP",
|
---|
496 | privateId := "userSIP_priv",
|
---|
497 | password := "123456",
|
---|
498 | domain := "hotaro.etsi",
|
---|
499 | domainProxy := "pcscf.hotaro.etsi" //pcscf domain or IPaddress
|
---|
500 | }},
|
---|
501 | {
|
---|
502 | telUserId := {
|
---|
503 | publicId := "tel: 3344123443",
|
---|
504 | privateId := "userTEL_priv",
|
---|
505 | password := "123456",
|
---|
506 | domain := "hotaro.etsi",
|
---|
507 | domainProxy := "pcscf.hotaro.etsi" //pcscf domain or IPaddress
|
---|
508 | }}
|
---|
509 | }
|
---|
510 | }
|
---|
511 | }// end modulepar
|
---|
512 | } // end group
|
---|
513 |
|
---|
514 | group eut {
|
---|
515 | }
|
---|
516 | } |
---|