- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AsteriskmanagerAPI(中文文档)
Asterisk manager API(AMI)文档(中文版)
一种简单的key: value协议用于已连接的管理客户端和asteriskPBX之间的信息传递。每行都用回车换行(\r\n)来结束。
命令集功能介绍
概述
协议特点
在发送命令前,你必须建立一个连接。
下面是以php脚本语言所建立起来的连接
#!/usr/bin/php -q
?php
$timeout = 100;
$ipaddr = ;
$ipport = 5038;
$socket = fsockopen($ipaddr,$ipport,$errno,$errstr,$timeout);
if (!$socket)
{
echo $errstr ($errno) br\\n;
}
else
{
echo connect IP:($ipaddr) success;
echo socket ($socket);
fputs($socket,Action: login\r\n);
fputs($socket,UserName: admin\r\n);
fputs($socket,Secret: admin\r\n);
fputs($socket,Events: off\r\n\r\n);
while (!feof($socket))
{
echo fgets($socket,128);
}
}
fclose($socket);
?
程序运行后显示如下:
[root@uccp_2 test]# ./test.php
connect IP:() successsocket (Resource id #4)Asterisk Call Manager/1.1
Response: Success
Message: Authentication accepted
在认证后,数据包任何时间都可以在两个方向上互相传输。
数据包第一行为Action时表明是由管理客户端发送到asterisk,第一行为Event或Response表明有asterisk发送到管理客户端。数据包内各行顺序可以变化,对数据包没有影响。
回车换行由于区分每一行,空行(两个连续回车换行)用于表明命令结束,Asterisk开始处理命令。
数据包类型
数据包的类型通过一下几种关键字来划分
Action:一个由管理客户端发送到Asterisk的数据包,请求执行特定的动作。只有有限的几种动作供客户端使用,每个动作是由Asterisk服务器上的模块所决定的。一次只能执行一个动作,该动作数据包包含了动作名称以及执行所必需的参数。
Response:Asterisk对管理客户端动作的响应。
Event: 有关Asterisk核心或扩展模块发生事件的信息。
建立管理连接和用户身份验证
为了与Asterisk进行管理通话,管理客户端必须建立到Asterisk服务器侦听端口(一般是5038)的TCP/IP连接,并使用登陆动作进行身份验证。这就要求在Asterisk服务器上创建用户账户,用户账户在/etc/asterisk/manager.conf中配置。账户由允许登陆的主机,登录密码以及被授予的权限列表组成。
登录和身份验证的经理,你必须发送一个 登录 行动,用您的用户名和秘密(密码作为参数)。 Here is an example:下面是一个例子:(允许10.0.65.*主机进行连接)
Action: login
Username: admin
Secret: secret
cat manager.conf
[general]
displaysystemname = yes
enabled = yes
webenabled = no
port = 5038
;httptimeout = 60
bindaddr =
displayconnects = yes
timestampevents = yes
[freeiris]
secret = freeiris
deny=/
permit=/
writetimeout = 100
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user
你还可以通过Events: off阻止事件数据包发送到你的连接。例如:
Action: login
Username: admin
Secret: secret
Events: off
动作数据包:
向Asterisk发送动
您可能关注的文档
- Ansys桥梁应—桁架桥的受力仿真.doc
- ANSYS电磁场析指南 第十一章 磁宏.doc
- ANSYS结构分入门01.doc
- ANSYS课程设报告1-6.doc
- ANSYS课程设报告13-18.doc
- ANSYS课程设报告19-24.doc
- ANSYS非线性析命令解释.docx
- ANT_TR01_应付会计培训手册-PA.doc
- ANT_TR01_项目基础信息管理用户培训手册-PA.doc
- ANT_TR01_项目开票用户培训手册-PA.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)