Freeswitch web interface windows

freeswitchforum.com

FreeSWITCH is a registered trademark of Anthony Minessale. Official FreeSWITCH site.

Текущее время: 19 апр 2021 05:00

Часовой пояс: UTC + 4 часа

Внешний и внутренний интерфейс

Страница 1 из 2 [ Сообщений: 11 ] На страницу 1 , 2 След.
Версия для печати Пред. тема | След. тема
Автор Сообщение
VladVons
Зарегистрирован: 16 ноя 2015 10:14
Сообщения: 64
Откуда: Украина, Тернополь

Перешарил интернет на предмет (multiple interfaces on freeswitch) и такое впечетление, что это мало кого волнует.
Если разберусь, то выложу статью по этому вопросу.

Есть сервер, на нем две сетевые карточки. Одна смотрит в мир на статическом IP, другая в локальную сеть на статическом IP. На сервере крутится Apache, Bind9
Нужно регистрировать пользователей на обоих интерфейсах по SIP.
5.58.6.ххх — внешняя
192.168.2.2 — внутренняя

С первым с чем столкнулся при переходе с Asterisk, это то что Freeswitch по умолчанию слушает порт 5060 только на одном интерфейсе, а Asterisk на всех.

Причем sip_profiles/internal.xml не соответствует своему названию, так как local_ip_v4, который в этом файле, указывает на внешний интерфейс.

На каком основании freeswitch присваивает $ внешнему интерфейсу.
Может ему в лоб прописать в vars.xml

Пока что стало понятно
sip_profiles/internal.xml — авторизирует пользователей
sip_profiles/external.xml — не авторизирует пользователей, а сама подключается к внешним провайдерам.

Скопировал internal.xml в wan.xml
изменил

Скопировал internal.xml в lan.xml
измнил «internal» на «lan»

измнил все local_ip_v4 на 192.168.2.2

перезапустил для надежности freeswitch

почему-то в приглашении далее internal: «freeswitch@internal>»

Ну да ладно.
Теперь два интерфейса слушают порт 5060

Теперь пользователи регистрируются со всех сторон, но не знаю правильно ли такой ход мысли.
Не знаю какие грабли полезут далее и что с вопросом безопасности на внешнем интерфейсе.
Может нудно что-то редактировать в wan.xml типа
log-auth-failures
accept-blind-reg
accept-blind-auth
apply-nat-acl
apply-inbound-acl
local-network-acl
итд

2010 — внешний пользователь
2003 — внутренний пользователь (шлюз)
2010 — внутренний пользователь
2021 — внутренний пользователь, но зарегистрировался через внешний интерфейс

Получаем информацию о внутреннем пользователе 2011 через sofia_contact

Получаем информацию о внешнем пользователе 2010 и получаем ошибку, хотя он удачно зарегистрирован.
Но если указать путь wan, то информацию все таки получим

Поправте пожалуйста , если сошел с пути истинного

FusionPBX — FreeSWITCH GUI

FusionPBX основанный на открытом коде (open source) FreeSWITCH GUI .
FusionPBX предоставляет возможность создания высокопроизводительных систем операторского класса. Операторский коммутатор, центр обработки вызовов (call center), Факс сервер, сервер голосовой почты, конференц-сервер, сервер голосовых приложений. Использование FusionPBX облегчит задачу по настройке FreeSWITCH, как начинающему, так и опытному пользователю. FreeSWITCH высокопроизводительная, многопоточная, телекоммуникационная платформа. Веб интерфейс FusionPBX распространяется по лицензии MPL 1.1.

Настройка FusionPBX

Рассмотрим настройки основных модулей. Создание extensions (внутренних номеров), gateways (транков), исходящей и входящей маршрутизации.

Добавление внутренних номеров — Extensions

Введите номер Extension и нажмите Save. Пароль будет сгенерирован автоматически.

Задайте Context. По умолчанию default.

Задайте политику записи разговоров: Все ( all ), только местные( local ), только входящие( inbound ), только исходящие ( outbound ).

Состояние ектеншена, по умолчанию — Enabled

FreeSwitch Like Windows Часть1 Установка

По поводу решения Asterisk с пробросами групп портов, оно ужасно. На 4к+ правил iptables начнет тормозить. В FreeSwitch такого нет.

Набросал PowerShell срипт загрузки актуальной версии в день программиста. dl-fs.ps1 смотри во вложении ниже.
Выполняем:

