[asterisk-users] Chanspy on Asterisk 1.4.19

Mike list at virtutel.ca
Thu Apr 17 22:14:15 CDT 2008


 

> -----Original Message-----
> From: asterisk-users-bounces at lists.digium.com 
> [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of 
> Mark Michelson
> Sent: Thursday, April 17, 2008 17:18
> To: Asterisk Users Mailing List - Non-Commercial Discussion
> Subject: Re: [asterisk-users] Chanspy on Asterisk 1.4.19
> 
> 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


Mark,

I added a first argument.  Here is my line now:
exten => *012,n,Chanspy(SIP,qg(GROUP_NAME))

Unfortunately, that still crashes Asterisk once out of 3-5 times.  Is there
anyway to absolutely prevent crashes with this bug in vanilla 1.4.19?

Thanks,

Mike




More information about the asterisk-users mailing list