diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.c b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.c index 5b173bfc8b..810c5a2902 100644 --- a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.c +++ b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.c @@ -1039,7 +1039,7 @@ static int ftmod_m2ua_dlsap_config(int id) cfg.t.cfg.s.dlSapCfg.lnkNmb = id; /* SapId */ cfg.t.cfg.s.dlSapCfg.intfId.type = LMW_INTFID_INT; - cfg.t.cfg.s.dlSapCfg.intfId.id.intId = id; + cfg.t.cfg.s.dlSapCfg.intfId.id.intId = m2ua->iid; cfg.t.cfg.s.dlSapCfg.swtch = LMW_SAP_ITU; diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.h b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.h index c7ce2e74eb..8bb564d284 100644 --- a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.h +++ b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua.h @@ -59,6 +59,7 @@ typedef struct sng_m2ua_cfg{ char name[MAX_NAME_LEN]; uint32_t flags; uint32_t id; /* ID */ + uint32_t iid; /* ID */ uint8_t nodeType; /*Node Type SG/ASP */ uint8_t end_point_opened; /* flag to check is end-point already opened */ uint16_t clusterId; /* idx to m2ua_cluster profile */ diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua_xml.c b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua_xml.c index b9ae986402..bb011c364e 100644 --- a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua_xml.c +++ b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_m2ua_xml.c @@ -242,6 +242,12 @@ static int ftmod_ss7_parse_m2ua_interface(ftdm_conf_node_t *m2ua_interface) SS7_DEBUG("Found an m2ua cluster_id = %d\n", sng_m2ua.clusterId); /**********************************************************************/ + } else if (!strcasecmp(parm->var, "interface-identifier")) { + /**********************************************************************/ + sng_m2ua.iid=atoi(parm->val); + + SS7_DEBUG("Found an m2ua interface-identifier = %d\n", sng_m2ua.iid); + /**********************************************************************/ } else { /**********************************************************************/ SS7_ERROR("Found an invalid parameter %s!\n", parm->var); @@ -271,6 +277,7 @@ static int ftmod_ss7_fill_in_m2ua_interface(sng_m2ua_cfg_t *m2ua_iface) g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua[i].id = m2ua_iface->id; g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua[i].nodeType = m2ua_iface->nodeType; g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua[i].clusterId = m2ua_iface->clusterId; + g_ftdm_sngss7_data.cfg.g_m2ua_cfg.m2ua[i].iid = m2ua_iface->iid; sngss7_set_flag(&g_ftdm_sngss7_data.cfg, SNGSS7_M2UA_PRESENT); return 0;