[Freeswitch-users] Bypass media with callcenter

Szalánczi Gábor szalanc1 at gmail.com
Thu May 19 20:05:56 MSD 2016



We are developing a FreeSwitch based solution for a sign-language interpreter service for hearing impaireds. The system is already somewhat operational, but we are facing serious audio/video quality issues (to the point of being completely unusable), presumably caused by our virtualized PBX environment in passthrough media mode. Indeed, by switching the calls to bypass media mode from the dialplan, most of these problems vanished.


The problem is the callcenter module, which is a crucial component for the operation of our service, but seemingly does not honor any setting meant to switch the calls to bypass mode. We have tried setting, exporting (even with cc_export_vars) the bypass_media=true and  bypass_media_after_bridge=true variables from the dialplan before calling the callcenter application, setting them from the dialstring of the callcenter agents, and configuring the profile with inbound-bypass-media=true. None of these worked, the media streams of the calls serviced from the queue still got relayed by FreeSwitch.


The only  way we were able to remove the PBX from the media path was using the uuid_media_3p off API call, issued from an ESL PHP script after the call is established between a client and an agent (from a custom event handler for the bridge-agent-start callcenter action). The main problem with this approach that the callcenter app initiates the call to the agent without ICE protocol (since it wants the PBX to relay the media streams), so our custom liblinphone-based desktop client will also respond to the b-leg REINVITE (triggered by uuid_media_3p) without ICE, resulting no media at all in bypass mode. Our custom mobile clients are ICE enabled, so the a-leg properly answers the REINVITE with ICE, and its SDP with candidate attributes gets forwarded to the b-leg, but since it had not started an ICE session at the initial call setup, it will ignore it, and send back a plain SDP just with its internal IP and ports.


Is there any way to force the callcenter app to send its initial INVITE with ICE? We have noticed that the a-leg's INVITE with candidates in its SDP is responded by FreeSwitch with a single candidate line for itself (this way it also keeps the ICE session alive at the client, so it can use it later responding the REINVITE), so hopefully it is possible.


We are open to any other suggestions which leads to bypass media mode with callcenter.


Best Regards!


Gábor Szalánczi

cid:image001.gif at 01D1B1E9.D64F69C0




1062 Budapest, Váci út 1-3. Westend Irodaház "C" torony, 5. emelet
(+36-1) 371 25 55
(+36-1) 371 25 56




www.egroup.hu <http://www.egroup.hu/> 


3525 Miskolc, Madarász Viktor u. 13/A




Szalánczi Gábor
szoftverfejlesztő / Software Developer 



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160519/2ad07a78/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 842 bytes
Desc: not available
Url : http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160519/2ad07a78/attachment.gif 

Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list