My freeswitch application is using early media to send a video preview from the caller to the callee before answering. This works, if I am not forking the call to multiple users. If I fork the call, only the
first endpoint to receive the early media gets to answer, and the other calls are cancelled (this is expected, according to the documentation). If I set ignore_early_media to true in the dialplan, then the forking issue goes away but the early media stops
working.
I did some packet captures with ignore_early_media turned on and off, and the signaling doesn’t change, so I’m sure it’s not a problem on the endpoints side of things. Freeswitch just doesn’t send the RTP
when it is set to true.
Is there some trick I am missing, or a workaround I can try? Here’s my dialplan, it’s very straightforward:
<extension name="C4 All Group">
<condition field="destination_number" expression="^All$">
<action application="set" data="ignore_early_media=true"/>
<action application="bridge" data="user/000FFF0B001A,user/000FFF803637"/>
</condition>
</extension>