<div dir="ltr"><div class="gmail_quote" style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><div dir="ltr">Hello,<div><br></div><div>I have an MRCPv2 client that I'd like to use in an ASR application which is connected to FreeSWITCH via eventsocket (application written in Go). I'd like to use this client for MRCP signaling because it has the fine-grained control that I need, and the API is easier to use than the unimrcp eventsocket API.</div><div><br></div><div>However, I'd like to have FreeSWITCH take care of answering the incoming call from the user. I don't care quite as much about RTP and SIP signaling to/from the ASR, but would like some control over it if possible (e.g. being able to see the RTP data for recording segments of audio that are important to me).</div><div><br></div><div>There are a few ways I can think of solving this, some hackier than others.</div><div><br></div><div>Currently, what I'm doing is probably the hackiest:</div><div>1. answer the call with FS</div><div>2. Initiate MRCPv2 session with ASR using my client</div><div>3. get the call's local media port over ES</div><div>4. pcap that port, and proxy the media to the ASR manually</div><div><br></div><div>Perhaps a better way would be:</div><div>1. answer the call with FS</div><div>2. initiate MRCPv2 session with ASR using my client</div><div>3. tell FS to proxy audio to the ASR's RTP port from SDP (maybe passing through a proxy UDP socket that I open)</div><div><br></div><div>But I'm not sure if this is possible.</div><div><br></div><div>Another way that might be more approachable:</div><div>1. answer the call with FS</div><div>2. bridge in the ASR using FS</div><div>3. get the SDP / MRCPv2 port from FS</div><div>4. initiate TCP connection to MRCPv2 port and use my client</div><div><br></div><div>The disadvantage would be that I no longer have visibility / control over the SIP / RTP paths, but I could always use pcap as before if the need arises (the situations where I need this control are most likely going to be debugging / non-production purposes).</div><div><br></div><div>Does anyone have better recommendations or details on how I could achieve the second and / or third methods?</div><div><div><br></div><div class="gmail-m_3267334619541130026gmail_signature">Thanks,<br>Rob</div></div></div></div>
</div>