- Joined
- Feb 20, 2019
- Messages
- 9
- Reaction score
- 0
We have situation where some of the inbound calls are not successful.
We investigated the issue and it seems that this is the case when using IVR as the first inbound rule for caller.
SIP trunk (Generic) - DID -> IVR -> (whatever and unimportant)
Incoming call comes to IVR, but caller doesn't hear anything (like it is one-way audio issue). Wireshark says that RTP packets are sent from 3CX (we can hear audio), but there's no RTP answer and the whole thing results with this log entry:
10:31:46.314|000005a0| Warn|MSEndPoint.cpp(810): 5:[MS105000] C:1677.1: No RTP packets were received:remoteAddr=xxx.xxx.xxx.xxx:14630,extAddr=<none>,localAddr=xxx.xxx.xxx.xxx:9708
Firewall green, all ports correct. The same issue with 3CX v15.5 SP6 (on-prem) and 3CX v16.0.676 (on-prem), but also tested with PBX express cloud instance (OVH).
To narrow down what we concluded, we were asked to slow down 180/200 OK sequence as it is sent in the same milisecond. I didn't find that this is possible in 3CX. Maybe some parameter I'm not aware of.
When incoming call gets answered by IVR, in the same milisecond 180 ringing and 200 OK is sent before other side managed to send PRACK to 180 Ringing. Because of that, leg wasn't correctly closed and call failed.
It should be 180/PRACK/200 OK and then 200 OK, but what happens is 180/200OK/PRACK/BYE
As a workaround we mapped DID to dummy ring group with one dummy extension and then after few seconds ringing to IVR. After that call leg sequence was okay, but this is just workaround. Is there any chance to delay a 180/200 OK sequence a little bit?
We investigated the issue and it seems that this is the case when using IVR as the first inbound rule for caller.
SIP trunk (Generic) - DID -> IVR -> (whatever and unimportant)
Incoming call comes to IVR, but caller doesn't hear anything (like it is one-way audio issue). Wireshark says that RTP packets are sent from 3CX (we can hear audio), but there's no RTP answer and the whole thing results with this log entry:
10:31:46.314|000005a0| Warn|MSEndPoint.cpp(810): 5:[MS105000] C:1677.1: No RTP packets were received:remoteAddr=xxx.xxx.xxx.xxx:14630,extAddr=<none>,localAddr=xxx.xxx.xxx.xxx:9708
Firewall green, all ports correct. The same issue with 3CX v15.5 SP6 (on-prem) and 3CX v16.0.676 (on-prem), but also tested with PBX express cloud instance (OVH).
To narrow down what we concluded, we were asked to slow down 180/200 OK sequence as it is sent in the same milisecond. I didn't find that this is possible in 3CX. Maybe some parameter I'm not aware of.
When incoming call gets answered by IVR, in the same milisecond 180 ringing and 200 OK is sent before other side managed to send PRACK to 180 Ringing. Because of that, leg wasn't correctly closed and call failed.
It should be 180/PRACK/200 OK and then 200 OK, but what happens is 180/200OK/PRACK/BYE
As a workaround we mapped DID to dummy ring group with one dummy extension and then after few seconds ringing to IVR. After that call leg sequence was okay, but this is just workaround. Is there any chance to delay a 180/200 OK sequence a little bit?