dfi-asterisk-ami-client
是一个基于 Node.js 的 npm 包,它提供了连接和操作 Asterisk Manager Interface (AMI) 的功能。如果您正在开发 Asterisk 系统的前端应用,或者想要与 Asterisk 交互,这个 npm 包将会非常有帮助。
安装
通过以下命令可以安装该 npm 包:
npm install dfi-asterisk-ami-client --save-dev
在您的项目中引入该包,您可以采用如下代码:
const AsteriskAmiClient = require('dfi-asterisk-ami-client'); const client = new AsteriskAmiClient();
连接
在连接 Asterisk 的 AMI 之前,您需要在 Asterisk 中设置 AMI 的用户名和密码。如果您还没有进行设置,请打开 Asterisk 的配置文件 manager.conf
,并添加以下内容:
[admin] secret = yourpassword read = all,system,call,log,verbose,command,agent,user write = all,system,call,log,verbose,command,agent,user
用户名可以自由定义,而密码 yourpassword
将会作为 API 连接时的身份认证信息。
接下来可以通过以下代码连接 AMI:
client.connect('127.0.0.1', 5038) .then(() => console.log('连接成功!')) .catch(() => console.log('连接失败!'));
操作
在连接成功后,您可以通过 AsteriskAmiClient
对象来执行 AMI 的操作。以下是一些示例代码:
1. 获取所有的通道信息
client.action({ Action: 'CoreShowChannels' }).then((response) => console.log(response));
2. 获取拨打电话的状态
-- -------------------- ---- ------- --------------- ------- ------------ -------- ---------- -------- ---------------- ------ ------- --------- ---- -------- -------- --------- ----------- --------- ---------- --------- ------------------ -- -----------------------
3. 监视通道状态
-- -------------------- ---- ------- ------------------ ------- -- - -- ------------ --- --------- - --------------- ---------------- ------ - --- --------------- ------- ---------- -------- ---------- ----- -------------------- ---
总结
通过使用 dfi-asterisk-ami-client
npm 包,您可以轻松地与 Asterisk 进行 AMI 的交互。通过正确设置 AMI 的用户名和密码,您可以使用 API 来进行更多的操作。希望这篇使用教程可以帮助到您,祝您使用愉快!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600571ce81e8991b448e83a5