关于asterisk做呼叫转接的一点经验记录

本文记录了使用Asterisk实现呼叫转接的需求与步骤,包括配置features.conf和extensions.conf,以及在转接过程中遇到的号码输入错误和通道问题。通过探索不同转接模式,如blindxfer和atxfer,解决了转接后电话无法进出的问题。最终解决方案是调整硬件连接,避免占用外线资源。
摘要由CSDN通过智能技术生成

第一天

上午接到一个需求,询问现在我们的电话系统是否能做个呼叫转接。然后在网上搜了一下,发现有路子可走,所以简单试了一下,还真是可以。


首先,需求是什么?

客户拨通了400电话到我们的asterisk电话系统,比如说接通了坐席A;然后A需要在不挂断的情况下转拨给另外一个电话或者手机B。

实现:

找到http://www.asterisk-help.com/read.php?tid-191-page-1.html这篇文章说明了,配置features.conf 

blindxfer=#    ;转接开始的前缀
transferdigittimeout => 30 
xfersound = beep            
xferfailsound = beeperr
featuredigittimeout = 1000
atxfernoanswertimeout = 15
atxferdropcall = no
atxferloopdelay = 10
txfercallbackretries = 2
其中blindxfer 参数,默认是#1 ,按注释意思是按了#后开始拨号码。但是我改成了#,因为我不知道那个1是什么意思;

transferdigittimeout 参数,默认是3秒,刚开始以为是拨号的时间(英文不好)测试后发现其实是你按#后,到你拨第一个号码按键的时间。所以,你要转接的话,你得先查下号码是多少,然后再按#,接着开始拨号;

其他的参数默认的,也没仔细看,目前;

配置完features.conf后,你还需在你的拨号语法文件extensions.conf中配置:

比如exten => _x.,1,Dial(DAHDI/G0/${EXTEN},30,t), 注意加了t参数,t的意思是允许被叫用户按前面设置的#转接;相应的T是允许主叫用户按#转接。


这样就可以呼叫转接了,但是接着还有个问题:

比如我在按#后,转接输入号码,假如号码输错了,这时候该怎么办呢,难道是挂断?这个我还没解决测试,或许能够再按一下#,来重新输入。

第二天

在看http://www.voip-info.org/wiki/index.php?page=Asterisk+config+features.conf文档中,发现了另外一种转接的方式atxfer  
   之前在features.conf使用的是blindxfer ,也就是无人管理的转接,而且配置文件说明的也不详细。 
 
现在的atxfer方式,据文档上的说明: 
      比如用户A打给坐席B,然后B需要转给分机C,B会先和C接通(blindxfer是接通后就自动断掉),然后B可以挂掉(挂掉后A与C将连通)或者按*(默认)返回到A与B的通话中。 
 
这个方式或许可以解决掉输错号码的问题,也就是输错号码后,按*回到A与B通话中,然后再来一遍转接。 
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值