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));
	}

}