diff options
author | Richard Mudgett <rmudgett@digium.com> | 2011-05-10 23:42:57 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2011-05-10 23:42:57 +0000 |
commit | d1e27b1026790fdec5de0497415952cd7df31c45 (patch) | |
tree | 9b7d037549f29cda89709298f68fc4716869f163 /channels/sig_pri.c | |
parent | 0ccfc8609a21f20d0ca524b7d8d9a5974e04b32a (diff) |
Merged revisions 318499 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r318499 | rmudgett | 2011-05-10 18:41:08 -0500 (Tue, 10 May 2011) | 15 lines
Unable to pickup DAHDI/PRI call because call state is reported as DIALING.
The channel state is not updated to RINGING when an ALERTING message is
received. Regression caused when sig_pri.c (also sig_ss7.c) extracted
from chan_dahdi.c.
* Added missing channel state update to RINGING when the
AST_CONTROL_RINGING frame is queued for ISDN and SS7.
(closes issue #19257)
Reported by: alecdavis
Patches:
issue19257_v1.8_v2.patch uploaded by rmudgett (license 664)
Tested by: alecdavis, rmudgett
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/sig_pri.c')
-rw-r--r-- | channels/sig_pri.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/channels/sig_pri.c b/channels/sig_pri.c index 9440df648..a65679f63 100644 --- a/channels/sig_pri.c +++ b/channels/sig_pri.c @@ -6242,6 +6242,11 @@ static void *pri_dchannel(void *vpri) e->ringing.call); sig_pri_cc_generic_check(pri, chanpos, AST_CC_CCNR); sig_pri_set_echocanceller(pri->pvts[chanpos], 1); + sig_pri_lock_owner(pri, chanpos); + if (pri->pvts[chanpos]->owner) { + ast_setstate(pri->pvts[chanpos]->owner, AST_STATE_RINGING); + ast_channel_unlock(pri->pvts[chanpos]->owner); + } pri_queue_control(pri, chanpos, AST_CONTROL_RINGING); if (pri->pvts[chanpos]->call_level < SIG_PRI_CALL_LEVEL_ALERTING) { pri->pvts[chanpos]->call_level = SIG_PRI_CALL_LEVEL_ALERTING; |