Best Way To Update Ever Changing Dialplans

Home » Asterisk Users » Best Way To Update Ever Changing Dialplans
Asterisk Users 4 Comments

I am working on a system where I connect to an external API and based on what it gives me I generate the Asterisk dial plan accordingly. I am thinking about my different options and wanted feedback from others on how to best do it.
1) Generate conf files for Asterisk – This seems the easiest but then I
will be doing a dial plan reload on all of my dial plan for handful of lines of code. The plus side is once reload is don the dial plan is in memory.
2) Using real time + mysql – Seems like an overkill to have mysql running taking resources for a few lines.
3) Using real time + sqlite3 – This seems like the best option but then we go to disk every time there is a call.

Any other options that I am not thinking of?

4 thoughts on - Best Way To Update Ever Changing Dialplans

  • I think that you have enumerated the reasonable options. I’d vote for #1.

    1) Easier to implement and debug.

    2) Easier to ‘snapshot’ for backup and restore.

    Other factors that may bias my choice would be the size of the dialplan and the frequency of the updates.

    Maybe another option would be to use the CLI ‘dialplan add’ and ‘dialplan remove’ commands.


    Thanks in advance,
    ————————————————————————-
    Steve Edwards sedwards@sedwards.com Voice: +1-760-468-3867 PST
    https://www.linkedin.com/in/steve-edwards-4244281

  • I don’t think you missed any options.

    Call me silly, number 2 has always been my preference. Flat file configuration bugs me except for the simplest of things.

    Since you mention the external API, you already have a fairly complex environment… And pretty likely to have, at some point, multiple asterisk instances. Surprise! The realtime mysql dialplan can be shared among them.

    But I’m crazy that way.

  • Depends on how complex the generated dial-plan is.If it is in a monitored production environment, you could have an ARI app and just let it handle it all, especially if it needs to make complex decisions that end in simple choices (like: detecting the caller, asking them some questions but finally routing to queue A versus B).

    2018-06-25 18:54 GMT+02:00 Dovid Bender :


    Loway – home of QueueMetrics – http://queuemetrics.com Try the WombatDialer auto-dialer @ http://wombatdialer.com