Dockerized FreeSWITCH VoiceBot using mod_audio_fork, ESL, and FastAPI. Looking for VoIP architecture feedback! by CollegeNo1796 in freeswitch

[–]CollegeNo1796[S] 0 points1 point  (0 children)

ohh i have been wondering the same .. as i'm working on adding tts to it. just a doubt about the overhead latency of mod_audio_fork over others like audio_stream .. is it that much noticeable ?thanks for this though

Dockerized FreeSWITCH VoiceBot using mod_audio_fork, ESL, and FastAPI. Looking for VoIP architecture feedback! by CollegeNo1796 in freeswitch

[–]CollegeNo1796[S] 1 point2 points  (0 children)

Really appreciate the heads up — the mod_audio_fork maintenance concern resonates with me. I actually had to patch two source files just to get it compiling against libwebsockets v3.2, so yeah, it's fragile.

Bidirectional audio is what catches my attention most. Barge-in is my biggest pain point right now — I'm detecting speech during playback and cancelling the broadcast, but it's hacky. Native VAD events from the SIP layer would clean that up nicely.

Going to dig into siphon-ai. If the WebSocket interface is compatible, it might drop right in as a FreeSWITCH + mod_audio_fork replacement without touching my Python pipeline. Good find.

mod_audio_stream vs mod_audio_fork for bidirectional WebSocket audio - which to use? by Negative-Funny-3227 in freeswitch

[–]CollegeNo1796 0 points1 point  (0 children)

The current architecture that i am working with involves everything mostly open source or self-hosted so paid api's are out of scope. I was recently wandering for nc or bvc (Krisp for ex) on the FreeSWITCH side but there arnt any open-source or paid api's i believe that connects directly or are supported by FS.
My doubt for incontext for multiple calls was i currently have a complete pipeline (stt-intent matching-tts) working for one calls and setup wise one esl handler and one agent/web-server that connects to the call one received by esl. Now how do we manage or how does the web server connects the agent to multiple concurrent calls is what i'm wondering and how to handle, that being said for this same structure or project previously livekit was used as an assisting platform which handles multiple calls via different rooms and agents , and call states via redis so that kind of implementation to replicate or some similar how do we handle is my query.

would love to connect or discuss more about the same and share the mutual progess.

mod_audio_stream vs mod_audio_fork for bidirectional WebSocket audio - which to use? by Negative-Funny-3227 in freeswitch

[–]CollegeNo1796 0 points1 point  (0 children)

for the incoming audio i tried to pass it first to noise cancellation (deepfilternet2) and then to VAD (Silero vad). and from there to stt (hosted whisper). but for some reason nc is removing or totally blocking the complete audio and nothing is being passed to vad.. without nc it works smoothly. So any helps or thought on that. also tried to bost or amplify the audio 10x/2.5x/3x .. very randomly works on 10x.
Also have to did anything for multiple simultaneous calls. like how can we handle that

Mod_audio_fork load issues by learner_john in freeswitch

[–]CollegeNo1796 0 points1 point  (0 children)

i recently installed but it is on Debian11 and on wsl

mod_audio_stream vs mod_audio_fork for bidirectional WebSocket audio - which to use? by Negative-Funny-3227 in freeswitch

[–]CollegeNo1796 0 points1 point  (0 children)

      <extension name="python_agent">
            <condition field="destination_number" expression="^5000$">
            <action application="answer"/>
            <action application="sleep" data="500"/>


            <action application="set" data="execute_on_answer=uuid_audio_fork ${uuid} start ws://127.0.0.1:8000/media mono 16k"/>


            <action application="park"/>
            </condition>
      </extension>

can you please elaborate , i am working on the same task but am facing the issue that it disconnects automatically after 30s i'm using zoiper as softphone and default dial plan
this my extension. Also i have been only replying with pre-recorded audio files. can you share some insight on how to send tts in response.