[asterisk-dev] Methodologies for validating dialplan

Nikša Baldun it at voxdiversa.hr
Wed Jan 5 04:35:59 CST 2022

Again, sorry for veering off topic. I'll just say that I have tried 
modifiying Asterisk source. Disabling AMI events helps only a little, 
and disabling Newexten alltogether proved too difficult, at least for 
someone with limited insight into inner workings of Asterisk. If your 
dialplan is indeed 10k lines long, I am reasonably certain you are 
getting frequent task processor warnings in Asterisk log.

On 05. 01. 2022. 00:00, asterisk at phreaknet.org wrote:
> On 1/4/2022 5:49 PM, Joshua C. Colp wrote:
>> On Tue, Jan 4, 2022 at 6:22 PM <asterisk at phreaknet.org> wrote:
>>     That's a really fair point - maybe another potential source of
>>     improvement?
>>     I do use AMI for some things, but I have no use for the
>>     "Newexten" and
>>     "Varset" AMI events (if I run my "amidump.php" script, I'll see
>>     hundreds
>>     of these constantly even for a single call).
>>     In addition, it makes using core set debug >= 3 a real pain, because
>>     then every complete AMI event is dumped, the result of which is
>>     that 90%
>>     of the debug suddenly becomes an AMI dump of new exten and new vars.
>> Stasis events can be disabled in stasis.conf, I don't know the 
>> ramifications of disabling new exten but varset is fine. Generating 
>> the stasis events is what can be expensive.
> Thanks, I'll play around with disabling both of them and see how much 
> that helps.
> I see "ast_channel_varset_type" in stasis.conf - which one would be 
> the right one for disabling Newexten? I poked around the code a bit 
> but I'm not following the connection as much.
>> AMI less so, and AMI itself has functionality for filtering events 
>> you don't want.
> That's true (and I do filter) but AMI itself is still processing the 
> event, so it'll mean a waterfall of AMI dumps with core set debug >= 
> 3, and perhaps the overhead is still significant for a large dialplan.
> Disabling these two AMI events in particular, entirely, would be nice. 
> It seems like disabling the stasis events might take care of that:
> ; Use of this functionality may break more complex functionality in 
> Asterisk
> ; such as CEL, CDR, transfers, etc. and will likely cause related 
> messages in ARI
> ; and AMI to go missing.
> I don't use ARI at all - or CEL - so as long as CDR remains intact, I 
> could probably shut off a few of these...
>>     Adding an option to disable generating those events could
>>     probably help
>>     with that, and regardless of the performance benefit, would make
>>     dealing
>>     with debug and AMI a lot easier. I wonder if disabling snapshots
>>     would
>>     also help.
>> Fair warning - things internally depend on snapshots. Disabling them 
>> outright will likely break things.
> Got it, I wasn't as sure about this. I'll probably leave snapshots 
> alone for now.
>>     Can you think of other things about dialplan which hurt performance
>>     would could be similarly addressed?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20220105/31a1b57b/attachment.html>

More information about the asterisk-dev mailing list