[asterisk-users] how to use a database

Antony Stone Antony.Stone at asterisk.open.source.it
Thu Dec 6 13:43:00 CST 2018

On Thursday 06 December 2018 at 17:49:25, hw wrote:

> On 12/05/2018 05:00 PM, Antony Stone wrote:
> > On Wednesday 05 December 2018 at 15:31:38, hw wrote:
> >> I don't see a table for that.
> > 
> > You need to create that for yourself.
> > 
> > Asterisk can write to database tables, but doesn't help you set them up,
> > for reasons I can't comment on.
> How do I know what the schema needs to be?  Does anybody have a scheme
> for the queue_log table (and maybe others)?

A Google search for "asterisk queue_log schema" gives results such as:





> Do I get to see the queries that are being used to write this data,


> or do I need to form them myself and enter them into some configuration file?


> >> How dynamic are changes made in the database?
> > 
> > If by "dynamic" you mean "quickly used" then the answer is "immediately".
> There's a note in some configuration file saying that dynamic extensions
> are deprecated and suggesting to use func_odbc instead.  This func_odbc
> seems to be the most awkward way anyone could think of for this, though.

I use func_odbc in plenty of situations, but I'm not familiar with it being 
recommended for managing queues.

Without seeing the "note in some configuration file" that you refer to, though, 
I don't know what to say about this.

> >> For example, if I want to have an extension 'foobar' and want to ring
> >> different devices depending on some factors (like time of day, for
> >> example), can I modify the entry in the database for the device to ring
> >> from 'bar' to 'baz', and baz will ring instead of bar from thereon?
> > 
> > Yes.
> And IIUC the extension would use something like
> 'Dial(SIP/ODBC_PICK_USER(...))' after defining a query for my
> ..._PICK_USER function in func_odbc.conf to return what to dial
> depending on the argument(s) supplied?

No comment; I don't use this feature myself.

> How do I make asterisk reload func_odbc.conf?  Or is that not needed?

Not needed.  The whole point of configs in database tables is that they take 
effect immediately without having to tell Asterisk to reload anything.

We did start off just talking about getting queue_log into a database table, 

> >> Is it possible to use configuration from both the database and the files
> >> at the same time?
> > 
> > Yes.
> So far, that seems to work fine :)



Software development can be quick, high quality, or low cost.

The customer gets to pick any two out of three.

                                                   Please reply to the list;
                                                         please *don't* CC me.

More information about the asterisk-users mailing list