Настройка SIP-телефонии в iRidium

Материал из iRidium Mobile Wiki
Перейти к: навигация, поиск

Через SIP сервер (PBX IP-АТС), коммутирующий звонки, можно настроить голосовую связь между панелями iRidium, IP телефонами и видео-домофонами в квартире, доме или офисе.

SIPstruct.png

SIP сервер - может быть аппаратным (IP-АТС), или программным, установленным на ПК. Функция сервера: коммутация вызовов между подключенными абонентами.

SIP абонент - это iRidium на смартфоне, планшете или ПК, IP-телефон, видео-домофон. Абоненты могут вызывать друг друга только через сервер.

Настройка SIP сервера

iRidium может работать с широким перечнем программных и аппаратных PBX серверов. Список серверов, с которыми тестировался iRidium, см. в описании возможностей.

  • oбзор свободно доступных и бесплатных IP АТС - habrahabr.ru
  • обзор SIP клиентов - habrahabr.ru


Настройка SIP сервера:


Поддерживаемые аудио-кодеки SIP:

  • PCMU (M-Law)
  • PCMA (A-Law)
  • GSM

Работа с интерфейсом iRidium SoftPhone для SIP

1. Скачайте интерфейс iRidium SoftPhone в разделе Загрузки

2. Откройте его в iRidium GUI Editor, установленный в составе дистрибутива iRidium

3. Настройте параметры подключения к SIP серверу

4. Сохраните изменения и нажмите клавишу "Send to Transfer"

5. В Transfer прикрепите проект к панели iRidium, где должен работать SIP абонент

6. Получите и привяжите к панели лицензию iRidium (например, Trial)

7. Загрузите проект на панель управления

8. Проект запустится на панели. Об успешном подключении к SIP серверу говорит статус: On Hook...

9. В окне "Accounts" вы можете изменить параметры подключения к серверу

10. В окне "Camera" доступно отображение потокового видео с видео-домофона или IP-камеры. Настройка камер производится в iRidium GUI Editor.

11*. Если вам нужно добавить модуль SIP в свой проект iRidium, выполните объединение модуля iRidium SIP с вашим проектом

Параметры подключения к SIP серверу

После осуществления сервером коммутации вызова, обмен аудио-данными идет напрямую между абонентами (хотя возможен вариант с трансляцией голоса через сервер, когда идет запись). Передача голоса идет через RTP порты.

SIP DriverSettings.png

Для настройки SIP драйвера введите данные одного из абонентов:

  • Name - имя драйвера, НЕ меняйте в готовом модуле
  • Driver Type - информация о типе драйвера
  • Background Mode - фоновый режим для iOS устройств. При включенном Background Mode драйвер может показывать уведомления из свернутого состояния (время работы в фоновом режиме ограничено)
  • Host - IP-адрес PBX сервера в локальной сети или Интернете
  • Port - порт подключения к серверу PBX (обычно 5060 или 5061)
  • Password - пароль подключения к серверу (для выбранного аккаунта)
  • Caller (ID) Name - имя абонента (например: User)
  • SIP ID - идентификатор абонента (может называться Caller ID, например: 102)
  • First RTP Port - начало диапазона RTP портов голосового обмена
  • Last RTP Port - конец диапазона RTP портов голосового обмена. Диапазон RTP портов указывается на случай, если на маршрутизаторе запрещены к использованию некоторые UDP порты. Этот диапазон необходимо пробросить на роутере, при работе через интернет
  • Use SIP TONE - генерировать SIP сообщения тонального набора
  • USE DTMF TONE - генерировать сообщения тонального набора
  • External IP - укажите свой (панели управления) внешний IP адрес, если в поле Host указан внешний адрес удаленного SIP сервера. Для работы по 3G/4G - через динамический IP, необходимо автоматически определять внешний адрес панели управления, для этого существует дополнительный скрипт, который можно скачать и запустить в готовом проекте.


Настройка подключения к удаленному SIP серверу через Интернет

Описание команд и сообщений драйвера SIP

Описание команд и событий драйвера SIP (если вы захотите использовать его без готовой графической оболочки или модифицировать):

SIP drivercommands.png

Commands:

  • ANSWER - ответить на входящий звонок (Send Number: 0)
  • CALL - позвонить (Send Number: 0). Номер берет из Feedbacks > NUMBER, куда его нужно предварительно записать
  • CANCEL - отмена (Send Number: 0)
  • SEND TONE - отправить тоновое значение (Send Number: 1-9, * = 10, # = 11)

Feedbacks:

  • NUMBER - номер абонента для исходящего звонка. Номер можно записать в Feedback через диалог Send Number to Project Token, в редакторе макросов кнопки или поля ввода
  • INCOMING CALL - есть ли входящий звонок (0 либо 1)
  • INCOMING CALL NAME - имя звонящего (текст)
  • INCOMING CALL NUMBER - номер звонящего (текст)
  • 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... - сервер не может в данный момент обслужить вызов вследствие перегрузки или проведения технического обслуживания