I’ve got a strange problem – on my asterisk instance, when a call starts to ring, I do
core show channel
and I get the usual output with the duration and billsec fields included.
For most of my calls, things are normal, e. g. duration field starts incrementing as the SIP phone rings, and the moment it is answered / the call goes offhook the duration timer continues running, and the billsec timer starts up. Disposition goes from NO ANSWER to ANSWERED the moment billsec starts incrementing.
However, for certain calls from a certain SIP trunk provided by a local trunk provider, this never happens.
E. g. the call comes in on this “problem trunk” and duration timer starts running – RTP starts and the call is totally normal, both parties have crystal clear bi-directional audio and the call records correctly – but the billsec timer never starts incrementing and forever remains at 0. Disposition forever remains at NO ANSWER – even though the call is in progress and has been answered, and is working perfectly.
Other calls from other trunks provided by the same provider on the same logical and physical Asterisk instance work correctly – if the call is answered, it becomes ANSWERED in “core show channel” display, and the billsec timer starts incrementing.
Only this one trunk consistenly has this problem for all calls received over it. The trunk provider is using sippy on their side.
What setting / config option for the particular SIP “problem trunk” have my trunk provider changed on their side to stop Asterisk from recognising that a call has been answered when it comes in over that trunk?
It appears some SIP traffic is not being sent by them (or not received by my Asterisk) that indicates to it a call has been ANSWERED and that it must start the billsec timer?