if (res < 0) {
ast_log(LOG_WARNING, "Unable to set gains on channel %d\n", pvt->channel);
}
+
+ if (pvt->dsp_features && pvt->dsp) {
+ ast_dsp_set_features(pvt->dsp, pvt->dsp_features);
+ pvt->dsp_features = 0;
+ }
}
#endif /* defined(HAVE_PRI) */
pri_queue_control(pri, chanpos, AST_CONTROL_RINGING);
pri->pvts[chanpos]->alerting = 1;
+ if (
+#ifdef PRI_PROGRESS_MASK
+ e->ringing.progressmask & PRI_PROG_INBAND_AVAILABLE
+#else
+ e->ringing.progress == 8
+#endif
+ ) {
+ sig_pri_open_media(pri->pvts[chanpos]);
+ }
+
+
#ifdef SUPPORT_USERUSER
if (!ast_strlen_zero(e->ringing.useruserinfo)) {
struct ast_channel *owner;
pri_queue_control(pri, chanpos, AST_CONTROL_PROGRESS);
pri->pvts[chanpos]->progress = 1;
sig_pri_set_dialing(pri->pvts[chanpos], 0);
+ sig_pri_open_media(pri->pvts[chanpos]);
}
sig_pri_unlock_private(pri->pvts[chanpos]);
}
pri_queue_control(pri, chanpos, AST_CONTROL_PROGRESS);
pri->pvts[chanpos]->progress = 1;
sig_pri_set_dialing(pri->pvts[chanpos], 0);
+ sig_pri_open_media(pri->pvts[chanpos]);
}
sig_pri_unlock_private(pri->pvts[chanpos]);
}