uint32_t rdnis_nadi;
uint32_t loc_nadi;
uint32_t min_digits;
- uint8_t itx_auto_reply;
+ uint32_t transparent_iam_max_size;
uint8_t transparent_iam;
uint8_t cpg_on_progress_media;
uint8_t cpg_on_progress;
+ uint8_t itx_auto_reply;
uint32_t t3;
uint32_t t10;
uint32_t t12;
/******************************************************************************/
/* FUNCTIONS ******************************************************************/
+
int ftmod_ss7_parse_xml(ftdm_conf_parameter_t *ftdm_parameters, ftdm_span_t *span)
{
int i = 0;
sng_route_t self_route;
sng_span_t sngSpan;
+
/* clean out the isup ckt */
memset(&sngSpan, 0x0, sizeof(sngSpan));
int num_parms = sng_gen->n_parameters;
int i = 0;
+ /* Set the transparent_iam_max_size to default value */
+ g_ftdm_sngss7_data.cfg.transparent_iam_max_size=800;
+
/* extract all the information from the parameters */
for (i = 0; i < num_parms; i++) {
/**************************************************************************/
/* initalize the ccSpan structure */
memset(&sng_ccSpan, 0x0, sizeof(sng_ccSpan));
+
/* confirm that we are looking at an mtp_link */
if (strcasecmp(cc_span->name, "cc_span")) {
SS7_ERROR("We're looking at \"%s\"...but we're supposed to be looking at \"cc_span\"!\n",cc_span->name);
SS7_DEBUG("Parsing \"cc_span\"...\n");
}
+ /* Backward compatible.
+ * If cpg_on_progress_media is not in the config file
+ * default the cpg on progress_media to TRUE */
+ sng_ccSpan.cpg_on_progress_media=FTDM_TRUE;
+ /* If transparent_iam_max_size is not set in cc spans
+ * use the global value */
+ sng_ccSpan.transparent_iam_max_size=g_ftdm_sngss7_data.cfg.transparent_iam_max_size;
+
for (i = 0; i < num_parms; i++) {
/**************************************************************************/
sng_ccSpan.transparent_iam = ftdm_true(parm->val);
SS7_DEBUG("Found transparent_iam %d\n", sng_ccSpan.transparent_iam);
#endif
+ } else if (!strcasecmp(parm->var, "transparent_iam_max_size")) {
+ sng_ccSpan.transparent_iam_max_size = ftdm_true(parm->val);
+ SS7_DEBUG("Found transparent_iam_max_size %d\n", sng_ccSpan.transparent_iam_max_size);
} else if (!strcasecmp(parm->var, "cpg_on_progress_media")) {
sng_ccSpan.cpg_on_progress_media = ftdm_true(parm->val);
SS7_DEBUG("Found cpg_on_progress_media %d\n", sng_ccSpan.cpg_on_progress_media);
-
} else if (!strcasecmp(parm->var, "cpg_on_progress")) {
sng_ccSpan.cpg_on_progress = ftdm_true(parm->val);
- SS7_DEBUG("Found cpg_on_progress_media %d\n", sng_ccSpan.cpg_on_progress);
-
+ SS7_DEBUG("Found cpg_on_progress %d\n", sng_ccSpan.cpg_on_progress);
} else if (!strcasecmp(parm->var, "cicbase")) {
/**********************************************************************/
sng_ccSpan.cicbase = atoi(parm->val);
g_ftdm_sngss7_data.cfg.isupCkt[x].min_digits = ccSpan->min_digits;
g_ftdm_sngss7_data.cfg.isupCkt[x].itx_auto_reply = ccSpan->itx_auto_reply;
g_ftdm_sngss7_data.cfg.isupCkt[x].transparent_iam = ccSpan->transparent_iam;
+ g_ftdm_sngss7_data.cfg.isupCkt[x].transparent_iam_max_size = ccSpan->transparent_iam_max_size;
g_ftdm_sngss7_data.cfg.isupCkt[x].cpg_on_progress_media = ccSpan->cpg_on_progress_media;
g_ftdm_sngss7_data.cfg.isupCkt[x].cpg_on_progress = ccSpan->cpg_on_progress;