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)? 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.>> 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? How do I make asterisk reload func_odbc.conf? Or is that not needed?>> 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 :)
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: http://work.mikeboylan.com/posts/2012/03/asterisk-queuelog-to-mysql.html https://gist.github.com/melvinlee/f57da3080dff40f71631 https://stackoverflow.com/questions/30161384/asterisk-11-queue-log-to-mysql https://www.voip-info.org/asterisk-queuelog-on-mysql/> Do I get to see the queries that are being used to write this data,No.> or do I need to form them myself and enter them into some configuration file?No.> >> 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, though.> >> 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 :)Good. Antony. -- 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.
The Asterisk source has a tool to create the db Marcelo On Thu, 6 Dec 2018, 19:44 Antony Stone <Antony.Stone at asterisk.open.source.it wrote:> 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: > > http://work.mikeboylan.com/posts/2012/03/asterisk-queuelog-to-mysql.html > > https://gist.github.com/melvinlee/f57da3080dff40f71631 > > https://stackoverflow.com/questions/30161384/asterisk-11-queue-log-to-mysql > > https://www.voip-info.org/asterisk-queuelog-on-mysql/ > > > Do I get to see the queries that are being used to write this data, > > No. > > > or do I need to form them myself and enter them into some configuration > file? > > No. > > > >> 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, > though. > > > >> 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 :) > > Good. > > > Antony. > > -- > 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. > > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > Check out the new Asterisk community forum at: > https://community.asterisk.org/ > > New to Asterisk? Start here: > https://wiki.asterisk.org/wiki/display/AST/Getting+Started > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20181206/e2247e88/attachment.html>
On 12/06/2018 08:43 PM, Antony Stone wrote:> On Thursday 06 December 2018 at 17:49:25, hw wrote: >>>> 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.Did I say anything about using it for queues? Queues seem to be the only way to have several phones ring at once, or are there other ways?> Without seeing the "note in some configuration file" that you refer to, though, > I don't know what to say about this.It says "However, ; note that using dynamic realtime extensions is not recommended anymore as a ; best practice; instead, you should consider writing a static dialplan with ; proper data abstraction via a tool like func_odbc." in extconfig.conf.>>>> 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.Which feature?>> 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.good> We did start off just talking about getting queue_log into a database table, > though.That's why I changed the subject. Now I started with CDR logging to the database because queue logging seems to be even more difficult, and it's not working because asterisk says "cdr_odbc.c:174 odbc_log: Unable to retrieve database handle. CDR failed." while I can connect to the datasource given in cdr_odbc.conf with isql just fine. I made another post about that, though.