Я нашел решение своего вопроса.
Нужно добавить строку
<X-PRE-PROCESS cmd="set" data="rtp_notimer_during_bridge=true"/>
в файле
/etc/freeswitch/vars.xml
Это приводит к тому, что FreeSwitch в режиме моста сохраняет исходные интервалы между пакетами.
Альтернативным подходом может быть
cat do_sync | ssh "root@ip" 'nohup sh -s'
Я предполагаю, что эффект, который вы видите, связан с тем, что вы выполняете ./do_sync
в фоновом режиме. Это только кажется, что процесс все еще висит. Если вы на самом деле не видите открытое соединение?
Хитрость с nohup иногда заключается в перенаправлении всех трех стандартных потоков. Это должно сработать для вас:
cat./do_sync | ssh root@ip "cat > /tmp/do_sync && chmod 777 /tmp/do_sync ; nohup /tmp/do_sync 2>/dev/null >/dev/null </dev/null &"
Но без перенаправления для nohup
он будет заблокирован.