Page 1 of 1

VDAD pad RTP packets before transferring to agent

PostPosted: Wed Mar 11, 2020 8:34 pm
by tails84
Hi guys,

I know this is a little bit of an asterisk question/little bit vici but I thought I'd post on here for some advice first.

I have a requirement for asterisk to not use silence suppression (not sure if it's actually silence suppression or just that it's not sending anything) for a call, the reason why is somewhat long and complicated and not really important. Essentially when a VDAD call goes out, the RTP (audio) packets are not sent until the call is transferred through to the agent. In the image below you can see this (top channel is asterisk, bottom channel is carrier). The first blue line is when the SIP ACK comes through and the customer picks up, then the first black line is when the agent is given the call. The lack of data between the blue and first black line are the missing RTP packets I'm talking about.

Is there a way that you're aware of to either:
1) Ensure that asterisk always sends RTP packets and doesn't stop as seen in the photos.
2) Add a line to the dialplan in the VDAD route to play some silence. Was thinking of using Background(silence/3) but not entirely sure where to put it or if it would block anything to do with transferring to the agent, or the dialplan continuing etc.

Thanks in advance.

VICI VERSION: 2.14-721a
BUILD: 191015-1620
Asterisk: 11.22.0-vici
OS: Centos 6.10

Image

Re: VDAD pad RTP packets before transferring to agent

PostPosted: Wed Mar 11, 2020 8:54 pm
by williamconley
build a Vicibox server in a virtual system. i strongly suspect you are reinventing a wheel that Kumba has already built.

I also think you may be putting your cart before your horse: If I recall, it's not that the system "holds back" transmitting sound until it gets to the agent. Instead it's that Vicidial refuses to transfer the call to an agent until sound has initiated.

So if you are having a problem you believe is related to this issue, you will likely need to describe that "long and complicated" reason that will likely turn out to be less "not really important" than you think.

First reflex here is always "turn off the firewall". If you are NATTING, test with a non-NAT call to see if the call succeeds (use a soft phone on the same network to simulate a carrier, for instance, remembering that ALL sip accounts are equal regardless of device: phone/server/carrier ... they are all the same). Later versions of Asterisk also require a bit more tweaking to get sound to initiate, thus allowing the call to transfer. The .conf files associated with those versions of asterisk have extra lines of code, including an extra "sip-silence" line and a completely new perl script to "force sound" to start, if I recall.

So my advice: Try a Vicibox install, see if you can get it working locally in a virtual machine with the same major version of Asterisk. Take your config files and run with it. 8-) (Happy Hunting!)