Назад | Перейти на главную страницу

Должен ли я использовать графический интерфейс Asterisk?

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

Стоит ли использовать графический интерфейс, например asterisk-gui или FreePBX? Кажется, что графический интерфейс хочет настраивать вещи «по-своему», и иногда они не дают того уровня детализации, который мне нужен, но они, безусловно, просты.

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

У кого-нибудь есть опыт с этим?

Предварительно: раньше я был основным разработчиком freepbx, но перешел в другую компанию, и, к сожалению, у меня больше нет на это времени.

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

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

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

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

Я изначально связался с Freepbx, потому что я настраивал офисную АТС, и я ленив - добавлять расширения вручную и не забывать добавлять соответствующие перехватчики для перехода к голосовой почте и включения других функций и т. Д., Это повторяющееся, скучное и ошибочное -prone (например, «упс, добавочный номер Боба переходит на голосовую почту Дэйва? извините, это была опечатка!»).

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

Конечно, ручное редактирование в конечном итоге приведет к более эффективному диалплану, так же как написание программ путем сборки более эффективно для ЦП, чем написание на C ++. Вы должны подумать, что более ценно - 100 долларов за более мощный процессор или много (потенциально сотни) часов вашего времени?


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

Ваши первые впечатления верны; GUI любят делать что-то по-своему, и попытки выйти за рамки этого окна иногда будут трудными. Подумайте о том, как Debian выполняет свою конфигурацию Apache по сравнению со стандартным исходным кодом - один файл конфигурации против десятков или даже сотен, загружаемых с помощью операторов include. Вы также будете иметь тенденцию находить несколько уровней макросов в дистрибутивах GUI, что может сделать использование файлов конфигурации, которые они создают, не оптимальным.

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

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

Если вам нужен полный уровень контроля (как это сделал я), я бы посоветовал:

  • напишите свои собственные файлы конфигурации
  • используйте AEL (язык расширений Asterisk) для диалплана вместо исходного стиля extension.conf. Он дает вам некоторое управление потоком и условные примитивы, которые можно эмулировать в extension.conf, но их гораздо проще планировать и визуализировать.
  • используйте хорошую утилиту для создания текстовых шаблонов, чтобы просто создать большие блоки диалплана. я использую Шаблон-инструментарий потому что я парень Perl, но есть много того, что можно встроить в другие языки или запустить автономно
  • установите один или несколько графических интерфейсов на сервере разработки (или даже запустите их как SIP / IAX только на виртуальной машине), чтобы, когда один из них предлагает интересную функцию, вы могли быстро поиграть с ней и посмотреть, как выглядят полученные конфигурации

Надеюсь, это будет вам полезно.

Практически все, что вы хотите сделать, можно сделать с помощью «системы» FreePBX (это больше, чем графический интерфейс). И FreePBX настраивает для вас очень многое прямо из коробки, что в противном случае было бы сложно для нового администратора Asterisk. .

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

Нет, графический интерфейс для Asterisk вводит в заблуждение. Все графические интерфейсы имеют тенденцию изменять файлы conf Asterisk и учат плохим (читай проприетарным) методам. Digium вносит изменения в синтаксис Asterisk с каждым основным выпуском, и вам нужно идти в ногу с этим. Добавление собственной логики конфигурации графического интерфейса пользователя к этому не требует дополнительных затрат. Мой идеальный графический интерфейс Asterisk был бы совершенно ненавязчивым. Он просто будет прослушивать порт 5038 на предмет событий Manager и сообщать о них. Также выдайте команды. Буту не понадобится внутренняя сантехника.