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?