static void handle_entsi_alarm(sng_alrm_t alarm) { switch (alarm.event) { /**************************************************************************/ case (LCM_EVENT_TIMEOUT): /* this event always has the circuit value embedded */ SS7_WARN("[ISUP] Timer %d expired on CIC %d\n", alarm.eventParm[8], g_ftdm_sngss7_data.cfg.isupCircuit[alarm.eventParm[0]].cic); break; /**************************************************************************/ case (LSI_EVENT_REMOTE): SS7_WARN("[ISUP] %s received on CIC %d\n", DECODE_LSI_CAUSE(alarm.cause), g_ftdm_sngss7_data.cfg.isupCircuit[alarm.eventParm[0]].cic); break; /**************************************************************************/ case (LSI_EVENT_LOCAL): SS7_WARN("[ISUP] %s transmitted on CIC %d\n", DECODE_LSI_CAUSE(alarm.cause), g_ftdm_sngss7_data.cfg.isupCircuit[alarm.eventParm[0]].cic); break; /**************************************************************************/ case (LSI_EVENT_MTP): SS7_WARN("[ISUP] Received %s on %d\n", DECODE_LSI_CAUSE(alarm.cause), g_ftdm_sngss7_data.cfg.mtp3_isup[alarm.eventParm[2]].id); break; /**************************************************************************/ case (LCM_EVENT_UI_INV_EVT): switch (alarm.cause) { /**********************************************************************/ case (LSI_CAUSE_INV_CIRCUIT): SS7_WARN("[ISUP] Invalid circuit = %d (CIC = %d)\n", alarm.eventParm[0], g_ftdm_sngss7_data.cfg.isupCircuit[alarm.eventParm[0]].cic); break; /**********************************************************************/ } break; /**************************************************************************/ case (LCM_EVENT_LI_INV_EVT): switch (alarm.cause) { /**********************************************************************/ case (LCM_CAUSE_INV_SAP): SS7_WARN("[ISUP] Invalid spId = %d\n", alarm.eventParm[3]); break; /**********************************************************************/ } break; /**************************************************************************/ default: SS7_WARN("[ISUP] %s : %s \n", DECODE_LSI_EVENT(alarm.event), DECODE_LSI_CAUSE(alarm.cause)); break; /**************************************************************************/ } /* switch (alarm.event) */ return; }
int ftmod_ss7_enable_grp_mtp3Link(uint32_t procId) { SnMngmt cntrl; Pst pst; /* initalize the post structure */ smPstInit(&pst); /* insert the destination Entity */ pst.dstEnt = ENTSN; /* initalize the control structure */ memset(&cntrl, 0x0, sizeof(SnMngmt)); /* initalize the control header */ smHdrInit(&cntrl.hdr); cntrl.hdr.msgType = TCNTRL; /* this is a control request */ cntrl.hdr.entId.ent = ENTSN; cntrl.hdr.entId.inst = S_INST; cntrl.hdr.elmId.elmnt = STGRDLSAP; /* group DLSAP */ cntrl.t.cntrl.ctlType.groupKey.dstProcId = procId; /* all SAPS to this ProcId */ cntrl.t.cntrl.action = ABND_ENA; /* bind and enable */ cntrl.t.cntrl.subAction = SAGR_DSTPROCID; /* specificed element */ if (g_ftdm_sngss7_data.cfg.procId == procId) { SS7_DEBUG("Executing MTP3 cntrl command local pid =%i\n",procId); return (sng_cntrl_mtp3(&pst, &cntrl)); } else { SS7_WARN("Executing MTP3 cntrl command different local=%i target=%i\n", g_ftdm_sngss7_data.cfg.procId,procId); return (sng_cntrl_mtp3_nowait(&pst, &cntrl)); } }