root/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_logger.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. handle_sng_log
  2. handle_sng_mtp1_alarm
  3. handle_sng_mtp2_alarm
  4. handle_sng_mtp3_alarm
  5. handle_sng_isup_alarm
  6. handle_sng_cc_alarm

   1 /*
   2  * Copyright (c) 2009|Konrad Hammel <konrad@sangoma.com>
   3  * All rights reserved.
   4  *
   5  * Redistribution and use in source and binary forms|with or without
   6  * modification|are permitted provided that the following conditions
   7  * are met:
   8  *
   9  * * Redistributions of source code must retain the above copyright
  10  * notice|this list of conditions and the following disclaimer.
  11  *
  12  * * Redistributions in binary form must reproduce the above copyright
  13  * notice|this list of conditions and the following disclaimer in the
  14  * documentation and/or other materials provided with the distribution.
  15  *
  16  * * Neither the name of the original author; nor the names of any contributors
  17  * may be used to endorse or promote products derived from this software
  18  * without specific prior written permission.
  19  *
  20  *
  21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  22  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES|INCLUDING|BUT NOT
  23  * LIMITED TO|THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  24  * A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER
  25  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT|INDIRECT|INCIDENTAL|SPECIAL,
  26  * EXEMPLARY|OR CONSEQUENTIAL DAMAGES (INCLUDING|BUT NOT LIMITED TO,
  27  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE|DATA|OR
  28  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  29  * LIABILITY|WHETHER IN CONTRACT|STRICT LIABILITY|OR TORT (INCLUDING
  30  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  31  * SOFTWARE|EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  32  */
  33 
  34 /* INCLUDE ********************************************************************/
  35 #include "ftmod_sangoma_ss7_main.h"
  36 /******************************************************************************/
  37 
  38 /* DEFINES ********************************************************************/
  39 /******************************************************************************/
  40 
  41 /* GLOBALS ********************************************************************/
  42 /******************************************************************************/
  43 
  44 /* PROTOTYPES *****************************************************************/
  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 /* FUNCTIONS ******************************************************************/
  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                 /*printf("%s",data);*/
  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 }   /* handle_mtp1_alarm */
 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                         /* find the name for the sap in question */
 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                         } /* switch (sta->t.usta.alarm.cause) */
 170                         break;
 171                 /**********************************************************************/
 172                 case (LSD_EVENT_PROT_ERR):
 173                         
 174                         /* find the name for the sap in question */
 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                         /* find the name for the sap in question */
 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                         /* find the name for the sap in question */
 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                         /* find the name for the sap in question */
 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                         /* find the name for the sap in question */
 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                         } /* switch (sta->t.usta.alarm.cause) */
 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                 } /* switch (sta->t.usta.alarm.event) */
 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         } /* switch(sta->t.usta.alarm.category) */
 347 
 348         return;
 349 }   /* handle_mtp2_alarm */
 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                         /* find the name for the sap in question */
 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                 } /* sta->t.usta.alarm.event */
 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                         } /* switch (sta->t.usta.evntParm[5]) */
 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                 } /* switch (sta->t.usta.alarm.event) */
 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         } /* switch (sta->hdr.elmId.elmnt) */
 484 
 485         return;
 486 }   /* handle_mtp3_alarm */
 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         /* initalize the msg variable to NULLs */
 497         memset(&msg[0], '\0', sizeof(&msg));
 498 
 499         /* if the event is REMOTE/LOCAL we don't need to print these */
 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         /* point p to the first spot in msg */
 507         p = &msg[0];
 508 
 509         p = strcat(p, "[ISUP]");
 510 
 511         /* go through the dgnVals */
 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                         /* init tmp with NULLs */
 520                         memset(&tmp[0], '\0', sizeof(&tmp));
 521 
 522                         /* fill in the dgn val to tmp */
 523                         sprintf(&tmp[0], "[EVENT:%d]",sta->t.usta.dgn.dgnVal[x].t.event);
 524 
 525                         /* concat tmp to msg */
 526                         p = strcat(p, &tmp[0]);
 527                         break;
 528                 /**********************************************************************/
 529                 case (LSI_USTA_DGNVAL_SPID):
 530                         /* init tmp with NULLs */
 531                         memset(&tmp[0], '\0', sizeof(&tmp));
 532 
 533                         /* fill in the dgn val to tmp */
 534                         sprintf(&tmp[0], "[SPID:%d]",sta->t.usta.dgn.dgnVal[x].t.spId);
 535 
 536                         /* concat tmp to msg */
 537                         p = strcat(p, &tmp[0]);
 538                         break;
 539                 /**********************************************************************/
 540                 case (LSI_USTA_DGNVAL_SUID):
 541                         /* init tmp with NULLs */
 542                         memset(&tmp[0], '\0', sizeof(&tmp));
 543 
 544                         /* fill in the dgn val to tmp */
 545                         sprintf(&tmp[0], "[SUID:%d]",sta->t.usta.dgn.dgnVal[x].t.suId);
 546 
 547                         /* concat tmp to msg */
 548                         p = strcat(p, &tmp[0]);
 549                         break;
 550                 /**********************************************************************/
 551                 case (LSI_USTA_DGNVAL_SPINSTID):
 552                         /* init tmp with NULLs */
 553                         memset(&tmp[0], '\0', sizeof(&tmp));
 554 
 555                         /* fill in the dgn val to tmp */
 556                         sprintf(&tmp[0], "[SPINSTID:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.spInstId);
 557 
 558                         /* concat tmp to msg */
 559                         p = strcat(p, &tmp[0]);
 560                         break;
 561                 /**********************************************************************/
 562                 case (LSI_USTA_DGNVAL_SUINSTID):
 563                         /* init tmp with NULLs */
 564                         memset(&tmp[0], '\0', sizeof(&tmp));
 565 
 566                         /* fill in the dgn val to tmp */
 567                         sprintf(&tmp[0], "[SUINSTID:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.suInstId);
 568 
 569                         /* concat tmp to msg */
 570                         p = strcat(p, &tmp[0]);
 571                         break;
 572                 /**********************************************************************/
 573                 case (LSI_USTA_DGNVAL_CIRCUIT):
 574                         /* init tmp with NULLs */
 575                         memset(&tmp[0], '\0', sizeof(&tmp));
 576 
 577                         /* fill in the dgn val to tmp */
 578                         sprintf(&tmp[0], "[CKT:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.cirId);
 579 
 580                         /* concat tmp to msg */
 581                         p = strcat(p, &tmp[0]);
 582                         break;
 583                 /**********************************************************************/
 584                 case (LSI_USTA_DGNVAL_CIC):
 585                         /* init tmp with NULLs */
 586                         memset(&tmp[0], '\0', sizeof(&tmp));
 587 
 588                         /* fill in the dgn val to tmp */
 589                         sprintf(&tmp[0], "[CIC:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.cic);
 590 
 591                         /* concat tmp to msg */
 592                         p = strcat(p, &tmp[0]);
 593                         break;
 594                 /**********************************************************************/
 595                 case (LSI_USTA_DGNVAL_INTF):
 596                         /* init tmp with NULLs */
 597                         memset(&tmp[0], '\0', sizeof(&tmp));
 598 
 599                         /* fill in the dgn val to tmp */
 600                         sprintf(&tmp[0], "[INTF:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.intfId);
 601 
 602                         /* concat tmp to msg */
 603                         p = strcat(p, &tmp[0]);
 604                         break;
 605                 /**********************************************************************/
 606                 case (LSI_USTA_DGNVAL_DPC):
 607                         /* init tmp with NULLs */
 608                         memset(&tmp[0], '\0', sizeof(&tmp));
 609 
 610                         /* fill in the dgn val to tmp */
 611                         sprintf(&tmp[0], "[DPC:%d]", (int)sta->t.usta.dgn.dgnVal[x].t.dpc);
 612 
 613                         /* concat tmp to msg */
 614                         p = strcat(p, &tmp[0]);
 615                         break;
 616                 /**********************************************************************/
 617                 case (LSI_USTA_DGNVAL_ADDRS):
 618 #if 0
 619                         /*
 620                          *typedef struct addrs
 621                          *{
 622                          *U8 length;
 623                          *U8 strg[ADRLEN];
 624                          *} Addrs;
 625                          */
 626                         /* init tmp with NULLs */
 627                         memset(&tmp[0], '\0', sizeof(&tmp));
 628 
 629                         /* fill in the dgn val to tmp */
 630                         sprintf(&tmp[0], "[ADDRS:%d]",sta->t.usta.dgn.dgnVal[x].t.);
 631 
 632                         /* concat tmp to msg */
 633                         p = strcat(p, &tmp[0]);
 634 #endif
 635                         break;
 636                 /**********************************************************************/
 637                 case (LSI_USTA_DGNVAL_SWTCH):
 638                         /* init tmp with NULLs */
 639                         memset(&tmp[0], '\0', sizeof(&tmp));
 640 
 641                         /* fill in the dgn val to tmp */
 642                         sprintf(&tmp[0], "[SWTCH:%d]",sta->t.usta.dgn.dgnVal[x].t.swtch);
 643 
 644                         /* concat tmp to msg */
 645                         p = strcat(p, &tmp[0]);
 646                         break;
 647                 /**********************************************************************/
 648                 case (LSI_USTA_DGNVAL_RANGE):
 649                         /* init tmp with NULLs */
 650                         memset(&tmp[0], '\0', sizeof(&tmp));
 651 
 652                         /* fill in the dgn val to tmp */
 653                         sprintf(&tmp[0], "[RANGE:0x%X]",sta->t.usta.dgn.dgnVal[x].t.range);
 654 
 655                         /* concat tmp to msg */
 656                         p = strcat(p, &tmp[0]);
 657                         break;
 658                 /**********************************************************************/
 659                 case (LSI_USTA_DGNVAL_STATUS_OCTS):
 660 #if 0
 661                         /*
 662                          *typedef struct addrs
 663                          *{
 664                          *U8 length;
 665                          *U8 strg[ADRLEN];
 666                          *} Addrs;
 667                          */
 668                         /* init tmp with NULLs */
 669                         /* init tmp with NULLs */
 670                         memset(&tmp[0], '\0', sizeof(&tmp));
 671 
 672                         /* fill in the dgn val to tmp */
 673                         sprintf(&tmp[0], "[STATUS_OCT:0x%X]",sta->t.usta.dgn.dgnVal[x].t.);
 674 
 675                         /* concat tmp to msg */
 676                         p = strcat(p, &tmp[0]);
 677 #endif
 678                         break;
 679                 /**********************************************************************/
 680                 case (LSI_USTA_DGNVAL_VER):
 681 #ifdef SI_RUG
 682                         /* init tmp with NULLs */
 683                         memset(&tmp[0], '\0', sizeof(&tmp));
 684 
 685                         /* fill in the dgn val to tmp */
 686                         sprintf(&tmp[0], "[VER:%d]",sta->t.usta.dgn.dgnVal[x].t.intfVer);
 687 
 688                         /* concat tmp to msg */
 689                         p = strcat(p, &tmp[0]);
 690 #endif
 691                         break;
 692                 /**********************************************************************/
 693                 case (LSI_USTA_DGNVAL_TIMER):
 694                         /* init tmp with NULLs */
 695                         memset(&tmp[0], '\0', sizeof(&tmp));
 696 
 697                         /* fill in the dgn val to tmp */
 698                         sprintf(&tmp[0], "[TIMER:0x%X]",sta->t.usta.dgn.dgnVal[x].t.tmrInfo);
 699 
 700                         /* concat tmp to msg */
 701                         p = strcat(p, &tmp[0]);
 702                         break;
 703                 /**********************************************************************/
 704                 case (LSI_USTA_DGNVAL_MSGTYPE):
 705                         /* init tmp with NULLs */
 706                         memset(&tmp[0], '\0', sizeof(&tmp));
 707 
 708                         /* fill in the dgn val to tmp */
 709                         sprintf(&tmp[0], "[MSGTYPE:%d]",sta->t.usta.dgn.dgnVal[x].t.msgType);
 710 
 711                         /* concat tmp to msg */
 712                         p = strcat(p, &tmp[0]);
 713                         break;
 714                 /**********************************************************************/
 715                 case (LSI_USTA_DGNVAL_STATE):
 716                         /* init tmp with NULLs */
 717                         memset(&tmp[0], '\0', sizeof(&tmp));
 718 
 719                         /* fill in the dgn val to tmp */
 720                         sprintf(&tmp[0], "[STATE:%d]",sta->t.usta.dgn.dgnVal[x].t.state);
 721 
 722                         /* concat tmp to msg */
 723                         p = strcat(p, &tmp[0]);
 724                         break;
 725                 /**********************************************************************/
 726                 default:
 727                         break;
 728                 /**********************************************************************/
 729                 } /* switch (sta->t.usta.dgn.dgnVal[x].t.type) */
 730         } /* for  (x = 0; x < 5; x++) */
 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 }   /* handle_isup_alarm */
 740 
 741 /******************************************************************************/
 742 void handle_sng_cc_alarm(Pst *pst, CcMngmt *sta)
 743 {
 744 
 745         return;
 746 }   /* handle_cc_alarm */
 747 /******************************************************************************/
 748 
 749 /******************************************************************************/
 750 /* For Emacs:
 751  * Local Variables:
 752  * mode:c
 753  * indent-tabs-mode:t
 754  * tab-width:4
 755  * c-basic-offset:4
 756  * End:
 757  * For VIM:
 758  * vim:set softtabstop=4 shiftwidth=4 tabstop=4:
 759  */
 760 /******************************************************************************/

/* [<][>][^][v][top][bottom][index][help] */