<extension name="netcat">
<condition field="context" expression="public"/>
<condition field="destination_number" expression="^netcat$">
<action application="log" data="INFO extension netcat"/>
<action application="socket" data="127.0.0.1:8085 async full"/>
</condition>
</extension>
The inbound call is correctly routed to a netcat socket listening on localhost:8085.
When I get the socket connect, I issue the following commands:
connect
...
sendmsg
call-command: execute
execute-app-name: answer
...
sendmsg
call-command: execute
execute-app-name: bridge
execute-app-arg: sofia/external/external_number@external_domain
The bridge is done correctly but the media stream is not bidirectional:
- Aleg can listen Bleg
- Bleg can speak but doesn't hear Aleg
The strange thing is that if I put on hold and unhold Aleg with:
sendmsg
call-command: execute
execute-app-name: hold
..
sendmsg
call-command: execute
execute-app-name: unhold
the media stream is recovered correctly: Aleg and Bleg can speak/listen each other.
I attach pastebin for completeness:
- Freeswitch log: http://pastebin.freeswitch.org/pastebin.php?dl=20656
- Outbound socket log: http://pastebin.freeswitch.org/pastebin.php?dl=20657
Thank you for your help.
Denis Gasparin