chlog: freetdm - isdn: fix for not including some bearer-cap contents on BRI

This commit is contained in:
David Yat Sin 2011-01-26 17:24:25 -05:00
parent 6f58e6aa42
commit 9ffca057f1
1 changed files with 24 additions and 30 deletions

View File

@ -873,38 +873,32 @@ ftdm_status_t set_bear_cap_ie(ftdm_channel_t *ftdmchan, BearCap *bearCap)
bearCap->tranMode.pres = PRSNT_NODEF; bearCap->tranMode.pres = PRSNT_NODEF;
bearCap->tranMode.val = IN_TM_CIRCUIT; bearCap->tranMode.val = IN_TM_CIRCUIT;
if (!FTDM_SPAN_IS_BRI(ftdmchan->span)) { bearCap->usrInfoLyr1Prot.pres = PRSNT_NODEF;
/* Trillium stack rejests lyr1Ident on BRI, but Netbricks always sends it. bearCap->usrInfoLyr1Prot.val = sngisdn_get_usrInfoLyr1Prot_from_user(ftdmchan->caller_data.bearer_layer1);
Check with Trillium if this ever causes calls to fail in the field */
/* PRI only params */ switch (signal_data->switchtype) {
bearCap->usrInfoLyr1Prot.pres = PRSNT_NODEF; case SNGISDN_SWITCH_NI2:
bearCap->usrInfoLyr1Prot.val = sngisdn_get_usrInfoLyr1Prot_from_user(ftdmchan->caller_data.bearer_layer1); case SNGISDN_SWITCH_4ESS:
case SNGISDN_SWITCH_5ESS:
switch (signal_data->switchtype) { case SNGISDN_SWITCH_DMS100:
case SNGISDN_SWITCH_NI2: case SNGISDN_SWITCH_INSNET:
case SNGISDN_SWITCH_4ESS: if (bearCap->usrInfoLyr1Prot.val == IN_UIL1_G711ALAW) {
case SNGISDN_SWITCH_5ESS: ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Overriding bearer cap to u-law\n");
case SNGISDN_SWITCH_DMS100: bearCap->usrInfoLyr1Prot.val = IN_UIL1_G711ULAW;
case SNGISDN_SWITCH_INSNET: }
if (bearCap->usrInfoLyr1Prot.val == IN_UIL1_G711ALAW) { break;
ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Overriding bearer cap to u-law\n"); case SNGISDN_SWITCH_EUROISDN:
bearCap->usrInfoLyr1Prot.val = IN_UIL1_G711ULAW; case SNGISDN_SWITCH_QSIG:
} if (bearCap->usrInfoLyr1Prot.val == IN_UIL1_G711ULAW) {
break; ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Overriding bearer cap to a-law\n");
case SNGISDN_SWITCH_EUROISDN: bearCap->usrInfoLyr1Prot.val = IN_UIL1_G711ALAW;
case SNGISDN_SWITCH_QSIG: }
if (bearCap->usrInfoLyr1Prot.val == IN_UIL1_G711ULAW) { break;
ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Overriding bearer cap to a-law\n");
bearCap->usrInfoLyr1Prot.val = IN_UIL1_G711ALAW;
}
break;
}
bearCap->lyr1Ident.pres = PRSNT_NODEF;
bearCap->lyr1Ident.val = IN_L1_IDENT;
} }
bearCap->lyr1Ident.pres = PRSNT_NODEF;
bearCap->lyr1Ident.val = IN_L1_IDENT;
return FTDM_SUCCESS; return FTDM_SUCCESS;
} }