Возможности сервера Asterisk на столько широки, что наряду с построением систем для контактных центров, ничто не мешает использовать его и для создания локальной мобильной SIP-сети. Вопрос упирается в функциональность и стабильность мобильных приложений, которые будут использованы в качестве клиентов (SIP-софтфонов) для вашего персонального телефонного сервера.
В наших проектах в качестве софтфонов мы активно используем приложения Bria и ZoiPer. Оба они доступны в версиях как под платформу iOS, так и под Android. С точки зрения интерфейсов, они предлагают наборы привычных функций встроенных мобильных телефонных книг и журналов вызова. Вы наверняка знакомы со звонками через Skype или Viber, так что легко можете представить функциональность.
В качестве законченного решения вы получаете:
- Коммуникацию через софтфоны в ограниченной и известной группе абонентов. Учетные записи на сервере выдаются администратором. Каждой такой записи устанавливается индивидуальный двух- или более значный цифровой номер. По сути – номер в собственной сети. Звонки внутри софтфона осуществляются по такому внутреннему номеру.
- Звонки при наличии доступа смартфона к сетям 3G, LTE или WiFi;
- Шифрование голосового трафика c использованием TLS, SRTP, ZRTP. Шифрование обеспечивает не только сложность непосредственно прослушивания при перехвате трафика, но и сложность самого перехвата. Затраты и квалификация специалистов, требуемые для организации прослушивания таких разговоров, очень высоки;
- Конфиденциальность существования самой сети. Вы не регистрируете в публичных сетях свой мобильный номер, не информируете друзей и знакомых, не оплачиваете ежемесячно счета за обслуживание телефона, не сообщаете физическое место расположения сервера телефонии и так далее. Мы считаем такое отношение самой надежной защитой от злоумышленников;
- Обучение в подключении новых и удалении существующих абонентов.
Для дополнительной безопасности, установка соединения смартфона с сервером может осуществляться через OpenVPN. По сути – это шифрование и так уже зашифрованного трафика. Плюсом, безусловно является повышенная гарантия невозможности выявления, перехвата и дешифровки трафика. Но есть и слабая сторона такой меры сверх защиты: для стабильности передачи голоса, она потребует более мощного серверного оборудования. Кроме того, такая связь будет более прихотлива к качеству Интернет-сигнала.
Подробности

Bria является мобильным софтфоном с высоким уровнем безопасности, разработанным под стандарт VoIP для работы в сетях 3G, LTE и WiFi.
Использование списка контактов мобильного устройства делает Bria комфортным и эффективным средством управления связью с интуитивно понятным дружественным интерфейсом. Функциональность позволяет легкие переключения между двумя вызовами и объединение звонков в конференцию.
Bria включает расширенные настройки безопасности, нацеленные на максимальную защиту передаваемого сигнала. Также оно содержит такие расширения аудио-функций, как G.711, G.722, SPEEX, SILK и Opus.
Расширенная премиум-версия продукта включает поддержку видео-вызовов и видео-конференций.

