[asterisk-users] Chanspy on Asterisk 1.4.19

Mark Michelson mmichelson at digium.com
Thu Apr 17 16:18:21 CDT 2008


Mike wrote:
> My own Chanspy(g(GROUPNAME)) works 2 times out of three (roughly).  The
> other time, it crashes Asterisk. Using 1.4.19 too.
> 
> Mike
> 
>> -----Original Message-----
>> From: asterisk-users-bounces at lists.digium.com 
>> [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of 
>> Steve Rawlings
>> Sent: Thursday, April 17, 2008 14:10
>> To: Asterisk Users Mailing List - Non-Commercial Discussion
>> Subject: Re: [asterisk-users] Chanspy on Asterisk 1.4.19
>>
>> Guys,
>>
>> Sean Bright wrote:
>>> Steve Totaro wrote:
>>>
>>>> Should one have to change their dialplan for functionality 
>> to remain 
>>>> the same in the same version?
>>> I wasn't suggesting it wasn't a regression, just making the 
>> OP aware 
>>> that he can pass multiple arguments to a dialplan application (i.e.
>>> ChanSpy(|bg(2000)))
>>>
>>> He mentioned that he was able to get it to work in 1.4.19 
>> by passing 
>>> the bridge argument ('b') but didn't seem to be aware that he could 
>>> also pass his original argument list ('g(2000)') as well.  Seems 
>>> easier to just work around the problem with the additional argument 
>>> than to backport the application.
>>>
>> Yes I was aware of multiple arguments, I did try 
>> chanspy(|bg(2000)), I tried all combinations I could think 
>> of.  Although maybe what I should have said was I tried 
>> chanspy(|b) just to prove chanspy itself was working at all 
>> (and it was), with chanspy(|bg(2000)) the 'spygroup' 
>> element didn't work, it just spied on every active call.
>>
>> Anyway, I've raised a bug report as requested by Jared at Digium.
>>
>> Steve

This was an incredibly subtle bug that was introduced into 1.4.19 when the other 
work was done on chanspy to fix crashes and deadlocks. It has been fixed in 1.4 
in SVN revision 114226.

Basically, chanspy was a crapshoot if you didn't specify a first argument, 
because the function intended to walk through the list of active channels would 
always end up returning the first channel it found. If that happened to be a 
spy-able channel, then great, otherwise you'd never spy on anything.

Mark Michelson



More information about the asterisk-users mailing list