I am wanting to work with multiple contexts, however I have been unsuccessful in getting the dialplan to load from the extensions table with ARA. In my extconfig.conf I have:
extensions => odbc,asterisk
In sorcery.conf I have:
extension=realtime,extensions
module show like realtime shows:
sip*CLI> module show like realtime
Module Description Use Count Status Support Level
func_realtime.so Read/Write/Store/Destroy values from a R 0 Running core
pbx_realtime.so Realtime Switch 0 Running extended
res_realtime.so Realtime Data Lookup/Rewrite 0 Running core
res_sorcery_realtime.so Sorcery Realtime Object Wizard 6 Running core
4 modules loaded
I am not seeing the dialplans come through from the extensions table, and it appears that pbx_realtime is loaded but not in use.
Right. I thought I was reasonably clear in my last reply.
I am toying with the idea of multiple tenancies for different organisational units. Each should be able to have their own dial plan which they can control. I don’t particularly want to have it statically set, instead be database driven or dynamic in a way.
Something to remember, and that I remind people of often, is that the act of doing that means you’ve increased your exposure to problems. If you are relying on a database in realtime it means if your database has a problem, now your voice platform has a problem.
Right. I thought I was reasonably clear in my last reply.
I am toying with the idea of multiple tenancies for different
organisational units. Each should be able to have their own dial plan
which they can control. I don’t particularly want to have it
statically set, instead be database driven or dynamic in a way.
On Tuesday 01 April 2025 at 12:53:55, santasenforcer via Asterisk
Community wrote: What would you recommend be the best way to handle
context’s? Essentially I want to group extensions. My thinking is
extensions / usernames would be: 10001100 - context is 10001 and the
extension is 100. You ap…
At the moment, I am just trying to have multiple contexts work successfully. If I add the context into the extensions.conf file as it’s own section, then it works, but if I do it as default it doesn’t. I’m not finding much documentation about how to handle it.
Yes and no. If you are using ARA for extensions, in true realtime mode, an in memory copy is never populated. Instead, the database is searched every time the dialplan steps to the next priority. However you can run with dialplan read from the database, and context is fundamental to the dialplan, so every database fetch includes the context field, from the database, as part of the key used to access the database. context is just part of a compound key.
There is, apparently, a static mode, in which the database is treated like a .conf file, but I don’t see what advantage that would have for you, as, I assume, it would only be read on a reload.
You can, as FreePBX does, populate a .conf file by running a report, on the contents of a database, although that database is not one known to Asterisk, itself.
ARA is called realtime, specifically for the way it handles extensions. The data is read at the time of use.