RaspberryPI: выполнение исходящих вызовов SIP с помощью linphonec или альтернативного программного телефона SIP.

В моем проекте я хочу, чтобы мой Raspberry PI набирал исходящий номер PSTN.

У меня есть учетная запись SIP с назначенным обычным телефонным номером, и я могу совершать указанные исходящие вызовы на OSX с помощью Telephone.app:

call-ok

Теперь я попытался добиться того же на своем Raspberry PI, используя linphonec

Сначала я регистрирую своего SIP-провайдера с помощью linphone, и мне кажется, что это удалось:

$ sudo apt-get install linphone
$ linphonec

linphonec> register sip:[email protected] free4.voipgateway.org <PASSWORD>

Registration on sip:free4.voipgateway.org successful.

Затем я пытаюсь вызвать 004100000018 с ошибкой.

linphonec> call 0041000000018

Establishing call id to <sip:[email protected]>, assigned id 1
Contacting <sip:[email protected]>
Call 1 to <sip:[email protected]> in progress.
Remote ringing.
Early media.
Call 1 with <sip:[email protected]> early media.
Call declined.
Call 1 with <sip:[email protected]> ended (Call declined).

Я также пробовал +41, а не 0041, но это тоже не сработало. PI подключен к Интернету, но я не уверен, что это какая-то проблема с прокси-сервером или брандмауэром, или я неправильно использую linphone.

Примечание. Как правило, мне не обязательно использовать линфон. Поэтому, если есть другой sip-клиент без пользовательского интерфейса, который мог бы выполнять эту работу, и к которому я мог бы каким-то образом подключиться с помощью сценариев или API, я был бы более чем счастлив сделать это.

Поиск проблемы

Я поднял уровень журнала и столкнулся:

ortp-error-eXosip_dnsutils_naptr_lookup: res_query failed ('free4.voipgateway.org NAPTR')

Затем я нашел следующее замечание по поводу этого поток

Ваша версия exosip может быть старой и глючной. Вы можете попробовать обновить exosip и перекомпилировать вашу версию linphone. Или лучше клонируйте linphone из git и новый стек sip belle-sip.

Итак, я проверил версию linphonec, и на данный момент у меня 3.5.2, хотя на сайте они рекламируют 3.8. Поэтому я попытаюсь выполнить обновление до версии 3.7, используя это руководство. это руководство

Обновление:

Подобные вопросы по SO:


person Besi    schedule 14.04.2015    source источник
comment
Сбой NAPTR не связан. Стандарт SIP — Поиск SIP-серверов — требует найти сервер с помощью NAPTR. В случае сбоя eXosip2 выполнит простой поиск DNS. На практике вы просто теряете несколько миллисекунд для NAPTR. Это означает только то, что ваша служба не полностью соответствует требованиям, поскольку для нее должен быть определен NAPTR.   -  person AymericM    schedule 01.10.2015


Ответы (1)


Я также работаю с raspberry pi и VoIP, а также пробовал linphone. У меня было много проблем, и я перешел на PJSIP, который намного лучше. У него хорошая документация и гораздо больше функционала.

Проблема в установке, потому что вы должны установить его из источника. Я установил его на raspbian jessy следующим образом (запустите как root или используйте sudo):

apt−get install build−essential automake autoconf libtool libasound2−dev libpulse−dev libssl−dev libsamplerate0−dev libcommoncpp2−dev libccrtp −dev libzrtpcpp −dev libdbus −1−dev libdbus −c++−dev libyaml −dev libpcre3 −dev libgsm1−dev libspeex−dev libspeexdsp−dev libcelt −dev
cd /home/pi
wget http://www.pjsip.org/release/2.4.5/pjproject −2.4.5.tar.bz2 tar −xvjf pjproject −2.4.5.tar.bz2
cd pjproject −2.4.5.tar.bz2
./configure && make dep && make

Важно отметить, что это минимальная установка, для поддержки видео или других кодеков вы должны посетить этот руководство по началу работы.

Если ваша проблема действительно в брандмауэре, то все это вам не поможет. Я настроил свой собственный VoIP-сервер под названием Asterisk. На это уйдет немного денег и времени, зато потом у вас будет хорошая система, не зависящая от онлайн-сервисов. Другим решением будет правильно настроить роутер, чтобы он обходил звонки с free4.voipgateway.org на вашу малину.

person MrNice    schedule 19.01.2016