Stefan Viljoen
2019-Jan-07 06:47 UTC
[asterisk-users] Switched from Asterisk 1.8 to 13 - CDR ringtime now always zero
Hi guys A few months ago I upgraded most of my Asterisk servers to 13 from 1.8. I've still got about 25% of my servers on 1.8. I've since noticed that ringtime on Asterisk 13 - the time difference between "start" and "answer" in the CDR record for any call, and between "duration" and "billsec" - has completely disappeared. E. g. the two times and two durations are now the same for all outgoing calls made on Asterisk 13. On 1.8 the time difference between "start" and "answer" and "duration" and "billsec" was always my ring time - e. g. if I phone out to my cellphone from one of my 1.8 servers, the amount of seconds the call rings on my cell in my 1.8 instances is the difference between "start" and "answer" in the 1.8-generated CDR record, and the difference between "duration" and "billsec". E. g. on 13, I see this (zero ringtime) for a call that I make to my cellphone to test, with my cellphone ringing for at least 10 seconds and ringing heard on the Yealink connected to the asterisk - e. g. completely wrong: Start | Answer | End | dur. | billsec 2019-01-07 08:13:49 | 2019-01-07 08:13:49 | 2019-01-07 08:14:35 | 45 | 45 when it should have shown duration 45 billsec 30, 'cause I let it ring 10 seconds before answering my cell / mobile. On 1.8, I see this for a call that I make to my cellphone to test, with the phone ringing for 10 seconds and ringing heard on the Yealink connected to the asterisk - e. g. correct: Start | Answer | End | dur. | billsec 2019-01-07 08:26:43 | 2019-01-07 08:26:53 | 2019-01-07 08:29:25 | 162 | 152 e. g. it shows clearly that the call was ringing for 10 seconds before I answered my cell / mobile. My billing logic can thus tell that on Asterisk 1.8 there was 10 seconds of ringtime, but on Asterisk 13 it says that there was 0 seconds of ringtime - which in reality was also 10 seconds, but is no longer written as such into the CDR on Asterisk 13. So on all my Asterisk 13 instances all my outgoing calls are "suddenly" immediately answered by whomever I'm calling, and clients' landlines / mobiles never ring at all, they just instantly answer... which is obviously incorrect. How can I get Asterisk 13 to behave like Asterisk 1.8 as regards CDRs, e. g. still recording ring time and not just make all call start and call answer times, and all durations and billsec counts, exactly the same? I'm using the same SIP trunk provider with 13 as with 1.8, and in all cases the same operating system (Centos 7, upgraded to date) with both my 1.8 and 13 instances, and almost always the same physical hardware, same network, etc. The CDRs are logging locally on the Asterisk itself in both my 1.8 and 13.22.0 instances, unixODBC connections to Percona 5.6 running locally on the same box. So why is there no longer any ringing recorded in CDRs Asterisk 13 generates? It seems some element of logic changed in the CDR engine, but I cannot find any references to such... anybody got any help or pointers? The holy grail would be to have Asterisk 13 record ringing time on its CDR records, e. g. have a variation between the time a call is shown as having started and the time it is shown as having answered, e. g. the time spent in ringing waiting for the callee to pick up. So 1.8 CDR ringtime behaviour - but in 13. Any ideas? Thanks, Stefan
Joshua C. Colp
2019-Jan-07 11:07 UTC
[asterisk-users] Switched from Asterisk 1.8 to 13 - CDR ringtime now always zero
On Mon, Jan 7, 2019, at 3:04 AM, Stefan Viljoen wrote:> Hi guys > > A few months ago I upgraded most of my Asterisk servers to 13 from 1.8. > I've still got about 25% of my servers on 1.8. > > I've since noticed that ringtime on Asterisk 13 - the time difference > between "start" and "answer" in the CDR record for any call, and > between "duration" and "billsec" - has completely disappeared. E. g. > the two times and two durations are now the same for all outgoing calls > made on Asterisk 13. > > On 1.8 the time difference between "start" and "answer" and "duration" > and "billsec" was always my ring time - e. g. if I phone out to my > cellphone from one of my 1.8 servers, the amount of seconds the call > rings on my cell in my 1.8 instances is the difference between "start" > and "answer" in the 1.8-generated CDR record, and the difference > between "duration" and "billsec". > > E. g. on 13, I see this (zero ringtime) for a call that I make to my > cellphone to test, with my cellphone ringing for at least 10 seconds > and ringing heard on the Yealink connected to the asterisk - e. g. > completely wrong:This is the way it is supposed to work[1], but it ultimately depends on your dialplan. Are you using Local channels? Are you doing Answer in the dialplan? What is the complete flow? [1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+CDR+Specification -- Joshua C. Colp Digium - A Sangoma Company | Senior Software Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - US Check us out at: www.digium.com & www.asterisk.org