Hello,
As I previously said, in other threads, and in my own tutorial to setup a2billing with asterisk 1.8, actually 1.8.7, current version today, all it seem to be properly working, and I have it fully in production.
But asterisk seem to be seeking for his kids, and don't find them, where the Cli are complaining with several warrings, and errors, in the moment when user are placing calls, messages such as:
Quote:
[Oct 1 15:49:50] ERROR[1831]: channel.c:7663 ast_get_group: Syntax error parsing group configuration 'NULL' at 'NULL'. Ignoring.
[Oct 1 15:49:50] WARNING[1831]: acl.c:422 ast_append_ha: Invalid IP address: NULL
[Oct 1 15:49:50] ERROR[1831]: chan_sip.c:26756 build_peer: Bad ACL entry in configuration line 0 : NULL
[Oct 1 15:49:50] ERROR[1831]: channel.c:7663 ast_get_group: Syntax error parsing group configuration 'NULL' at 'NULL'. Ignoring.
[Oct 1 15:49:50] WARNING[1831]: chan_sip.c:26699 build_peer: no value given for outbound proxy on line 0 of
[Oct 1 15:50:48] WARNING[1807]: acl.c:579 resolve_first: Unable to lookup ''
[Oct 1 15:50:50] ERROR[1807]: netsock2.c:263 ast_sockaddr_resolve: getaddrinfo("", "(null)", ...): Name or service not known
Assuming that we're working in RealTime service.
The first consideration to appoint is, that Asterisk 1.8.7 when turn on the realtime, he reall all, everything from the DB, and nothing more from sip.conf or iax.conf files. So that's mean, the actual a2billing DB table are missing much failds, and need to be remapped to that need.
Because according to the contrib, included in asterisk 1.8.7 to setup the realtime DB, the DB have to incllude the following:
Code:
CREATE TABLE IF NOT EXISTS `sipfriends` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(10) NOT NULL,
`ipaddr` varchar(15) DEFAULT NULL,
`port` int(5) DEFAULT NULL,
`regseconds` int(11) DEFAULT NULL,
`defaultuser` varchar(10) DEFAULT NULL,
`fullcontact` varchar(35) DEFAULT NULL,
`regserver` varchar(20) DEFAULT NULL,
`useragent` varchar(20) DEFAULT NULL,
`lastms` int(11) DEFAULT NULL,
`host` varchar(40) DEFAULT NULL,
`type` enum('friend','user','peer') DEFAULT NULL,
`context` varchar(40) DEFAULT NULL,
`permit` varchar(40) DEFAULT NULL,
`deny` varchar(40) DEFAULT NULL,
`secret` varchar(40) DEFAULT NULL,
`md5secret` varchar(40) DEFAULT NULL,
`remotesecret` varchar(40) DEFAULT NULL,
`transport` enum('udp','tcp','udp,tcp','tcp,udp') DEFAULT NULL,
`dtmfmode` enum('rfc2833','info','shortinfo','inband','auto') DEFAULT NULL,
`directmedia` enum('yes','no','nonat','update') DEFAULT NULL,
`nat` enum('yes','no','never','route') DEFAULT NULL,
`callgroup` varchar(40) DEFAULT NULL,
`pickupgroup` varchar(40) DEFAULT NULL,
`language` varchar(40) DEFAULT NULL,
`allow` varchar(40) DEFAULT NULL,
`disallow` varchar(40) DEFAULT NULL,
`insecure` varchar(40) DEFAULT NULL,
`trustrpid` enum('yes','no') DEFAULT NULL,
`progressinband` enum('yes','no','never') DEFAULT NULL,
`promiscredir` enum('yes','no') DEFAULT NULL,
`useclientcode` enum('yes','no') DEFAULT NULL,
`accountcode` varchar(40) DEFAULT NULL,
`setvar` varchar(40) DEFAULT NULL,
`callerid` varchar(40) DEFAULT NULL,
`amaflags` varchar(40) DEFAULT NULL,
`callcounter` enum('yes','no') DEFAULT NULL,
`busylevel` int(11) DEFAULT NULL,
`allowoverlap` enum('yes','no') DEFAULT NULL,
`allowsubscribe` enum('yes','no') DEFAULT NULL,
`videosupport` enum('yes','no') DEFAULT NULL,
`maxcallbitrate` int(11) DEFAULT NULL,
`rfc2833compensate` enum('yes','no') DEFAULT NULL,
`mailbox` varchar(40) DEFAULT NULL,
`session-timers` enum('accept','refuse','originate') DEFAULT NULL,
`session-expires` int(11) DEFAULT NULL,
`session-minse` int(11) DEFAULT NULL,
`session-refresher` enum('uac','uas') DEFAULT NULL,
`t38pt_usertpsource` varchar(40) DEFAULT NULL,
`regexten` varchar(40) DEFAULT NULL,
`fromdomain` varchar(40) DEFAULT NULL,
`fromuser` varchar(40) DEFAULT NULL,
`qualify` varchar(40) DEFAULT NULL,
`defaultip` varchar(40) DEFAULT NULL,
`rtptimeout` int(11) DEFAULT NULL,
`rtpholdtimeout` int(11) DEFAULT NULL,
`sendrpid` enum('yes','no') DEFAULT NULL,
`outboundproxy` varchar(40) DEFAULT NULL,
`callbackextension` varchar(40) DEFAULT NULL,
`registertrying` enum('yes','no') DEFAULT NULL,
`timert1` int(11) DEFAULT NULL,
`timerb` int(11) DEFAULT NULL,
`qualifyfreq` int(11) DEFAULT NULL,
`constantssrc` enum('yes','no') DEFAULT NULL,
`contactpermit` varchar(40) DEFAULT NULL,
`contactdeny` varchar(40) DEFAULT NULL,
`usereqphone` enum('yes','no') DEFAULT NULL,
`textsupport` enum('yes','no') DEFAULT NULL,
`faxdetect` enum('yes','no') DEFAULT NULL,
`buggymwi` enum('yes','no') DEFAULT NULL,
`auth` varchar(40) DEFAULT NULL,
`fullname` varchar(40) DEFAULT NULL,
`trunkname` varchar(40) DEFAULT NULL,
`cid_number` varchar(40) DEFAULT NULL,
`callingpres` enum('allowed_not_screened','allowed_passed_screen','allowed_failed_screen','allowed','prohib_not_screened','prohib_passed_screen','prohib_failed_screen','prohib') DEFAULT NULL,
`mohinterpret` varchar(40) DEFAULT NULL,
`mohsuggest` varchar(40) DEFAULT NULL,
`parkinglot` varchar(40) DEFAULT NULL,
`hasvoicemail` enum('yes','no') DEFAULT NULL,
`subscribemwi` enum('yes','no') DEFAULT NULL,
`vmexten` varchar(40) DEFAULT NULL,
`autoframing` enum('yes','no') DEFAULT NULL,
`rtpkeepalive` int(11) DEFAULT NULL,
`call-limit` int(11) DEFAULT NULL,
`g726nonstandard` enum('yes','no') DEFAULT NULL,
`ignoresdpversion` enum('yes','no') DEFAULT NULL,
`allowtransfer` enum('yes','no') DEFAULT NULL,
`dynamic` enum('yes','no') DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
KEY `ipaddr` (`ipaddr`,`port`),
KEY `host` (`host`,`port`)
) ENGINE=MyISAM;
So, as you can see, there's several fields missing, and several different expectations in the fields, related to the default values in comparison with the actual a2billing DB structurer.
Same issue with Iax, let's concentrate for the moment into SIP.
SO, what i did, first, I update the existing a2billing tables to adjust the default values expectation for asterisk, unless some of them, as I don't agree with this script at all, ie. the `host` varchar(40) DEFAULT NULL, for me should be `host` varchar(40) DEFAULT dynamic, ...etc. The relevant change in asterisk 1.8.7 is when asterisk deprecate the reinvite directive and sustitute it by directmedia, whih have to be: `directmedia` enum('yes','no','nonat','update') DEFAULT yes, not null as the script establish... etc
But changing that faild name in a2billing DB from canreinvite to directmedia, cause me problem in readin the DB, when I go to a2billing gui admin, and click in customers, voip-setting, I can't edit nothing, because there's an error in reading the database by the A2B_entity_friend.php, I tried to edit that's one to meet the DB, but I couldn't find that faild...
The suggestion is, to create a new structured DB for asterisk 1.8.7, and between this one, and the actual a2billing DB, create a view, to appoint asterisk to read from that view all needed details, and review all over the default faild to meet our configuration, because as I see, asterisk is not reading nothing from sip.conf general section... I hope I'm mistaking...
So, this is the ideas, I did't wrote to create the DB view yet, because just with editing the cc_sip_buddies table, I don't see any warring neither error more... the errors for the moment are coming from the iax table, when I user, over IAX are placing calls... so let's say, eventually solved... even the message is error, but it don't seem to be critical, as asterisk is looking for line 0 in sip.conf, he's referring in reality to a specific field in the DB to that expected DB structure ( field name, header...etc).
Regards,