comparison src/g23m-gsm/alr2/alr_test/alr_steps.cpp @ 3:b4c81ea2d291

src/g23m-gsm/alr2: initial import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 15 Jul 2018 04:43:28 +0000
parents
children
comparison
equal deleted inserted replaced
2:e636eadcad21 3:b4c81ea2d291
1 /*
2 +------------------------------------------------------------------------------
3 | File: alr_steps.cpp
4 +------------------------------------------------------------------------------
5 | Copyright 2003 Texas Instruments
6 | All rights reserved.
7 |
8 | This file is confidential and a trade secret of Texas Instruments.
9 | The receipt of or possession of this file does not convey
10 | any rights to reproduce or disclose its contents or to
11 | manufacture, use, or sell anything it may describe, in
12 | whole, or in part, without the specific written consent of
13 | Texas Instruments.
14 +------------------------------------------------------------------------------
15 | Purpose: Contains test steps for alr
16 |
17 +------------------------------------------------------------------------------
18 */
19 #include "alr_constraints.h"
20 #include "alr_steps.h"
21
22
23
24 /*------------------------Following is for ALR000-------------------------------
25 *
26 * Description: The ALR is configured.
27 *-------------------------------------------------------------------------------*/
28
29 T_STEP filter_and_routings_gsm_900__alr000()
30 {
31 BEGIN_STEP ("filter_and_routings_gsm_900__alr000")
32 {
33 COMMAND("TAP REDIRECT CLEAR");
34 COMMAND("PL REDIRECT CLEAR");
35 COMMAND("PL REDIRECT RR TAP");
36 COMMAND("PL REDIRECT DL TAP");
37 COMMAND("PL REDIRECT L1 TAP");
38 COMMAND("TAP REDIRECT TAP PL");
39 COMMAND("PL CONFIG STD=1");
40 #ifdef GPRS
41 COMMAND("PL REDIRECT GRR TAP");
42 #endif // GPRS
43 SEND ( em_l1_event_req_2() );
44 //COMMAND("TAP PARKING ");
45
46 }
47 }
48
49 /*------------------------Following is for ALR001-------------------------------
50 *
51 * Description: RR starts a cell selection with power measurements with interruption.
52 * Four channels in the
53 * order 23, 14, 124, 1 have acceptable fieldstrength values.
54 *--------------------------------------------------------------------------------*/
55
56 T_STEP initiation_by_rr_4_channels_available_alr001()
57 {
58 BEGIN_STEP ("initiation_by_rr_4_channels_available_alr001")
59 {
60 filter_and_routings_gsm_900__alr000();
61
62 SEND ( mph_power_req_1() );
63 AWAIT ( mphc_init_l1_req_1() );
64 SEND ( mphc_init_l1_con_1() );
65 AWAIT ( mphc_rxlev_req() );
66 SEND ( mphc_rxlev_ind(RXLEV_IDX_1) );
67 AWAIT ( mphc_rxlev_req() );
68 SEND ( mphc_rxlev_ind(RXLEV_IDX_1) );
69 AWAIT ( mphc_rxlev_req() );
70 SEND ( mphc_rxlev_ind(RXLEV_IDX_1) );
71 AWAIT ( mphc_rxlev_req() );
72 SEND ( mphc_rxlev_ind(RXLEV_IDX_1) );
73 AWAIT ( mphc_rxlev_req() );
74 SEND ( mphc_rxlev_ind(RXLEV_IDX_1) );
75 AWAIT ( mph_power_cnf_1() );
76 }
77 }
78
79 /*------------------------Following is for ALR002-------------------------------
80 *
81 * Description: RR starts a cell selection with power measurements with interruption.
82 * Eight channels in the
83 * order 23, 637, 14, 580, 124, 885, 1, 512 have acceptable fieldstrength values.
84 *--------------------------------------------------------------------------------*/
85
86 T_STEP initiation_by_rr_8_channels_available_alr002()
87 {
88 BEGIN_STEP ("initiation_by_rr_4_channels_available_alr001")
89 {
90 filter_and_routings_dualband_gsm_900_dcs_1800__alr600();
91
92 SEND ( mph_power_req_4() );
93 AWAIT ( mphc_init_l1_req_4() );
94 SEND ( mphc_init_l1_con_1() );
95 AWAIT ( mphc_rxlev_req() );
96 SEND ( mphc_rxlev_ind(RXLEV_IDX_DUAL) );
97 AWAIT ( mphc_rxlev_req() );
98 SEND ( mphc_rxlev_ind(RXLEV_IDX_DUAL) );
99 AWAIT ( mphc_rxlev_req() );
100 SEND ( mphc_rxlev_ind(RXLEV_IDX_DUAL) );
101 AWAIT ( mphc_rxlev_req() );
102 SEND ( mphc_rxlev_ind(RXLEV_IDX_DUAL) );
103 AWAIT ( mphc_rxlev_req() );
104 SEND ( mphc_rxlev_ind(RXLEV_IDX_DUAL) );
105 AWAIT ( mph_power_cnf_5() );
106 }
107 }
108
109 /*------------------------Following is for ALR1018-------------------------------
110 *
111 * Description:RR configured for idle mode and recieves measurements
112 * for the neighbouring cells and serving cell
113 *
114 *-------------------------------------------------------------------------------*/
115
116 T_STEP configuring_ms_for_idle_mode_and_meas()
117 {
118 BEGIN_STEP ("configuring_ms_for_idle_mode_and_meas")
119 {
120 SEND ( mph_classmark_req_3() );
121 SEND ( mph_idle_req_10() );
122 AWAIT ( mphc_stop_scell_bcch_req() );
123 AWAIT ( mphc_start_ccch_req_10() );
124 AWAIT ( mphc_scell_nbcch_req_full() );
125 SEND ( mph_identity_req_1() );
126 SEND ( mph_cbch_req_1() );
127 SEND ( mph_neighbourcell_req_7A('A') );
128 AWAIT ( mphc_rxlev_periodic_req_21() );
129 SEND ( mphc_rxlev_periodic_ind_9A(50,40) );
130 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_512) );
131 SEND ( mphc_ncell_sync_ind(ARFCN_512,FN_OFF_ARFCN_512,TIME_ALIGNMT_512,BSIC_10));
132 AWAIT ( mphc_ncell_bcch_req(ARFCN_512,FN_OFF_ARFCN_512,TIME_ALIGNMT_512,BSIC_10));
133 SEND ( mphc_rxlev_periodic_ind_9A(50,40) );
134 SEND ( mph_meas_rep_req(NC_START_MEAS) );
135 SEND ( mphc_rxlev_periodic_ind_9A(40,30) );
136 MUTE (10);
137 SEND ( mphc_rxlev_periodic_ind_9A(50,40) );
138 AWAIT ( mph_measurement_ind_36() );
139 MUTE (10);
140 SEND ( mphc_rxlev_periodic_ind_9A(40,30) );
141 MUTE (10);
142 SEND ( mph_meas_rep_req(NC_REPORT_MEAS) );
143 AWAIT ( mph_measurement_ind_36() );
144 AWAIT ( mph_meas_rep_cnf_sc() );
145 SEND ( mph_meas_rep_req(NC_STOP_MEAS) );
146 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_512) );
147 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_512));
148 SEND ( mph_meas_rep_req(NC_START_MEAS) );
149 SEND ( mphc_rxlev_periodic_ind_9A(40,30) );
150 SEND ( mphc_rxlev_periodic_ind_9A(50,40) );
151 AWAIT ( mph_measurement_ind_36() );
152 SEND ( mphc_rxlev_periodic_ind_9A(40,30) );
153 AWAIT ( mph_unitdata_ind_si3(ARFCN_512) );
154 SEND ( mph_meas_rep_req(NC_REPORT_MEAS) );
155 AWAIT ( mph_meas_rep_cnf_sc_n1() );
156 }
157 }
158
159 /*------------------------Following is for ALR003-------------------------------
160 *
161 * Description: The carrier with the highest fieldstrength (channel 23) is selected
162 * for synchronizing to frequency correction burst and synchron burst.
163 *-------------------------------------------------------------------------------*/
164
165 T_STEP find_bcch_carrier_first_channel_alr003()
166 {
167 BEGIN_STEP ("find_bcch_carrier_first_channel_alr003")
168 {
169
170 SEND ( mph_bsic_req(ARFCN_23_STD_900) );
171 AWAIT ( mphc_network_sync_req(ARFCN_23, SM_WIDE_MODE) );
172 SEND ( mphc_network_sync_ind_1() );
173 AWAIT ( mph_bsic_cnf_1() );
174 AWAIT ( mphc_new_scell_req_1() );
175 SEND ( mphc_new_scell_con_1() );
176 AWAIT ( mphc_scell_nbcch_req_full() );
177 }
178 }
179
180 /*------------------------Following is for ALR004-------------------------------
181 *
182 * Description: The carrier with the highest fieldstrength (channel 23) is selected for synchronizing to
183 * frequency correction burst and synchron burst. The attempt failed. A second request is
184 * started for the next strongest channel (channel 14).
185 *-------------------------------------------------------------------------------*/
186
187 T_STEP find_bcch_carrier_first_channel_failed_then_second_channel_alr004()
188 {
189 BEGIN_STEP ("find_bcch_carrier_first_channel_failed_then_second_channel_alr004")
190 {
191 SEND ( mph_bsic_req(ARFCN_23_STD_900) );
192 AWAIT ( mphc_network_sync_req(ARFCN_23, SM_WIDE_MODE) );
193 SEND ( mphc_network_sync_ind_failed(ARFCN_23) );
194 AWAIT ( mph_bsic_cnf_failed(ARFCN_23_STD_900) );
195 SEND ( mph_bsic_req(ARFCN_14_STD_900) );
196 AWAIT ( mphc_network_sync_req(ARFCN_14, SM_WIDE_MODE) );
197 }
198 }
199
200
201
202 /*------------------------Following is for ALR006-------------------------------
203 *
204 * Description: The next best channel (channel 14) is selected for synchronizing to frequency correction
205 * burst and synchron burst.
206 *-------------------------------------------------------------------------------*/
207
208 T_STEP find_bcch_carrier_second_channel_alr006()
209 {
210 BEGIN_STEP ("find_bcch_carrier_second_channel_alr006")
211 {
212 SEND ( mphc_network_sync_ind_6() );
213 AWAIT ( mph_bsic_cnf_6() );
214 AWAIT ( mphc_new_scell_req_2() );
215 SEND ( mphc_new_scell_con_1() );
216 AWAIT ( mphc_scell_nbcch_req_full() );
217 }
218 }
219
220
221
222 /*------------------------Following is for ALR007-------------------------------
223 *
224 * Description: The BCCH data blocks are read for the channel 23.
225 *-------------------------------------------------------------------------------*/
226
227 T_STEP read_bcch_data_alr007()
228 {
229 BEGIN_STEP ("read_bcch_data_alr007")
230 {
231 SEND ( mphc_data_ind_1() );
232 AWAIT ( mph_unitdata_ind_si1(ARFCN_23) );
233 SEND ( mphc_data_ind_2() );
234 AWAIT ( mph_unitdata_ind_si2(ARFCN_23) );
235 SEND ( mphc_data_ind_3() );
236 AWAIT ( mph_unitdata_ind_si3(ARFCN_23) );
237 SEND ( mphc_data_ind_4() );
238 AWAIT ( mph_unitdata_ind_si4(ARFCN_23) );
239 }
240 }
241
242
243 /*------------------------Following is for ALR009-------------------------------
244 *
245 * Description: RR rejects the BCCH carrier. The next best channel (channel 124) is selected for
246 * synchronizing to frequency correction burst and synchron burst.
247 *-------------------------------------------------------------------------------*/
248
249 T_STEP rr_rejects_bcch_carrier_try_third_channel_alr009()
250 {
251 BEGIN_STEP ("rr_rejects_bcch_carrier_try_third_channel_alr009")
252 {
253 SEND ( mph_bsic_req(ARFCN_124_STD_900) );
254 AWAIT ( mphc_stop_scell_bcch_req() );
255 AWAIT ( mphc_network_sync_req(ARFCN_124, SM_NARROW_MODE) );
256 SEND ( mphc_network_sync_ind_7() );
257 AWAIT ( mph_bsic_cnf_7() );
258 AWAIT ( mphc_new_scell_req_3() );
259 SEND ( mphc_new_scell_con_1() );
260 AWAIT ( mphc_scell_nbcch_req_full() );
261 SEND ( mphc_data_ind_6() );
262 AWAIT ( mph_unitdata_ind_si1(ARFCN_124) );
263 }
264 }
265
266
267
268 /*------------------------Following is for ALR010-------------------------------
269 *
270 * Description: RR rejects the BCCH carrier. The next best channel (channel 1) is selected for synchronising
271 * to frequency correction burst and synchron burst.
272 *-------------------------------------------------------------------------------*/
273
274 T_STEP rr_rejects_bcch_carrier_try_fourth_channel_alr010()
275 {
276 BEGIN_STEP ("rr_rejects_bcch_carrier_try_fourth_channel_alr010")
277 {
278 SEND ( mph_bsic_req(ARFCN_1_STD_900) );
279 AWAIT ( mphc_stop_scell_bcch_req() );
280 AWAIT ( mphc_network_sync_req(ARFCN_1, SM_NARROW_MODE) );
281 SEND ( mphc_network_sync_ind_8() );
282 AWAIT ( mph_bsic_cnf_8() );
283 AWAIT ( mphc_new_scell_req_4() );
284 SEND ( mphc_new_scell_con_1() );
285 AWAIT ( mphc_scell_nbcch_req_full() );
286 SEND ( mphc_data_ind_7() );
287 AWAIT ( mph_unitdata_ind_si1(ARFCN_1) );
288 }
289 }
290
291
292
293 /*------------------------Following is for ALR012-------------------------------
294 *
295 * Description: RR selects the channel 14 after reading the BCCH carrier.
296 * Variant A: with neighbourcell list
297 * Variant B: with empty neighbour cell list
298 * Variant C: like A, but non-combined CCCH
299 *-------------------------------------------------------------------------------*/
300
301 T_STEP rr_select_second_channel_alr012(CHAR variant)
302 {
303 BEGIN_STEP ("rr_select_second_channel_alr012")
304 {
305 SEND ( mph_classmark_req_1() );
306 SEND ( mph_idle_req_1(variant) );
307 AWAIT ( mphc_stop_scell_bcch_req() );
308 SEND ( mphc_stop_scell_bcch_con() );
309 AWAIT ( mphc_start_ccch_req_1(variant) );
310 AWAIT ( mphc_scell_nbcch_req_full() );
311 SEND ( mph_identity_req_1() );
312 SEND ( mph_cbch_req_1() );
313 SEND ( mph_neighbourcell_req_1(variant) );
314 AWAIT ( mphc_rxlev_periodic_req_1(variant) );
315 }
316 }
317
318
319
320 /*------------------------Following is for ALR013-------------------------------
321 *
322 * Description: RR selects the channel 23 after reading the BCCH carrier.
323 *-------------------------------------------------------------------------------*/
324
325 T_STEP rr_select_first_channel_alr013()
326 {
327 BEGIN_STEP ("rr_select_first_channel_alr013")
328 {
329 SEND ( mph_classmark_req_1() );
330 SEND ( mph_idle_req_2() );
331 AWAIT ( mphc_stop_scell_bcch_req() );
332 AWAIT ( mphc_start_ccch_req_2() );
333 AWAIT ( mphc_scell_nbcch_req_full() );
334 SEND ( mph_identity_req_1() );
335 SEND ( mph_cbch_req_1() );
336 SEND ( mph_neighbourcell_req_2() );
337 AWAIT ( mphc_rxlev_periodic_req_2() );
338 }
339 }
340
341
342 T_STEP generating_six_sync_failures()
343 {
344 BEGIN_STEP ("rr_select_first_channel_alr013")
345 {
346 /* 1st Sync Failure */
347
348 SEND ( mph_bsic_req(ARFCN_124_STD_900) );
349 AWAIT(mphc_stop_scell_bcch_req() );
350 AWAIT (mphc_network_sync_req(ARFCN_124, SM_NARROW_MODE));
351 SEND ( mphc_network_sync_ind_failed(ARFCN_124) );
352 AWAIT ( mph_bsic_cnf_failed(ARFCN_124_STD_900) );
353
354 /* 2nd Sync Failure */
355
356 SEND ( mph_bsic_req(ARFCN_23_STD_900) );
357 AWAIT (mphc_network_sync_req(ARFCN_23, SM_NARROW_MODE));
358 SEND ( mphc_network_sync_ind_failed(ARFCN_23) );
359 AWAIT ( mph_bsic_cnf_failed(ARFCN_23_STD_900) );
360
361 /* 3rd Sync Failure */
362
363 SEND ( mph_bsic_req(ARFCN_124_STD_900) );
364 AWAIT (mphc_network_sync_req(ARFCN_124, SM_NARROW_MODE));
365 SEND ( mphc_network_sync_ind_failed(ARFCN_124) );
366 AWAIT ( mph_bsic_cnf_failed(ARFCN_124_STD_900) );
367
368 /* 4th Sync Failure */
369
370 SEND ( mph_bsic_req(ARFCN_23_STD_900) );
371 AWAIT (mphc_network_sync_req(ARFCN_23, SM_NARROW_MODE));
372 SEND ( mphc_network_sync_ind_failed(ARFCN_23) );
373 AWAIT ( mph_bsic_cnf_failed(ARFCN_23_STD_900) );
374
375 /* 5th Sync Failure */
376
377 SEND ( mph_bsic_req(ARFCN_124_STD_900) );
378 AWAIT (mphc_network_sync_req(ARFCN_124, SM_NARROW_MODE));
379 SEND ( mphc_network_sync_ind_failed(ARFCN_124) );
380 AWAIT ( mph_bsic_cnf_failed(ARFCN_124_STD_900) );
381
382 /* 6th Sync Failure */
383
384 SEND ( mph_bsic_req(ARFCN_23_STD_900) );
385 AWAIT (mphc_network_sync_req(ARFCN_23, SM_NARROW_MODE));
386 SEND ( mphc_network_sync_ind_failed(ARFCN_23) );
387 AWAIT ( mph_bsic_cnf_failed(ARFCN_23_STD_900) );
388 }
389 }
390
391
392 T_STEP sending_error_data_in_sacch()
393 {
394 BEGIN_STEP ("sending_error_data_in_sacch")
395 {
396 SEND (mphc_data_ind_sacch_error() );
397 SEND (mphc_data_ind_sacch_error() );
398 SEND (mphc_data_ind_sacch_error() );
399 SEND (mphc_data_ind_sacch_error() );
400 SEND (mphc_data_ind_sacch_error() );
401 SEND (mphc_data_ind_sacch_error() );
402 SEND (mphc_data_ind_sacch_error() );
403 SEND (mphc_data_ind_sacch_error() );
404 SEND (mphc_data_ind_sacch_error() );
405 SEND (mphc_data_ind_sacch_error() );
406 SEND (mphc_data_ind_sacch_error() );
407 SEND (mphc_data_ind_sacch_error() );
408 SEND (mphc_data_ind_sacch_error() );
409 SEND (mphc_data_ind_sacch_error() );
410 SEND (mphc_data_ind_sacch_error() );
411 SEND (mphc_data_ind_sacch_error() );
412 SEND (mphc_data_ind_sacch_error() );
413 SEND (mphc_data_ind_sacch_error() );
414 SEND (mphc_data_ind_sacch_error() );
415 SEND (mphc_data_ind_sacch_error() );
416 SEND (mphc_data_ind_sacch_error() );
417 SEND (mphc_data_ind_sacch_error() );
418 SEND (mphc_data_ind_sacch_error() );
419 SEND (mphc_data_ind_sacch_error() );
420 SEND (mphc_data_ind_sacch_error() );
421 SEND (mphc_data_ind_sacch_error() );
422 }
423 }
424
425 /*--------------------------------------------------------------------------------
426 *
427 * Description: RR selects the channel 23 after reading the BCCH carrier.
428 *-------------------------------------------------------------------------------*/
429
430 T_STEP rr_select_first_channel_alr013_gprs()
431 {
432 BEGIN_STEP ("rr_select_first_channel_alr013_gprs")
433 {
434 SEND ( mph_classmark_req_1() );
435 SEND ( mph_idle_req_1g() );
436 AWAIT ( mphc_stop_scell_bcch_req() );
437 AWAIT ( mphc_start_ccch_req_2() );
438 AWAIT ( mphc_scell_nbcch_req_full() );
439 SEND ( mph_identity_req_1() );
440 SEND ( mph_cbch_req_1() );
441 SEND ( mph_neighbourcell_req_2() );
442 AWAIT ( mphc_rxlev_periodic_req_2() );
443 }
444 }
445 /*-------------------------------------------------------------------------------
446 *
447 * Description: RR selects the channel 23 after reading the BCCH carrier.
448 * This is a cell with PBCCH.
449 *-------------------------------------------------------------------------------*/
450
451 T_STEP rr_select_first_channel_gprs_pbcch(T_VAR_NMO var)
452 {
453 BEGIN_STEP ("rr_select_first_channel_alr013_gprs")
454 {
455 SEND ( mph_classmark_req_1() );
456 SEND ( mph_idle_req_4g() );
457 AWAIT ( mphc_stop_scell_bcch_req() );
458 SEND ( mphc_stop_scell_bcch_con() );
459 SEND ( mph_identity_req_1() );
460 #if defined GPRS
461 SEND ( mph_mon_ctrl_req(ENTER_PIM_PBCCH) );
462 if(var == VAR_NMO_3) {
463 SEND ( mph_mon_ctrl_req(START_MON_CCCH) );
464 AWAIT ( mphc_start_ccch_req_8() );
465 }
466 #else
467 AWAIT ( mphc_start_ccch_req_11('A') );
468 AWAIT ( mphc_scell_nbcch_req_full() );
469 SEND ( mphc_data_ind_24('J') ); // paging for an unknown TMSI to change page mode
470 AWAIT ( mphc_start_ccch_req_8() );
471 AWAIT ( mphc_scell_nbcch_req_periodic() );
472 SEND ( mph_neighbourcell_req_8() );
473 AWAIT ( mphc_rxlev_periodic_req_8() );
474 #endif
475 }
476 }
477 /*------------------------Following is for ALR020-------------------------------
478 *
479 * Description: The idle mode is configured by RR. Layer 1 is configured with MPHC_START_CCCH_REQ.
480 *-------------------------------------------------------------------------------*/
481
482 T_STEP initiation_with_paging_reorganisation_alr020(CHAR variant)
483 {
484 BEGIN_STEP ("initiation_with_paging_reorganisation_alr020")
485 {
486 SEND ( mph_idle_req_3(variant) );
487 AWAIT ( mphc_stop_scell_bcch_req() );
488 AWAIT ( mphc_start_ccch_req_3(variant) );
489 AWAIT ( mphc_scell_nbcch_req_full() );
490 }
491 }
492
493
494
495 /*------------------------Following is for ALR022-------------------------------
496 *
497 * Description: The idle mode is configured with Paging Reorganisation. After reception of a new paging
498 * mode this information is forwarded to PL. The message contain the following page modi:
499 * Variant A: Extended Paging
500 * Variant B: Paging Reorganisation
501 * Variant C: Same as before
502 * No reaction is expected.
503 *-------------------------------------------------------------------------------*/
504
505 T_STEP page_mode_change_paging_reorganisation_alr022(CHAR variant)
506 {
507 BEGIN_STEP ("page_mode_change_paging_reorganisation_alr022")
508 {
509 SEND ( mphc_data_ind_8(variant) );
510 if ( variant == 'A' )
511 {
512 SEND ( mphc_data_ind_9() );
513 AWAIT ( mphc_start_ccch_req(BS_PA_MFRMS_7, BS_AG_BLKS_RES_2, COMB_CCCH_COMB, CCCH_GROUP_0, PG_23, PBI_0, PGM_EXTENDED ) );
514 }
515 else
516 {
517 MUTE (3000);
518 }
519 }
520 }
521
522
523
524 /*------------------------Following is for ALR025-------------------------------
525 *
526 * Description: The idle mode has been configured for normal paging. After a swap to Paging
527 * Reorganisation RR re-configures normal paging.
528 *-------------------------------------------------------------------------------*/
529
530 T_STEP page_mode_change_back_to_normal_paging_alr025()
531 {
532 BEGIN_STEP ("page_mode_change_back_to_normal_paging_alr025")
533 {
534 SEND ( mphc_data_ind_11() );
535 AWAIT ( mphc_start_ccch_req_6() );
536 AWAIT ( mphc_scell_nbcch_req_periodic() );
537 }
538 }
539
540
541
542 /*------------------------Following is for ALR026-------------------------------
543 *
544 * Description: The idle mode is configured with Normal Paging. The messages contain the following page
545 * modi:
546 * Variant A: Normal Paging
547 * Variant B: Same as before.
548 * No reaction is exspected.
549 *-------------------------------------------------------------------------------*/
550
551 T_STEP page_mode_change_normal_paging_alr026(CHAR variant)
552 {
553 BEGIN_STEP ("page_mode_change_normal_paging_alr026")
554 {
555 SEND ( mphc_data_ind_12(variant) );
556 MUTE (3000);
557 }
558 }
559
560
561
562 /*------------------------Following is for ALR027-------------------------------
563 *
564 * Description: The idle mode has been configured for normal paging.
565 * After a swap to Extended Paging this mode is configured a second time.
566 * Layer 1 does not need to be configured the second time, because
567 * it´s a continues process in ALR(MPHC).
568 * Variant A: Extended Paging
569 * Variant B: Same as before
570 *-------------------------------------------------------------------------------*/
571
572 T_STEP page_mode_change_extended_paging_a_second_time_alr027(CHAR variant)
573 {
574 BEGIN_STEP ("page_mode_change_extended_paging_a_second_time_alr027")
575 {
576 SEND ( mphc_data_ind_9() );
577 AWAIT ( mphc_start_ccch_req_4() );
578 AWAIT ( mphc_scell_nbcch_req_periodic() );
579 SEND ( mphc_data_ind_13(variant) );
580 MUTE (3000);
581 }
582 }
583
584
585
586 /*------------------------Following is for ALR030-------------------------------
587 *
588 * Description: The idle mode is configured for different multiframe periods.
589 * Variant A: bs_pa_mfrms = 2
590 * Variant B: bs_pa_mfrms = 3
591 * Variant C: bs_pa_mfrms = 4
592 * Variant D: bs_pa_mfrms = 5
593 * Variant E: bs_pa_mfrms = 6
594 * Variant F: bs_pa_mfrms = 7
595 * Variant G: bs_pa_mfrms = 8
596 * Variant H: bs_pa_mfrms = 9
597 *-------------------------------------------------------------------------------*/
598
599 T_STEP measurement_reporting_configuration_alr030(CHAR variant)
600 {
601 BEGIN_STEP ("measurement_reporting_configuration_alr030")
602 {
603 SEND ( mph_idle_req_4(variant) );
604 AWAIT ( mphc_stop_scell_bcch_req() );
605 AWAIT ( mphc_start_ccch_req_7(variant) );
606 AWAIT ( mphc_scell_nbcch_req_full() );
607 SEND ( mph_neighbourcell_req_3() );
608 AWAIT ( mphc_rxlev_periodic_req_3() );
609 }
610 }
611
612
613 /*------------------------Following is for ALR9806-------------------------------*/
614
615 T_STEP measurement_reporting_configuration_alr9806()
616 {
617 BEGIN_STEP ("measurement_reporting_configuration_alr9806")
618 {
619 SEND ( mph_idle_req_3('B') );
620 AWAIT ( mphc_stop_scell_bcch_req() );
621 AWAIT ( mphc_start_ccch_req_14() );
622 AWAIT ( mphc_scell_nbcch_req_full() );
623 SEND ( mph_neighbourcell_req_3() );
624 AWAIT ( mphc_rxlev_periodic_req_3() );
625
626 /* After Cell Reselection configuring the
627 * PL with the newly found cell
628 */
629 SEND ( mph_idle_req_resel() );
630 AWAIT ( mphc_stop_scell_bcch_req() );
631 AWAIT ( mphc_stop_ccch_req() );
632 AWAIT ( mphc_stop_rxlev_periodic_req() );
633 AWAIT ( mphc_stop_scell_bcch_req() );
634 AWAIT ( mphc_new_scell_req_1 );
635
636 /* After receiving the SI3 configuring the
637 * PL with the Paging Group.
638 */
639 SEND ( mph_idle_req_cell_sel() );
640 AWAIT ( mphc_stop_scell_bcch_req() );
641 AWAIT ( mphc_start_ccch_req_14() );
642 AWAIT ( mphc_scell_nbcch_req_full() );
643 AWAIT ( mphc_rxlev_periodic_req_18() );
644 }
645 }
646
647
648
649 T_STEP measurement_reporting_configuration_nwctrl(CHAR variant)
650 {
651 BEGIN_STEP ("measurement_reporting_configuration_nwctrl")
652 {
653 SEND ( mph_idle_req_4(variant) );
654 AWAIT ( mphc_stop_scell_bcch_req() );
655 AWAIT ( mphc_start_ccch_req_7(variant) );
656 AWAIT ( mphc_scell_nbcch_req_full() );
657 SEND ( mph_neighbourcell_req_2() );
658 AWAIT ( mphc_rxlev_periodic_req_2() );
659 SEND ( mphc_rxlev_periodic_ind_9(50,40,30,20) );
660 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_1) );
661 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_14) );
662 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_124) );
663 SEND ( mphc_ncell_sync_ind(ARFCN_1,FN_OFF_ARFCN_1,TIME_ALIGNMT_1,BSIC_16));
664 SEND ( mphc_ncell_sync_ind(ARFCN_14,FN_OFF_ARFCN_14,TIME_ALIGNMT_14,BSIC_16));
665 SEND ( mphc_ncell_sync_ind(ARFCN_124,FN_OFF_ARFCN_124,TIME_ALIGNMT_124,BSIC_1));
666 AWAIT ( mphc_ncell_bcch_req(ARFCN_1,FN_OFF_ARFCN_1,TIME_ALIGNMT_1,BSIC_16));
667 AWAIT ( mphc_ncell_bcch_req(ARFCN_14,FN_OFF_ARFCN_14,TIME_ALIGNMT_14,BSIC_16));
668 AWAIT ( mphc_ncell_bcch_req(ARFCN_124,FN_OFF_ARFCN_124,TIME_ALIGNMT_124,BSIC_1));
669 SEND ( mphc_rxlev_periodic_ind_9(50,40,30,20) );
670 MUTE(500);
671 }
672 }
673
674 /*------------------------Following is for ALR046-------------------------------
675 *
676 * Description: RR selects the channel 23 after reading the BCCH carrier.
677 * Variant A: with neighbourcell list (serving cell not included)
678 * Variant B: with neighbourcell list (serving cell included)
679 * Variant C: with empty neighbour cell list.
680 * Variant D: same like A, but with ncc_permitted = 4
681 *-------------------------------------------------------------------------------*/
682
683 T_STEP definition_of_bcch_allocation_alr046(CHAR variant)
684 {
685 BEGIN_STEP ("definition_of_bcch_allocation_alr046")
686 {
687 SEND ( mph_classmark_req_1() );
688 SEND ( mph_idle_req_5(variant) );
689 AWAIT ( mphc_stop_scell_bcch_req() );
690 AWAIT ( mphc_start_ccch_req_9() );
691 AWAIT ( mphc_scell_nbcch_req_full() );
692 SEND ( mph_identity_req_1() );
693 SEND ( mph_cbch_req_1() );
694 SEND ( mph_neighbourcell_req_4(variant) );
695 AWAIT ( mphc_rxlev_periodic_req_4(variant) );
696 }
697 }
698
699 /*------------------------Following is for ALR055-------------------------------
700 *
701 * Description: RR starts the sending of channel request messages. Idle mode is stopped and the access
702 * mode is started. There is one retransmission configured.
703 *-------------------------------------------------------------------------------*/
704
705 T_STEP start_of_sending_channel_request_messages_gsm_900__alr055()
706 {
707 BEGIN_STEP ("start_of_sending_channel_request_messages_gsm_900__alr055")
708 {
709 SEND ( mph_random_access_req_1() );
710 AWAIT ( mphc_stop_rxlev_periodic_req() );
711 AWAIT ( mphc_stop_scell_bcch_req() );
712 AWAIT ( mphc_scell_nbcch_req_full() );
713 AWAIT ( mphc_ra_req_1() );
714 SEND ( mphc_ra_con_1() );
715 AWAIT ( mph_random_access_cnf_1() );
716 AWAIT ( mphc_ra_req_2() );
717 }
718 }
719
720
721
722 /*------------------------Following is for ALR056-------------------------------
723 *
724 * Description: An immediate assignment for the mobile station receives. Configuration of the dedicated
725 * mode is processed by RR. This stops the access link mode.
726 *-------------------------------------------------------------------------------*/
727
728 T_STEP immediate_assignment_for_the_mobile_station_alr056()
729 {
730 BEGIN_STEP ("immediate_assignment_for_the_mobile_station_alr056")
731 {
732 SEND ( mphc_data_ind_20() );
733 AWAIT ( mph_unitdata_ind_10() );
734 SEND ( mph_dedicated_req_1() );
735 AWAIT ( mphc_stop_scell_bcch_req() );
736 AWAIT ( mphc_stop_ccch_req() );
737 AWAIT ( mphc_stop_ra_req_1() );
738 AWAIT ( mphc_immed_assign_req_1() );
739 SEND ( mphc_immed_assign_con_1() );
740 AWAIT ( mph_dedicated_cnf_1(DEDI_RES_OK) );
741 }
742 }
743
744
745
746 /*------------------------Following is for ALR062-------------------------------
747 *
748 * Description: The extended measurement procedure according GSM 05.08, section 10.1.5 is started.
749 *
750 *-------------------------------------------------------------------------------*/
751
752 T_STEP extended_measurement_reporting_start_procedure_alr062()
753 {
754 BEGIN_STEP ("extended_measurement_reporting_start_procedure_alr062")
755 {
756 SEND ( mph_ext_meas_req_1() );
757 AWAIT ( mphc_init_l1_req_2() );
758 SEND ( mphc_init_l1_con_1() );
759 AWAIT ( mphc_rxlev_req() );
760 }
761 }
762
763
764
765 /*------------------------Following is for ALR063-------------------------------
766 *
767 * Description: The extended measurement procedure passes the step of the power measurement.
768 *
769 *-------------------------------------------------------------------------------*/
770
771 T_STEP extended_measurement_reporting_successful_power_measurement_alr063()
772 {
773 BEGIN_STEP ("extended_measurement_reporting_successful_power_measurement_alr063")
774 {
775 SEND ( mphc_rxlev_ind(RXLEV_IDX_7) );
776
777 AWAIT ( mphc_rxlev_req() );
778 SEND ( mphc_rxlev_ind(RXLEV_IDX_7) );
779
780 AWAIT ( mphc_rxlev_req() );
781 SEND ( mphc_rxlev_ind(RXLEV_IDX_7) );
782
783 AWAIT ( mphc_rxlev_req() );
784 SEND ( mphc_rxlev_ind(RXLEV_IDX_7) );
785
786 AWAIT ( mphc_rxlev_req() );
787 SEND ( mphc_rxlev_ind(RXLEV_IDX_7) );
788
789 AWAIT ( mph_ext_meas_cnf_1() );
790 SEND ( mph_bsic_req(CONST_1023) );
791 AWAIT ( mphc_ncell_sync_req_initial(CONST_1023) );
792
793 /*if page mode = REORG, L1 would not react,
794 therefore page mode NORMAL is configured and
795 BCCH reading is reduced*/
796 stop_page_mode_reorg_before_hplnm_search_procedure();
797 }
798 }
799
800
801
802 /*------------------------Following is for ALR071-------------------------------
803 *
804 * Description: The MS is in idle mode. It receives a paging message corresponding
805 * to the actual IMSI or TMSI. A paging indication is forwarded to RR.
806 * Variant A: IMSI mobile identity 1, any channel needed
807 * Variant B: IMSI mobile identity 2, any channel needed
808 * Variant C: TMSI mobile identity 1, TCH/F channel needed
809 * Variant D: TMSI mobile identity 2, TCH/F channel needed
810 * Variant E: IMSI mobile identity 1, SDCCH channel needed
811 * Variant F: IMSI mobile identity 2, SDCCH channel needed
812 * Variant G: TMSI mobile identity 1, Dual Rate channel needed
813 * Variant H: TMSI mobile identity 2, Dual Rate channel needed
814 *-------------------------------------------------------------------------------*/
815
816 T_STEP paging_req_1_imsi_tmsi_for_ms_alr071(CHAR variant)
817 {
818 BEGIN_STEP ("paging_req_1_imsi_tmsi_for_ms_alr071")
819 {
820 SEND ( mphc_data_ind_24(variant) );
821 AWAIT ( mph_paging_ind_1(variant) );
822 AWAIT ( mphc_start_ccch_req_8() );
823 AWAIT ( mphc_scell_nbcch_req_periodic() );
824 }
825 }
826
827
828
829 /*------------------------Following is for ALR072-------------------------------
830 *
831 * Description: The MS is in idle mode. It receives paging request type 1 messages.
832 * The message content is not forwarded to RR, because the message
833 * content doesn´t match to the MS identities.
834 * Variant A: wrong IMSI mobile identity 1
835 * Variant B: wrong TMSI mobile identity 1
836 * Variant C: wrong IMSI mobile identity 2
837 * Variant D: wrong TMSI mobile identity 2
838 * Variant E: wrong type mobile identity 2
839 *-------------------------------------------------------------------------------*/
840
841 T_STEP paging_req_1_not_for_ms_alr072(CHAR variant)
842 {
843 BEGIN_STEP ("paging_req_1_not_for_ms_alr072")
844 {
845 SEND ( mphc_data_ind_25(variant) );
846 }
847 }
848
849
850
851 /*------------------------Following is for ALR073-------------------------------
852 *
853 * Description: The MS is in idle mode. It receives a paging message corresponding to the
854 * actual IMSI or TMSI. A paging indication is forwarded to RR.
855 * The IMSI is less than 15 digits and the TMSI has only one valid byte,
856 * but is signalled in different ways by the infrastructure
857 * Variant A: Short TMSI mobile identity 1, any channel needed, 1 byte length from the network
858 * Variant B: Short TMSI mobile identity 2, TCH/F needed, 3 bytes length from the network
859 * Variant C: Short IMSI mobile identity 1, SDCCH needed, 10 digits
860 * Variant D: Short IMSI mobile identity 2, Dual Rate needed, 10 digits
861 * Variant E: Short TMSI mobile identity 1, any channel needed, 2 bytes length from the network
862 * Variant F: Short TMSI mobile identity 2, TCH/F needed, 4 bytes length from the network
863 *-------------------------------------------------------------------------------*/
864
865 T_STEP paging_req_1_short_imsi_tmsi_for_ms_alr073(CHAR variant)
866 {
867 BEGIN_STEP ("paging_req_1_short_imsi_tmsi_for_ms_alr073")
868 {
869 SEND ( mph_identity_req_2() );
870 SEND ( mphc_data_ind_26(variant) );
871 AWAIT ( mph_paging_ind_2(variant) );
872 AWAIT ( mphc_start_ccch_req_8() );
873 AWAIT ( mphc_scell_nbcch_req_periodic() );
874 }
875 }
876
877
878
879 /*------------------------Following is for ALR075-------------------------------
880 *
881 * Description: The MS is in idle mode. It receives a paging message corresponding
882 * to the actual TMSI in the information elements mobile identity 1 or 2.
883 * A paging indication is forwarded to RR.
884 * Variant A: TMSI mobile identity 1, any channel needed
885 * Variant B: TMSI mobile identity 1, SDCCH needed
886 * Variant C: TMSI mobile identity 1, TCH/F needed
887 * Variant D: TMSI mobile identity 1, Dual Rate needed
888 * Variant E: TMSI mobile identity 2, any channel needed
889 * Variant F: TMSI mobile identity 2, SDCCH needed
890 * Variant G: TMSI mobile identity 2, TCH/F needed
891 * Variant H: TMSI mobile identity 2, Dual Rate needed
892 *-------------------------------------------------------------------------------*/
893
894 T_STEP paging_req_2_tmsi_for_ms_mobile_identity_1_or_2__alr075(CHAR variant)
895 {
896 BEGIN_STEP ("paging_req_2_tmsi_for_ms_mobile_identity_1_or_2__alr075")
897 {
898 SEND ( mphc_data_ind_28(variant) );
899 AWAIT ( mph_paging_ind_3(variant) );
900 AWAIT ( mphc_start_ccch_req_8() );
901 AWAIT ( mphc_scell_nbcch_req_periodic() );
902 }
903 }
904
905
906
907 /*------------------------Following is for ALR077-------------------------------
908 *
909 * Description: The MS is in idle mode. It receives a paging request type 2 message
910 * corresponding to the actual IMSI or TMSI in information element in
911 * the information element mobile identity 3. A paging indication is
912 * forwarded to RR.
913 * Variant A: IMSI mobile identity 3, any channel needed
914 * Variant B: IMSI mobile identity 3, SDCCH needed
915 * Variant C: IMSI mobile identity 3, TCH/F needed
916 * Variant D: IMSI mobile identity 3, Dual Rate needed
917 * Variant E: IMSI mobile identity 3, no channel indication
918 * Variant F: TMSI mobile identity 3, any channel needed
919 * Variant G: TMSI mobile identity 3, SDCCH needed,
920 * Variant H: TMSI mobile identity 3, TCH/F needed
921 * Variant I: TMSI mobile identity 3, Dual Rate needed
922 * Variant J: TMSI mobile identity 3, no channel indication
923 *-------------------------------------------------------------------------------*/
924
925 T_STEP paging_req_2_imsi_tmsi_for_ms_mobile_identity_3__alr077(CHAR variant)
926 {
927 BEGIN_STEP ("paging_req_2_imsi_tmsi_for_ms_mobile_identity_3__alr077")
928 {
929 SEND ( mphc_data_ind_30(variant) );
930 AWAIT ( mph_paging_ind_4(variant) );
931 AWAIT ( mphc_start_ccch_req_8() );
932 AWAIT ( mphc_scell_nbcch_req_periodic() );
933 }
934 }
935
936
937
938 /*------------------------Following is for ALR078-------------------------------
939 *
940 * Description: The MS is in idle mode. It receives a paging request type 2 message
941 * corresponding to the actual IMSI or TMSI in information element in
942 * the information element mobile identity 3. A paging indication is
943 * forwarded to RR. The IMSI is less than 15 digits and the TMSI has only
944 * one valid byte, but is signalled in different ways by the infrastructure
945 * Variant A: Short IMSI mobile identity 3, any channel needed, 10 digits
946 * Variant B: Short TMSI mobile identity 3, SDCCH needed, 1 byte from the network
947 * Variant C: Short TMSI mobile identity 3, TCH/F needed, 2 bytes from the network
948 * Variant D: Short TMSI mobile identity 3, Dual Rate needed, 3 bytes from the network
949 * Variant E: Short TMSI mobile identity 3, No channel indication, 4 bytes from the network
950 *-------------------------------------------------------------------------------*/
951
952 T_STEP paging_req_2_short_imsi_tmsi_for_ms_mobile_identity_3__alr078(CHAR variant)
953 {
954 BEGIN_STEP ("paging_req_2_short_imsi_tmsi_for_ms_mobile_identity_3__alr078")
955 {
956 SEND ( mph_identity_req_2() );
957 SEND ( mphc_data_ind_31(variant) );
958 AWAIT ( mph_paging_ind_5(variant) );
959 AWAIT ( mphc_start_ccch_req_8() );
960 AWAIT ( mphc_scell_nbcch_req_periodic() );
961 }
962 }
963
964
965
966 /*------------------------Following is for ALR080-------------------------------
967 *
968 * Description: The MS is in idle mode. It receives a paging message corresponding
969 * to the actual TMSI in the information elements mobile identity 1 to 4.
970 * A paging indication is forwarded to RR.
971 * Variant A: TMSI mobile identity 1, any channel needed
972 * Variant B: TMSI mobile identity 1, SDCCH needed
973 * Variant C: TMSI mobile identity 1, TCH/F needed
974 * Variant D: TMSI mobile identity 1, Dual Rate needed
975 * Variant E: TMSI mobile identity 2, any channel needed
976 * Variant F: TMSI mobile identity 2, SDCCH needed
977 * Variant G: TMSI mobile identity 2, TCH/F needed
978 * Variant H: TMSI mobile identity 2, Dual Rate needed
979 * Variant I: TMSI mobile identity 3, any channel needed
980 * Variant J: TMSI mobile identity 3, SDCCH needed
981 * Variant K: TMSI mobile identity 3, TCH/F needed
982 * Variant L: TMSI mobile identity 3, Dual Rate needed
983 * Variant M: TMSI mobile identity 3, no channel indication
984 * Variant N: TMSI mobile identity 4, any channel needed
985 * Variant O: TMSI mobile identity 4, SDCCH needed
986 * Variant P: TMSI mobile identity 4, TCH/F needed
987 * Variant Q: TMSI mobile identity 4, Dual Rate needed
988 * Variant R: TMSI mobile identity 4, no channel indication
989 *-------------------------------------------------------------------------------*/
990
991 T_STEP paging_req_3_tmsi_for_ms_alr080(CHAR variant)
992 {
993 BEGIN_STEP ("paging_req_3_tmsi_for_ms_alr080")
994 {
995 SEND ( mphc_data_ind_33(variant) );
996 AWAIT ( mph_paging_ind_6(variant) );
997 AWAIT ( mphc_start_ccch_req_8() );
998 AWAIT ( mphc_scell_nbcch_req_periodic() );
999 }
1000 }
1001
1002 /*------------------------Following is for ALR088-------------------------------
1003 *
1004 * Description: ALR starts ncell measurements for cells 23, 14, 124, 1,
1005 * then RR requests a full list power measurement. Four channels
1006 * in the order 23, 14, 124, 1 have acceptable fieldstrength values.
1007 * Then the non-serving cell carrier with the highest fieldstrength
1008 * (channel 14) is selected for synchronizing to frequency correction
1009 * burst and synchron burst.
1010 *-------------------------------------------------------------------------------*/
1011
1012 T_STEP find_bcch_carrier_second_channel_alr088()
1013 {
1014 BEGIN_STEP ("find_bcch_carrier_second_channel_alr088")
1015 {
1016 SEND ( mphc_rxlev_periodic_ind_2() );
1017 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_14) );
1018 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_124) );
1019 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_1) );
1020 SEND ( mphc_rxlev_periodic_ind_2() );
1021 AWAIT ( mph_measurement_ind_18() );
1022 SEND ( mphc_rxlev_periodic_ind_2() );
1023 SEND ( mphc_ncell_sync_ind (ARFCN_14) );
1024 AWAIT ( mphc_ncell_bcch_req (ARFCN_14) );
1025 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_14) );
1026 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_14) );
1027 SEND ( mphc_ncell_sync_ind(ARFCN_124,FN_OFF_ARFCN_124,TIME_ALIGNMT_124,BSIC_1) );
1028 AWAIT ( mphc_ncell_bcch_req (ARFCN_124, FN_OFF_ARFCN_124, TIME_ALIGNMT_124));
1029 SEND ( mphc_ncell_sync_ind_3() );
1030 AWAIT ( mphc_ncell_bcch_req (ARFCN_1, FN_OFF_ARFCN_1, TIME_ALIGNMT_1));
1031 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_124) );
1032 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_124) );
1033 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_1) );
1034 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_1) );
1035 SEND ( mphc_rxlev_periodic_ind_2() );
1036 AWAIT ( mph_measurement_ind_19() );
1037 AWAIT ( mph_unitdata_ind_si3(ARFCN_1) );
1038 AWAIT ( mph_unitdata_ind_si3(ARFCN_14) );
1039 AWAIT ( mph_unitdata_ind_si3(ARFCN_124) );
1040 SEND ( mph_power_req_2() );
1041 AWAIT ( mphc_rxlev_req() );
1042 SEND ( mphc_rxlev_ind(RXLEV_IDX_1) );
1043 AWAIT ( mphc_rxlev_req() );
1044 SEND ( mphc_rxlev_ind(RXLEV_IDX_1) );
1045 AWAIT ( mphc_rxlev_req() );
1046 SEND ( mphc_rxlev_ind(RXLEV_IDX_1) );
1047 AWAIT ( mphc_rxlev_req() );
1048 SEND ( mphc_rxlev_ind(RXLEV_IDX_1) );
1049 AWAIT ( mphc_rxlev_req() );
1050 SEND ( mphc_rxlev_ind(RXLEV_IDX_1) );
1051 AWAIT ( mph_power_cnf_3() );
1052 SEND ( mph_bsic_req(ARFCN_14) );
1053 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_14) );
1054
1055 stop_page_mode_reorg_before_hplnm_search_procedure();
1056 }
1057 }
1058
1059 /*------------------------Following is for ALR091-------------------------------
1060 *
1061 * Description: The BCCH data blocks are read for the channel 14.
1062 *-------------------------------------------------------------------------------*/
1063
1064 T_STEP read_bcch_data_alr091()
1065 {
1066 BEGIN_STEP ("read_bcch_data_alr091")
1067 {
1068 SEND ( mphc_ncell_sync_ind (ARFCN_14) );
1069 AWAIT ( mph_bsic_cnf_14() );
1070 AWAIT ( mphc_ncell_bcch_req (ARFCN_14) );
1071 SEND ( mphc_ncell_bcch_ind_si2(ARFCN_14) );
1072 AWAIT ( mph_unitdata_ind_si2(ARFCN_14) );
1073 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_14) );
1074 AWAIT ( mphc_ncell_bcch_req (ARFCN_14) );
1075 SEND ( mphc_ncell_bcch_ind_invalid(ARFCN_14) );
1076 AWAIT ( mph_error_ind_3() );
1077 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_14) );
1078 AWAIT ( mphc_ncell_bcch_req (ARFCN_14) );
1079 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_14) );
1080 AWAIT ( mph_unitdata_ind_si3(ARFCN_14) );
1081 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_14) );
1082 }
1083 }
1084
1085 /*------------------------Following is for ALR094-------------------------------
1086 *
1087 * Description: RR rejects the BCCH carrier. The next best channel (channel 124)
1088 * is selected for synchronizing to frequency correction
1089 * burst and synchron burst. This is also rejedted. The next best
1090 * channel (channel 1) is selected for synchronising
1091 * to frequency correction burst and synchron burst.
1092 *-------------------------------------------------------------------------------*/
1093
1094 T_STEP rr_rejects_bcch_carrier_try_fourth_channel_alr094()
1095 {
1096 BEGIN_STEP ("rr_rejects_bcch_carrier_try_fourth_channel_alr094")
1097 {
1098 SEND ( mph_bsic_req(ARFCN_124) );
1099 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_124) );
1100 SEND ( mphc_ncell_sync_ind(ARFCN_124,FN_OFF_ARFCN_124,TIME_ALIGNMT_124,BSIC_1) );
1101 AWAIT ( mph_bsic_cnf_15() );
1102 AWAIT ( mphc_ncell_bcch_req (ARFCN_124, FN_OFF_ARFCN_124, TIME_ALIGNMT_124));
1103 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_124) );
1104 AWAIT ( mph_unitdata_ind_si3(ARFCN_124) );
1105 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_124) );
1106 SEND ( mph_bsic_req(ARFCN_1) );
1107 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_1) );
1108 SEND ( mphc_ncell_sync_ind_3() );
1109 AWAIT ( mph_bsic_cnf_16() );
1110 AWAIT ( mphc_ncell_bcch_req (ARFCN_1, FN_OFF_ARFCN_1, TIME_ALIGNMT_1));
1111 SEND ( mphc_ncell_bcch_ind_si2(ARFCN_1) );
1112 AWAIT ( mph_unitdata_ind_si2(ARFCN_1) );
1113 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_1) );
1114 AWAIT ( mphc_ncell_bcch_req (ARFCN_1, FN_OFF_ARFCN_1, TIME_ALIGNMT_1));
1115 }
1116 }
1117
1118 /*------------------------Following is for ALR154-------------------------------
1119 *
1120 * Description: A handover is performed. It is checked that the serving cell
1121 * channel numbers are correctly set.
1122 * Variant A: AMR not signalled
1123 * Variant B: AMR signalled
1124 *-------------------------------------------------------------------------------*/
1125
1126 T_STEP handover_serving_cell_parameter_alr154(CHAR variant)
1127 {
1128 BEGIN_STEP ("handover_serving_cell_parameter_alr154")
1129 {
1130 SEND ( mph_dedicated_req_6(variant) );
1131 AWAIT ( mphc_async_ho_req_3(variant) );
1132 SEND ( mphc_async_ho_con_1() );
1133 SEND ( mphc_handover_finished_1(HO_COMPLETE) );
1134 AWAIT ( mph_dedicated_cnf_1(DEDI_RES_OK) );
1135 }
1136 }
1137
1138 /*------------------------Following is for ALR155-------------------------------
1139 *
1140 * Description: The MS has entered the dedicated mode. The BA list is updated
1141 * by neighbour cell requests generated by RR from SI 5
1142 * Every frequency of the MPH_NEIGHBOURCELL_REQ must occur within
1143 * the MPHC_UPDATE_BA_LIST plus the serving cell (if not already
1144 * included). In the MPHC_UPDATE_BA_LIST the first up to 8
1145 * frequencies must be in the same order as in the
1146 * MPH_NEIGHBOURCELL_REQ, the order of the other depends on the
1147 * replacing policy of ALR.
1148 *-------------------------------------------------------------------------------*/
1149 T_STEP neighbour_cell_in_dedicated_alr155()
1150 {
1151 BEGIN_STEP ("neighbour_cell_in_dedicated_alr155")
1152 {
1153 SEND ( mph_neighbourcell_req_16() );
1154 AWAIT ( mphc_update_ba_list_4() );
1155 SEND ( mph_neighbourcell_req_17() );
1156 AWAIT ( mphc_update_ba_list_5() );
1157 }
1158 }
1159
1160 /*------------------------Following is for ALR155-------------------------------
1161 *
1162 * Description: A handover has been performed. The BA list is updated for the
1163 * new cell
1164 * Every frequency of the MPH_NEIGHBOURCELL_REQ must occur within
1165 * the MPHC_UPDATE_BA_LIST plus the serving cell (if not already
1166 * included). In the MPHC_UPDATE_BA_LIST the first up to 8
1167 * frequencies must be in the same order as in the
1168 * MPH_NEIGHBOURCELL_REQ, the order of the other depends on the
1169 * replacing policy of ALR.
1170 *-------------------------------------------------------------------------------*/
1171 T_STEP neighbour_cell_after_ho_alr156()
1172 {
1173 BEGIN_STEP ("neighbour_cell_after_ho_alr156")
1174 {
1175 SEND ( mph_neighbourcell_req_18() );
1176 AWAIT ( mphc_update_ba_list_6() );
1177 SEND ( mph_neighbourcell_req_19() );
1178 AWAIT ( mphc_update_ba_list_7() );
1179 }
1180 }
1181
1182 /*------------------------Following is for ALR200-------------------------------
1183 *
1184 * Description: The ALR is configured for DCS 1800.
1185 *-------------------------------------------------------------------------------*/
1186
1187 T_STEP filter_and_routings_dcs_1800__alr200()
1188 {
1189 BEGIN_STEP ("filter_and_routings_dcs_1800__alr200")
1190 {
1191 //COMMAND("TAP RESET");
1192 //COMMAND("PL RESET");
1193 COMMAND("TAP REDIRECT CLEAR");
1194 COMMAND("PL REDIRECT CLEAR");
1195 COMMAND("PL REDIRECT RR TAP");
1196 COMMAND("PL REDIRECT DL TAP");
1197 COMMAND("PL REDIRECT MMI TAP");
1198 COMMAND("PL REDIRECT L1 TAP");
1199 COMMAND("TAP REDIRECT TAP PL");
1200 COMMAND("PL CONFIG STD=4");
1201 SEND ( em_l1_event_req_2() );
1202 //COMMAND("TAP PARKING ");
1203 COMMAND("PL REDIRECT MMI *1111110******** NULL");
1204
1205 }
1206 }
1207
1208
1209
1210 /*------------------------Following is for ALR201-------------------------------
1211 *
1212 * Description: RR starts a cell selection. Four channels in the order 637, 580,
1213 * 885, 512 have acceptable fieldstrength values.
1214 *-------------------------------------------------------------------------------*/
1215
1216 T_STEP initiation_by_rr_4_channels_available_alr201()
1217 {
1218 BEGIN_STEP ("initiation_by_rr_4_channels_available_alr201")
1219 {
1220 filter_and_routings_dcs_1800__alr200();
1221
1222 SEND ( mph_power_req_3() );
1223 AWAIT ( mphc_init_l1_req_3() );
1224 SEND ( mphc_init_l1_con_1() );
1225 AWAIT ( mphc_rxlev_req() );
1226 SEND ( mphc_rxlev_ind(RXLEV_IDX_3_1800) );
1227 AWAIT ( mphc_rxlev_req() );
1228 SEND ( mphc_rxlev_ind(RXLEV_IDX_3_1800) );
1229 AWAIT ( mphc_rxlev_req() );
1230 SEND ( mphc_rxlev_ind(RXLEV_IDX_3_1800) );
1231 AWAIT ( mphc_rxlev_req() );
1232 SEND ( mphc_rxlev_ind(RXLEV_IDX_3_1800) );
1233 AWAIT ( mphc_rxlev_req() );
1234 SEND ( mphc_rxlev_ind(RXLEV_IDX_3_1800) );
1235 AWAIT ( mph_power_cnf_4() );
1236 }
1237 }
1238
1239
1240
1241 /*------------------------Following is for ALR203-------------------------------
1242 *
1243 * Description: The carrier with the highest fieldstrength (channel 637) is
1244 * selected for synchronizing to frequency correction burst and
1245 * synchron burst.
1246 *-------------------------------------------------------------------------------*/
1247
1248 T_STEP find_bcch_carrier_first_channel_alr203()
1249 {
1250 BEGIN_STEP ("find_bcch_carrier_first_channel_alr203")
1251 {
1252 SEND ( mph_bsic_req(ARFCN_637_STD_1800) );
1253 AWAIT ( mphc_network_sync_req(ARFCN_637, SM_WIDE_MODE) );
1254 SEND ( mphc_network_sync_ind_9() );
1255 AWAIT ( mph_bsic_cnf_17() );
1256 AWAIT ( mphc_new_scell_req_5() );
1257 SEND ( mphc_new_scell_con_1() );
1258 AWAIT ( mphc_scell_nbcch_req_full() );
1259 }
1260 }
1261
1262
1263
1264 /*------------------------Following is for ALR204-------------------------------
1265 *
1266 * Description: The carrier with the highest fieldstrength (channel 637)
1267 * is selected for synchronizing to frequency correction burst and
1268 * synchron burst. The attempt failed. A second request is started
1269 * for the next strongest channel (channel 580).
1270 *-------------------------------------------------------------------------------*/
1271
1272 T_STEP find_bcch_carrier_first_channel_failed_then_second_channel_alr204()
1273 {
1274 BEGIN_STEP ("find_bcch_carrier_first_channel_failed_then_second_channel_alr204")
1275 {
1276 SEND ( mph_bsic_req(ARFCN_637_STD_1800) );
1277 AWAIT ( mphc_network_sync_req(ARFCN_637, SM_WIDE_MODE) );
1278 SEND ( mphc_network_sync_ind_failed(ARFCN_637) );
1279 AWAIT ( mph_bsic_cnf_failed(ARFCN_637_STD_1800) );
1280 SEND ( mph_bsic_req(ARFCN_580_STD_1800) );
1281 AWAIT ( mphc_network_sync_req(ARFCN_580, SM_WIDE_MODE) );
1282 }
1283 }
1284
1285
1286
1287 /*------------------------Following is for ALR206-------------------------------
1288 *
1289 * Description: The next best channel (channel 14) is selected for synchronizing
1290 * to frequency correction burst and synchron burst.
1291 *-------------------------------------------------------------------------------*/
1292
1293 T_STEP find_bcch_carrier_second_channel_alr206()
1294 {
1295 BEGIN_STEP ("find_bcch_carrier_second_channel_alr206")
1296 {
1297 SEND ( mphc_network_sync_ind_14() );
1298 AWAIT ( mph_bsic_cnf_22() );
1299 AWAIT ( mphc_new_scell_req_6() );
1300 SEND ( mphc_new_scell_con_1() );
1301 AWAIT ( mphc_scell_nbcch_req_full() );
1302 }
1303 }
1304
1305
1306
1307 /*------------------------Following is for ALR207-------------------------------
1308 *
1309 * Description: The BCCH data blocks are read for the channel 23.
1310 *-------------------------------------------------------------------------------*/
1311
1312 T_STEP read_bcch_data_alr207()
1313 {
1314 BEGIN_STEP ("read_bcch_data_alr207")
1315 {
1316 SEND ( mphc_data_ind_42() );
1317 AWAIT ( mph_unitdata_ind_si1(ARFCN_637) );
1318 SEND ( mphc_data_ind_43() );
1319 AWAIT ( mph_unitdata_ind_si2(ARFCN_637) );
1320 SEND ( mphc_data_ind_44() );
1321 AWAIT ( mph_unitdata_ind_si3(ARFCN_637) );
1322 SEND ( mphc_data_ind_45() );
1323 AWAIT ( mph_unitdata_ind_si4(ARFCN_637) );
1324 }
1325 }
1326
1327
1328
1329 /*------------------------Following is for ALR209-------------------------------
1330 *
1331 * Description: RR rejects the BCCH carrier. The next best channel (channel 124)
1332 * is selected for synchronizing to frequency correction burst
1333 * and synchron burst.
1334 *-------------------------------------------------------------------------------*/
1335
1336 T_STEP rr_rejects_bcch_carrier_try_third_channel_alr209()
1337 {
1338 BEGIN_STEP ("rr_rejects_bcch_carrier_try_third_channel_alr209")
1339 {
1340 SEND ( mph_bsic_req(ARFCN_885_STD_1800) );
1341 AWAIT ( mphc_stop_scell_bcch_req() );
1342 AWAIT ( mphc_network_sync_req(ARFCN_885, SM_NARROW_MODE) );
1343 SEND ( mphc_network_sync_ind_15() );
1344 AWAIT ( mph_bsic_cnf_23() );
1345 AWAIT ( mphc_new_scell_req_7() );
1346 SEND ( mphc_new_scell_con_1() );
1347 AWAIT ( mphc_scell_nbcch_req_full() );
1348 SEND ( mphc_data_ind_47() );
1349 AWAIT ( mph_unitdata_ind_si1(ARFCN_885) );
1350 }
1351 }
1352
1353
1354
1355 /*------------------------Following is for ALR210-------------------------------
1356 *
1357 * Description: RR rejects the BCCH carrier. The next best channel (channel 1)
1358 * is selected for synchronising to frequency correction burst
1359 * and synchron burst.
1360 *-------------------------------------------------------------------------------*/
1361
1362 T_STEP rr_rejects_bcch_carrier_try_fourth_channel_alr210()
1363 {
1364 BEGIN_STEP ("rr_rejects_bcch_carrier_try_fourth_channel_alr210")
1365 {
1366 SEND ( mph_bsic_req(ARFCN_512_STD_1800) );
1367 AWAIT ( mphc_stop_scell_bcch_req() );
1368 AWAIT ( mphc_network_sync_req(ARFCN_512, SM_NARROW_MODE) );
1369 SEND ( mphc_network_sync_ind_16() );
1370 AWAIT ( mph_bsic_cnf_24() );
1371 AWAIT ( mphc_new_scell_req_8() );
1372 SEND ( mphc_new_scell_con_1() );
1373 AWAIT ( mphc_scell_nbcch_req_full() );
1374 SEND ( mphc_data_ind_48() );
1375 AWAIT ( mph_unitdata_ind_si1(ARFCN_512) );
1376 }
1377 }
1378
1379
1380
1381 /*------------------------Following is for ALR212-------------------------------
1382 *
1383 * Description: RR selects the channel 14 after reading the BCCH carrier.
1384 * Variant A: with neighbourcell list
1385 * Variant B: with empty neighbour cell list
1386 * Variant C: like A, but non-combined CCCH
1387 *-------------------------------------------------------------------------------*/
1388
1389 T_STEP rr_select_second_channel_alr212(CHAR variant)
1390 {
1391 BEGIN_STEP ("rr_select_second_channel_alr212")
1392 {
1393 SEND ( mph_classmark_req_2() );
1394 SEND ( mph_idle_req_7(variant) );
1395 AWAIT ( mphc_stop_scell_bcch_req() );
1396 AWAIT ( mphc_start_ccch_req_11(variant) );
1397 AWAIT ( mphc_scell_nbcch_req_full() );
1398 SEND ( mph_identity_req_1() );
1399 SEND ( mph_cbch_req_1() );
1400 SEND ( mph_neighbourcell_req_5(variant) );
1401 AWAIT ( mphc_rxlev_periodic_req_5(variant) );
1402 }
1403 }
1404
1405 /*------------------------Following is for ALR600-------------------------------
1406 *
1407 * Description: The ALR is configured for Dualband GSM 900 / DCS 1800.
1408 *-------------------------------------------------------------------------------*/
1409
1410 T_STEP filter_and_routings_dualband_gsm_900_dcs_1800__alr600()
1411 {
1412 BEGIN_STEP ("filter_and_routings_dualband_gsm_900_dcs_1800__alr600")
1413 {
1414 //COMMAND("TAP RESET");
1415 //COMMAND("PL RESET");
1416 COMMAND("TAP REDIRECT CLEAR");
1417 COMMAND("PL REDIRECT CLEAR");
1418 COMMAND("PL REDIRECT RR TAP");
1419 COMMAND("PL REDIRECT DL TAP");
1420 COMMAND("PL REDIRECT MMI TAP");
1421 COMMAND("PL REDIRECT L1 TAP");
1422 COMMAND("TAP REDIRECT TAP PL");
1423 #ifdef GPRS
1424 COMMAND("PL REDIRECT GRR TAP");
1425 #endif // GPRS
1426 COMMAND("PL CONFIG STD=5");
1427 SEND ( em_l1_event_req_2() );
1428 //COMMAND("TAP PARKING ");
1429 COMMAND("PL REDIRECT MMI *1111110******** NULL");
1430
1431 }
1432 }
1433
1434
1435
1436 /*------------------------Following is for ALR601-------------------------------
1437 *
1438 * Description: RR starts a cell selection. Eight channels in the order 23, 637, 14, 580, 124, 885, 1, 512 have
1439 * acceptable fieldstrength values.
1440 *-------------------------------------------------------------------------------*/
1441
1442 T_STEP initiation_by_rr_8_channels_available_alr601()
1443 {
1444 BEGIN_STEP ("initiation_by_rr_8_channels_available_alr601")
1445 {
1446 filter_and_routings_dualband_gsm_900_dcs_1800__alr600();
1447
1448 SEND ( mph_power_req_4() );
1449 AWAIT ( mphc_init_l1_req_4() );
1450 SEND ( mphc_init_l1_con_1() );
1451 AWAIT ( mphc_rxlev_req() );
1452 SEND ( mphc_rxlev_ind(RXLEV_IDX_DUAL) );
1453 AWAIT ( mphc_rxlev_req() );
1454 SEND ( mphc_rxlev_ind(RXLEV_IDX_DUAL) );
1455 AWAIT ( mphc_rxlev_req() );
1456 SEND ( mphc_rxlev_ind(RXLEV_IDX_DUAL) );
1457 AWAIT ( mphc_rxlev_req() );
1458 SEND ( mphc_rxlev_ind(RXLEV_IDX_DUAL) );
1459 AWAIT ( mphc_rxlev_req() );
1460 SEND ( mphc_rxlev_ind(RXLEV_IDX_DUAL) );
1461 AWAIT ( mph_power_cnf_5() );
1462 }
1463 }
1464
1465
1466
1467 /*------------------------Following is for ALR603-------------------------------
1468 *
1469 * Description: The carrier with the highest fieldstrength (channel 23) is selected
1470 * for synchronizing to frequency correction burst and synchron burst.
1471 *-------------------------------------------------------------------------------*/
1472
1473 T_STEP find_bcch_carrier_first_channel_alr603()
1474 {
1475 BEGIN_STEP ("find_bcch_carrier_first_channel_alr603")
1476 {
1477 SEND ( mph_bsic_req(ARFCN_23_STD_DUAL) );
1478 AWAIT ( mphc_network_sync_req(ARFCN_23, SM_WIDE_MODE) );
1479 SEND ( mphc_network_sync_ind_1() );
1480 AWAIT ( mph_bsic_cnf_25() );
1481 AWAIT ( mphc_new_scell_req_1() );
1482 SEND ( mphc_new_scell_con_1() );
1483 AWAIT ( mphc_scell_nbcch_req_full() );
1484 }
1485 }
1486
1487 /*------------------------Following is for ALR604-------------------------------
1488 *
1489 * Description: The carrier with the highest fieldstrength (channel 23) is selected
1490 * for synchronizing to frequency correction burst and synchron burst.
1491 * The attempt failed. A second request is started for the next
1492 * strongest channel (channel 637).
1493 *-------------------------------------------------------------------------------*/
1494
1495 T_STEP find_bcch_carrier_first_channel_failed_then_second_channel_alr604()
1496 {
1497 BEGIN_STEP ("find_bcch_carrier_first_channel_failed_then_second_channel_alr604")
1498 {
1499 SEND ( mph_bsic_req(ARFCN_23_STD_DUAL) );
1500 AWAIT ( mphc_network_sync_req(ARFCN_23, SM_WIDE_MODE) );
1501 SEND ( mphc_network_sync_ind_failed(ARFCN_23) );
1502 AWAIT ( mph_bsic_cnf_failed(ARFCN_23_STD_DUAL) );
1503 SEND ( mph_bsic_req(ARFCN_637_STD_DUAL) );
1504 AWAIT ( mphc_network_sync_req(ARFCN_637, SM_WIDE_MODE) );
1505 }
1506 }
1507
1508
1509
1510 /*------------------------Following is for ALR606-------------------------------
1511 *
1512 * Description: The next best channel (channel 637) is selected for synchronizing
1513 * to frequency correction burst and synchron burst.
1514 *-------------------------------------------------------------------------------*/
1515
1516 T_STEP find_bcch_carrier_second_channel_alr606()
1517 {
1518 BEGIN_STEP ("find_bcch_carrier_second_channel_alr606")
1519 {
1520 SEND ( mphc_network_sync_ind_17() );
1521 AWAIT ( mph_bsic_cnf_33() );
1522 AWAIT ( mphc_new_scell_req_9() );
1523 SEND ( mphc_new_scell_con_1() );
1524 AWAIT ( mphc_scell_nbcch_req_full() );
1525 }
1526 }
1527
1528
1529
1530 /*------------------------Following is for ALR607-------------------------------
1531 *
1532 * Description: The BCCH data blocks are read for the channel 23.
1533 *-------------------------------------------------------------------------------*/
1534
1535 T_STEP read_bcch_data_alr607()
1536 {
1537 BEGIN_STEP ("read_bcch_data_alr607")
1538 {
1539 SEND ( mphc_data_ind_1() );
1540 AWAIT ( mph_unitdata_ind_si1(ARFCN_23) );
1541 SEND ( mphc_data_ind_2() );
1542 AWAIT ( mph_unitdata_ind_si2(ARFCN_23) );
1543 SEND ( mphc_data_ind_3() );
1544 AWAIT ( mph_unitdata_ind_si3(ARFCN_23) );
1545 SEND ( mphc_data_ind_4() );
1546 AWAIT ( mph_unitdata_ind_si4(ARFCN_23) );
1547 }
1548 }
1549
1550 /*------------------------Following is for ALR612-------------------------------
1551 *
1552 * Description: RR selects the channel 637 after reading the BCCH carrier.
1553 * Variant A: with neighbourcell list
1554 * Variant B: with empty neighbour cell list
1555 *-------------------------------------------------------------------------------*/
1556
1557 T_STEP rr_select_second_channel_alr612(CHAR variant)
1558 {
1559 BEGIN_STEP ("rr_select_second_channel_alr612")
1560 {
1561 SEND ( mph_classmark_req_3() );
1562 SEND ( mph_idle_req_9() );
1563 AWAIT ( mphc_stop_scell_bcch_req() );
1564 AWAIT ( mphc_start_ccch_req_10() );
1565 AWAIT ( mphc_scell_nbcch_req_full() );
1566 SEND ( mph_identity_req_1() );
1567 SEND ( mph_cbch_req_1() );
1568 SEND ( mph_neighbourcell_req_7(variant) );
1569 AWAIT ( mphc_rxlev_periodic_req_7(variant) );
1570 }
1571 }
1572
1573 /*------------------------Following is for ALR800-------------------------------
1574 *
1575 * Description: The CBCH channel is configured. Then MMI requests reading of CBCH
1576 * for the message identifier 3, 7 and 11 to 13.
1577 *-------------------------------------------------------------------------------*/
1578
1579 T_STEP configuration_cbch_followed_by_mmi_request_alr800(CHAR variant)
1580 {
1581 BEGIN_STEP ("configuration_cbch_followed_by_mmi_request_alr800")
1582 {
1583 SEND ( mph_classmark_req_1() );
1584 SEND ( mph_idle_req_14() );
1585 AWAIT ( mphc_stop_scell_bcch_req() );
1586 AWAIT ( mphc_start_ccch_req_10() );
1587 AWAIT ( mphc_scell_nbcch_req_full() );
1588 SEND ( mph_cbch_req_2(variant) );
1589 SEND ( mmi_cbch_req_1() );
1590 AWAIT ( mphc_config_cbch_req_1(variant) );
1591 AWAIT ( mphc_cbch_schedule_req_1() );
1592 AWAIT ( mphc_cbch_schedule_req_2() );
1593 }
1594 }
1595
1596
1597
1598 /*------------------------Following is for ALR801-------------------------------
1599 *
1600 * Description: MMI requests reading of CBCH for the message identifier
1601 * 3, 7 and 11 to 13. Then the CBCH channel is configured and
1602 * reading of CBCH starts.
1603 *-------------------------------------------------------------------------------*/
1604
1605 T_STEP mmi_request_followed_by_configuration_of_cbch_alr801(CHAR variant)
1606 {
1607 BEGIN_STEP ("mmi_request_followed_by_configuration_of_cbch_alr801")
1608 {
1609 SEND ( mph_classmark_req_1() );
1610 SEND ( mph_idle_req_14() );
1611 AWAIT ( mphc_stop_scell_bcch_req() );
1612 AWAIT ( mphc_start_ccch_req_10() );
1613 AWAIT ( mphc_scell_nbcch_req_full() );
1614 SEND ( mmi_cbch_req_2(variant) );
1615 SEND ( mph_cbch_req_3(variant) );
1616 AWAIT ( mphc_config_cbch_req_2(variant) );
1617 AWAIT ( mphc_cbch_schedule_req_1() );
1618 AWAIT ( mphc_cbch_schedule_req_2() );
1619 }
1620 }
1621
1622
1623
1624 /*------------------------Following is for ALR803-------------------------------
1625 *
1626 * Description: ALR receives an expected CBCH message. The content is forwarded
1627 * to MMI.
1628 * Variant A: single message identifier (7)
1629 * Variant B: message identifier specified by range (11), lower boundary
1630 * Variant C: message identifier specified by range (12), middle of the range
1631 * Variant D: message identifier specified by range (13), upper boundary
1632 * Variant E: single message identifier (7) with update number 2
1633 *-------------------------------------------------------------------------------*/
1634
1635 T_STEP reception_of_expected_cbch_message_alr803(CHAR variant)
1636 {
1637 BEGIN_STEP ("reception_of_expected_cbch_message_alr803")
1638 {
1639 SEND ( mphc_data_ind_54(variant) );
1640 AWAIT ( mphc_cbch_info_req_1() );
1641 SEND ( mphc_data_ind_55() );
1642 SEND ( mphc_data_ind_56() );
1643 SEND ( mphc_data_ind_57() );
1644 AWAIT ( mmi_cbch_ind_1(variant) );
1645 }
1646 }
1647 /*------------------------Following is for ALR808-------------------------------
1648 *
1649 * Description: ALR receives an CBCH Schedule message.
1650 variant a : entry into DRX mode
1651 variant b : 2nd DRX mode
1652 *-------------------------------------------------------------------------------*/
1653
1654 T_STEP reception_of_cbch_schedule_message_alr809(CHAR variant)
1655 {
1656 BEGIN_STEP ("reception_of_expected_cbch_message_alr809")
1657 {
1658 SEND ( mphc_data_ind_67());
1659 AWAIT ( mphc_cbch_info_req_1());
1660 SEND ( mphc_data_ind_60());
1661 SEND ( mphc_data_ind_61());
1662 SEND ( mphc_data_ind_62());
1663 AWAIT (mphc_cbch_schedule_req_4(variant));
1664 }
1665 }
1666
1667
1668 /*------------------------Following is for ALR960-------------------------------
1669 *
1670 * Description: RR selects Channel 23 as serving cell after reading the
1671 * BCCH carrier. On receipt of a list of neighbour cells
1672 * (MPH-NEIGHBOURCELL request primitive) followed by
1673 * the power measurements of these cells
1674 * (MPHC-RXLEV-PERIODIC indication primitive), ALR starts a 10-second
1675 * timer and requests Layer 1 to commence synchronization of these cells.
1676 * On expiry of this timer, ALR requests Layer 1 to stop synchronization
1677 * of these cells and forwards a list of all synchronized neighbour cells
1678 * to be measured to Layer 1 (MPHC-NCELL-LIST-SYNC request primitive).
1679 *-------------------------------------------------------------------------------*/
1680
1681 T_STEP power_measurement_e_otd_on_idle_mode__alr960()
1682 {
1683 BEGIN_STEP ("power_measurement_e_otd_on_idle_mode__alr960")
1684 {
1685 SEND ( mph_classmark_req_3() );
1686 SEND ( mph_idle_req_22() );
1687 AWAIT ( mphc_stop_scell_bcch_req() );
1688 AWAIT ( mphc_start_ccch_req_9() );
1689 AWAIT ( mphc_scell_nbcch_req_full() );
1690 SEND ( mph_neighbourcell_req_15() );
1691 AWAIT ( mphc_rxlev_periodic_req_20() );
1692 SEND ( mphc_rxlev_periodic_ind_3() );
1693 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_637) );
1694 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_25) );
1695 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_14) );
1696 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_512) );
1697 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_580) );
1698 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_885) );
1699 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_124) );
1700 SEND ( mphc_ncell_sync_ind_33() );
1701 SEND ( mphc_rxlev_periodic_ind_3() );
1702 AWAIT ( mph_measurement_ind_32() );
1703 SEND ( mphc_ncell_sync_ind_34() );
1704 AWAIT ( mphc_ncell_bcch_req (ARFCN_637) );
1705 SEND ( mphc_ncell_sync_ind_35() );
1706 AWAIT ( mphc_ncell_bcch_req_30() );
1707 SEND ( mphc_ncell_sync_ind_36() );
1708 AWAIT ( mphc_ncell_bcch_req_25() );
1709 SEND ( mphc_ncell_sync_ind_37() );
1710 AWAIT ( mphc_ncell_bcch_req_31() );
1711 SEND ( mphc_ncell_sync_ind_38() );
1712 AWAIT ( mphc_ncell_bcch_req_32() );
1713 SEND ( mphc_ncell_sync_ind_39() );
1714 AWAIT ( mphc_ncell_bcch_req_33() );
1715 SEND ( mphc_rxlev_periodic_ind_3() );
1716 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_637) );
1717 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_637) );
1718 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_25) );
1719 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_25) );
1720 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_14) );
1721 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_14) );
1722 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_512) );
1723 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_512) );
1724 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_580) );
1725 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_580) );
1726 SEND ( mphc_ncell_bcch_ind_si3(ARFCN_885) );
1727 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_885) );
1728 SEND ( mphc_rxlev_periodic_ind_3() );
1729 SEND ( mphc_rxlev_periodic_ind_3() );
1730 AWAIT ( mph_measurement_ind_33() );
1731 AWAIT ( mph_unitdata_ind_si3(ARFCN_14) );
1732 AWAIT ( mph_unitdata_ind_si3(ARFCN_25) );
1733 AWAIT ( mph_unitdata_ind_si3(ARFCN_512) );
1734 AWAIT ( mph_unitdata_ind_si3(ARFCN_580) );
1735 AWAIT ( mph_unitdata_ind_si3(ARFCN_637) );
1736 AWAIT ( mph_unitdata_ind_si3(ARFCN_885) );
1737 SEND ( mphc_rxlev_periodic_ind_3() );
1738 SEND ( mphc_rxlev_periodic_ind_3() );
1739 SEND ( mphc_rxlev_periodic_ind_3() );
1740 AWAIT ( mphc_stop_ncell_sync_req_all() );
1741 SEND ( mphc_stop_ncell_sync_con() );
1742 AWAIT ( mphc_ncell_list_sync_req_3() );
1743 AWAIT ( mph_measurement_ind_33() );
1744 }
1745 }
1746
1747
1748
1749 /*------------------------Following is for ALR970-------------------------------
1750 *
1751 * Description: A dedicated channel is assigned in preparation for E-OTD measurement.
1752 *-------------------------------------------------------------------------------*/
1753
1754 T_STEP connection_established_e_otd_dedicated_mode__alr970()
1755 {
1756 BEGIN_STEP ("connection_established_e_otd_dedicated_mode__alr970")
1757 {
1758 SEND ( mph_random_access_req_1() );
1759 AWAIT ( mphc_stop_rxlev_periodic_req() );
1760 SEND ( mphc_stop_rxlev_periodic_con_1() );
1761 AWAIT ( mphc_stop_ncell_sync_req_all() );
1762 SEND ( mphc_stop_ncell_sync_con() );
1763 AWAIT ( mphc_stop_scell_bcch_req() );
1764 SEND ( mphc_stop_scell_bcch_con() );
1765 AWAIT ( mphc_scell_nbcch_req_full() );
1766 AWAIT ( mphc_ra_req_5() );
1767 SEND ( mphc_ra_con_1() );
1768 AWAIT ( mph_random_access_cnf_1() );
1769 AWAIT ( mphc_ra_req_6() );
1770 SEND ( mphc_data_ind_20() );
1771 AWAIT ( mph_unitdata_ind_10() );
1772 SEND ( mph_dedicated_req_1() );
1773 AWAIT ( mphc_stop_scell_bcch_req() );
1774 AWAIT ( mphc_stop_ccch_req() );
1775 AWAIT ( mphc_stop_ra_req_1() );
1776 AWAIT ( mphc_immed_assign_req_1() );
1777 SEND ( mphc_immed_assign_con_1() );
1778 AWAIT ( mph_dedicated_cnf_1(DEDI_RES_OK) );
1779 }
1780 }
1781
1782
1783
1784 /*------------------------Following is for ALR972-------------------------------
1785 *
1786 * Description: RR requests E-OTD measurement of a list of cells forwarded in the
1787 * MPH-NCELL-POS request primitive, whereupon ALR forwards this list
1788 * to Layer 1 (MPHC-NCELL-LIST-SYNC request primitive).
1789 * Variant A: all cells in the list are current neighbour cells and are thus known to ALR,
1790 * Variant B: contains two cell (arfcn 516 and 525 respectively) which are unknown.
1791 *-------------------------------------------------------------------------------*/
1792
1793 T_STEP e_otd_measurement_started_dedicated_mode__alr972(CHAR variant)
1794 {
1795 BEGIN_STEP ("e_otd_measurement_started_dedicated_mode__alr972")
1796 {
1797 SEND ( mph_ncell_pos_req_2(variant) );
1798 AWAIT ( mphc_ncell_list_sync_req_4(variant) );
1799 }
1800 }
1801
1802 /*------------------------Following is for ALRG007-------------------------------
1803 *
1804 * Description: In dedicated mode ALR is suspended during a PDCH Assignment procedure.
1805 * Reference: TS04.08 V8.10.0, section 3.4.19 Assignment to a Packet Data channel.
1806 *-------------------------------------------------------------------------------*/
1807
1808 T_STEP pdch_assignment_alrg007()
1809 {
1810 BEGIN_STEP ("pdch_assignment_alrg007")
1811 {
1812
1813 SEND ( mph_dedicated_req_2g() );
1814 AWAIT ( mphc_stop_dedicated_req() );
1815 SEND ( mphc_stop_dedicated_con() );
1816 AWAIT ( mph_dedicated_cnf_1(DEDI_RES_OK) );
1817 //this does not work, but there has to be
1818 //a CCCH request to enter idle mode before going to PTM.
1819 /*This needs a implementation check through GRR-RR-ALR*/
1820 /*AWAIT ( mphc_start_ccch_req_8() );*/
1821
1822 }
1823 }
1824
1825 /*-----------------------------------------------------------------------------
1826 *
1827 * Description: Start a MO call while plmn search is active.
1828 *
1829 *-------------------------------------------------------------------------------*/
1830
1831 T_STEP abort_search_due_to_mo_call(T_VAR_ABORT_PLMN_SEARCH var)
1832 {
1833 BEGIN_STEP ("abort search due to mo call")
1834 {
1835 SEND ( mph_sync_req(CS_STOP_PLMN_SEARCH) );
1836 switch (var)
1837 {
1838 case VAR_PLMN_POWER_CNF:
1839 AWAIT ( mphc_stop_rxlev_req() );
1840 break;
1841 case VAR_PLMN_BSIC_CNF:
1842 AWAIT ( mphc_stop_ncell_sync_req(ARFCN_32) );
1843 break;
1844 case VAR_PLMN_SI:
1845 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_32) );
1846 break;
1847 }
1848
1849 SEND ( mph_random_access_req_1() );
1850 AWAIT ( mphc_stop_rxlev_periodic_req() ); // not necessary
1851 AWAIT ( mphc_stop_scell_bcch_req() ); // not necessary
1852 AWAIT ( mphc_start_ccch_req_1('A') );
1853 AWAIT ( mphc_scell_nbcch_req_full() );
1854 AWAIT ( mphc_ra_req_1() );
1855 }
1856 }
1857
1858 /*-----------------------------------------------------------------------------
1859 *
1860 * Description: GRR leaves Packet Idle Mode, the search is aborted.
1861 *
1862 *-------------------------------------------------------------------------------*/
1863 T_STEP abort_search_due_to_leaving_pim(T_VAR_ABORT_PLMN_SEARCH var)
1864 {
1865 BEGIN_STEP ("abort search due leaving PIM")
1866 {
1867 SEND ( mph_sync_req(CS_STOP_PLMN_SEARCH) );
1868 switch (var)
1869 {
1870 case VAR_PLMN_POWER_CNF:
1871 AWAIT ( mphc_stop_rxlev_req() );
1872 break;
1873 case VAR_PLMN_BSIC_CNF:
1874 AWAIT ( mphc_stop_ncell_sync_req(ARFCN_32) );
1875 break;
1876 case VAR_PLMN_SI:
1877 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_32) );
1878 break;
1879 }
1880 #if defined GPRS
1881 SEND ( mph_mon_ctrl_req(LEAVING_PIM_PBCCH) );
1882 AWAIT ( mphc_stop_ccch_req() );
1883 #endif
1884 }
1885 }
1886
1887 /*-----------------------------------------------------------------------------
1888 *
1889 * Description: GRR starts a cell reselection, the search is aborted.
1890 *
1891 *-------------------------------------------------------------------------------*/
1892 T_STEP abort_search_due_to_cell_resel(T_VAR_ABORT_PLMN_SEARCH var)
1893 {
1894 BEGIN_STEP ("abort search due to cell reselection")
1895 {
1896 SEND ( mph_sync_req(CS_STOP_PLMN_SEARCH) );
1897 switch (var)
1898 {
1899 case VAR_PLMN_POWER_CNF:
1900 AWAIT ( mphc_stop_rxlev_req() );
1901 break;
1902 case VAR_PLMN_BSIC_CNF:
1903 AWAIT ( mphc_stop_ncell_sync_req(ARFCN_32) );
1904 break;
1905 case VAR_PLMN_SI:
1906 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_32) );
1907 break;
1908 }
1909 SEND ( mph_idle_req_15g() );
1910 AWAIT ( mphc_stop_ccch_req() );
1911 AWAIT ( mphc_stop_rxlev_periodic_req() ); // not necessary
1912 AWAIT ( mphc_stop_scell_bcch_req() ); // not necessary
1913 AWAIT ( mphc_new_scell_req_10() );
1914 }
1915 }
1916
1917 /*-----------------------------------------------------------------------------
1918 *
1919 * Description: GRR requests synchronization for 3 ncells.
1920 *
1921 *-------------------------------------------------------------------------------*/
1922 T_STEP nc_pbcch_initial_sync()
1923 {
1924 BEGIN_STEP ("PBCCH, initial synchronization to 3 ncells")
1925 {
1926 SEND ( mph_neighbourcell_req_3g() );
1927 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_1) );
1928 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_14) );
1929 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_124) );
1930 SEND ( mphc_ncell_sync_ind (ARFCN_14) );
1931 AWAIT ( mph_measurement_ind_1g() );
1932 SEND ( mphc_ncell_sync_ind_failed(ARFCN_124) );
1933 AWAIT ( mph_measurement_ind_2g() );
1934 SEND ( mph_neighbourcell_req_4g() );
1935 AWAIT ( mph_measurement_ind_4g() );
1936 AWAIT ( mphc_stop_ncell_sync_req(ARFCN_1) );
1937 AWAIT ( mphc_ncell_sync_req_4g() );
1938 SEND ( mphc_ncell_sync_ind_3g() );
1939 AWAIT ( mph_measurement_ind_3g() );
1940 }
1941 }
1942
1943 /*-----------------------------------------------------------------------------
1944 *
1945 * Description: GRR starts a cell selection, the search is aborted.
1946 *
1947 *-------------------------------------------------------------------------------*/
1948
1949 T_STEP abort_search_due_to_cell_sel(T_VAR_ABORT_PLMN_SEARCH var)
1950 {
1951 BEGIN_STEP ("abort search due to cell selection")
1952 {
1953 SEND ( mph_sync_req(CS_STOP_PLMN_SEARCH) );
1954 switch (var)
1955 {
1956 case VAR_PLMN_POWER_CNF:
1957 AWAIT ( mphc_stop_rxlev_req() );
1958 break;
1959 case VAR_PLMN_BSIC_CNF:
1960 AWAIT ( mphc_stop_ncell_sync_req(ARFCN_32) );
1961 break;
1962 case VAR_PLMN_SI:
1963 AWAIT ( mphc_stop_ncell_bcch_req(ARFCN_32) );
1964 break;
1965 }
1966 SEND ( mph_power_req_1() );
1967 AWAIT ( mphc_stop_ccch_req() );
1968 AWAIT ( mphc_stop_rxlev_periodic_req() ); // not necessary
1969 AWAIT ( mphc_stop_scell_bcch_req() ); // not necessary
1970 AWAIT ( mphc_init_l1_req_1() );
1971 SEND ( mphc_init_l1_con_1() );
1972 AWAIT ( mphc_rxlev_req() );
1973 //SEND ( mphc_rxlev_ind(RXLEV_IDX_1) );
1974 }
1975 }
1976
1977 #ifdef FF_EGPRS
1978 T_STEP start_of_sending_channel_request_messages_gsm_900__alr9803()
1979 {
1980 BEGIN_STEP ("start_of_sending_channel_request_messages_gsm_900__alr9803")
1981 {
1982 SEND ( mph_random_access_req_1() );
1983 AWAIT ( mphc_stop_rxlev_periodic_req() );
1984 AWAIT (mphc_stop_ncell_bcch_req_emr());
1985 AWAIT ( mphc_stop_scell_bcch_req() );
1986 AWAIT ( mphc_scell_nbcch_req_full() );
1987 AWAIT ( mphc_ra_req_1() );
1988 SEND ( mphc_ra_con_1() );
1989 AWAIT ( mph_random_access_cnf_1() );
1990 AWAIT ( mphc_ra_req_2() );
1991 }
1992 }
1993
1994 T_STEP rr_cell_selection_emr (char idle_var,char rxlev_var,char emr_var )
1995 {
1996 BEGIN_STEP ("rr_cell_selection_emr")
1997 {
1998 int i=15;
1999 filter_and_routings_dualband_gsm_900_dcs_1800__alr600();
2000 initiation_by_rr_4_channels_available_alr001();
2001 find_bcch_carrier_first_channel_alr003();
2002 read_bcch_data_alr007();
2003
2004 SEND ( mph_classmark_req_1() );
2005 SEND ( mph_idle_req_4(idle_var) );
2006 AWAIT ( mphc_stop_scell_bcch_req() );
2007 AWAIT ( mphc_start_ccch_req_7('H') );
2008
2009 AWAIT ( mphc_scell_nbcch_req_full() ); /*acquires both N/E BCCH*/
2010 SEND ( mph_identity_req_1() );
2011 SEND ( mph_identity_req_1() );
2012 SEND ( mph_cbch_req_1() );
2013
2014 if (rxlev_var == 'A')
2015 {
2016 SEND ( mph_neighbourcell_req_3() );
2017 AWAIT ( mphc_rxlev_periodic_req_3() );
2018 SEND ( mphc_rxlev_periodic_ind_1() ); /* 1 */
2019 SEND ( mphc_rxlev_periodic_ind_1() );
2020 AWAIT ( mph_measurement_ind_emr_1() );
2021 SEND ( mphc_rxlev_periodic_ind_1() );
2022 }
2023 else if (rxlev_var == 'B')
2024 {
2025 SEND ( mph_neighbourcell_req_3() );
2026 AWAIT ( mphc_rxlev_periodic_req_3() );
2027 }
2028 else
2029 {
2030 SEND ( mph_neighbourcell_req_emr_1() );
2031 AWAIT ( mphc_rxlev_periodic_req_emr_1() );
2032 }
2033
2034 if (emr_var != 'Z')
2035 {
2036 while ( i)
2037 {
2038 SEND (mphc_data_ind_si2quater(L2_CHANNEL_EBCCH) );
2039 AWAIT (mph_unitdata_ind_si2q(ARFCN_23) );
2040 i--;
2041 }
2042 }
2043
2044 if (rxlev_var == 'A')
2045 {
2046 SEND ( mphc_rxlev_periodic_ind_1() );
2047 AWAIT ( mph_measurement_ind_emr_1() );
2048 }
2049
2050 if (emr_var != 'Z')
2051 {
2052 SEND (mph_enhpara_update_req_1 (emr_var));
2053 SEND (mph_mon_ctrl_req_1(STOP_MON_BCCH,UPDATE_SI2QUATER) );
2054 }
2055 }
2056 }
2057 #endif // FF_EGPRS
2058 /*-------------------For Test Case 1013A-E----------------------------------------------------------
2059 *
2060 * Description: Setting state of ALR in Dedicated for Handovers.
2061 *
2062 *-------------------------------------------------------------------------------*/
2063
2064 T_STEP initial_setting_state_to_dedicated()
2065 {
2066 BEGIN_STEP ("initial_setting_state_to_dedicated")
2067 {
2068 filter_and_routings_gsm_900__alr000();
2069 initiation_by_rr_4_channels_available_alr001();
2070 find_bcch_carrier_first_channel_alr003();
2071 read_bcch_data_alr007();
2072 rr_select_first_channel_alr013();
2073 start_of_sending_channel_request_messages_gsm_900__alr055();
2074 immediate_assignment_for_the_mobile_station_alr056();
2075 neighbour_cell_in_dedicated_alr155();
2076 SEND ( mphc_meas_report_4() );
2077 AWAIT ( mphc_ncell_sync_req_fn(ARFCN_124) );
2078 AWAIT ( mphc_ncell_sync_req_fn(ARFCN_1) );
2079 SEND ( mphc_ncell_sync_ind_fn(ARFCN_124));
2080 SEND ( mphc_ncell_sync_ind_fn(ARFCN_1));
2081 AWAIT(mph_measurement_ind_dummy(ARFCN_23,25));
2082 }
2083 }
2084
2085
2086 /*-----------------------------------------------------------------------------
2087 *
2088 * Description: After a HPLMN search the paging is configured to REORG,
2089 * if REORG was set before HPLMN search.
2090 *
2091 * Variant: depending on configuration before HPLNM search procedure
2092 *
2093 *-------------------------------------------------------------------------------*/
2094
2095 T_STEP continue_page_mode_reorg_after_hplnm_search_procedure(CHAR variant)
2096 {
2097 BEGIN_STEP ("continue page mode reorg after HPLMN search")
2098 {
2099
2100 switch (variant)
2101 {
2102 case 'A':
2103 AWAIT ( mphc_start_ccch_req_7('H') ); /*Paging REORG */
2104 break;
2105 case 'B':/*not used*/
2106 AWAIT ( mphc_start_ccch_req_2() ); /*Paging REORG */
2107 break;
2108 default:
2109 AWAIT ( mphc_start_ccch_req_14() ); /*SKIP Parameter - actual not used*/
2110 }
2111
2112 AWAIT ( mphc_scell_nbcch_req_full() ); /*Read complete BCCH every time*/
2113 }
2114 }
2115
2116 /*-----------------------------------------------------------------------------
2117 *
2118 * Description: HPLMN search cannot be performed if page mode REORG is configured.
2119 * Therefore REORG is stopped as long as HPLNM search procedure needs.
2120 *
2121 *-------------------------------------------------------------------------------*/
2122
2123 T_STEP stop_page_mode_reorg_before_hplnm_search_procedure()
2124 {
2125 BEGIN_STEP ("stop page mode reorg before HPLMN search")
2126 {
2127
2128 AWAIT ( mphc_start_ccch_req_normal() ); /*Paging NORMAL*/
2129 AWAIT ( mphc_scell_nbcch_req_periodic() ); /*read BCCH not every time*/
2130 }
2131 }
2132
2133 /*-----------------------------------------------------------------------------
2134 *
2135 * Description: Measurement Report is sent by L1. This is followed by sync reading on the strongest
2136 * 6 cells. Random Access procedure is then started.
2137 *
2138 *-------------------------------------------------------------------------------*/
2139
2140 T_STEP meas_ind_with_start_sync_followed_by_rach_procedure()
2141 {
2142 BEGIN_STEP ("meas indiction sync requests followed by rach")
2143 {
2144 SEND ( mphc_rxlev_periodic_ind_2() );
2145 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_14) );
2146 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_124) );
2147 AWAIT ( mphc_ncell_sync_req_initial(ARFCN_1) );
2148 SEND ( mphc_ncell_sync_ind (ARFCN_14) ); // sync for 14
2149 AWAIT ( mphc_ncell_bcch_req (ARFCN_14) );
2150
2151 SEND ( mph_random_access_req_1() );
2152 AWAIT ( mphc_stop_rxlev_periodic_req() );
2153 AWAIT ( mphc_stop_ncell_sync_req_1() );
2154 AWAIT ( mphc_stop_ncell_bcch_req_1());
2155 AWAIT ( mphc_stop_scell_bcch_req() );
2156 AWAIT ( mphc_scell_nbcch_req_full() );
2157 AWAIT ( mphc_ra_req_1() );
2158
2159 SEND ( mphc_ra_con_1() );
2160 AWAIT ( mph_random_access_cnf_1() );
2161 AWAIT ( mphc_ra_req_2() );
2162 }
2163 }
2164
2165 /*-----------------------------------------------------------------------------
2166 *
2167 * Description: Rxlevel Measurement based on Search
2168 *
2169 *-------------------------------------------------------------------------------*/
2170
2171 T_STEP rxlevel_measurement_based_on_search_parallel(CHAR search_mode, CHAR rxlev_idx)
2172 {
2173 BEGIN_STEP (" Rxlevel Based on Search")
2174 {
2175 AWAIT ( mphc_init_l1_req(STD_DUAL_EGSM));
2176 SEND ( mphc_init_l1_con_1());
2177 switch(search_mode)
2178 {
2179 case NORMAL_SEARCH_MODE:
2180 case FULL_SEARCH_MODE :
2181 /* Full & Normal Search will do the measurement 5 Times */
2182 AWAIT ( mphc_rxlev_req() );
2183 SEND ( mphc_rxlev_ind(rxlev_idx) );
2184 AWAIT ( mphc_rxlev_req() );
2185 SEND ( mphc_rxlev_ind(rxlev_idx) );
2186 AWAIT ( mphc_rxlev_req() );
2187 SEND ( mphc_rxlev_ind(rxlev_idx) );
2188 AWAIT ( mphc_rxlev_req() );
2189 SEND ( mphc_rxlev_ind(rxlev_idx) );
2190 case FAST_SEARCH_MODE :
2191 case BLACK_LIST_SEARCH_MODE:
2192 /* FAST & Blacklist Search will do the measurement only once */
2193 AWAIT ( mphc_rxlev_req() );
2194 SEND ( mphc_rxlev_ind(rxlev_idx) );
2195 break;
2196 }
2197 }
2198 }
2199
2200 /*-----------------------------------------------------------------------------
2201 *
2202 * Description: Rxlevel Measurement based on Search
2203 *
2204 *-------------------------------------------------------------------------------*/
2205
2206 T_STEP rxlevel_measurement_based_on_search_quadband(CHAR search_mode, CHAR rxlev_idx, CHAR pchinterrupt)
2207 {
2208 BEGIN_STEP (" Rxlevel Based on Search")
2209 {
2210 switch(search_mode)
2211 {
2212 case NORMAL_SEARCH_MODE:
2213 case FULL_SEARCH_MODE :
2214 /* Full & Normal Search will do the measurement 5 Times */
2215 AWAIT ( mphc_init_l1_req(STD_DUAL_EGSM));
2216 SEND ( mphc_init_l1_con_1());
2217 AWAIT ( mphc_rxlev_req() );
2218 SEND ( mphc_rxlev_ind(rxlev_idx) );
2219
2220 AWAIT ( mphc_init_l1_req(STD_DUAL_US));
2221 SEND ( mphc_init_l1_con_1());
2222 AWAIT ( mphc_rxlev_req() );
2223 SEND ( mphc_rxlev_ind(rxlev_idx) );
2224
2225 AWAIT ( mphc_init_l1_req(STD_DUAL_EGSM));
2226 SEND ( mphc_init_l1_con_1());
2227 AWAIT ( mphc_rxlev_req() );
2228 SEND ( mphc_rxlev_ind(rxlev_idx) );
2229
2230 AWAIT ( mphc_init_l1_req(STD_DUAL_US));
2231 SEND ( mphc_init_l1_con_1());
2232 AWAIT ( mphc_rxlev_req() );
2233 SEND ( mphc_rxlev_ind(rxlev_idx) );
2234
2235 AWAIT ( mphc_init_l1_req(STD_DUAL_EGSM));
2236 SEND ( mphc_init_l1_con_1());
2237 AWAIT ( mphc_rxlev_req() );
2238 SEND ( mphc_rxlev_ind(rxlev_idx) );
2239
2240 AWAIT ( mphc_init_l1_req(STD_DUAL_US));
2241 SEND ( mphc_init_l1_con_1());
2242 AWAIT ( mphc_rxlev_req() );
2243 SEND ( mphc_rxlev_ind(rxlev_idx) );
2244
2245 AWAIT ( mphc_init_l1_req(STD_DUAL_EGSM));
2246 SEND ( mphc_init_l1_con_1());
2247 AWAIT ( mphc_rxlev_req() );
2248 SEND ( mphc_rxlev_ind(rxlev_idx) );
2249
2250 AWAIT ( mphc_init_l1_req(STD_DUAL_US));
2251 SEND ( mphc_init_l1_con_1());
2252 AWAIT ( mphc_rxlev_req() );
2253 SEND ( mphc_rxlev_ind(rxlev_idx) );
2254 case FAST_SEARCH_MODE :
2255 /* FAST Search will do the measurement only once */
2256 AWAIT ( mphc_init_l1_req(STD_DUAL_EGSM));
2257 SEND ( mphc_init_l1_con_1());
2258 AWAIT ( mphc_rxlev_req() );
2259 SEND ( mphc_rxlev_ind(rxlev_idx) );
2260
2261 AWAIT ( mphc_init_l1_req(STD_DUAL_US));
2262 SEND ( mphc_init_l1_con_1());
2263 AWAIT ( mphc_rxlev_req() );
2264 SEND ( mphc_rxlev_ind(rxlev_idx) );
2265 break;
2266 case BLACK_LIST_SEARCH_MODE:
2267 /* Blacklist Search will do the measurement only once */
2268 AWAIT ( mphc_init_l1_req(STD_DUAL_EGSM));
2269 SEND ( mphc_init_l1_con_1());
2270 AWAIT ( mphc_rxlev_req() );
2271 SEND ( mphc_rxlev_ind(rxlev_idx) );
2272 break;
2273 }
2274 }
2275 }
2276
2277
2278 /*-----------------------------------------------------------------------------
2279 *
2280 * Description: Rxlevel Measurement based on Search
2281 *
2282 *-------------------------------------------------------------------------------*/
2283
2284 T_STEP rxlevel_measurement_based_on_search_american(CHAR search_mode, CHAR band, CHAR rxlev_idx)
2285 {
2286 BEGIN_STEP (" Rxlevel Based on Search")
2287 {
2288 AWAIT ( mphc_init_l1_req(band) );
2289 SEND ( mphc_init_l1_con_1() );
2290 switch(search_mode)
2291 {
2292 case NORMAL_SEARCH_MODE:
2293 case FULL_SEARCH_MODE :
2294 /* Full & Normal Search will do the measurement 5 Times */
2295 AWAIT ( mphc_rxlev_req() );
2296 SEND ( mphc_rxlev_ind(rxlev_idx) );
2297 AWAIT ( mphc_rxlev_req() );
2298 SEND ( mphc_rxlev_ind(rxlev_idx) );
2299 AWAIT ( mphc_rxlev_req() );
2300 SEND ( mphc_rxlev_ind(rxlev_idx) );
2301 AWAIT ( mphc_rxlev_req() );
2302 SEND ( mphc_rxlev_ind(rxlev_idx) );
2303 case FAST_SEARCH_MODE :
2304 case BLACK_LIST_SEARCH_MODE:
2305 /* FAST & Blacklist Search will do the measurement only once */
2306 AWAIT ( mphc_rxlev_req() );
2307 SEND ( mphc_rxlev_ind(rxlev_idx) );
2308 break;
2309 }
2310 }
2311 }