This source file includes following definitions.
- handle_sng_log
- handle_sng_mtp1_alarm
- handle_sng_mtp2_alarm
- handle_sng_mtp3_alarm
- handle_sng_isup_alarm
- handle_sng_cc_alarm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 #include "ftmod_sangoma_ss7_main.h"
36
37
38
39
40
41
42
43
44
45 void handle_sng_log(uint8_t level, char *fmt,...);
46 void handle_sng_mtp1_alarm(Pst *pst, L1Mngmt *sta);
47 void handle_sng_mtp2_alarm(Pst *pst, SdMngmt *sta);
48 void handle_sng_mtp3_alarm(Pst *pst, SnMngmt *sta);
49 void handle_sng_isup_alarm(Pst *pst, SiMngmt *sta);
50 void handle_sng_cc_alarm(Pst *pst, CcMngmt *sta);
51
52
53
54 void handle_sng_log(uint8_t level, char *fmt,...)
55 {
56 char *data;
57 int ret;
58 va_list ap;
59
60 va_start(ap, fmt);
61 ret = vasprintf(&data, fmt, ap);
62 if (ret == -1) {
63 return;
64 }
65
66 switch (level) {
67
68 case SNG_LOGLEVEL_DEBUG:
69 ftdm_log(FTDM_LOG_DEBUG, "sng_ss7->%s", data);
70 break;
71
72 case SNG_LOGLEVEL_WARN:
73 ftdm_log(FTDM_LOG_WARNING, "sng_ss7->%s", data);
74 break;
75
76 case SNG_LOGLEVEL_INFO:
77 ftdm_log(FTDM_LOG_INFO, "sng_ss7->%s", data);
78 break;
79
80 case SNG_LOGLEVEL_STATS:
81 ftdm_log(FTDM_LOG_INFO, "sng_ss7->%s", data);
82 break;
83
84 case SNG_LOGLEVEL_ERROR:
85 ftdm_log(FTDM_LOG_ERROR, "sng_ss7->%s", data);
86 break;
87
88 case SNG_LOGLEVEL_CRIT:
89
90 ftdm_log(FTDM_LOG_CRIT, "sng_ss7->%s", data);
91 break;
92
93 default:
94 ftdm_log(FTDM_LOG_INFO, "sng_ss7->%s", data);
95 break;
96
97 }
98
99 return;
100 }
101
102
103 void handle_sng_mtp1_alarm(Pst *pst, L1Mngmt *sta)
104 {
105
106
107 }
108
109
110 void handle_sng_mtp2_alarm(Pst *pst, SdMngmt *sta)
111 {
112 char buf[50];
113 int x = 1;
114
115 memset(buf, '\0', sizeof(buf));
116
117 switch (sta->t.usta.alarm.category) {
118
119 case (LCM_CATEGORY_PROTOCOL):
120 case (LCM_CATEGORY_INTERFACE):
121
122 switch (sta->t.usta.alarm.event) {
123
124 case (LSD_EVENT_ENTR_CONG):
125 case (LSD_EVENT_EXIT_CONG):
126 case (LSD_EVENT_PROT_ST_UP):
127 case (LSD_EVENT_PROT_ST_DN):
128 case (LSD_EVENT_LINK_ALIGNED):
129 case (LSD_EVENT_REMOTE_CONG_START):
130 case (LSD_EVENT_REMOTE_CONG_END):
131 case (LSD_EVENT_RX_REMOTE_SIPO):
132
133
134 x = 1;
135 while (g_ftdm_sngss7_data.cfg.mtpLink[x].id != 0) {
136 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == sta->t.usta.evntParm[0]) {
137 break;
138 }
139 x++;
140 }
141
142 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == 0) {
143 sprintf(buf, "[SAPID:%d]", sta->t.usta.evntParm[0]);
144 } else {
145 sprintf(buf, "[%s]", g_ftdm_sngss7_data.cfg.mtpLink[x].name);
146 }
147
148
149 switch (sta->t.usta.alarm.cause) {
150
151 case (LCM_CAUSE_UNKNOWN):
152 ftdm_log(FTDM_LOG_ERROR,"[MTP2]%s %s\n",
153 buf,
154 DECODE_LSD_EVENT(sta->t.usta.alarm.event));
155 break;
156
157 case (LCM_CAUSE_MGMT_INITIATED):
158 ftdm_log(FTDM_LOG_ERROR,"[MTP2]%s[MGMT] %s\n",
159 buf,
160 DECODE_LSD_EVENT(sta->t.usta.alarm.event));
161 break;
162
163 default:
164 ftdm_log(FTDM_LOG_ERROR,"[MTP2]%s %s (***unknown cause***)\n",
165 buf,
166 DECODE_LSD_EVENT(sta->t.usta.alarm.event));
167 break;
168
169 }
170 break;
171
172 case (LSD_EVENT_PROT_ERR):
173
174
175 x = 1;
176 while (g_ftdm_sngss7_data.cfg.mtpLink[x].id != 0) {
177 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == sta->t.usta.evntParm[0]) {
178 break;
179 }
180 x++;
181 }
182
183 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == 0) {
184 sprintf(buf, "[SAPID:%d]", sta->t.usta.evntParm[0]);
185 } else {
186 sprintf(buf, "[%s]", g_ftdm_sngss7_data.cfg.mtpLink[x].name);
187 }
188
189 ftdm_log(FTDM_LOG_ERROR,"[MTP2]%s %s : %s\n",
190 buf,
191 DECODE_LSD_EVENT(sta->t.usta.alarm.event),
192 DECODE_LSD_CAUSE(sta->t.usta.alarm.cause));
193 break;
194
195 case (LSD_EVENT_ALIGN_LOST):
196
197
198 x = 1;
199 while (g_ftdm_sngss7_data.cfg.mtpLink[x].id != 0) {
200 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == sta->t.usta.evntParm[0]) {
201 break;
202 }
203 x++;
204 }
205
206 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == 0) {
207 sprintf(buf, "[SAPID:%d]", sta->t.usta.evntParm[0]);
208 } else {
209 sprintf(buf, "[%s]", g_ftdm_sngss7_data.cfg.mtpLink[x].name);
210 }
211
212 ftdm_log(FTDM_LOG_ERROR,"[MTP2]%s %s : %s\n",
213 buf,
214 DECODE_LSD_EVENT(sta->t.usta.alarm.event),
215 DECODE_DISC_REASON(sta->t.usta.evntParm[1]));
216 break;
217
218 case (LSD_EVENT_RTB_FULL):
219 case (LSD_EVENT_RTB_FULL_OVER):
220
221
222 x = 1;
223 while (g_ftdm_sngss7_data.cfg.mtpLink[x].id != 0) {
224 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == sta->t.usta.evntParm[0]) {
225 break;
226 }
227 x++;
228 }
229
230 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == 0) {
231 sprintf(buf, "[SAPID:%d]", sta->t.usta.evntParm[0]);
232 } else {
233 sprintf(buf, "[%s]", g_ftdm_sngss7_data.cfg.mtpLink[x].name);
234 }
235
236 ftdm_log(FTDM_LOG_ERROR,"[MTP2]%s %s : RTB Queue Len(%d)|Oldest BSN(%d)|Tx Queue Len(%d)|Outstanding Frames(%d)\n",
237 buf,
238 DECODE_LSD_EVENT(sta->t.usta.alarm.event),
239 sta->t.usta.evntParm[1],
240 sta->t.usta.evntParm[2],
241 sta->t.usta.evntParm[3],
242 sta->t.usta.evntParm[4]);
243 break;
244
245 case (LSD_EVENT_NEG_ACK):
246
247
248 x = 1;
249 while (g_ftdm_sngss7_data.cfg.mtpLink[x].id != 0) {
250 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == sta->t.usta.evntParm[0]) {
251 break;
252 }
253 x++;
254 }
255
256 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == 0) {
257 sprintf(buf, "[SAPID:%d]", sta->t.usta.evntParm[0]);
258 } else {
259 sprintf(buf, "[%s]", g_ftdm_sngss7_data.cfg.mtpLink[x].name);
260 }
261
262 ftdm_log(FTDM_LOG_ERROR,"[MTP2]%s %s : RTB Queue Len(%d)\n",
263 buf,
264 DECODE_LSD_EVENT(sta->t.usta.alarm.event),
265 sta->t.usta.evntParm[1]);
266 break;
267
268 case (LSD_EVENT_DAT_CFM_SDT):
269
270
271 x = 1;
272 while (g_ftdm_sngss7_data.cfg.mtpLink[x].id != 0) {
273 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == sta->t.usta.evntParm[0]) {
274 break;
275 }
276 x++;
277 }
278
279 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == 0) {
280 sprintf(buf, "[SAPID:%d]", sta->t.usta.evntParm[0]);
281 } else {
282 sprintf(buf, "[%s]", g_ftdm_sngss7_data.cfg.mtpLink[x].name);
283 }
284
285 ftdm_log(FTDM_LOG_ERROR,"[MTP2]%s %s : %d\n",
286 buf,
287 DECODE_LSD_EVENT(sta->t.usta.alarm.event),
288 DECODE_DISC_REASON(sta->t.usta.evntParm[1]));
289 break;
290
291 case (LCM_EVENT_UI_INV_EVT):
292 case (LCM_EVENT_LI_INV_EVT):
293 ftdm_log(FTDM_LOG_ERROR,"[MTP2] %s : %s : Primitive (%d)\n",
294 DECODE_LSD_EVENT(sta->t.usta.alarm.event),
295 DECODE_LCM_CAUSE(sta->t.usta.alarm.cause),
296 sta->t.usta.evntParm[0]);
297 break;
298
299 case (LCM_EVENT_INV_EVT):
300
301 switch (sta->t.usta.alarm.cause) {
302
303 case (LCM_CAUSE_UNKNOWN):
304 case (LCM_CAUSE_SWVER_NAVAIL):
305 ftdm_log(FTDM_LOG_ERROR,"[MTP2] %s : %s : Event (%d)\n",
306 DECODE_LSD_EVENT(sta->t.usta.alarm.event),
307 DECODE_LCM_CAUSE(sta->t.usta.alarm.cause),
308 sta->t.usta.evntParm[0]);
309 break;
310
311 case (LCM_CAUSE_DECODE_ERR):
312 ftdm_log(FTDM_LOG_ERROR,"[MTP2] %s : %s : Primitive (%d)|Version (%d)\n",
313 DECODE_LSD_EVENT(sta->t.usta.alarm.event),
314 DECODE_LCM_CAUSE(sta->t.usta.alarm.cause),
315 sta->t.usta.evntParm[0],
316 sta->t.usta.evntParm[1]);
317 break;
318
319 default:
320 ftdm_log(FTDM_LOG_ERROR,"[MTP2] %s(%d) : %s(%d)\n",
321 DECODE_LSD_EVENT(sta->t.usta.alarm.event),
322 sta->t.usta.alarm.event,
323 DECODE_LSD_CAUSE(sta->t.usta.alarm.cause),
324 sta->t.usta.alarm.cause);
325 break;
326
327 }
328 break;
329
330 default:
331 ftdm_log(FTDM_LOG_ERROR,"[MTP2] %s(%d) : %s(%d)\n",
332 DECODE_LSD_EVENT(sta->t.usta.alarm.event),
333 sta->t.usta.alarm.event,
334 DECODE_LSD_CAUSE(sta->t.usta.alarm.cause),
335 sta->t.usta.alarm.cause);
336 break;
337
338 }
339 break;
340
341 default:
342 ftdm_log(FTDM_LOG_ERROR,"[MTP2] Unknown alarm category %d\n",
343 sta->t.usta.alarm.category);
344 break;
345
346 }
347
348 return;
349 }
350
351
352 void handle_sng_mtp3_alarm(Pst *pst, SnMngmt *sta)
353 {
354 char buf[50];
355 int x = 1;
356
357 memset(buf, '\0', sizeof(buf));
358
359 switch (sta->hdr.elmId.elmnt) {
360
361 case (STDLSAP):
362
363
364 x = 1;
365 while (g_ftdm_sngss7_data.cfg.mtpLink[x].id != 0) {
366 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == sta->hdr.elmId.elmntInst1) {
367 break;
368 }
369 x++;
370 }
371
372 if (g_ftdm_sngss7_data.cfg.mtpLink[x].id == 0) {
373 sprintf(buf, "[SAPID:%d]", sta->hdr.elmId.elmntInst1);
374 } else {
375 sprintf(buf, "[%s]", g_ftdm_sngss7_data.cfg.mtpLink[x].name);
376 }
377
378 switch (sta->t.usta.alarm.event) {
379
380 case (LSN_EVENT_INV_OPC_OTHER_END):
381 ftdm_log(FTDM_LOG_ERROR,"[MTP3]%s %s : %s : OPC(0x%X%X%X%X)\n",
382 buf,
383 DECODE_LSN_EVENT(sta->t.usta.alarm.event),
384 DECODE_LSN_CAUSE(sta->t.usta.alarm.cause),
385 sta->t.usta.evntParm[3],
386 sta->t.usta.evntParm[2],
387 sta->t.usta.evntParm[1],
388 sta->t.usta.evntParm[0]);
389 break;
390
391 case (LSN_EVENT_INV_SLC_OTHER_END):
392 ftdm_log(FTDM_LOG_ERROR,"[MTP3]%s %s : %s : SLC(%d)\n",
393 buf,
394 DECODE_LSN_EVENT(sta->t.usta.alarm.event),
395 DECODE_LSN_CAUSE(sta->t.usta.alarm.cause),
396 sta->t.usta.evntParm[0]);
397 break;
398
399 default:
400 ftdm_log(FTDM_LOG_ERROR,"[MTP3]%s %s(%d) : %s(%d)\n",
401 buf,
402 DECODE_LSN_EVENT(sta->t.usta.alarm.event),
403 sta->t.usta.alarm.event,
404 DECODE_LSN_CAUSE(sta->t.usta.alarm.cause),
405 sta->t.usta.alarm.cause);
406 break;
407
408 }
409 break;
410
411 case (STNSAP):
412 ftdm_log(FTDM_LOG_ERROR,"[MTP3][SAPID:%d] %s : %s\n",
413 sta->hdr.elmId.elmntInst1,
414 DECODE_LSN_EVENT(sta->t.usta.alarm.event),
415 DECODE_LSN_CAUSE(sta->t.usta.alarm.cause));
416 break;
417
418 case (STLNKSET):
419 ftdm_log(FTDM_LOG_ERROR,"[MTP3][LNKSET:%d] %s : %s\n",
420 sta->hdr.elmId.elmntInst1,
421 DECODE_LSN_EVENT(sta->t.usta.alarm.event),
422 DECODE_LSN_CAUSE(sta->t.usta.alarm.cause));
423 break;
424
425 case (STROUT):
426 switch (sta->t.usta.alarm.event) {
427
428 case (LSN_EVENT_RX_TRANSFER_MSG):
429 switch (sta->t.usta.evntParm[5]) {
430
431 case (0x23):
432 ftdm_log(FTDM_LOG_INFO,"[MTP3] Rx SNM TFC\n");
433 break;
434
435 case (0x34):
436 ftdm_log(FTDM_LOG_INFO,"[MTP3] Rx SNM TFR\n");
437 break;
438
439 case (0x54):
440 ftdm_log(FTDM_LOG_INFO,"[MTP3] Rx SNM TFA\n");
441 break;
442
443 case (0x14):
444 ftdm_log(FTDM_LOG_INFO,"[MTP3] Rx SNM TFP\n");
445 break;
446
447 case (0x24):
448 ftdm_log(FTDM_LOG_INFO,"[MTP3] Rx SNM TFP (cluster)\n");
449 break;
450
451 case (0x64):
452 ftdm_log(FTDM_LOG_INFO,"[MTP3] Rx SNM TFA (cluster)\n");
453 break;
454
455 case (0x44):
456 ftdm_log(FTDM_LOG_INFO,"[MTP3] Rx SNM TFR (cluster)\n");
457 break;
458
459 }
460 break;
461
462 default:
463 ftdm_log(FTDM_LOG_ERROR,"[MTP3][DPC:0x%d%d%d%d] %s : %s\n",
464 sta->t.usta.evntParm[0],
465 sta->t.usta.evntParm[1],
466 sta->t.usta.evntParm[2],
467 sta->t.usta.evntParm[3],
468 DECODE_LSN_EVENT(sta->t.usta.alarm.event),
469 DECODE_LSN_CAUSE(sta->t.usta.alarm.cause));
470 break;
471
472 }
473 break;
474
475 default:
476 ftdm_log(FTDM_LOG_ERROR,"[MTP3] %s(%d) : %s(%d)\n",
477 DECODE_LSN_EVENT(sta->t.usta.alarm.event),
478 sta->t.usta.alarm.event,
479 DECODE_LSN_CAUSE(sta->t.usta.alarm.cause),
480 sta->t.usta.alarm.cause);
481 break;
482
483 }
484
485 return;
486 }
487
488
489 void handle_sng_isup_alarm(Pst *pst, SiMngmt *sta)
490 {
491 char msg[250];
492 char tmp[25];
493 char *p = NULL;
494 int x = 0;
495
496
497 memset(&msg[0], '\0', sizeof(&msg));
498
499
500 if ((sta->t.usta.alarm.event == LSI_EVENT_REMOTE) ||
501 (sta->t.usta.alarm.event == LSI_EVENT_LOCAL)) {
502 return;
503 }
504
505
506
507 p = &msg[0];
508
509 p = strcat(p, "[ISUP]");
510
511
512 for (x = 0; x < 5; x++) {
513 switch (sta->t.usta.dgn.dgnVal[x].type) {
514
515 case (LSI_USTA_DGNVAL_NONE):
516 break;
517
518 case (LSI_USTA_DGNVAL_EVENT):
519
520 memset(&tmp[0], '\0', sizeof(&tmp));
521
522
523 sprintf(&tmp[0], "[EVENT:%d]",sta->t.usta.dgn.dgnVal[x].t.event);
524
525
526 p = strcat(p, &tmp[0]);
527 break;
528
529 case (LSI_USTA_DGNVAL_SPID):
530
531 memset(&tmp[0], '\0', sizeof(&tmp));
532
533
534 sprintf(&tmp[0], "[SPID:%d]",sta->t.usta.dgn.dgnVal[x].t.spId);
535
536
537 p = strcat(p, &tmp[0]);
538 break;
539
540 case (LSI_USTA_DGNVAL_SUID):
541
542 memset(&tmp[0], '\0', sizeof(&tmp));
543
544
545 sprintf(&tmp[0], "[SUID:%d]",sta->t.usta.dgn.dgnVal[x].t.suId);
546
547
548 p = strcat(p, &tmp[0]);
549 break;
550
551 case (LSI_USTA_DGNVAL_SPINSTID):
552
553 memset(&tmp[0], '\0', sizeof(&tmp));
554
555
556 sprintf(&tmp[0], "[SPINSTID:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.spInstId);
557
558
559 p = strcat(p, &tmp[0]);
560 break;
561
562 case (LSI_USTA_DGNVAL_SUINSTID):
563
564 memset(&tmp[0], '\0', sizeof(&tmp));
565
566
567 sprintf(&tmp[0], "[SUINSTID:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.suInstId);
568
569
570 p = strcat(p, &tmp[0]);
571 break;
572
573 case (LSI_USTA_DGNVAL_CIRCUIT):
574
575 memset(&tmp[0], '\0', sizeof(&tmp));
576
577
578 sprintf(&tmp[0], "[CKT:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.cirId);
579
580
581 p = strcat(p, &tmp[0]);
582 break;
583
584 case (LSI_USTA_DGNVAL_CIC):
585
586 memset(&tmp[0], '\0', sizeof(&tmp));
587
588
589 sprintf(&tmp[0], "[CIC:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.cic);
590
591
592 p = strcat(p, &tmp[0]);
593 break;
594
595 case (LSI_USTA_DGNVAL_INTF):
596
597 memset(&tmp[0], '\0', sizeof(&tmp));
598
599
600 sprintf(&tmp[0], "[INTF:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.intfId);
601
602
603 p = strcat(p, &tmp[0]);
604 break;
605
606 case (LSI_USTA_DGNVAL_DPC):
607
608 memset(&tmp[0], '\0', sizeof(&tmp));
609
610
611 sprintf(&tmp[0], "[DPC:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.dpc);
612
613
614 p = strcat(p, &tmp[0]);
615 break;
616
617 case (LSI_USTA_DGNVAL_ADDRS):
618 #if 0
619
620
621
622
623
624
625
626
627 memset(&tmp[0], '\0', sizeof(&tmp));
628
629
630 sprintf(&tmp[0], "[ADDRS:%d]",sta->t.usta.dgn.dgnVal[x].t.);
631
632
633 p = strcat(p, &tmp[0]);
634 #endif
635 break;
636
637 case (LSI_USTA_DGNVAL_SWTCH):
638
639 memset(&tmp[0], '\0', sizeof(&tmp));
640
641
642 sprintf(&tmp[0], "[SWTCH:%d]",sta->t.usta.dgn.dgnVal[x].t.swtch);
643
644
645 p = strcat(p, &tmp[0]);
646 break;
647
648 case (LSI_USTA_DGNVAL_RANGE):
649
650 memset(&tmp[0], '\0', sizeof(&tmp));
651
652
653 sprintf(&tmp[0], "[RANGE:0x%X]",sta->t.usta.dgn.dgnVal[x].t.range);
654
655
656 p = strcat(p, &tmp[0]);
657 break;
658
659 case (LSI_USTA_DGNVAL_STATUS_OCTS):
660 #if 0
661
662
663
664
665
666
667
668
669
670 memset(&tmp[0], '\0', sizeof(&tmp));
671
672
673 sprintf(&tmp[0], "[STATUS_OCT:0x%X]",sta->t.usta.dgn.dgnVal[x].t.);
674
675
676 p = strcat(p, &tmp[0]);
677 #endif
678 break;
679
680 case (LSI_USTA_DGNVAL_VER):
681 #ifdef SI_RUG
682
683 memset(&tmp[0], '\0', sizeof(&tmp));
684
685
686 sprintf(&tmp[0], "[VER:%d]",sta->t.usta.dgn.dgnVal[x].t.intfVer);
687
688
689 p = strcat(p, &tmp[0]);
690 #endif
691 break;
692
693 case (LSI_USTA_DGNVAL_TIMER):
694
695 memset(&tmp[0], '\0', sizeof(&tmp));
696
697
698 sprintf(&tmp[0], "[TIMER:0x%X]",sta->t.usta.dgn.dgnVal[x].t.tmrInfo);
699
700
701 p = strcat(p, &tmp[0]);
702 break;
703
704 case (LSI_USTA_DGNVAL_MSGTYPE):
705
706 memset(&tmp[0], '\0', sizeof(&tmp));
707
708
709 sprintf(&tmp[0], "[MSGTYPE:%d]",sta->t.usta.dgn.dgnVal[x].t.msgType);
710
711
712 p = strcat(p, &tmp[0]);
713 break;
714
715 case (LSI_USTA_DGNVAL_STATE):
716
717 memset(&tmp[0], '\0', sizeof(&tmp));
718
719
720 sprintf(&tmp[0], "[STATE:%d]",sta->t.usta.dgn.dgnVal[x].t.state);
721
722
723 p = strcat(p, &tmp[0]);
724 break;
725
726 default:
727 break;
728
729 }
730 }
731
732 ftdm_log(FTDM_LOG_ERROR,"%s %s : %s\n",
733 msg,
734 DECODE_LSI_EVENT(sta->t.usta.alarm.event),
735 DECODE_LSI_CAUSE(sta->t.usta.alarm.cause));
736
737 return;
738
739 }
740
741
742 void handle_sng_cc_alarm(Pst *pst, CcMngmt *sta)
743 {
744
745 return;
746 }
747
748
749
750
751
752
753
754
755
756
757
758
759
760