On Thursday 08 April 2021 at 12:38:02, Antony Stone wrote: > On Thursday 11 March 2021 at 14:03:23, Antony Stone wrote: > > Hi. > > > > I'm using MariaDB (via ODBC) to store realtime SIP peers with Asterisk 13 > > and 16. > > > > In general it's all working fine, however there's something that puzzles > > me: > > > > If I connect to the Asterisk console and use the command "sip show peers" > > I get a list of the peers including the last qualify time in the > > "Status" column. The "Realtime" column tells me "Cached RT". > > > > Some of my peers are in the same data centre as the server I'm querying, > > and generally show a qualify time of 1ms; some are in another data centre > > and have qualify times around 15ms. > > > > However, if I go to my database server and ask "select * from sippeers" I > > get the same list of peers but the "lastms" field is always zero. I had > > expected this to show me the last qualify time in milliseconds for each > > peer. > > > > Am I just totally misinterpreting what "lastms" means in the table, or do > > I need to do something else to get this value to reflect what Asterisk > > itself will tell me? > > I have found a totally weird method of getting this working. > > I simply need to add another field to the sippeers database table.
This turns out not to be reliable - sometimes the numbers all go back to zero, but at least it works some of the time, which I've never achieved before. > Here's the table definition as I've been using it for months: > > CREATE TABLE `sippeers` ( > `id` int(11) NOT NULL AUTO_INCREMENT, > `DDI` varchar(32) NOT NULL DEFAULT '', > `name` varchar(80) NOT NULL DEFAULT '', > `type` enum('user','peer','friend') NOT NULL DEFAULT 'peer', > `fromuser` varchar(80) DEFAULT NULL, > `defaultuser` varchar(80) NOT NULL DEFAULT '', > `host` varchar(31) NOT NULL DEFAULT 'dynamic', > `secret` varchar(80) DEFAULT NULL, > `ipaddr` varchar(45) NOT NULL DEFAULT '', > `port` mediumint(5) unsigned NOT NULL DEFAULT '0', > `insecure` varchar(20) DEFAULT NULL, > `context` varchar(50) DEFAULT NULL, > `regseconds` int(11) NOT NULL DEFAULT '0', > `fullcontact` varchar(80) NOT NULL DEFAULT '', > `callbackextension` varchar(250) DEFAULT NULL, > `regserver` varchar(100) NOT NULL DEFAULT '', > `useragent` varchar(50) NOT NULL DEFAULT '', > `lastms` int(11) NOT NULL DEFAULT '0', > `qualify` char(3) DEFAULT 'no', > PRIMARY KEY (`id`), > KEY `name_2` (`name`) > ) ENGINE=InnoDB AUTO_INCREMENT=13862017 DEFAULT CHARSET=utf8mb4 > > If I do the following: > > alter table sippeers add column anything int after qualify; > > (I've called the column "anything" to emphasise that the name appears to be > entirely unimportant) > > then all of a sudden, the lastms field contains useful and sensible values. > > > Is this a bug, or is there something wrong with my original table > definition? > > > Antony. -- The next sentence is untrue. The previous sentence is true. 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