That's right - I'm interfacing to a recorder system - my audio inputs are real-time but the metadata and routing information is sent AFTER the audio is received.

By buffering a constant X seconds, I can make sure all of my information is ready before starting a conventional SIP/RTP session, and then just use sched_hangup to add the X back at the end.

The complete chain (as seen by FreeSWITCH on a Windows Server) actually is:

64 channels of Dante > ASIO > PortAudio > Delay_Echo > Eavesdrop B-only > mod_managed originate from Eavesdrop to Park with mod_oreka inline in the dialplan to produce an RTP stream to a commercial, time stamped voice recorder.

Is there a prize for most convoluted routing, or maybe most FS modules used?

As I can't seem to get the jitterbuffer or delay_echo to work with 64K audio, I'm currently using one FS instance as a 64 channel softphone and another instance for talking to the third party devices.

I do wish I could get the transcoding to happen on the same instance.



On Wed, Jan 31, 2018 at 2:56 PM, Steven Ayre <steveayre@gmail.com> wrote:
Since signalling is separate to media I suspect what you're doing here is swapping the 3 seconds of audio lost at the start of the call for 3 seconds of audio lost at the end of the call. I also assume this isn't an interactive call as a 3s latency is going to be almost unusable for a conversation.

On 25 January 2018 at 06:44, Erik M. Devane - Comms Guy <emdevane@gmail.com> wrote:
Thank you for the reply. Here's what I tried:

<action application="set" data="jitterbuffer_msec=3000:3200:20"/>

Works for calls from SIP clients but not for PortAudio calls.

Same with delay_echo - the CODEC is seen as RAW and so the jitterbuffer doesn't seem to be engaged (read_frame->packet doesn't have anything to work with so it skips the buffer).

I have tried to have PortAudio > extension 1 > bridge to extension 2, which produces better results, but (in my hands at least) it causes memory leaks and is unwieldy.




On Wed, Jan 24, 2018 at 11:59 PM, Alexey Sibyakin <alex@freeswitch.com> wrote:
JB should be fine. Any details of unsuccess?

On Thu, Jan 25, 2018 at 2:45 PM, Erik M. Devane - Comms Guy <emdevane@gmail.com> wrote:
I've been working on using FreeSWITCH as a bridge between different devices, and I need to delay all calls by 2-3 seconds in order for the external systems to keep up.

This delay should happen at the start of a call, and all subsequent audio should sound fine, just late.
I know that doing this sounds silly - I'm sorry about that.

Here are my approaches:

1) Eavesdrop on a call send through delay_echo - this works for SIP clients but I have to do an absolute_codec_string as it seems that CODEC support is limited, and I'm often getting no delay at all with my PortAudio clients.

2) Use lua to do a session freeswitch.msleep on answer - exactly what Confluence tells me to avoid - if I sleep but don't consume audio, I think I can get the desired result.

3) Mess with the jitterbuffer - I haven't had any success with this yet.

4) Increase the buffer in mod_PortAudio.

Writing this out makes me sure that I'm missing something - a way of getting delay_echo to work for all calls, or a way to pause session media to get the desired effect.

Can you please help?

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org



--

Alex Sibyakin | Support Engineer
Need commercial support? Contact sales@freeswitch.com for details.

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org