Техническая база знаний
Zoiper
Корректное выключение софтфона
При выключении, закрытии приложения, софтфон не отправляет сообщение об /wiki/spaces/FKB/pages/66781185, хотя сам интерфейс может показывать "Не в сети".
Zoiper 3
Настройка подключения
1. Указать параметры подключения абонента, Accounts → General:
Domain - адрес сервера телефонии, на котором будет происходить регистрация абонента.
Username - номер телефона абонента.
Password - пароль абонента.
2. Включить разрешенные голосовые кодеки, вкладка Account → Codec. В списке Selected codecs оставить кодеки, указанные на сервере телефонии в учетной записи абонента.
3. Указать дополнительные параметры подключения, вкладка Accounts → Advanced.
Registration expiry - время перерегистрации абонента на сервере телефонии, указывается в секундах.
Keep alive time-out - частота поддержания открытой NAT сессии (если подключение абонента осуществляется за NAT).
DTMF - тип DTMF сигнализации.
4. Включить использование STUN сервера для определения внешнего IP адреса абонента, Advanced → Network. Используется, если подключение абонента осуществляется за NAT.
Абоненты за NAT
Когда много абонентов за NAT, может быть такая ситуация, что к пользователю, у которого запущен софтфон, но он не зарегистрирован на сервере (или поставил DND в группе операторов) будут поступать вызовы. Такая ситуация возникает из-за того, что все софтфоны слушают подключения на локальных рабочих станциях по порту 5060. Проходя через NAT, граничный маршрутизатор не меняет исходящий порт, в итоге подключения разных абонентов видны на сервере под одним и тем же IP адресом, под одним и тем же портом. Сервер телефонии шлёт запрос на установление связи с абонентов, а пакет приходит не тому абоненту, которому он предназначался (таблица NAT на маршрутизаторе имеет запись только о последнем соединении). Таким образом вызов приходит не на того абонента, которому предназначался, и, конечно, все установленные правила в системе телефонии для ограничения вызовов на абонента игнорируются.
Признак такой ситуации - одинаковый IP и порт у нескольких абонентов в параметре Addr → IP в результате исполнения команды в CLI Asterisk `sip show peer <номер>`.
Номера портов у всех абонентов должны отличаться
В принципе, за это отвечает опция rport. Убедитесь, что в настройках учетных записей пользователей в софтфонах указано установлены галки Use rport и User rport media.
Также Вы можете изменить в настройках протокола SIP, в софтфоне (Protocol options -> SIP options) номер порта, на котором работает софтфон на рабочей станции пользователя.
Zoiper 5
Keep-alive в Zoiper 5
Откройте настройки Zoiper, нажав на иконку шестерни в правом верхнем углу основного окна приложения. Откроется окно настроек приложения.
В левом вертикальном меню Settings выберите пункт Accounts. Вместо вертикального меню слева отобразится список учетных записей SIP.
Выберите используемую учетную запись, для которой необходимо изменить настройки. В правой части окна приложения отобразятся основные параметры подключения выбранной учетной записи.
В правом верхнему углу экрана приложения, рядом со значками знака вопроса и корзины, выберите пункт Advanced. Правая часть экрана приложения дополнится параметрами учетной записи, которые не являются обязательными.
Прокрутите правую часть окна приложения с настройками колесом мыши вниз. В секции Network related представлены параметры, отвечающие за установку сетевого соединения приложения с сервером телефонии. Установите параметр Keep alive timeout в значение Custom. К редактированию станет доступна опция Keep alive custom interval. Установите значение параметра Keep alive custom interval в рекомендованное, например, 10.
В левом верхнем углу приложения, над вертикальным списком учетных записей, нажмите на стрелку влево. Приложение отобразит всплывающее окно с запросом подтверждения действий и предложением сохранить ранее выполненные изменения настроек. Нажмите на кнопку Yes, чтобы сохранить изменения. Откроется окно настроек приложения.
Можно вернуться в основное окно приложения и продолжить работу. Изменение настроек Keep alive сразу вступают в силу.
Статусы абонента
В софтфоне можно выбирать различные статусы абонента.
В бесплатной версии софтфона сервер может получать только статусы online (зарегистрирован) и offline (софтфон разрегистрируется на сервере телефонии).
В версии PRO можно установить при каких статусах софтфон будет отбивать звонок.
Фактически в бесплатной версии софтфон игнорирует выбор статуса при получении запроса с сервера телефонии и никак не сообщает серверу о выбранном статусе, отличном от offline или online.
Включение отладки
Включение подробного журналирования событий в zoiper:
Нажать на значок шестеренки в верхнем правом углу, которое переведет нас в окно настроек.
Выбираем самый нижний пункт со знаком вопроса "Help/About"
Ставим галочку напротив "Enable debug log"
В проводнике Windows вводим путь %APPDATA%\Zoiper5
и попадаем в папку куда zoiper будет складывать логи журналирования. Их названия выглядит например так - logfile_2020-03-23_18-14-25
.