AsteriskmanagerAPIAMI文档Asterisk控制接口AMI允许管理.DOCVIP

  • 93
  • 0
  • 约2.42万字
  • 约 66页
  • 2018-12-22 发布于天津
  • 举报

AsteriskmanagerAPIAMI文档Asterisk控制接口AMI允许管理.DOC

AsteriskmanagerAPIAMI文档Asterisk控制接口AMI允许管理

Asterisk manager API(AMI)文档 Asterisk控制接口(AMI)允许管理客户端程序连接到一个asterisk实例并且可以通过TCP/IP流发送命令或读取事件。这在试图跟踪asterisk的状态或其中的电话客户端状态时很有用,AMI说明了客户端基于的一般(可能是动态的)规则。 一种简单的key: value协议用于已连接的管理客户端和asteriskPBX之间的信息传递。每行都用回车换行(\r\n)来结束。 协议特点: 在发送命令前,你必须建立一个连接。 在认证后,数据包任何时间都可以在两个方向上互相传输。 数据包第一行为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:下面是一个例子: Action: login Username: admin Secret: secret 你还可以通过Events: off阻止事件数据包发送到你的连接。例如: Action: login Username: admin Secret: secret Events: off 动作数据包: 向Asterisk发送动作时,额外的关键字可以提供进一步的动作信息。例如,你可能希望指定号码或通道的断开。此外,如果您的操作会导致Asterisk来执行拨号规则中的条目,你可以传递变量给拨号规则。这与你传递关键字的方式是一样的。 向Asterisk发送动作数据包时,按照以下格式: Action: action typeCRLF Key 1: Value 1CRLF Key 2: Value 2CRLF ... Variable: Variable 1=Value 1CRLF Variable: Variable 2=Value 2CRLF ... CRLF 管理动作( Action ): 通过CLI命令show manager commands的输出结果就是管理动作列表。 具体如下: AbsoluteTimeout :这个命令将要求Asterisk在指定秒数后挂断特定的通道,从而有效地结束通话。 参数: Channel :哪些渠道挂断,如SIP/123-1c20 Timeout :到通道应挂断的秒数 例子: 请求信息 Action: AbsoluteTimeout Channel: SIP/123-1c20 Timeout: 20 返回成功信息 Response: Success Message: Timeout Set 返回失败信息 Response: Error Message: No such channel ChangeMonitor :更改记录某通道信息文件名。 参数: Channel:通道名称 File:文件名 例子: 发送请求 ACTION: ChangeMonitor Channel: SIP/x7065558529-1c20 File:140105_cc51 返回失败信息 Response: Error Message: No such channel 返回成功信息 Response: Success Message: Stopped monitoring channel Command :发送Asterisk CLI命令。 参数: Command:Asterisk CLI 命令。 例子: 发送请求 ACTION: COMMAND command: Show

文档评论(0)

1亿VIP精品文档

相关文档