asterisk 扩展应用(1)——AsteriskManager工程包介绍

工程包主要有有两在部分组成AGI服务器和API Manager。

APIManager用来监控Asterisk服务器的事件,包手话机状态,座席状态等。

AGI Server是一个Agi服务器。Asterisk除了调用asterisk本身的应用外,还可以调用第三方的服务器,如果第三方应用和asterisk是同一个进程,可以用AGI协议发送命令。如果第三方应用和asterisk不在同一个机器,可以通过FastAgi协议来进行远程调用。

AsteriskManager主要作用是用来提供asterisk扩展APP的解决方案。

1.1       配置和运行

1:配置APIManager。

要运行API Manager,必须打开manager.conf。配置如下

[admin]

secret = amp111

;deny=0.0.0.0/0.0.0.0

permit=0.0.0.0/0.0.0.0

read = system,call,log,verbose,command,agent,user

write = system,call,log,verbose,command,agent,user

read:APIManager可以读取的事件类型.write: APIManager可以发送的命令

2:配置agi

在配置计划里加上agi(agi://agiserveraddress/aginame.agi),

1.2       AGIServer

拨号方案中,通过AGI接口编写实施脚本。脚本和Asterisk之间通过标准的输入输出进行交互。

执行AGI脚本时,Application应用就是'agi',脚本会一直等待直至AGI返回结果,AGI也可以带参数,类似http URL.

启动AGIServer之后,配置AGIName=Agiclass

agiName是调用的Agi名称.agiClass为此agi实际的java类

例:orig.agi=qflag.asterisk.agi.OrigAgi

2        架构及接口定义

架构图如下:

(图090910-1115)

AsteriskManager为第三方管理包。如果需要实现asterisk的某些功能,可以扩展以下接口:

AsteriskEventHandle = qflag.asterisk.AsteriskEventHandle

#默认的事件处理,此第三方包可以接收到asterisk的事件,并且已经在AsteriskEventHandle实现了处理机器,如果需要额外处理电话事件。从AsteriskEventHandle派生,并且修改相应的ACDConfig.property

AsteriskServer = qflag.asterisk.QflagAsteriskServer

#默认的AsteriskManagerServer。里面提供了AGIServer,APIManager,JTAPI manager。如果需要实现额处的功能,请从QflagAsteriskServer派生

AsteriskAgentManager = qflag.asterisk.file.FileAgentManager

#ACD队列中通过Agent名字获得相应的号码,如果要实现自己的ACD从AsteriskAgentManager派生

AsteriskAgentStatusManager = qflag.acd.manager.AgentStatusManager

#状态接口,获得Agent的各种状态,包括是否可以打电话,是否在线等。

对状态进行补充可以从AgentStatusManager派生

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值