`

Asterisk的AMI中常用的重要的AMI操作

阅读更多

1.  AbsoluteTimeout 

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: 20050103-140105_cc51

 

 

返回失败信息

 

Response: Error

 

Message: No such channel

 

 

返回成功信息

 

Response: Success

 

Message: Stopped monitoring channel

 

2. Command

 

Command :发送 Asterisk CLI 命令。

 

参数:

 

Command Asterisk CLI 命令。

 

 

例子:

 

发送请求

 

ACTION: COMMAND

 

command: Show Channels

 

 

返回信息

 

Response: Follows

 

Channel (Context Extension Pri ) State Appl. Data

 

0 active channel(s)

 

--END COMMAND-

 

 

 

3 Events

 

Events :事件控制流,用于启用 / 禁用发送给管理客户端的事件。

 

参数:

 

EventMask: 'on' 表示所有事件均会被发送到管理客户端。

 

'off' 表示所有时间都不会被发送。

 

'system,call,log' 用于选择被发送的事件。

 

提示:有些事件是启用或禁已经在 .conf 文件中配置了, They might be disabled by default. 他们可能是默认为禁用。

 

 

例子:

 

注意在此例子中 EventMask 事件没有立即返回的响应信息,只有在设备注销时才返回相关信息。

 

发送请求:

 

ACTION: EVENTS

EVENTMASK: ON

返回信息:

Event: PeerStatus

Peer: SIP/ChannelName

PeerStatus: Unregistered

Cause: Expired

 

 

EventMask 参数为 'off' 时会立即返回响应信息,如下:

 

发送:

 

ACTION: EVENTS

EVENTMASK: OFF

返回:

Response: Events Off

 

 

4. GetVar

 

 

GetVar :获取一个通道变量。

 

参数: Channel Variable actionID

 

ActionID 是一个可选的参数匹配信息。

 

 

例子:

 

发送:

 

ACTION: GetVar

 

Channel: SIP/5060-44d225d0

 

Variable: extension

 

成功返回:

 

Response: Success

 

Value: 17065551419

 

失败返回:

 

Response: Error

 

Message: No such channel

 

 

Response: Success

 

varname: (null)

 

 

5. Hangup

 

 

Hangup :挂断指定通道。

 

参数: Channel

 

 

例子:

 

 

发送:

 

ACTION: Hangup

 

Channel: SIP/x7065558529-99a0

 

 

接收:

 

Event: Unlink

 

Channel1: SIP/127.180.254.109-44df88e8

 

Channel2: SIP/x7065558529-99a0

 

Uniqueid1: 1124989110.20473

 

Uniqueid2: 1124989110.20474

 

 

Event: Hangup

 

Channel: SIP/x7065558529-99a0

 

Uniqueid: 1124989110.20474

 

Cause: 16

 

 

Event: Hangup

 

Channel: SIP/127.180.254.109-44df88e8

 

Uniqueid: 1124989110.20473

 

Cause: 16

 

 

Response: Success

 

Message: Channel Hungup

 

 

6 UpdateConfig

 

 

UpdateConfig :更新配置文件。

 

参数:

 

SrcFilename: 要读取的配置文件 (.conf)

 

DstFilename: 要更新的配置文件 (.conf)

 

Reload: 是否重新加载( asterisk 或者模块名称)

 

Action-XXXXXX: 采取的动作 NewCat RenameCat DelCat Update Delete Append

 

Cat-XXXXXX: 操作对象

 

Var-XXXXXX: 采用的变量

 

Value-XXXXXX: 变量的值

 

Match-XXXXXX: 其他匹配信息

 

 

1 :(更新 manager.conf

 

action: updateconfig

 

reload: yes

 

srcfilename: manager.conf

 

dstfilename: manager.conf

 

action-000000: append

 

cat-000000: newuser

 

var-000000: secret

 

value-000000: nottelling

 

2:( 更新 extension.conf ,通过 '>' 增加前缀 )

 

action:updateconfig

reload:yes

srcfilename: extensions.conf

dstfilename: extensions.conf

Action-000000:append

Cat-000000: ami-test

Var-000000: exten

Value-000000: >999,1,Dial(SIP/Bob)

 

 

3 :(删除 manager.conf 中的配置信息)

 

action: updateconfig

 

srcfilename: manager.conf

 

dstfilename: manager.conf

 

action-000000: delete

 

cat-000000: newuser

 

var-000000: secret

 

value-000000: nottelling

 

match-000000: nottelling

 

 

删除时必须设置 'value' 'match' ,不设置 'match' 将会删除变量为 'var' 所有条目

 

 

GetConfig :显示配置文件内容,主要给 AJAM asterisk 图形界面使用。

 

变量: FileName :显示的文件名( .conf )。

 

 

 

 

 

 

分享到:
评论

相关推荐

    Asterisk Manager API(AMI) 中文文档

    ### Asterisk Manager Interface (AMI) 中文文档概览 #### 一、引言 Asterisk Manager Interface (AMI) 是一款强大...了解并掌握AMI的工作原理和使用方法对于任何从事Asterisk开发和管理工作的人来说都是非常重要的。

    asterisk AMI programs

    在Asterisk AMI中,开发者通常会使用Python、Perl或C等语言通过socket连接到Asterisk服务器,实现对Asterisk的远程控制。 3. **Event处理**:Asterisk的Event机制允许系统广播其状态变化。例如,当有新呼叫到来时,...

    20120329_asterisk自动录音(AMI接口实现)1

    登录部分是使用AMI接口登录Asterisk系统,登录成功后可以获得一个会话ID,用于后续的操作。监控事件部分是使用AMI接口监控Asterisk的事件,检测Dial事件,并获取呼叫的channel信息。启动录音部分是使用AMI接口发送...

    Asterisk 客户端.rar

    在这个"Asterisk客户端.rar"压缩包中,我们主要关注的是Asterisk的客户端组件以及Asterisk Manager API(AMI)的相关文档。 1. **Asterisk客户端**:Asterisk客户端是指与Asterisk服务器交互的各种应用程序,包括软...

    Asterisk CLI 命令列表

    在Asterisk的管理中,CLI(Command Line Interface)是一个非常重要的工具,它允许管理员直接与Asterisk服务器交互,执行各种管理和配置任务。本篇文章将详细探讨"Asterisk CLI命令列表"中的关键命令及其用途。 1. ...

    Asterisk权威指南(第3版)中文

    2. **信令协议**:SIP(Session Initiation Protocol)是Asterisk中最常用的信令协议,用于控制通信会话的建立和终止。IAX2(Inter-Asterisk eXchange 2)则是专为Asterisk设计的高效协议,它支持多通道和传输层的...

    Asterisk+manager+Interface(CN).doc

    AMI中的数据包主要分为三种类型: 1. **Action**:由管理客户端发送给Asterisk的命令。命令名称位于数据包的第一行,后面跟随一系列参数。 2. **Response**:Asterisk对客户端命令的响应。响应通常包含状态信息,如...

    Asterisk 1.4 配置手册

    书中包含了大量的示例代码、实用技巧以及常见问题解答,帮助读者快速上手并解决实际工作中遇到的问题。 总之,《Asterisk 1.4 配置手册》是一部全面而深入的指南,无论是对于 Asterisk 的初学者还是有一定经验的...

    asterisk原版

    5. 开发自定义功能:利用Asterisk提供的API进行编程,例如使用AMI(Asterisk Manager Interface)进行远程管理,或者通过AGI(Asterisk Gateway Interface)实现与外部脚本的交互。 6. 实时监控与管理:了解如何...

    asterisk-11.0.1.tar.gz

    这个"asterisk-11.0.1.tar.gz"文件是Asterisk的一个特定版本,11.0.1,它以tar.gz格式打包,这是一种在Linux和类Unix系统中常见的归档和压缩方法。tar命令用于将多个文件或目录打包成一个单一的归档文件,而gzip则...

    AsterNET-master.zip

    这些实例涵盖了各种常见的Asterisk操作,例如创建新呼叫、监听通话状态、处理挂断事件等。对于初学者来说,这是一个很好的学习资源,可以让他们快速理解如何在实践中应用AsterNet。 5. **文件结构**: "AsterNET-...

    AsteriskTools

    7. **API集成**:可能提供了与Asterisk的AMI或AGI接口交互的简单接口,方便开发者集成到自己的应用程序中。 在实际使用AsteriskTools之前,你需要安装必要的依赖,编译源代码,并按照文档中的指示进行配置。通过...

    电话录音反编译代码及资源

    在实际开发中,开发者可能会使用特定的API(应用程序接口)来实现电话录音,比如 Asterisk PBX 提供的AMI(Asterisk Manager Interface)或 SIP(会话初始化协议)相关的库。这些工具和接口可以方便地控制录音开始...

Global site tag (gtag.js) - Google Analytics