В этом материале изложены особенности таких технологий шифрования VoIP звонков, как SIP\TLS, SRTP и ZRTP.
Любой VoIP вызов состоит из двух составляющих: обмена сигнальной информацией и передачи между пользователями media-потоков с голосом и/или видео.
На первом этапе, в процессе обмена сигнальной информацией, клиенты напрямую либо посредством сервера договариваются между собой о параметрах устанавливаемого вызова. Если связь устанавливается с помощью сервера, то на основе сигнальной информации сервер авторизует клиента, устанавливает кто и кому звонит, проводит маршрутизацию и коммутацию. Благодаря данным сигнального протокола клиенты и сервер согласуют метод шифрования, используемые media-кодеки, обмениваются IP-адресами и номерами портов, где ожидается приём media. В нашем случае это происходит по протоколу SIP.
Непосредственно «разговор» (обмен голосовыми данными между двумя клиентами) происходит по протоколу RTP. Данные в процессе него передаются в том виде, о котором договорились клиенты и сервер на первом этапе. Обмен голосом возможен как напрямую между клиентами, так и через сервер (как посредник). Во втором случае сервер может помочь клиентам с прохождением NAT и в выборе кодеков.
Шифрованный VoIP-вызов представляет собой такой обмен данными, когда для шифрования сигнальной информации применяется SIP\TLS, а для шифрования «голоса» протоколы ZRTP и SRTP. SIP\TLS – грубо говоря, аналог HTTPS. Протокол позволяет мобильному приложению убедиться, что оно общается именно с нужным сервером при условии, что клиент доверяет предоставленному сервером сертификату.
SRTP и ZRTP – это два разных способа шифрования RTP-потоков. Принципиальное отличие между ними состоит в том, что обмен ключами для SRTP происходит при сигнализации (на первой стадии установки вызова), а для ZRTP – непосредственно в начале обмена RTP пакетами.
Важно то, что для SRTP обязательным условием надёжности шифрования звонка является одновременное использование SIP\TLS + SRTP, иначе злоумышленнику не составит труда получить ключи (которые будут переданы по не шифрованному SIP) и прослушать разговор. В то время как для ZRTP это не важно, RTP поток будет надёжно зашифрован вне зависимости от того, шифруется сигнализация или нет.
Схема подключения SIP-клиентов с различными настройками шифрования представлена на рисунке. Можно выделить следующие способы установки шифрованного звонка:
- Оба пользователя используют SIP\TLS и SRTP. В этом случае обмен ключами для шифрования media происходит по защищенному сигнальному протоколу. Предполагается доверие к серверу, участвующему в установке связи. Посторонние не могут получить доступ ни к сигнальной информации, ни к голосовым данным. Недостаток такого способа состоит в том, что в общем случае пользователь не может быть уверен на уровне клиента, что его собеседник также использует шифрованное подключение к серверу.
- Оба пользователя используют ZRTP, голос при этом проходит через сервер. В этом случае сервер определяется ZRTP-протоколом как Trusted MitM (Man in the Middle). Обмен ключами происходит по алгоритму, основанному на методе Диффи – Хеллмана по протоколу RTP. Это гарантирует невозможность прослушки. Если при этом еще используется и защищенный SIP\TLS, то посторонние не могут получить доступ также и к сигнальной информации. Как и в первом варианте, предполагается доверие к коммутирующему серверу. Но в отличии от него, голос будет надежно зашифрован и без использования SIP/TLS. Кроме того, каждый пользователь видит в своем приложении, что разговор шифруется до сервера с обеих сторон.
- Оба пользователя используют ZRTP, но media устанавливается напрямую между клиентами. При такой схеме даже сервер, осуществивший коммутацию, не может прослушать разговор. В этом случае оба клиента отображают информацию о том, что установлен безопасный прямой сеанс связи. Убедиться в этом можно сверив SAS (короткие строки авторизации) – они будут одинаковыми. Это самый безопасный вариант с точки зрения прослушивания. Но в этом случае сервер не сможет выполнять многие возложенные на него функции, например, провести перекодировку разговора в другой кодек (в случае такого требования от второго клиента) .
- Один пользователь использует первый метод, а другой — второй. В этом случае так же требуется доверие к серверу. Сигнальная информация должна обязательно шифроваться с помощью SIP\TLS. Для пользователя с ZRTP протокол сообщит, что шифрованное соединение установлено до сервера (End-at-MitM). Используется ли шифрование с другой стороны на уровне протокола в этом варианте узнать не удастся.
В Интернет можно найти критику мобильной SIP-телефонии. Прежде всего, она адресована к качеству передачи голоса, которое отличается от привычного разговора по мобильному телефону. Эта критика справедлива лишь отчасти. При правильном подборе параметров оборудования и компетентной настройке как сервера Asterisk, так и клиентских приложений, решение работает стабильно и привычно. Вы можете спокойно обеспечить его для собственного бизнеса с помощью Gerhaus.