[asterisk-dev] Dialplan pre-bridge handlers

Nikša Baldun it at voxdiversa.hr
Tue Jul 21 14:10:27 CDT 2020

Joshua, thank you for an insightful and helpful comment. My situation is 
not limited to MixMonitor issue, but it is a major obstacle, so the code 
you provided could prove to be very useful. One can - probably - keep 
proper call state by using shared variable space, but just as you said, 
it's kludgy and unreadable. If you feel compelled to write more comments 
than code, something is wrong.

21. 07. 2020. u 18:04, Joshua Elson je napisao/la:
> In a general sense, this kind of functionality would indeed be 
> helpful. We've run into a number of circumstances where stuff as 
> simple as setting a channel variable on a known channel (particularly 
> when you're directly operating on Local/ abstractions) would be 
> helpful. I've seen far too many people using SHELL with AMI calls in 
> these out of band scripts that are quite risky to do this. Using 
> SHARED + MASTER_CHANNEL can - sometimes - get you where you need to 
> go, but it's particularly kludgy, doesn't work in all circumstances, 
> and doesn't make for very readable code.
> I've run into the exact issue - needing to do stuff with MixMonitor on 
> other channels - quite a few times. Never got around to cleaning this 
> up to submit, but attached patch adds a MuteMixMonitor application 
> that takes as its first argument a Channel ID. Nikša - if your 
> situation is limited to just the MixMonitor issue, you could pretty 
> easily modify existing start/stop apps or add a new one to do what you 
> need.
> On Tue, Jul 21, 2020 at 3:31 AM Nikša Baldun <it at voxdiversa.hr 
> <mailto:it at voxdiversa.hr>> wrote:
>     I suspected there might be a catch. So far, our dabbling in
>     Asterisk code consists of some patches, mostly for our internal
>     use, and a small Asterisk module. It didn't take us long to figure
>     out how to make a module, even with limited documentation, but
>     this looks an order of magnitude more difficult.
>     On 21. 07. 2020. 10:58, Joshua C. Colp wrote:
>>     On Tue, Jul 21, 2020 at 3:52 AM Nikša Baldun <it at voxdiversa.hr
>>     <mailto:it at voxdiversa.hr>> wrote:
>>         Thanks for the reply, Joshua. It would definitely be useful.
>>         I took a look at FreePBX code to see how they handle call
>>         recordings in my example scenario, and apparently they call a
>>         PHP script from dialplan, which then controls recording via
>>         AMI connection. An awful lot of effort, not to mention a
>>         performance hit. I am guessing they wouldn't do it if there
>>         was any other way.
>>         I am not surprised that this functionality does not exist, I
>>         know that Asterisk development is difficult, but I am
>>         surprised there was no talk about it. I might take a crack at
>>         this myself if my schedule clears up. I am thinking,
>>         pre-bridge handlers already exist, and methodology for
>>         pushing handlers onto a channel already exists. So one could
>>         figure it out with some effort. Or am I being naive?
>>     Each provider of such functionality does its own parsing,
>>     handling of any other channel, but does call a common function.
>>     The pushing of handlers isn't generic or anything, so it would
>>     have to be copied.
>>     -- 
>>     Joshua C. Colp
>>     Asterisk Technical Lead
>>     Sangoma Technologies
>>     Check us out at www.sangoma.com <http://www.sangoma.com> and
>>     www.asterisk.org <http://www.asterisk.org>
>     -- 
>     _____________________________________________________________________
>     -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>     asterisk-dev mailing list
>     To UNSUBSCRIBE or update options visit:
>     http://lists.digium.com/mailman/listinfo/asterisk-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20200721/8ed8c851/attachment.html>

More information about the asterisk-dev mailing list