Anyone using * Realtime extensions? can it create a submenu?

I’m looking at the Realtime extensions feature, and it looks pretty awesome. So far I have just read about it on voip-info, I haven’t installed anything yet. It looks pretty straightforward, but there is one issue I don’t understand. The switch setting in a given context tells * to read the info for that extension from the db. That makes it easy to update, remove, and add stuff in that context. What about creating a new context in Realtime (like for a submenu)? Does the extensions.conf file have to be edited to add the new context and switch setting? That doesn’t seem right, that negates a lot of the advantages. Maybe there’s just something I am missing. If anyone can shed some light on this, please help! I’d also be interested in hearing from anyone using the Realtime feature.

Ok, I’ve had a chance to check out * realtime. It is pretty damned cool, but there are still some rough edges. The realtime static configuration seems to work good, but the info at had errors. I got it running by looking at the source. I’ve got voicemail completely configured from the database using realtime dynamic for mailbox configuration and realtime static for configuring the mailbox application. I’m also doing dynamic configuration of the dailplan, but it has serious limitations. You can dynamically add extensions all day, but only to existing contexts. You cannot dynamically add contexts in realtime, so you can’t create menus (a major part of the dialplan) dynamically. Maybe there is just something I haven’t figured out yet. This is new stuff and the documentation is very scanty. My idea of the way realtime should work is that the in-memory plan should be scanned for a match on context/extension/priority as it currently does, but whenever there is not a match then make a dip to the database. There should be a general setting that turns on the querying for those using realtime. Right now it looks like a query is only done when there is a switch in the ‘static’ configuration. This prevents one from creating menus dynamically (at least the menu structure has to be configured ‘statically’). The only workaround I see is to create the new context (with a switch) in the database using realtime static and then reload the dialplan. Then you could add new extensions to this context using realtime dynamic. A little kludgy, but it should work. Any comments?

I’m having difficulties to understand how I can configure asterisk realtime to be in dynamic or static mode. The info over at voip-info is indeed incomplete, to say the least. I guess I must configure extconfig.conf, and I think also I will be using static mode to begin with (since I’ve read that dynamic mode has still some functionnality problems).

So…, I don’t know how to tell extconfig.conf to do for example:

  • use the table sip_global for the [global] settings in sip.conf
  • use the table sip_friends for all [friends] extensions defined in sip.conf
    (both using mysql database ‘asterisk-config’)

There seem to be ‘families’ of settings you can put in a table, I guess sip_friends can be defined as a family, but I can’t seem to find a list of all families, surely this is a must if you want to put all .conf files in a database (I’ve read only 4 .conf files cannot be used that way; asterisk.conf, logger.conf, cdr.conf and rtp.conf). So having the correct full list of all families would be handy indeed.

If I could understand that, I think I’m well on my way :stuck_out_tongue_winking_eye: and since you managed to get static mode working, I was hoping you could share that information :wink:

any updates on these issues?

I have real-time working for sip, voicemail, and extensions. The limitation of needing to manually enter new contexts & do a reload is a bummer to an otherwise great feature.

FYI I’m using macros in extensions to define normal user callflows and keep each extension using a single DB record; nice but now I want to do IVRs and this definitely needs to be updated w/o reload for me to run it in production.

is anyone working on this on dev side? guestimate timeline for having it done… wish I could help on coding side, but I’m not a coder :frowning:

thanx all