Данный скрипт не скачивает несколько модов:
mod_bcg729.dll для поддержки G.729A
mod_lua.dll для потдержки Lua
mod_radius.dll
и множество дополнительных решений, нет «web морды», всё с консоли.

После скачивания устанавливаем под вашу платформу. Устанавливает клиен для тестов. Разархивирует музыку и локализации голоса в папку sounds.

Основное что нужно знать когда поставили:

FreeSwitchConsole.exe Запуск консоли сервера. В дальнейшем будем запускать как службу.
fs_cli.exe запуск консоли управления.

После установки у нас появится служба FreeSwitch которая будет в состоянии остоновленна, с параметром запуска «Manual»/»Вручную».

Вложения

dl-fs.ps1.zip (1.2 Кб, 9 просмотров)

FreeSWITCH
Добрый день, как этот продукт в изучении? Сложнее чем asterisk? Какую базу нужно знать?

FreeSwitch
Доброго времени суток! Так эта IP телефония это ISO образ что ли или устанавливать нужно?

FreeSwitch vs Oktell
Добрый вечер! Подскажите, пожалуйста, почему в данной ситуации (скриншот из вайршарка прилагаю).

Тему придётся переделовать.
FusionPBX — «web морда», для FS.
Напрвляемся на git репозиторий FusionPBX Install и скачиваем его.
Там есть PowerShell скрипт, уже предностроенный, но не идельный. Я буду его совершенствовать и пулреквестить в основную ветку.

