第 17 章 Asterisk 管理器界面和调用文件
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
约翰-麦克维奇:我看到了一个任何人都不该看到的世界!
克雷格-施瓦茨真的吗?因为对大多数人来说,这是一次相当愉快的经历。
成为约翰-马尔科维奇
Asterisk 管理器界面(AMI )是 Asterisk 提供的系统监控和管理界面。它可以实时监控系统中发生的事件,并请求 Asterisk 执行某些操作。可用的操作范围很广,包括返回状态信息或发起新呼叫等。在 Asterisk 基础上开发的许多有趣的应用程序都将 AMI 作为与 Asterisk 的主要接口。
本章还包括有关呼叫文件使用的文档。 Asterisk 的呼叫文件是发起少量呼叫的简便方法。一旦呼叫发端量增加或需求变得复杂,就可以转而使用 AMI。事实上,我们发现呼叫文件非常有用,所以我们将首先讨论它们。
调用文件
通常使用 AMI 发起 呼叫,但在许多情况下,使用呼叫文件会更方便。呼叫文件是一个简单的文本文件,用来描述希望 Asterisk 发起的呼叫。当呼叫文件被放入/var/spool/asterisk/outgoing目录时,Asterisk会立即检测到有文件被放入该目录并处理呼叫。
Asterisk 自带一个示例调用文件,您可以在~/src/asterisk-15.<TAB>/sample.call中找到(或 Asterisk源代码根目录中的任意位置)。
您的首次呼叫文件
对于第一个呼叫文件,让我们在两部电话之间创建一个呼叫。请确保至少有两部电话已注册并正常使用。在本例中,我们将使用SOFTPHONE_A 和SOFTPHONE_B.
在主目录下创建以下文件
$ vim ~/call-file Channel: PJSIP/SOFTPHONE_A Extension: 103 Context: sets
复制该文件(这样就不必每次运行时都重新创建):
$ cp ~/call-file docall
将docall文件的所有权更改为asterisk :
$ chown asterisk:asterisk docall
将docall文件移入 Asterisk 的发送文件夹。
$ sudo mv docall /var/spool/asterisk/outgoing
有时,最简单的方法就是最好的方法。
警告
这里使用mv 而不是cp 非常重要。Asterisk 正在关注spool目录中显示的内容。如果使用复制,Asterisk 可能会在内容复制到新文件之前尝试读取新文件。创建一个文件然后移动它可以避免这个问题。
熟练使用调用文件后,你可能会发现它们能解决一些问题,否则你就需要做更多的工作才能实现。
关于调用文件的说明
呼叫文件的Channel 组件是必需的。通常情况下,进入 Asterisk 的呼叫由终端发起(例如,你用手机拨打电话)。在呼叫文件中,这种连接必须反过来进行--Asterisk 向终端发出呼叫,只有当终端应答时,呼叫才能开始。请做好相应的计划。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access