网站大量收购独家精品文档,联系QQ:2885784924

Asteriskmanager+API(中文文档).doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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发送动

文档评论(0)

ikangyme + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档