在不久的将来,我将要build立一个Asterisk盒子来处理我们办公室里所有的电话(一个linux软件开发者)。 我有一个戏剧,基本的设置似乎相当简单,复杂的东西可能。
我应该考虑使用诸如asterisk-gui或FreePBX的GUI吗? 一个GUI似乎想要configuration事情的“方式”,有时他们没有给我的细节水平,但他们确实很容易。
一个选项可能是基本上在GUI中设置系统,然后手动编辑configuration文件。
有人对这个有经验么?
你最初的印象是正确的。 graphics用户界面就像他们的做法一样,试图走出这个框,有时会很困难。 想想Debian的Apacheconfiguration与标准的源代码发布的方式 – 一个configuration文件vs几十甚至几百个通过include语句被引入。 您还会倾向于在GUI分发中find多个级别的macros,这可能会使用它们创build的configuration文件不够理想。
如果你去编辑他们创build的configuration文件,你必须非常小心地在你的configuration的相同部分进行修改,否则GUI可能无法识别你所做的事情,或者更糟糕的是,你将自己的模板做了什么,因为你把改变放在了错误的地方。
如果你只是想使用GUI来开始,那么接pipe完整的configuration将会起作用,但是你可能会被迫减lessgraphics用户界面所使用的图层。
如果你想要一个完整的控制水平(就像我一样),我会build议:
希望这对你有一些用处。
前期:我曾经是freepbx的核心开发人员,但转移到另一家公司,不幸的是没有时间了。
这真的取决于你的风格。 当然,你手上有很多控制权。 但是,你也必须考虑你正在努力完成什么。 最后,办公室PBX通常需要以某种方式工作,并且需要提供许多基本服务。 手写,最终你会重新发明轮子,写出所有这些servlets和每个PBX所需要的东西。
当你使用graphics用户界面的时候,你正在使用那些已经编写好的代码,而且社区已经知道了哪些是有用的,哪些是不可用的。 同样坦率地说,执行一些常见的任务要快得多,比如使用GUI设置一个新的扩展,而不是一堆configuration文件 – 尤其是如果几个月后你还没有完成的话 – 因为GUI很直观和简单捡起来。
就定制而言,手写无疑可以做任何你想做的事情。 但是,freepbx特别允许通过插件完成 – 插件可以或多或less地修改拨号scheme的任何部分。 纯星号拨号scheme代码有一层抽象,所以如果你已经知道星号,你将不得不重新学习一些,但这不是一个大的飞跃。
当你需要偏离股票PBXfunction时,也没有任何东西阻止你添加自己的定制应用程序(手写),而freepbx可以很容易地从GUI中引用这些应用程序,将它们无缝绑定到本地应用程序中插件,或只是自定义操作)。
我最初涉及到Freepbx,因为我正在build立一个办公室PBX,而且我懒惰 – 手工添加扩展,记住添加适当的挂钩去语音邮件,并启用其他function等是重复的,无聊的和错误的(例如“哎呀,鲍勃的扩展到戴夫的语音信箱?对不起,这是一个错字!”)。
我不能为每个GUI说话,但我不会build议使用freepbx来生成configuration文件,以便以后手动编辑它们:它被devise为对星号和插件代码有效,而不是人类可读的。 (例如,它有时重复代码块而不是使用macros)。 最重要的是,如果您再次通过freepbx生成configuration,您将失去对自动生成的文件所做的任何更改。
当然,手工编辑最终会产生更有效的拨号scheme,就像通过程序集编写程序比使用C ++编写程序更高效。 你必须考虑什么更有价值 – 一个更大的CPU为100美元,或许多(可能是几百个小时)的时间?
听到你的经验,现在是几个月后,这将是有趣的。
几乎所有你想要做的事情都可以通过FreePBX的“系统”来完成(这不仅仅是一个GUI),而FreePBX为你设置了一个非常棒的开箱即用,否则很难新的Asteriskpipe理员。
FreePBX也有设施,您可以覆盖它创build的configuration,如果它不能通过networking界面做你想做的事情。
不,用于Asterisk的GUI是误导性的。 所有的graphics用户界面都会改变Asterisk的conf文件,并且会导致不好的(读取专有的)操作。 Digium对每个主要版本都进行Asterisk语法更改,您需要跟上这一点。 添加GUI自己的configuration逻辑,是不必要的开销。 我完美的Asteriskgraphics用户界面将完全没有干扰。 它只会监听pipe理器事件的端口5038并报告它们。 发出命令。 布特不需要任何内部pipe道。