Добавлено через 21 час 40 минут

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Установка Windows 8 вместо Windows 7, которая установлена рядом с Windows xp
Есть windows 7. Она установлена рядом с windows xp ( раздел 1 (C:\) windows xp, раздел 2 (D:\) мои.

Установка — Установка Windows XP через DOS
Проблема не в установке. Буду краток я коверкою ОС ХР для универсальной установки .WIM файла есть.

Установка Windows XP SP3 после Windows Vista и Windows 7
Доброго времени суток! Вопрос такого плана: Уже довольно долго у меня стоят две оси, XP SP2 и.

Установка на один ПК Windows XP, Windows Vista и Windows 7
Всем привет у меня основная ос хр (c) на диске d стоит vista, ноя ей не пользуюсь и хочу поставить.

Установка windows на mac book: загрузочного диска windows 8 не видно
здраствуйте. у меня такая проблема.. есть mac book и на нем установлена windows 7. мне нужно.

Установка Windows XP как второй системы на компьютер с установленной Windows 7
Стоит Windwos 7 max. появилось нужна в установке Windows XP, но так что бы был выбор с какой ОС.

FusionPBX, или снова-здорово, FreeSWITCH

В ту же реку

Относительно недавно я написал себе шпаргалку по настройке FreeSWITCH. Описанный там процесс настройки привел к работоспособной в тестовых условиях конфигурации. Тест был необходим для составления предварительного представления о том, с чем придется иметь дело после переезда организации и запуске телефонии в продакшн. Однако, когда переезд состоялся и началось подключение в рабочем режиме, то первое же включение показало неработоспособность конфигурации: перестали ходить внутренние вызовы.

Это стало для меня полнейшим сюрпризом, поскольку с момента финальной настройки и проверки работоспособности, по мотивам которой была написана шпаргалка, по момент включения в рабочем режиме никаких изменений в конфиг не вносилось. Были лишь массово добавлены внутренние номера и маршруты для входящих и исходящих вызовов для тех сотрудников, за кем были закреплены прямые городские номера (порядка 60 с хвостиком номеров).

Был проведен дебаг, выявлен косяк, и все заработало. Однако, осталось ощущение костыля. Описывать его не стану, поскольку пребываю в уверенности, что примененное решение не верное, хоть и привело к искомому результату. Кроме того, выяснились нюансы: при исходящих вызовах изнутри наружу определялся только тот номер, что был указан в настройке SIP-транка в поле default_provider_username:

а не тот, что указан в конфигурации абонентского номера:

Техподдержка провайдера сообщила, что все вызовы, прилетающие к ним от нас, в поле From имеют именно номер 3435555555, то есть косяк на моей стороне. Плюс ко всему, я вдруг совершенно завис с задачей переадресации вызовов. А вишенкой на торте стал вынос мозга аппаратами Ericsson Dialog 4422, отказавшимися выполнять трансфер вызова, и аппаратами Cisco 7945g, решившими, что их предел длительности соединения составляет 90-100 секунд при отсутствии малейшего намека на подобную настройку в конфиге. В то же время аппараты Yealink T21 E2 работали полностью без нареканий.

На этом этапе я осознал, что достиг предела своей компетенции в области телефонии и взял тайм-аут на то, чтобы все в голове утряслось и уложилось. Этому решению так же очень могуче способствовало общее утомление после совершенно диких двух рабочих недель без выходных и с ненормированным рабочим графиком, которые последовали сразу после заезда на новое место размещения организации.

FusionPBX

Не смотря на отсутствие у меня симпатий к графическим интерфейсам там, где правит бал консоль и текстовые конфиги, я все же стал смотреть в сторону решения с веб-мордой, именуемого FusionPBX. Первой причиной такой измены собственным принципам стало желание видеть весь объем настроек по каждому функциональному элементу, собранных в одном месте в виде работоспособной «из коробки» конфигурации. Именно такую возможность дает графический интерфейс. Дополнительным бонусом продуманного графического интерфейса является наглядное представление взаимосвязей между модулями и функциями. Для новичка (лично для меня) меньший уровень абстракции с конкретным способом реализации способствует более быстрому обучению и приходу к понимаю того, как эта штука работает. Второй причиной стал www.pbxforums.com, на который я попадал по ссылке через одну при поиске информации по FreeSWITCH, и попадал по иронии судьбы именно на скриншоты страниц настроек FusionPBX.

FusionPBX это FreeSWITCH с веб-мордой и с настройками, хранящимися в базе данных. Скрипт автоматической установки выполняет установку и FreeSWITCH’а, и Nginx’а, и PostgreSQL, и, собственно, веб-интерфейса самого FusionPBX. Останавливаться на этом моменте не стану, все без запинок ставится по инструкции из документации. Ставил все на рекомендуемую разработчиками 64-битную Debian 8.

Импорт абонентских номеров

Здесь не будет рассматриваться процесс настройки абонентских номеров и входящих маршрутов. Этот процесс описан в официальной документации.

Вместо него будет описана процедура импорта всего скопом. Описаний, мануалов и советов по выполнению данной процедуры мною найдено не было.

По окончании установки включаем автоматический вход в Adminer (аналог phpMyAdmin):
Advanced→Default settings:

После изменения значений на текущей странице нажимаем Save, на странице настроек по умолчанию Reload.

Переходим в Adminer: Advanced→Adminer.

Интерес для нас представляют следующие таблицы:

v_extensions — абонентские номера.
v_destinations — маршруты для входящих вызовов на городские номера, закрепленные за внутренними абонентскими номерами.
v_dialplans — справочник диалпланов.
v_dialplan_details — настройки диалпланов входящих вызовов.
v_voicemails — настройки голосовой почты.

Формулировка задачи была следующей: выгрузить из AD ФИО сотрудников и их номера внутренних телефонов, сохранить выгрузку в CSV-файл и импортировать его в БД в таблицу абонентских номеров и настроек голосовой почты (голосовая почта должна быть отключена).
Используя справочник соответствия городских номеров внутренним, создать CSV-файлы для импорта в таблицы с маршрутами и диалпланами входящих вызовов.

Я не стану подробно рассматривать эту задачу, просто спрячу готовые скрипты под спойлер.

Предлагаемые скрипты вы используете на свой страх и риск, автор не несет ответственности за их неправильное использование или неожиданные побочные эффекты их правильного использования.

  • Присвойте переменной $nums значения, соответствующие вашим номерам.
  • Перед использованием скриптов необходимо везде заменить UUID домена на значение, присвоенное домену при установке (поле domain_uuid).
  • Так же необходимо заменить IP-адрес домена (172.18.253.1) на ваш.
  • Не забудьте откорректировать значение ключа -SearchBase, указав свою область выборки вместо «OU=Ekaterinburg,DC=dc,DC=domain,DC=local»
  • UUID приложения Voicemail (поле app_uuid) так же заменить на UUID, присвоенный при установке.
  • Значения UUID’ов можно посмотреть, например, в таблице v_dialplans.
  • Всем абонентским номерам будет присвоен пароль для регистрации «12345», пароль на голосовую почту и прочие сервисы — совпадающий с абонентским номером.
  • Скрипт дописывает файлы построчно! Поэтому не забывайте удалять файлы перед каждым запуском скрипта или очищать их содержимое!

.

Проверка связи на рандомно выбранные номера показала работоспособность импорта.

Gateway: 172.16.253.3
Username: 3435555555
Password: not-used
From User: 3435555555
From Domain: 172.16.253.3
Proxy: 172.16.253.3
Register: False
Caller ID In From: True

В документации по FusionPBX недвусмысленно указывается, что при выполнении настроек поля, выделенные жирным текстом, обязательны для заполнения.
Однако я, по непонятной мне причине, жирность поля Proxy не углядел и значение ему не выставил. В итоге получил работающие входящие внешние вызовы, но не работающие исходящие наружу. Команда sofia status gateway ffffffff-ffff-ffff-ffff-ffffffffffff не показывала аномалий настройки и даже показывала назначенное значение поля Proxy, соответствующее значению Gateway. Точно такой же вывод команды при точно таких же настройках демонстрировал «голый» FreeSWITCH в предыдущей инсталляции, и при этом совершенно беспроблемно позволял совершать исходящие вызовы наружу.
FusionPBX же заработал только после явного указания значения Proxy.
* ffffffff-ffff-ffff-ffff-ffffffffffff — UUID шлюза

Выполнил настройки в соответствии со шпаргалкой и тут же получил сломавшиеся внутренние вызовы. Логи показывали, что аппараты почему-то оказались в контексте external, соответственно, обрабатывались «не своим» диалпаном, от чего вызов завершался ошибкой ROUTE_NOT_FOUND.

ACL-списки только для сетей и доменов провайдеров.
Ваших собственных сетей и доменов в них быть не должно.
Список domains должен быть по умолчанию deny.
Сами правила должны быть разрешающими и в них должен быть прописан IP-адрес шлюза провайдера с маской /32, поле domain заполнять не нужно.

По окончании жмем Save, далее чтобы новые ACL вошли в силу: Status→Sip Status и жмем Reload ACL.

Advanced→Default Settings
Здесь мы укажем выданный нам провайдером внешний IP-адрес, который мы использовали при настройке 1:1 NAT в шпаргалке, укажем телефонный код региона, язык и голос для голосовых ответов, тип гудка.

default_areacode: 343
default_language: ru
default_dialect: RU
default_voice: elena
ringback: $$
transfer_ringback: $$

Чтобы корректно определялись прямые городские номера, присвоенные внутренним в настройках через поля Outbound Caller ID Name и Outbound Caller ID Number, необходимо выполнение трех условий:

  1. Отсутствие ACL-авторизации внутренних абонентов
  2. Включенная Digest-авторизация в настройках SIP-профиля:
    internal_auth_calls: true
  3. Наличие в настройках шлюза:
    Caller ID In From: True

Dialplan→Outbound Routes
Пожалуй, это единственный пункт настроек, не подвергшийся переосмыслению.
Подробно разбирать его не стану. Отмечу лишь, что были использованы следующие регулярные выражения для различных направлений:

  • Внутригород: ^(\d<7>)$ (набор прямого городского 7-значного номера без всяких префиксов в виде нулей, девяток и прочего).
  • Внутригород с кодом города: ^(8343\d<7>)$ (набор городского 7-значного номера с префиксом 8343).
  • Сотовые: ^(89\d<9>)$ (звонок на сотовый с префиксом 8, что является стандартом де-факто)
  • Межгород: ^(8\d<10>)$ (междугородний звонок, так же привычные: 8, код населенного пункта, номер абонента)
  • Международный: ^(810\d+)$ (стандартный же префикс 810, далее код страны, код территории, номер абонента).

Для всех маршрутов было отредактированы два тега action типа set: effective_caller_id_name=$ $ effective_caller_id_number=$ $ таким образом, чтобы передаваемый оператору номер вызывающего абонента включал в себя код города.

Лечим сброс вызова через 90-100 секунд на аппаратах Cisco

Как было отмечено выше, сюрпризом стал обрыв установленного соединения через 90-100 секунд на всех аппаратах Cisco 7945g. Подкручивание всех таймеров с более или менее релевантным названием переменной в конфиге аппаратов результата не дало. Курение логов в консоли FreeSWITCH выявило Session Expire.

Гуглинг, кроме матов в сторону нежелания аппаратов Cisco нормально работать хоть с кем-то, кроме Call Manager’а, выявил, что такое поведение вполне может быть вылечено отключением переменной aggressive-nat-detection .

Русификация голосового отклика

Нам потребуются файлы озвучки, созданные альтруистичными профессионалами.

Каждый из архивов содержит готовую структуру каталогов. Каждый из архивов распаковываем в /usr/share/freeswitch/sound/

Читайте также:  Системные требования для mac os lion
Оцените статью