Dialplan Improvements

Hello,

On large systems, the dialplan grows significantly, which causes Asterisk to hit race conditions during reloads while it is parsing the dialplan and handling new incoming calls.

We have raised this many times, but are not sure where it currently stands.

Right now, VitalPBX writes a full Follow Me block for every extension (same for call forwarding etc), and for every extension with hints it writes each hint individually. Internally, we tested rewriting this to use wildcard patterns, for example _FWMX. (or a few like _FWMXXX , _FWMXXXX , etc.), and also dynamic hints such as _QAL_XXXX_9000 (where 9000 is the queue; this could also be a wildcard). This way, hints are created only for extensions that actually subscribe.

Please see if you can implement this approach. On large systems this reduces dialplan size by roughly 40% or more and significantly improves reload time.

Please and thank you

4 Likes

I would love to see this, it sounds like a relatively simple way to improve performance.

2 Likes