Summary: | ASTERISK-17824: [patch] Unable to pickup ringing DAHDI call, as when ringing state is reported as DIALLING | ||
Reporter: | Alec Davis (alecdavis) | Labels: | |
Date Opened: | 2011-05-10 00:12:18 | Date Closed: | 2011-05-10 19:01:16 |
Priority: | Major | Regression? | Yes |
Status: | Closed/Complete | Components: | Channels/chan_dahdi |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) app_directed_pickup.diff.txt ( 1) issue19257_v1.8_v2.patch ( 2) issue19257_v1.8.patch | |
Description: | As pickup_by_exten and it's helper can_pickup() only check for AST_STATE_RING || AST_STATE_RINGING || AST_STATE_DOWN it cannot pickup DAHDI call, which when ringing are in the AST_STATE_DIALLING Hardware: TE220: PCI-Express dual-port T1/E1/J1 The issue for us is an outbound call from asterisk to our legacy Fujitsu PBX's night bell. Someone on either PABX should be able to pick it up. ****** ADDITIONAL INFORMATION ****** <pre>Console output by dialing 4888 (legacy PABX extension). astrid*CLI> core show channels Channel Location State Application(Data) DAHDI/i1/4888-1eb8 4888@incoming:1 Dialing AppDial((Outgoing Line)) Console output by dialing queue, with roundrobin, one phone on each PABX. SIP reports RINGING DAHDI reports DAILLING astrid*CLI> core show channels Channel Location State Application(Data) SIP/GXP0001-000005e4 s@itg-queue:19 Ring Queue(itg_queue,crhH,,,27) DAHDI/i1/4866-1ea0 s@incoming:1 Dialing AppQueue((Outgoing Line)) astrid*CLI> core show channels Channel Location State Application(Data) SIP/GXP0001-000005e5 s@itg-queue:19 Ring Queue(itg_queue,crhH,,,27) SIP/GXP0023-000005e6 s@trusted:1 Ringing AppQueue((Outgoing Line))</pre> | ||
Comments: | By: Alec Davis (alecdavis) 2011-05-10 15:56:44 richard. This may also be a problem for an ISDN phone connected to a BRI. Not sure, can't test, hence the question.. and I know you have an ISDN phone available. By: Richard Mudgett (rmudgett) 2011-05-10 17:01:25 In this case I do not think BRI should not be any different than PRI. It may really be a case where the ISDN call has not had the channel state updated to RING/RINGING. By: Alec Davis (alecdavis) 2011-05-10 17:11:50 a regression :(<pre> astrid-test*CLI> core show version Asterisk SVN-branch-1.4-r317719 built by root @ astrid-test on a i686 running Linux on 2011-05-10 22:16:00 UTC astrid-test*CLI> core show channels Channel Location State Application(Data) DAHDI/1-1 4866@incoming:1 Ringing AppDial((Outgoing Line)) SIP/GXP0001-00000000 4866@trusted:2 Ring Dial(DAHDI/r0/4866) Asterisk SVN-branch-1.6.2-r318331M built by root @ test on a i686 running Linux on 2010-01-18 22:16:08 UTC astrid-test*CLI> core show channels Channel Location State Application(Data) DAHDI/2-1 4866@incoming:1 Ringing AppDial((Outgoing Line)) SIP/GXP0001-00000001 4866@trusted:2 Ring Dial(DAHDI/r0/4866) 2 active channels 1 active call 2 calls processed <<<<< Regresssion seems to be between at 1.8 >>>>> astrid-test*CLI> core show version Asterisk SVN-branch-1.8-r318485 built by root @ astrid-test on a i686 running Linux on 2011-04-27 00:08:23 UTC astrid-test*CLI> core show channels Channel Location State Application(Data) DAHDI/i1/4866-1 4866@incoming:1 Dialing AppDial((Outgoing Line)) SIP/GXP0001-00000000 4866@trusted:2 Ring Dial(DAHDI/r0/4866) 2 active channels 1 active call 1 call processed</pre> By: Alec Davis (alecdavis) 2011-05-10 17:37:32 moved to chan_dahdi. By: Richard Mudgett (rmudgett) 2011-05-10 17:45:44 The issue19257_v1.8.patch restores the missing state update. By: Richard Mudgett (rmudgett) 2011-05-10 17:55:48 The issue19257_v1.8_v2.patch restores the missing state update for SS7 as well. By: Alec Davis (alecdavis) 2011-05-10 17:57:16 Asterisk SVN-branch-1.8-r318485M built by root @ astrid-test on a i686 running Linux on 2011-04-27 00:08:23 UTC astrid-test*CLI> core show channels Channel Location State Application(Data) DAHDI/i1/4866-1 4866@incoming:1 Ringing AppDial((Outgoing Line)) SIP/GXP0001-00000000 4866@trusted:2 Ring Dial(DAHDI/r0/4866) Didn't actually try the pickup, as this is on a test box. But it's looking correct now. By: Alec Davis (alecdavis) 2011-05-10 18:01:36 Do we need to consider the ISDN exchanges which don't send ringing, only progress? or does this cover that. By: Richard Mudgett (rmudgett) 2011-05-10 18:07:08 PROGRESS is not ALERTING (ringing). The patch restores setting the channel state as v1.6.2 did. By: Richard Mudgett (rmudgett) 2011-05-10 18:12:36 Slightly off topic: Pickup groups may not work for ISDN if they ever did. By: Alec Davis (alecdavis) 2011-05-10 18:19:03 ~0134769 agreed. ~0134770 We're using extn@context which I've just applied to production server, and reverted my patch to app_directed_pickup and all is working well. Thanks Richard. By: Digium Subversion (svnbot) 2011-05-10 18:41:10 Repository: asterisk Revision: 318499 U branches/1.8/channels/sig_pri.c U branches/1.8/channels/sig_ss7.c ------------------------------------------------------------------------ r318499 | rmudgett | 2011-05-10 18:41:10 -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 ASTERISK-17824) Reported by: alecdavis Patches: issue19257_v1.8_v2.patch uploaded by rmudgett (license 664) Tested by: alecdavis, rmudgett ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=318499 By: Digium Subversion (svnbot) 2011-05-10 18:42:58 Repository: asterisk Revision: 318500 _U trunk/ U trunk/channels/sig_pri.c U trunk/channels/sig_ss7.c ------------------------------------------------------------------------ r318500 | rmudgett | 2011-05-10 18:42:58 -0500 (Tue, 10 May 2011) | 22 lines 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 ASTERISK-17824) Reported by: alecdavis Patches: issue19257_v1.8_v2.patch uploaded by rmudgett (license 664) Tested by: alecdavis, rmudgett ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=318500 By: Alec Davis (alecdavis) 2011-05-10 19:01:16 following up on ~0134769 where the state stays at Dialling. To this partciluar exchange, we don't get an ALERTING, only a PROGRESS and we can hear the ringing. Probably because 'further call progress may be available inband' 1 < Message Type: PROGRESS (3) 1 < [1e 02 82 81] 1 < Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Public network serving the local user (2) 1 < Ext: 1 Progress Description: Call is not end-to-end ISDN; further call progress information may be available inband. (1) ] 1 Received message for call 0xf7beea0 on 0x9292450 TEI/SAPI 0/0, call->pri is 0x9292450 TEI/SAPI 0/0 1 -- Processing IE 30 (cs0, Progress Indicator) Span: 1 Processing event: Progress -- DAHDI/i1/5635111-2 is making progress passing it to SIP/GXP0001-00000001 |