asterbilling 0.15 in asterCC 0.21 beta 以上的版本支持对分机的 accoutcode 进行计费,下面以freepbx+asterilling 为例进行简要说明:
假设你在freepbx中已设置了中继和出局路由。现在我们在freepbx中添加一个sip分机
添加成功后,编辑这个分机为其设置accountcode
然后我们需要设置astercc对accoutcode进行计费:
首先编辑/opt/asterisk/scripts/astercc/astercc.conf,在[system]部分设置 billingfield= accountcode
然后我们要重启( /etc/init.d/asterccd resstart )
登录asterbilling 以accountcode模式添加分机
以组管理员或操作员身份登录asbilling进行测试
当我们在astercrm里为一个拨号计划指定一个callerid时,通过该拨计划发起预拨号,就遇到不只是客户方看到是主叫是这个指定的callerid,座席方看到的主叫也是这个callerid,现在我们通过下面的方法可以解决这个问题
首先,给asterisk设置一个新的dialplan,内容如下(asterCC0.2 beta以后的版本可以在extensions_astercc.conf找到这个context):
[from-internal-mask]
exten => _X.,1,NoOp(${CUSCID})
exten => _X.,n,GoToIf($["${CUSCID}" = "NONE"']?dial)
exten => _X.,n,Set(CALLERID(num)=${CUSCID})
exten => _X.,n(dial),GoTo(from-internal,${EXTEN},1)
在上面的设置中我们假设你使用的外呼dialplan是 from-internal ,如果不是,你就需要将最后一行的”from-internal” 改成你所使用的外呼dialplan。
然后,将拨号计划的 ‘拨入context’ 设置为 ‘from-internal-mask’
现在就可以试一下是否正常工作了,需要注意的是,如果拨号记划选中了”直接将呼叫转入此队列 “,则被叫是直接被送的队列的,不会执行到拨入context,所以上述方法是不起作用的。
在asterCC0.2 beta 以后的版本中,上面的context:from-internal-mask 同样可以用于座席页(portal.php)的点击拨号时的主叫号码问题,只需分组管理中将拨出context设置为from-internal-mask即可,如下图:

在astercrm 0.062中,增加了astercrm.agi,用于在预拨号过程中进行主动应答机检测(记录到dialedlist呼叫结果及拨号计划相关问卷备注中)及更新dialedlist 的呼叫结果,下面我们来看一下它的使用方法
a) 首先需要为asterisk增加两个dialplan,在astercc软件包中的scripts目录提供了一个extensions_astercc.conf文件,其中的两个context : [from-astercrm] 及 [from-astercrm-amd] 就是用于预拨号时调用astercrm.agi的,如果你是通过install.sh安装astercc的,该文件会被复制到你的asterisk etc目录下,并在extensions.conf 增加一行“#include extensions_astercc.conf”,此时你可以直接使用extensions_astercc.conf中的context,当然如果你使用的是asterCC-Box, 情况也是一样的。如果不是以上两种情况安装的astercc,你就需要手动复制extensions_astercc.conf 到你的asterisk etc目录(一般会是/etc/asterisk 你知道的),并在extensions.conf中包含它们(#include extensions_astercc.conf,如果是基于freepbx的系统请将这句加到extensions_custom.conf中)
asterbilling-0.12 使用reselleroutbound.agi 可以让不同的代理使用指定的中继进行外呼,并且新增支持为代理商指定一个备用中继
使用方法如下:
a) 添加一个dialplan来执行reselleroutbound.agi, 在astercc软件包中的scripts目录提供了一个extensions_astercc.conf文件,其中[asterbilling- outbound] 是用于执行reselleroutbound.agi的context,,如果你是通过install.sh安装astercc的,该文件会被复制到你的 asterisk etc目录下,并在extensions.conf 增加一行“#include extensions_astercc.conf”,此时你可以直接使用extensions_astercc.conf中的context,当然如果你 使用的是asterCC-Box, 情况也是一样的。如果不是以上两种情况安装的astercc,你就需要手动复制extensions_astercc.conf 到你的asterisk etc目录(一般会是/etc/asterisk 你知道的),并在extensions.conf中包含它们(#include extensions_astercc.conf,如果是基于freepbx的系统请将这句加到extensions_custom.conf中)
b)设置代理商中继
中继1为首先中继,中继2为备用中继,如果通过中继1拨号失败,则尝试使用中继2呼出
设置中继时有自动,默认,自定义 三种类型可选:
自动:reselleroutbound.agi 不做任何处理,直接进入context下面的流程
默认:是使用asterbilling.conf.php 中[resellertrunk] 部分设置的系统默认中继,此处可设置两个系统默认中继,如:
[resellertrunk] trunk1_type = siptrunk1= reselleroutbound1
trunk2_type = sip
trunk2= reselleroutbound2
自定义:手动添加中继,按实际中继情况添加中继信息,并指定该当为代理商使用,保存后需点击页面中的”重新载入”按钮来生成asterisk配置文件














