return res;
}
-#ifdef HAVE_PRI
static void wakeup_sub(struct dahdi_pvt *p, int a, struct dahdi_pri *pri)
-#else
-static void wakeup_sub(struct dahdi_pvt *p, int a, void *pri)
-#endif
{
#ifdef HAVE_PRI
if (pri)
default:
/* Should not get here, punt*/
goto quit;
- break;
}
}
} else
ast_debug(1, "Deferring ringing notification because of extra digits to dial...\n");
+ if (
#ifdef PRI_PROGRESS_MASK
- if (e->ringing.progressmask & PRI_PROG_INBAND_AVAILABLE) {
+ e->ringing.progressmask & PRI_PROG_INBAND_AVAILABLE
#else
- if (e->ringing.progress == 8) {
+ e->ringing.progress == 8
#endif
+ ) {
/* Now we can do call progress detection */
if (pri->pvts[chanpos]->dsp && pri->pvts[chanpos]->dsp_features) {
/* RINGING detection isn't required because we got ALERTING signal */
/* Get chan value if e->e is not PRI_EVNT_RINGING */
chanpos = pri_find_principle(pri, e->proceeding.channel);
if (chanpos > -1) {
+ if ((!pri->pvts[chanpos]->progress)
#ifdef PRI_PROGRESS_MASK
- if ((!pri->pvts[chanpos]->progress) || (e->proceeding.progressmask & PRI_PROG_INBAND_AVAILABLE)) {
+ || (e->proceeding.progressmask & PRI_PROG_INBAND_AVAILABLE)
#else
- if ((!pri->pvts[chanpos]->progress) || (e->proceeding.progress == 8)) {
+ || (e->proceeding.progress == 8)
#endif
+ ) {
struct ast_frame f = { AST_FRAME_CONTROL, AST_CONTROL_PROGRESS, };
if (e->proceeding.cause > -1) {
ast_debug(1, "Queuing frame from PRI_EVENT_PROGRESS on channel %d/%d span %d\n",
pri->pvts[chanpos]->logicalspan, pri->pvts[chanpos]->prioffset,pri->span);
dahdi_queue_frame(pri->pvts[chanpos], &f, pri);
+ if (
#ifdef PRI_PROGRESS_MASK
- if (e->proceeding.progressmask & PRI_PROG_INBAND_AVAILABLE) {
+ e->proceeding.progressmask & PRI_PROG_INBAND_AVAILABLE
#else
- if (e->proceeding.progress == 8) {
+ e->proceeding.progress == 8
#endif
+ ) {
/* Now we can do call progress detection */
if (pri->pvts[chanpos]->dsp && pri->pvts[chanpos]->dsp_features) {
ast_dsp_set_features(pri->pvts[chanpos]->dsp, pri->pvts[chanpos]->dsp_features);
ast_debug(1, "Queuing frame from PRI_EVENT_PROCEEDING on channel %d/%d span %d\n",
pri->pvts[chanpos]->logicalspan, pri->pvts[chanpos]->prioffset,pri->span);
dahdi_queue_frame(pri->pvts[chanpos], &f, pri);
+ if (
#ifdef PRI_PROGRESS_MASK
- if (e->proceeding.progressmask & PRI_PROG_INBAND_AVAILABLE) {
+ e->proceeding.progressmask & PRI_PROG_INBAND_AVAILABLE
#else
- if (e->proceeding.progress == 8) {
+ e->proceeding.progress == 8
#endif
+ ) {
/* Now we can do call progress detection */
if (pri->pvts[chanpos]->dsp && pri->pvts[chanpos]->dsp_features) {
ast_dsp_set_features(pri->pvts[chanpos]->dsp, pri->pvts[chanpos]->dsp_features);
break;
default:
pri->pvts[chanpos]->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+ break;
}
}
ast_verb(3, "Channel %d/%d, span %d got hangup request, cause %d\n", PRI_SPAN(e->hangup.channel), PRI_CHANNEL(e->hangup.channel), pri->span, e->hangup.cause);
break;
default:
pri->dchans[i] = pri_new(pri->fds[i], pri->nodetype, pri->switchtype);
+ break;
}
/* Force overlap dial if we're doing GR-303! */
if (pri->switchtype == PRI_SWITCH_GR303_TMC)