Эта страница является
переводом страницы
SIP-telephony. Перевод выполнен на 100%.
iRidium для SIP-телефонии
набор инструментов для создания интерфейсов, позволяющих совершать аудио- и видеовызовы между приложениями-клиентами iRidium (i3 pro), IP-телефонами и видеодомофонами с поддержкой стандарта SIP
документация обновлена 15.7.2020
Описание
iRidium для SIP-телефонии - это набор инструментов, позволяющий создать интерфейс вызывной панели, работающий по протоколу SIP. i3 pro может совершать и принимать аудио- и видеовызовы от других вызывных панелей.
Драйвер может быть использован на iRidium server только для реализации PUSH уведомлений.
Поддерживаются кодеки (остальные желательно отключить в настройках SIP-сервера):
- PCMU (M-Law)
- PCMA (A-Law)
- GSM
- H263
- H263-1998
- H264
- G711(PCMU(m-law), PCMA(a-law));
- GSM;
- G722;
- H263;
- H263-1998;
- H264.
Не поддерживается работа в фоновом режиме (получение вызова свернутым и закрытым приложением), но есть возможность настроить push-уведомления.
Лицензирование:
- используйте бесплатно в тестовом режиме i3 pro (через iRidium Transfer)
- приобретите лицензию iRidium 3.x, дополнение "SIP-телефония" предоставляется бесплатно
Готовые интерфейсы
Готовые интерфейсы для работы i3 pro как SIP интеркома / панели домофона:
| проект, устройство |
функции
|
интерком (смартфон) интерком (планшет, ПК) |
- клавиатура для вызовов
- аудио- и видеовызовы
- прием вызовов
- "черный список" абонентов
- история вызовов
- настройка сервера
- настройка аудиофильтров
|
упрощенный интерком (смартфон) упрощенный интерком (планшет, ПК) |
- клавиатура для вызовов
- аудиовызовы
- прием вызовов
- "черный список" абонентов
- настройка аудиофильтров
|
панель домофона (смартфон) панель домофона (планшет, ПК) |
- кнопка вызова домофона
- прием вызова от домофона
- видео с камеры (если есть)
- можно добавить интерком
|
панель домофона Mobotix (смартфон) панель домофона Mobotix (планшет, ПК) |
- кнопка вызова домофона
- прием вызова от домофона
- изображение реального времени с видеокамеры
- открытие двери
- переключение света
- можно добавить интерком
|
Конфигурация оборудования и настройки, необходимые для того, чтобы iRidium подключился к SIP-серверу и мог совершать звонки.
SIP-сервер - может быть аппаратным или программным. Функция сервера - коммутация вызовов между подключенными к нему абонентами.
SIP-абонент - это iRidium на смартфоне, планшете или ПК, IP-телефон, видеодомофон. Абоненты могут вызывать друг друга только через сервер.
Настройка SIP-сервера
SIP-сервер (PBX-сервер) хранит список абонентов, которые могут вызывать друг друга, и делает возможным вызов абонента. Голосовую связь через SIP-сервер можно настроить между панелями iRidium, аппаратными и программными IP-телефонами, видеодомофонами, в квартире, доме или офисе.
Аудио- и видеовызовы могут передаваться как по локальной сети, так и через роутеры и интернет.
Существуют три типа SIP-серверов:
- программный SIP-сервер,
- аппаратный SIP-сервер,
- встроенный SIP-сервер в видеодомофонах,
- облачный SIP-сервер (Cloud PBX).
iRidium не предоставляет готового SIP-сервера, поэтому необходимо использовать готовое решение.
Выберите подходящий SIP-сервер и настройте на нем несколько абонентов.
SIP-сервер имеет следующие реквизиты:
- Host - это IP-адрес для сервера в локальной сети, для облачных и удалённых серверов - имя домена (Server domain, Realm),
- Port - стандартно 5060.
Каждый абонент - это вызывная панель или домофон - имеет следующие реквизиты:
- SIP ID (SIP-номер, логин) - уникальный номер или имя, используемый для идентификации абонента,
- Password - пароль абонента для защиты от несанкционированного доступа к каналу связи,
- Caller ID (Display Name, псевдоним) - любое имя, отображаемое при приёме звонков, например, Jack Nicholson.
Для успешного подключения очень важно, чтобы на стороне SIP-сервера и на стороне SIP-абонента были настроены одинаковые Host, Port, SIP-номер и пароль. Совпадение Caller ID не обязательно.
Ниже приведены бесплатные варианты SIP-серверов. Проверьте условия и ограничения их бесплатного использования.
| SIP-сервер |
Тип |
Инструкция по настройке
|
| Linphone SIP Service |
облачный |
создайте аккаунты на linphone.org - каждый аккаунт имеет логин, который вы должны использовать в качестве номера абонента. Адрес сервера: sip.linphone.org
|
| Linphone Flexisip |
программный (Linux, Mac OS, Windows, Android, iOS, BlackBerry) |
-
|
| 3CX Phone System |
для установки на ПК (Windows) облачный |
инструкция
|
| Asterisk FreePBX |
для установки на ПК (Linux, Windows) аппаратное решение |
инструкция
|
| FreePBX |
для установки на ПК (Linux) |
-
|
| Elastix |
для установки на ПК (Linux) |
-
|
| Yeastar |
облачный |
-
|
| Zadarma |
облачный |
инструкция
|
| Antisip |
облачный |
инструкция
|
Некоторые домофоны имеют встроенные SIP-серверы, например, у производителей Mobotix, Dahua, True IP.
Работа в iRidium studio
Скачайте интерфейс вызывной панели и настройте его в iRidium Studio для подключения к SIP-серверу.
Настройка драйвера SIP
1. В Project Device Panel, драйвер SIP, укажите параметры SIP-сервера и номер абонента, которым будет панель iRidium.
- Name - имя драйвера, НЕ меняйте в готовом интерфейсе
- Driver Type - информация о типе драйвера
- Host - IP-адрес или домен SIP-сервера
- Port - порт подключения к SIP-серверу. Обычно 5060, а для Mobotix T24/T25: 5061
- Password - пароль подключения абонента к SIP-серверу
- Caller ID (Name) - имя абонента (может совпадать с SIP номером)
- SIP ID (Number) - SIP номер абонента
- First RTP Port - начало диапазона портов голосового обмена. Обычно 40000, а для Mobotix T24/T25: 7078
- Last RTP Port - конец диапазона портов голосового обмена. Обычно 41000, а для Mobotix T24/T25: 9078. Пробросьте эти UDP порты на роутере при звонках через интернет
- Use SIP TONE - генерировать SIP сообщения тонального набора
- Use DTMF TONE - генерировать обычные сообщения тонального набора. Они передаются в голосовом потоке. Рекомендованы к использованию
- External IP - внешний IP адрес панели управления. Указывается только, если в поле Host - адрес удаленного SIP-сервера. Чтобы заполнять это поле автоматически при звонках через интернет, используйте инструкцию
- Codec PCMU, Codec PCMA, Codec GSM, Codec G722 - аудиокодеки SIP. Можно включить один или все аудиокодеки. Если не уверены, какой кодек поддерживает вызываемая сторона, включите все - кодек будет выбран автоматически. Выключать все аудиокодеки нельзя
- Codec H263, Codec H263-1998, Codec H264 - видеокодеки SIP. Можно включить один или все видеокодеки. Если включены оба, кодек будет выбран при видеовызове автоматически
- Корректировка звука. Переключить режимы корректировки следует во время вызова. Некоторые режимы включаются с помощью команд драйвера SIP (см. готовые проекты). Включать корректировку или нет - зависит от условий работы:
- Echo Cancellation - подавление эхо
- Volume Control - автоматическая корректировка громкости
- Noise Suppression - подавление шума во время разговора
- Expires - период истечения регистрации на SIP-сервере. Через заданный промежуток времени (в секундах) абонент автоматически начнёт перерегистрацию. Эта функция очень важна при работе с некоторыми SIP-серверами, которые периодически обновляют статус регистрации.
- VoiceMail - активация голосовой почты. Если абонент i3 pro занят, отключен или просто не может принять звонок, автоответчик предлагает звонящему сохранить голосовое сообщение в виде звукового файла, которое хранится в SIP-сервере. Абонент i3 pro позже может прослушать голосовые сообщения путём звонка на специальный номер. Учтите, что SIP-сервер должен поддерживать функцию голосовой почты.
- Use Decline - отправлять команду DECLINE вместе с CANCEL при завершении вызова (требуется для корректного завершения вызова при работе с некоторыми панелями, например 2N)
2. Статус вызывной панели при успешном подключении к серверу: On Hook... (SIP > Feedback > STATUS)
3. Чтобы использовать вызывную панель без изменений, загрузите проект на панель управления.
4. Чтобы добавить вызывную панель в свой, готовый проект, следуйте инструкции в видео.
Команды и обратные связи драйвера SIP
Готовые интерфейсы вызывных панелей используют команды и сообщения драйвера SIP для совершения и принятия вызовов. Обработку вызова выполняет JavaScript файл, без которого визуальный интерфейс не будет работать корректно.
Список команд и каналов обратной связи драйвера SIP, которые вы можете использовать при модификации JavaScript обработчиков и напрямую, привязывая команды и каналы к графическим элементам:
Commands:
- ANSWER - ответить на входящий звонок. Привяжите команду к кнопке:
- Send Number: 0 - ответить с аудиовызовом
- Send Number: 1 - ответить с видеовызовом
- CALL - позвонить. Номер, куда будет совершен вызов, нужно заранее записать в Feedbacks > NUMBER, как строку. Привяжите команду к кнопке:
- Send Number: 0 - аудиовызов
- Send Number: 1 - видеовызов
- CANCEL - отмена вызова. Привяжите команду к кнопке, Send Number: 0
- SEND TONE - отправить тоновое значение. Привяжите команду к кнопке, Send Number: 1-9; * = 10; # = 11
- REGISTER - зарегистрироваться на SIP-сервере. Привяжите команду к кнопке, Send Number: 0
- UNREGISTER - отключиться от SIP-сервера. Привяжите команду к кнопке, Send Number: 0
- SET AUDIO VOLUME - громкость динамиков (0-100%)
- SET ECHO CANCELATION - эхоподавление, вкл/выкл (1/0)
- SET MIC VOLUME - громкость микрофона (0-100%)
- SET NOIZE SUPR - шумоподавление, вкл/выкл (1/0)
- SET SPEECH SEND - активация голосом: отправлять звук только при наличии речи, иначе тишина, вкл/выкл (1/0). Работает только при включенном SET VOLUME CONTROL
- SET VOLUME CONTROL - эхозаграждение: понижать громкость микрофона и динамиков при разговоре. Без него не работает SET SPEECH SEND
Feedback:
- AUDIO VOLUME - громкость динамиков (0-100%)
- CODEC - тип данных звука и видео: Payload Type (PT) см. полный список
- ECHO CANCELATION - эхоподавление, вкл/выкл (1/0)
- FIRST RTP PORT - первый порт RTP диапазона
- INCOMING CALL - есть ли входящий звонок? 0 - нет, 1 - есть
- INCOMING CALL NAME - имя звонящего, текст
- INCOMING CALL NUMBER - номер звонящего, текст
- JITTER - (мс) качество связи, дрожание канала. Скачущие значения более 30 мс могут быть признаком нестабильной связи
- LAST RTP PORT - последний порт RTP диапазона
- MIC VOLUME - громкость микрофона (0-100%)
- NOIZE SUPR - шумоподавление, вкл/выкл (1/0)
- NUMBER - номер абонента. В этот Feedback записывают значение через диалог "Send to Project Token > Send Number" в редакторе макросов, чтобы при вызове команды CALL позвонить указанному абоненту
- STATUS - текущий статус соединения (в текстовом виде):
- On Hook... - подключен к SIP-серверу, готов к работе
- Connected... - создал подключение, готовлюсь к регистрации
- Disconnected... - принудительно отключен от сервера (командой драйверу)
- Failed... - ошибка создания подключения (не связана с SIP-сервером)
- Trying... запрос вызова обрабатывается
- Ringing... - местоположение вызываемого пользователя определено. Выдан сигнал о входящем вызове
- Incoming Call... - входящий вызов
- Talking... - разговор
- Not Found... - вызываемый абонент не найден, нет такого SIP-номера
- Not Acceptable... - соединение с сервером было установлено, но отдельные параметры, такие как тип запрашиваемой информации, полоса пропускания, вид адресации не доступны
- Not Available... - вызываемый абонент не доступен для вызова
- Declined... вызываемый пользователь не желает принимать входящие вызовы, не указывая причину отказа
- Request Pending... - запрос поступил в то время, когда сервер еще не закончил обработку другого запроса, относящегося к тому же диалогу
- Service Unavailable... - сервер не может в данный момент обслужить вызов вследствие перегрузки или проведения технического обслуживания
Примеры работы с SIP в скрипте
Исходящий звонок на номер
Используется метод .Set() драйвера SIP. При отправке единицы на команду CALL осуществляется видеозвонок, при отправке нуля - аудиозвонок. Перед звонком следует задать исходящий номер.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.SetFeedback("NUMBER", "4001"); //4001 - number to call
SIP.Set("CALL", 1); // 1 - videocall
Приём входящего звонка
Аналогично исходящему звонку, только нет необходимости указывать номер.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.Set("ANSWER", 0); // 0 - audiocall
Отмена входящего звонка
Следует отправить 0 на команду CANCEL.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.Set("CANCEL", 0);
Перенаправление входящего звонка
Позвонивший абонент будет перенаправлен для звонка на указанный номер.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.Set("TRANSFER CALL", 103); // 103 - number to transfer
Звонок с использованием P2P соединения
Прямой звонок, без использования SIP-сервера, на IP адрес второго абонента.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.SetFeedback("P2P CALL IP", “192.168.0.33”); // 192.168.0.33 - IP adress to p2p call
SIP.Set("P2P CALL", 0); // 0 - audiocall
Открытие замка домофона через DTMF- или SIP-тон
DTMF- и SIP-тоны представляют собой сигналы о нажатии клавиш, передаваемые по протоколу SIP от абонента к абоненту. Домофоны умеют распознавать эти сигналы и выполнять определённые действия, например, открывать замок. Для этого в домофоне следует настроить код открытия двери, например, 123.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.Set("SEND TONE", 1); // tone of '1' key
SIP.Set("SEND TONE", 2); // tone of '2' key
SIP.Set("SEND TONE", 3); // tone of '3' key
SIP.Set("SEND TONE", 11); // tone of '#' key
В драйвере SIP должны быть установлены параметры Use DTMF TONE или Use SIP TONE в значение True.
Нужно удостовериться, что SIP-сервер и домофон поддерживают передачу и приём DTMF- или SIP-тонов.
Замок может быть открыт через DTMF- или SIP-тон только во время соединения с уличной панелью домофона.
Обычно домофоны поддерживают альтернативные способы открытия замка - специальные HTTP-запросы. Они могут быть удобнее тем, что в этом случае не требуется устанавливать соединение с домофоном, замок может быть открыт в любой момент.
Эмулятор: проверка проекта
Эмулятор (Emulator) - приложение для проверки работы проекта в редакторе iRidium Studio.
Эмулятор работает только после авторизации с использованием логина и пароля с сайта iRidium Mobile
Режимы работы Эмулятора настраиваем в Tools > Options > Emulator:
- Client Fullscreen - запуск в полноэкранном режиме
- Client Sound On - включить/выключить звук в приложении
- Show log at Emuator Start - автоматически открывать окно лога (иначе лог можно открыть по нажатию F4)
Горячие клавиши:
- F4 - открыть лог
- F5 - запустить Эмулятор
- F7 - открыть меню управления аккаунтом и проектами
- F8 - открыть системные настройки (введите пароль 2007)
Синхронизация с панелью управления
Если вы - интегратор, вы можете быстро запустить созданный интерфейс визуализации на панели управления - смартфоне, планшете или ПК. Установите приложение i3 pro и авторизуйтесь в нем с помощью вашего логина и пароля интегратора с сайта iRidium Mobile.
Используйте i3 pro для iOS, Android, Windows, Mac в тестовом режиме, загружая проекты через iRidium Transfer (возможность доступна только для интеграторов):
Emulator
iRidium для Windows
iRidium для iOS
iRidium для Android
iRidium для Mac
Настройки iRidium Transfer
Коммерческое использование iRidium возможно толкьо при загрузке проектов визуализации с помощью облачного сервиса iRidium Cloud на сайте iRidium Mobile (см. инструкцию).
iRidium Cloud может настроить только зарегистрированный интегратор. После настройки, доступно приглашение пользователей к управлению объектом автоматизации.
Настройка различных моделей видеодомофонов
Рекомендованные домофоны - вызывные панели, можно подключить к SIP-серверам как абонентов, для совершения аудио- и видеовызовов: