Summary: | ASTERISK-15379: [patch] Cannot spy on channel when a local channel is involved | ||
Reporter: | Mark Murawski (kobaz) | Labels: | |
Date Opened: | 2009-12-29 13:41:36.000-0600 | Date Closed: | 2010-02-03 14:08:08.000-0600 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_chanspy |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) 20100126__issue16525.diff.txt ( 1) 20100129__issue16525__1.6.0.diff.txt | |
Description: | > originate local/1000@mychan extension 1234@dial_dus -- Executing [1000@mychan:1] Answer("Local/1000@mychan-93af;2", "") in new stack -- Executing [1234@dial_dus:1] Dial("Local/1000@mychan-93af;1", "SIP/3007,30,rM(callee-pickup)") in new stack == Using SIP RTP CoS mark 5 -- Called 3007LI> -- SIP/3007-00000020 is ringing -- Executing [1000@mychan:2] MeetMe("Local/1000@mychan-93af;2", "1000,dq") in new stack -- Created MeetMe conference 1023 for conference '1000' extend context services { 1 => { ChanSpy(SIP/3007,Wq); } } SIP/3030 dials 1@services -- Executing [1@_cos_internal+local+ld+intl:1] ChanSpy("SIP/3030-00000021", "SIP/3007,Wq") in new stack == Spying on channel SIP/3007-00000020 [Dec 29 14:40:31] NOTICE[1930]: app_chanspy.c:245 start_spying: Attaching SIP/3030-00000021 to SIP/3007-00000020 [Dec 29 14:40:31] NOTICE[1930]: app_chanspy.c:245 start_spying: Attaching SIP/3030-00000021 to SIP/3007-00000020 SIP/3030 cannot whisper to SIP/3007 If you take out the usage of a local channel. chanspy whisper works fine | ||
Comments: | By: Mark Murawski (kobaz) 2009-12-29 13:58:11.000-0600 CLI is actually the following (i missed a line when copying) -- Called 3007LI> -- SIP/3007-00000020 is ringing -- Executing [1000@mychan:1] Answer("Local/1000@mychan-93af;2", "") in new stack -- Executing [1000@mychan:2] MeetMe("Local/1000@mychan-93af;2", "1000,dq") in new stack -- Created MeetMe conference 1023 for conference '1000' By: Tilghman Lesher (tilghman) 2010-01-19 13:26:20.000-0600 I just tried out your scenario and it works perfectly fine. Callfile: Channel: Local/103@qqq Callerid: 2487305 Context: qqq Extension: s MaxRetries: 1 Retrytime: 10 WaitTime: 60 Priority: 1 Dialplan: [qqq] exten => 103,1,Answer exten => 103,n,MeetMe(1000,dq) exten => s,1,Dial(SIP/vidphone) [default] exten => 8160,1,ChanSpy(SIP/vidphone,Wq) By: Tilghman Lesher (tilghman) 2010-01-19 13:29:21.000-0600 Also tried with the originate command: originate local/103@qqq extension s@qqq Same results; works fine. By: Mark Murawski (kobaz) 2010-01-19 13:42:55.000-0600 Hmm, It definitely doesn't work here. It may have something to do with a lack of audio frames that I've been seeing. By: Mark Murawski (kobaz) 2010-01-19 14:29:59.000-0600 I set the wrong version. This is SVN 1.6.0 rev 240716 Dial(Local) seems to work actually... maybe I pasted the wrong output. Dial(Local/n) is problematic (it works in 1.6.0.20, but not svn 1.6.0) By: Mark Murawski (kobaz) 2010-01-19 14:34:13.000-0600 context dialphone { 1 => { Answer(); Dial(SIP/201); } } context dialmeetme { 1 => { MeetMe(1000,dq); } } // incoming calls are prefixed with: 26 // context trunkhandler_from-branch { 261 => { ChanSpy(SIP/201,Wq); } } originate Local/1@dialphone/n extension 1@dialmeetme -- Executing [261@trunkhandler_from-branch:1] ChanSpy("IAX2/branch-130", "SIP/201,Wq") in new stack == Spying on channel SIP/201-00000002 [Jan 19 15:30:37] NOTICE[1507]: app_chanspy.c:245 start_spying: Attaching IAX2/branch-130 to SIP/201-00000002 [Jan 19 15:30:37] NOTICE[1507]: app_chanspy.c:245 start_spying: Attaching IAX2/branch-130 to SIP/201-00000002 It also seems like there is a deadlock. IAX2/branch-130 hangs up here (the device that dialed 261) -demo1*CLI> core show channels Channel Location State Application(Data) IAX2/branch-160 261@trunkhandler_fro Up ChanSpy(SIP/201,Wq) SIP/201-00000002 (None) Up AppDial((Outgoing Line)) Local/1@dialphone-da 1@dialphone:2 Up Dial(SIP/201) Local/1@dialphone-da 1@dialphone:1 Down (None) By: Mark Murawski (kobaz) 2010-01-19 14:36:42.000-0600 Blah... shoot me for rushing my comments. After the physical device IAX2/branch-130 hangs up, it still shows up in the channel list. demo1*CLI> core show channels Channel Location State Application(Data) IAX2/branch-130 261@trunkhandler_fro Up ChanSpy(SIP/201,Wq) SIP/201-00000002 (None) Up AppDial((Outgoing Line)) Local/1@dialphone-da 1@dialphone:2 Up Dial(SIP/201) Local/1@dialphone-da 1@dialphone:1 Down (None) Remind me to paste the right outputs :P By: Tilghman Lesher (tilghman) 2010-01-28 17:03:12.000-0600 Patch has been uploaded that may affect your situation. Please test and verify whether it fixes your problem. By: Mark Murawski (kobaz) 2010-01-29 16:46:40.000-0600 I applied this patch to 1.6.0 rev 240716. I also tried applying the patch to what you appear to have been working on, rev 243115 of 1.6.0. And I get this. [CC] channel.c -> channel.o channel.c:1042:53: error: macro "AST_LIST_REMOVE_CURRENT" passed 2 arguments, but takes just 1 channel.c: In function '__ast_queue_frame': channel.c:1042: error: 'AST_LIST_REMOVE_CURRENT' undeclared (first use in this function) channel.c:1042: error: (Each undeclared identifier is reported only once channel.c:1042: error: for each function it appears in.) By: Tilghman Lesher (tilghman) 2010-01-29 20:42:43.000-0600 Oops, sorry. That patch is against 1.4. I just uploaded a patch that should apply against 1.6.0. To clarify, we always check issues as to where they may also occur and try to patch the earliest maintained release branch, so that a fix goes in across the board. Sometimes the APIs differ slightly, and this was one of those cases. By: Atis Lezdins (atis) 2010-02-01 08:39:23.000-0600 Patch fixes issues ASTERISK-13804 and ASTERISK-15497 By: Mark Murawski (kobaz) 2010-02-01 09:25:33.000-0600 Fixes this problem. Let's hope it doesn't break anything else :) By: Mark Murawski (kobaz) 2010-02-01 09:40:45.000-0600 Also fixes 0016628 By: Digium Subversion (svnbot) 2010-02-01 11:46:33.000-0600 Repository: asterisk Revision: 244070 U branches/1.4/channels/chan_local.c U branches/1.4/main/channel.c ------------------------------------------------------------------------ r244070 | tilghman | 2010-02-01 11:46:32 -0600 (Mon, 01 Feb 2010) | 16 lines Revert previous chan_local fix (r236981) and fix instead by destroying expired frames in the queue. (closes issue ASTERISK-15379) Reported by: kobaz Patches: 20100126__issue16525.diff.txt uploaded by tilghman (license 14) 20100129__issue16525__1.6.0.diff.txt uploaded by tilghman (license 14) Tested by: kobaz, atis (closes issue ASTERISK-13804) Reported by: ZX81 (closes issue ASTERISK-15497) Reported by: alexr1 ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=244070 By: Digium Subversion (svnbot) 2010-02-01 11:53:40.000-0600 Repository: asterisk Revision: 244071 _U trunk/ U trunk/channels/chan_local.c U trunk/main/channel.c ------------------------------------------------------------------------ r244071 | tilghman | 2010-02-01 11:53:39 -0600 (Mon, 01 Feb 2010) | 22 lines Merged revisions 244070 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r244070 | tilghman | 2010-02-01 11:46:31 -0600 (Mon, 01 Feb 2010) | 16 lines Revert previous chan_local fix (r236981) and fix instead by destroying expired frames in the queue. (closes issue ASTERISK-15379) Reported by: kobaz Patches: 20100126__issue16525.diff.txt uploaded by tilghman (license 14) 20100129__issue16525__1.6.0.diff.txt uploaded by tilghman (license 14) Tested by: kobaz, atis (closes issue ASTERISK-13804) Reported by: ZX81 (closes issue ASTERISK-15497) Reported by: alexr1 ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=244071 By: Digium Subversion (svnbot) 2010-02-01 11:59:37.000-0600 Repository: asterisk Revision: 244072 _U branches/1.6.0/ U branches/1.6.0/channels/chan_local.c U branches/1.6.0/main/channel.c ------------------------------------------------------------------------ r244072 | tilghman | 2010-02-01 11:59:37 -0600 (Mon, 01 Feb 2010) | 29 lines Merged revisions 244071 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r244071 | tilghman | 2010-02-01 11:53:39 -0600 (Mon, 01 Feb 2010) | 22 lines Merged revisions 244070 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r244070 | tilghman | 2010-02-01 11:46:31 -0600 (Mon, 01 Feb 2010) | 16 lines Revert previous chan_local fix (r236981) and fix instead by destroying expired frames in the queue. (closes issue ASTERISK-15379) Reported by: kobaz Patches: 20100126__issue16525.diff.txt uploaded by tilghman (license 14) 20100129__issue16525__1.6.0.diff.txt uploaded by tilghman (license 14) Tested by: kobaz, atis (closes issue ASTERISK-13804) Reported by: ZX81 (closes issue ASTERISK-15497) Reported by: alexr1 ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=244072 By: Digium Subversion (svnbot) 2010-02-01 12:01:37.000-0600 Repository: asterisk Revision: 244073 _U branches/1.6.2/ U branches/1.6.2/channels/chan_local.c U branches/1.6.2/main/channel.c ------------------------------------------------------------------------ r244073 | tilghman | 2010-02-01 12:01:37 -0600 (Mon, 01 Feb 2010) | 29 lines Merged revisions 244071 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r244071 | tilghman | 2010-02-01 11:53:39 -0600 (Mon, 01 Feb 2010) | 22 lines Merged revisions 244070 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r244070 | tilghman | 2010-02-01 11:46:31 -0600 (Mon, 01 Feb 2010) | 16 lines Revert previous chan_local fix (r236981) and fix instead by destroying expired frames in the queue. (closes issue ASTERISK-15379) Reported by: kobaz Patches: 20100126__issue16525.diff.txt uploaded by tilghman (license 14) 20100129__issue16525__1.6.0.diff.txt uploaded by tilghman (license 14) Tested by: kobaz, atis (closes issue ASTERISK-13804) Reported by: ZX81 (closes issue ASTERISK-15497) Reported by: alexr1 ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=244073 By: Digium Subversion (svnbot) 2010-02-01 12:01:52.000-0600 Repository: asterisk Revision: 244074 _U branches/1.6.1/ U branches/1.6.1/channels/chan_local.c U branches/1.6.1/main/channel.c ------------------------------------------------------------------------ r244074 | tilghman | 2010-02-01 12:01:52 -0600 (Mon, 01 Feb 2010) | 29 lines Merged revisions 244071 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r244071 | tilghman | 2010-02-01 11:53:39 -0600 (Mon, 01 Feb 2010) | 22 lines Merged revisions 244070 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r244070 | tilghman | 2010-02-01 11:46:31 -0600 (Mon, 01 Feb 2010) | 16 lines Revert previous chan_local fix (r236981) and fix instead by destroying expired frames in the queue. (closes issue ASTERISK-15379) Reported by: kobaz Patches: 20100126__issue16525.diff.txt uploaded by tilghman (license 14) 20100129__issue16525__1.6.0.diff.txt uploaded by tilghman (license 14) Tested by: kobaz, atis (closes issue ASTERISK-13804) Reported by: ZX81 (closes issue ASTERISK-15497) Reported by: alexr1 ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=244074 |