Если я правильно понимаю, вот что вы хотите сделать:
TCP SIP/SDP/RTP
PC <===> SIP client <===========> softswitch
Фактически, TCP между ПК и клиентом SIP, вероятно, будет точным для сигнализации, но не для медиа, поскольку поток RTP-сообщений часто отправляется через UDP.
На мой взгляд, первый шаг - убедиться, что ваш программный коммутатор примет отправку RTP-пакетов на IP-адрес, который не совпадает с клиентом SIP (я думаю, большинство из них отказывается по соображениям безопасности). Если он принимает и если у вас нет NAT между вашим SIP-клиентом и вашим ПК, вы должны иметь возможность отправлять RTP-поток прямо на ваш компьютер. В этом случае вам необходимо получить RTP-пакеты, в конечном итоге перестроить их, распаковать свою полезную нагрузку и передать их вашим динамикам.
Если ваш программный коммутатор не хочет отправлять RTP-пакеты на IP-адрес, отличный от IP-адреса SIP, вам необходимо переслать свои RTP-пакеты с вашего SIP-клиента на ваш компьютер. Но если вы не можете изменить свой SIP-клиент, чтобы сделать это (и это, вероятно, так, как это проприетарное программное обеспечение), вы, вероятно, застряли.
Чтобы проверить, согласен ли ваш программный коммутатор на отправку RTP-пакетов на непреднамеренный IP-адрес, вы можете использовать sipp и указать удаленный IP-адрес, отличный от IP-адреса сигнализации SIP.
Каков протокол вашей опоры. SIP-клиент? Что это за клиент? пожалуйста, дайте более подробную информацию! – CharlesB
Клиент SIP поддержки использует SIP для связи с программным коммутатором (звездочкой, freeswitch и т. Д.) С одной стороны. Он взаимодействует с моим TCP-клиентом, используя простую проприетарную команду запроса-ответа на другом конце. –
ОК, так что в чем проблема, если вы знаете протокол? – CharlesB