удаленный набор с использованием SIP-клиента - PullRequest
0 голосов
/ 18 февраля 2012

Я хочу выполнить удаленный набор с моего компьютера, используя простую не SIP-клиентскую программу, которую я написал и которая посылает команды проприетарному SIP-клиенту, который принимает удаленные команды через TCP-соединение. Собственный SIP-клиент затем наберет номер удаленной стороны, используя IP-адрес и номер порта моего компьютера в SDP для RTP. Возможно ли это в принципе? Есть ли какие-либо клиенты с открытым исходным кодом, которые используют эту концепцию? Есть ли какая-либо документация (RFC IETF, блоги и т. Д.), Которая доступна.

Ценю любую помощь в этом вопросе.

Ответы [ 2 ]

0 голосов
/ 21 июня 2012

Если я правильно понимаю, вот что вы хотите сделать:

    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.

0 голосов
/ 02 марта 2012

Проверьте pjsip , это кроссплатформенный SIP-клиент с открытым исходным кодом для всех основных платформ, с API в C и оболочкой API для Python, в зависимости от того, что вы предпочитаете.На их сайте также есть примеры.Свяжите свой код парсинга TCP с pjsip и вызовите его функции, чтобы инициировать вызов, вы можете найти, как это сделать на их сайте

...