aboutsummaryrefslogtreecommitdiffstats
path: root/channels/sig_pri.c
diff options
context:
space:
mode:
authorrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2011-05-10 23:42:57 +0000
committerrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2011-05-10 23:42:57 +0000
commitc5b93b031fc3c7eeeaf40139212e7c81776043e5 (patch)
tree9b7d037549f29cda89709298f68fc4716869f163 /channels/sig_pri.c
parent6eca9280129c3e15f31274f237d09a1ff7ab1fe1 (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: http://svn.digium.com/svn/asterisk/trunk@318500 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/sig_pri.c')
-rw-r--r--channels/sig_pri.c5
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;