加载中…
个人资料
东水
东水
  • 博客等级:
  • 博客积分:0
  • 博客访问:20,596
  • 关注人气:3
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

Asterisk manager API(AMI)文档(中文版)  2

(2012-10-15 16:22:27)
标签:

杂谈

分类: asterisk

http://blog.csdn.net/seven407/article/details/5292110


QueuePause 停止/开启队列中某个成员的使用。

参数:

Queue: 成员所在队列名.(可选,如无此项将在成员所在的所有队列停止成员的使用)

Interface: 队列成员名 (如sip/1000, zap/1-1, agent/1000)

Paused: 停止或开启 (true or false)

 

SIPshowPeer :显示指定 peer 信息

参数: peer:指定的peer。

 

Asterisk 1.4.0新增:

PlayDTMF 在指定通道上发送双音多频信号数字。

参数:

Channel:指定的通道

Digit:双音多频信号数字

 

发送:

Action: PlayDTMF 
Channel: SIP/123-e2b2 
Digit: 1 

成功返回:

Response: Success 
Message: DTMF successfully queued 

失败返回:

Response: Error 
Message: No such channel

 

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 事件( Event  

以下的事件都在asterisk源码中定义。

 

用户状态事件:

 

'Agentcallbacklogin' 事件 :

描述:

[来源于chan_agent.c]

 

示例:

Event: Agentcallbacklogin

Agent:

Loginchan:

Uniqueid:

 

'Agentcallbacklogoff'事件

描述:

[来源于chan_agent.c]

 

示例:

Event: Agentcallbacklogoff

Agent:

Loginchan:

Logintime:

Reason: Autologoff

Uniqueid:

 

Event: Agentcallbacklogoff

Agent:

Loginchan:

Logintime:

Uniqueid:

 

 

'AgentCalled'事件

描述:

[来源于 app_queue.c]

 

示例:

Event: AgentCalled

AgentCalled:

ChannelCalling:

CallerID:

Context:

Extension:

Priority:

 

 

'AgentComplete'事件

描述:

[来源于 app_queue.c]

 

示例:

Event: AgentComplete

Queue:

Uniqueid:

Channel:

Member:

MemberName:

HoldTime:

TalkTime:

Reason:

 

 

'AgentConnect'事件

描述:

[来源于 app_queue.c]

 

示例:

Event: AgentConnect

Queue:

Uniqueid:

Channel:

Member:

MemberName:

Holdtime:

BridgedChannel:

 

 

 

'AgentDump'事件

描述:

[来源于 app_queue.c]

 

示例:

Event: AgentDump

Queue:

Uniqueid:

Channel:

Member:

MemberName:

 

 

'Agentlogin'事件

描述:

[来源于 chan_agent.c]

 

示例:

Event: Agentlogin

Agent:

Channel:

Uniqueid:

 

 

'Agentlogoff'事件

描述:

[来源于 chan_agent.c]

 

示例:

Event: Agentlogoff

Agent:

Logintime:

Uniqueid:

 

 

'QueueMemberAdded'事件

描述:

 

队列增加成员动作

[来源于 app_queue.c]

 

示例:

Queue: testing

Location: Agent/AgentId

Membership: dynamic

Penalty: 0

CallsTaken: 0

LastCall: 0

Status: 4

Paused: 1

 

 

'QueueMemberPaused'事件

 

描述:

 

响应动作: QueuePause

[来源于 app_queue.c]

 

示例:

Event: QueueMemberPaused

Location:

MemberName:

Paused:

 

 

'QueueMemberStatus'事件

描述:

[来源于 app_queue.c]

 

 

Status的值可能为:

 

define AST_DEVICE_UNKNOWN 0

 

 

define AST_DEVICE_NOT_INUSE 1

 

 

define AST_DEVICE_INUSE 2

 

 

 

define AST_DEVICE_BUSY 3

 

 

define AST_DEVICE_INVALID 4

 

 

define AST_DEVICE_UNAVAILABLE 5

 

 

define AST_DEVICE_RINGING 6

 

 

define AST_DEVICE_RINGINUSE 7

 

 

define AST_DEVICE_ONHOLD 8

 

 

示例:

Event: QueueMemberStatus

Queue:

Location:

MemberName:

Membership:

Penalty:

CallsTaken:

LastCall:

Status:

Paused:

 

 

-

 

 

 

 

 

 

 

 

 

 

 

命令状态事件:

 

呼叫状态事件:

 

'CDR'事件

描述:

[来源于 cdr_manager.c]

 

必须在 cdr_manager.conf 配置文件中有:

 

general

enabled = yes

 

示例:

Event: Cdr

AccountCode:

Source:

Destination:

DestinationContext:

CallerID:

Channel:

DestinationChannel:

LastApplication:

LastData:

StartTime:

AnswerTime:

EndTime:

Duration:

BillableSeconds:

Disposition:

AMAFlags:

UniqueID:

UserField:

 

 

'Dial'事件

描述:

[来源于 app_dial.c]

 

示例:

Event: Dial

Privilege: call,all

Source: Local/900@default-2dbf,2

Destination: SIP/900-4c21

CallerID:

CallerIDName: default

SrcUniqueID: 1149161705.2

DestUniqueID: 1149161705.4

 

 

'ExtensionStatus'事件

描述:

[来源于 manager.c]

 

示例:

Event: ExtensionStatus

Exten:

Context:

Status:

 

 

'Hangup'事件

描述:

[来源于 channel.c]

 

示例:

Event: Hangup

Channel: SIP/101-3f3f

Uniqueid: 1094154427.10

Cause: 0

 

Cause 代码:

 

未分配 = 1

无到达路由 = 2

无路由目的地 = 3

无效通道 = 6

正在通话中 = 7

正常挂机 = 16

用户忙 = 17

无应答 = 18

无人接听 = 19

拒绝接听 = 21

号码已更改 = 22

目的次序不对 = 27

无效的数字格式 = 28

设备拒绝 = 29

查询响应 = 30

正常未指定 = 31

正常的呼叫拥塞 = 34

网络状态差 = 38

正常的临时故障 = 41

交换机拥塞 = 42

信息过时 = 43

请求通道无效 = 44

被抢占 = 45

无呼叫保持或呼叫等待 = 50

禁止呼出 = 52

禁止呼入 = 54

负载过重导致失效 = 57

负载过多导致不可达 = 58

负载过多导致为实现 = 65

通道未实现 = 66

设备未实现 = 69

无效的呼叫证明 = 81

不相容的目的地 = 88

无效的不明信息 = 95

IE浏览器关闭 = 96

不识别的信息类型 = 97

错误信息 = 98

无IE浏览器 = 99

无效的IE信息 = 100

呼叫状态错误 = 101

计时到达 = 102

强制性IE浏览器长度误差 = 103

协议错误 = 111

互通 = 127

未定义的 = 0

 

 

'MusicOnHold'事件

描述:

事件表示电话等待时,播放音乐

示例:

 

Event: MusicOnHold

Channel:

State:

Uniqueid:

 

 

'Join'事件

描述:

[来源于 app_queue.c]

 

示例:

Event: Join

Channel:

CallerID:

Queue:

Position:

Count:

 

 

'Leave'事件

描述:

[来源于 app_queue.c]

 

示例:

Event: Leave

Channel:

Queue:

Count:

 

 

'Link'事件

描述:

当两个通道已连接后开始交换声音数据时发生'link'事件

 

示例:

 

Event: Link

Channel1: SIP/101-3f3f

Channel2: Zap/2-1

Uniqueid1: 1094154427.10

Uniqueid2: 1094154427.11

 

 

'MeetmeJoin'事件

描述:

[来源于 app_meetme.c]

 

示例:

Event: MeetmeJoin

Channel:

Uniqueid:

Meetme:

Usernum:

 

 

'MeetmeLeave'事件

描述:

[来源于 app_meetme.c]

 

示例:

Event: MeetmeLeave

Channel:

Uniqueid:

Meetme:

Usernum:

 

 

'MeetmeStopTalking'事件

描述:

[来源于 app_meetme.c]

 

注意:

这要求在meetme应用中以选中T选

 

示例:

 

Event: MeetmeStopTalking

Privilege: call,all

Channel: SIP/200-ABC1

Uniqueid: 1234567890.1

Meetme: 400

Usernum: 2

 

 

 

'MeetmeTalking'事件

描述:

[来源于 app_meetme.c]

 

注意:

这要求在meetme应用中以选中T选项

 

示例:

 

Event: MeetmeTalking

Privilege: call,all

Channel: SIP/200-ABC1

Uniqueid: 1234567890.1

Meetme: 400

Usernum: 2

 

 

'MessageWaiting'事件

描述:

[来源于 app_voicemail.c]

 

示例:

Event: MessageWaiting

Mailbox: @

Waiting:

New:

Old:

 

Event: MessageWaiting

Mailbox:

Waiting:

 

 

'Newcallerid'事件

描述:

[来源于 channel.c]

 

示例:

Event: Newcallerid

Channel:

Callerid:

Uniqueid:

 

 

'Newchannel'事件

描述:

[来源于 channel.c]

 

示例:

Event: Newchannel

Channel: Zap/2-1

State: Rsrvd

Callerid:

Uniqueid: 1094154427.11

 

Event: Newchannel

Channel: SIP/101-3f3f

State: Ring

Callerid: 101

Uniqueid: 1094154427.10

 

 

'Newexten'事件

描述:

当一项PBX函数运行(例如执行拨号规则)时发生此事件。

 

示例:

Event: Newexten

Channel: SIP/101-00c7

Context: macro-ext

Extension: s

Priority: 3

Application: Goto

AppData: s-BUSY

Uniqueid: 1094154321.8

 

Event: Newexten

Channel: SIP/101-3f3f

Context: local_extensions

Extension: 917070

Priority: 1

Application: AGI

AppData: /etc/asterisk/agi/ks_doorman_pickup.py|channel_up

Uniqueid: 1094154427.10

 

Event: Newexten

Channel: SIP/101-3f3f

Context: local_extensions

Extension: 917070

Priority: 2

Application: Dial

AppData: Zap/G1/17070

Uniqueid: 1094154427.10

 

 

'ParkedCall'事件

描述:

[来源于 res_features.c]

 

示例:

Event: ParkedCall

Exten:

Channel:

From:

Timeout:

CallerID:

 

 

'Rename'事件

描述:

[来源于 channel.c: channel 'rename' event]

 

示例:

Event: Rename

Oldname:

Newname:

Uniqueid:

 

 

'SetCDRUserField'事件

描述:

[来源于 app_setcdruserfield.c]

 

示例:

 

 

'Unlink'事件

描述:

 

当两个连接的通道断开是发生此事件,通常为挂机时

 

示例:

 

Event: Unlink

Channel1: SIP/101-3f3f

Channel2: Zap/2-1

Uniqueid1: 1094154427.10

Uniqueid2: 1094154427.11

 

 

'UnParkedCall'事件

描述:

[来源于 res_features.c]

 

 

 

 

 

 

 

 

 

 

 

 

 

日志状态事件:

 

系统状态事件:

 

'Alarm'事件:

描述:

[来源于 chan_zap.c]

 

示例:

Event: Alarm

Alarm:<(Red|Yellow|Blue|No|Unknown)Alarm|Recovering|Loopback|Not Open|None>

Channel:

 

 

'AlarmClear'事件:

描述:

[来源于 chan_zap.c]

 

示例:

Event: AlarmClear

Channel:

 

 

'DNDState'事件:

描述:

[来源于 chan_dahdi.c]

 

示例:

Event: DNDState

Channel: Zap/1

Status:

 

 

'LogChannel'事件

描述:

[来源于 logger.c]

 

示例:

Event: LogChannel

Channel: /var/log/asterisk/messages

Enabled: Yes

 

Event: LogChannel

Channel: /var/log/asterisk/messages

Enabled: No

Reason: 13 - Permission denied

 

 

 

'PeerStatus'事件

描述:

当用户注册或注销时发生此事件

[来源于 chan_sip.c, chan_iax2.c]

 

示例:

Event: PeerStatus

Peer: SIP/2005

PeerStatus: Registered

 

Event: PeerStatus

Peer: SIP/2005

PeerStatus: Unregistered

Cause: Expired

 

Event: PeerStatus

Peer: IAX2/2007

PeerStatus:

Time: 1000

 

 

 

'Registry'事件

描述:

 

当应户注册时发生的事件

[来源于 chan_sip.c, chan_iax2.c]

 

示例:

Event: Registry

Channel: SIP

Domain: sip.domain

Status: Registered

 

 

'Reload'事件

描述:

当 "RELOAD" 命令执行时发生此事件

[来源于 manager.c]

 

示例:

Event: Reload

Message: Reload Requested

 

 

'Shutdown'事件

描述:

[来源于 asterisk.c]

 

示例:

Event: Shutdown

Shutdown:

Restart:

 

 

 

 

 

User Status 事件:

 

'UserEvent'事件

描述:

[来源于 app_userevent.c]

 

示例:

Event:

Channel:

Uniqueid:

 

Event:

Channel:

Uniqueid:

 

 

 

 

 

 

 

详细状态事件:


'Newstate'事件

示例:

Event: Newstate

Channel: Zap/2-1

State: Dialing

Callerid: 101

Uniqueid: 1094154427.11

 

Event: Newstate

Channel: Zap/2-1

State: Up

Callerid: 101

Uniqueid: 1094154427.11

 

 

'ParkedCallsComplete:'事件

描述:

发生在ParkedCalls事件之后

示例:

Event: ParkedCallsComplete

 

 

'QueueParams:'事件

描述:

响应Queues动作的事件

示例:

Event: QueueParams

Queue: sales

Max: 0

Calls: 0

Holdtime: 0

Completed: 0

Abandoned: 0

ServiceLevel: 0

ServicelevelPerf: 0.0


 

 

'QueueMember'事件

描述:

响应Queues动作并且队列中有成员是发生的事件。

示例:

Event: QueueMember

Queue: sales

Location: SIP/101

Membership: dynamic

Penalty: 0

CallsTaken: 0

LastCall: 0


 

 

'QueueStatusEnd'事件

描述:

响应Queues动作表示输出结束。

示例:

Event: QueueStatusEnd

 


 

'Status'事件

示例:

Event: Status

Channel: Zap/2-1

CallerID: 101

Account:

State: Up

Link: SIP/101-5cf0

Uniqueid: 1094166088.26

 

Event: Status

Channel: SIP/101-5cf0

 

CallerID: 101

Account:

State: Up

Context: local_extensions

Extension: 917070

Priority: 2

Seconds: 11

Link: Zap/2-1

Uniqueid: 1094166088.25

 

'StatusComplete'事件

描述:

响应Status动作的事件,表示状态输出结束。

示例:

Event: StatusComplete

 

 

'ZapShowChannels'事件

描述:

响应ZapShowChannels动作的事件。

示例:

Event: ZapShowChannels

Channel: 2

Signalling: FXS Kewlstart

Context: pstn_menu

Alarm: No Alarm

 

 

'ZapShowChannelsComplete事件

描述:

响应ZapShowChannels动作的事件,表示输出结束。

示例:

Event: ZapShowChannelsComplete

 

 

 

动作响应( Response 

格式:

Response: ( Success或Error)

Message: (显示信息)

 

示例:

无动作或输入有误:

Response: Error

Message: Missing action in request

 

未知命令:

Response: Error

Message: Invalid/unknown command

 

无权限:

Response: Error

Message: Permission denied

 

成功:

Response: Success

Message: Zap channel status will follow

 

 

 

 

 

 

seven407总结

2009.09.23



0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有