mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Fix inband DTMF detection on outgoing ISDN calls.
This is a regression from the sig_pri split from chan_dahdi. When a call is first initiated, the inband DTMF detector is not enabled if it's an outgoing ISDN call. However, it needs to be turned on once the media path starts up. This handling was put back in the open_media() callback of chan_dahdi. In sig_pri, open_media() calls were added to a few places where it was needed, including handling of PRI_EVENT_RINGING, PRI_EVENT_PROGRESS, and PRI_EVENT_PROCEEDING. Thanks to rmudgett for helping me with the patch! git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@279916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -4907,6 +4907,17 @@ static void *pri_dchannel(void *vpri)
|
||||
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;
|
||||
@@ -4965,6 +4976,7 @@ static void *pri_dchannel(void *vpri)
|
||||
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]);
|
||||
}
|
||||
@@ -4998,6 +5010,7 @@ static void *pri_dchannel(void *vpri)
|
||||
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]);
|
||||
}
|
||||
|
Reference in New Issue
Block a user