Comments 15
Основное отличие идеи (технические подробности в расчёт не беру) — в статье про SIP домофон, работает только в своей локальной сети со своим VoIP сервером Asterix (про его настройки написано совсем мало). В моем посте, доступ не зависит от месторасположения пользователя.
Ну и мое имхо, чем больше будет описания идей и реализаций их, с пошаговыми действиями, тем лучше.
Извиняюсь за качество снимков
Не погружался в VoIP, но у меня такой вопрос — имеет ли смысл повторить проект на каком-нибудь Esp32? Есть сразу наборы с камерой, качеством она точно не уступает средней вебке. Однозначно получится компактнее, дешевле и можно сделать автономное питание. Правда не знаю — потянет ли Esp? Если потянет — готов попробовать повторить
Ну и немного поправлю, VoIP основан на SIP протоколе, очень грубо два устройства клиентов и сервер как посредник обмениваются служебными сообщениями, в которых кроме прочего указывается на каком кодеке будут работать. Обычно используются кодеки H264, vp-8 (для видео). как то сумбурно получилось описать.
Вот ESP для меня пока черный ящик. с контроллерами я не работал и их возмодностей не знаю.
камеры наблюдения тоже стримят видео но в них не линукс. На esp неизвестно есть ли реализации сип клиента. Но точно там не линукс. Он слишком слаб для линукса
Спасибо за классную статью! Интересно можно ли что бы видео транслировалось еще до снятия трубки абонентом? Как в обычном домофоне.
Скорее всего в этом случае не получится. При установке соединения вначале идёт обмен служебными сообщениями и при ответе устанавливается поток медиа (аудио или видио).
С большей степенью вероятности, такой вариант возможен при использовании своего собственного SIP сервера, который отвечает на звонок и тем или иным способом перенаправляет его к клиентскому приложению (софтфону) или в локальную сеть или к провайдеру sip телефонии. Но думаю, придётся немного повозится с настройками и реализацией решения.
спасибо за ответ! я поставил локально freeswitch но пока еще не получается через него связь установить....большие задержки между call И реальным звонком, хоть нагрузки на Rpi не такие и большие, дело наверное не в быстродействии а в настройках. Через Zadarma намного быстрее звонок проходит. И попутно придумываю вариант как управлять открыванием калитки через DTMF. Несколько вариантов есть буду на днях пробовать.
Уберите дефолтный пароль в конфигурации и задержка исчезнет, можете посмотреть пару моих публикаций по freeswitch: https://habr.com/ru/post/464309/ и https://habr.com/ru/post/426429/
И небольшое дополнение на данный момент консольный клиент собирается совершенно иначе. Мне так и не удалось его собрать. Есть возможность установить его несколько устаревшую версию через apt. Команда sudo apt-get install linphone-nogtk
Но самое главное сейчас эта утилита не может принимать вызовы, только звонить. Если брать видео вызов, то используемый кодек в программе VP8. Также описывал установку и базовые функции в одной из своих публикаций https://habr.com/ru/post/466735/.
у меня получилось собрать на raspbian. Linphone-sdk версию десктоп по этой инструкции https://wiki.linphone.org/xwiki/wiki/public/view/Linphone/Linphone and Raspberry Pi и Вашей. Но меня вполне устроит только звонить, так как на домофон вряд ли мне пригодится.За фишку с паролем - спасибо. Статейки читал но сам freeswitch ставил через апт apt-get install -y freeswitch-meta-all. Странности с расположением файлов конфигурации. Они в /etc/freeswitch Хоть во всех примерах в /usr/local/freeswitch
Спасибо за ссылку. Пропустил это описание установки (впрочем и давно не искал).
По FS: В етс устанавливаются файлы при установке через apt
При самостоятельной сборке установка происходит по дефолту в usr/local/...
У меня для первоначальной работоспособности fs пришлось сделать следующие шаги: 1) Поменять пароль в файле vars.xml , там же заменить профиль с external на internal <X-PRE-PROCESS cmd="set" data="use_profile=internal"/>
sudo nano /etc/freeswitch/sip_profiles/internal.xml
2) В файле профилей замена пары строк
<!-- закомментируем: <param name="ext-rtp-ip" value="$${external_rtp_ip}"/> <param name="ext-sip-ip" value="$${external_rtp_ip}"/> --> <param name="ext-rtp-ip" value="auto-nat"/> <param name="ext-sip-ip" value="auto-nat"/>
Иначе были задержки и срывы разговора.
Подскажите, камера логитеч у меня вроде выдает видео в формате mjpeg, а стрим в VP8 идет. У меня RPI2 b+ версия. Потянет ли перекодирование видео? Думал может у меня из-за этого не было картинки. Хотя видно обращение к камере было - лампочка на ней загоралась.И Может ли видео передаваться только в одну сторону от домофона к клиенту что бы не грузить лишней информацией систему? Когда через zadarma запускал c телефона клиент автоматически включал трансляцию видео с камеры телефона и в результате куча ошибок валилось в linphonec - bctbx-error-OpenH264 decoder: DecodeFrame2 failed.
DIY кнопка вызова часть 2. Видеофон из Raspberry Pi