markgor
2023-05-11 14:43:29 +08:00
办理专线的话需要许可证。
只弄过 E1/T1/SIP Trunk/模拟线 这几种,不知道你问的是哪种。
>用电脑把电话拨出去
要通过介质传递。这问题就像用电脑如何连上广域网一样。可以是光纤也可以通过同轴也可以通过铜线.....
E1/T1 是线路,上面还要跑协议,具体什么协议要问运营商,不过好像现在都是跑 ss7 了
SIP 的话就类似网络电话,通过网络走,但要对端支持。
模拟线路就是普通的电话线,有 fsk 和 dtmf 制式区别。
太久没碰我也忘记的 7788 了,大概是 E1 先通道数比较多,T1 通道数比较少,两者都是一个 DChannel 做控制,其余 BChannel 做通话,好处是稳定,且支持通道相对多,如果电脑接的话需要购买板卡。
Sip 的话就简单很多,只要保证网络稳定即可,不需要额外购买设备,直接配置好去对方服务器认证成功就行了,现在电信的光猫就是带这个功能,走 SIP 去认证,再输出模拟线。
模拟线路,就平时普通的 2 芯电话线,如果电脑接入的话要购买板卡,坏处是线路状态靠声音检测而非数字传输,从而导致有时不准确,需要一直调整,另外一条线只支持一个通道。
之前我们用的哈里斯,然后改 asterisk ,但太久的事了,基本都忘记了。
asterisk 的话有提供 api 接口,可以理解为有 cli ,程序 telnet 过去然后丢命令即可。
里面会涉及到通道变量等的信息。
当时我们自己搞,实现 自动拨号,动态队列,动态 sip 账号,sip 分机状态,录音,监听,通道插入,和简单的知识库还有弹屏功能。
sip 分机状态:Out (离线)、Wrap (挂机)、Ready (空闲)、Busy(通话中)
外呼:上传一堆号码,配置同时拨号数量,asterisk 就会对这些号码进行拨号,拨通后就会丢到 queue 里面,播放着音乐,等待话务员 ready 接听。
当 sip 分机状态为 Ready 时,asterisk 会自动把 queue 里的等待线路转移到分机上,此时就能开始对话了。同时程序也能通过 sip 分机号查询到入线信息,从而进行弹屏。
这个是外呼功能,现在如果你接到推销的电话,接听后一会才有人说话的,基本就是走这个模式。
呼入:配置了队列,入线后会一层层往下掉,比如队列 1 等待 30 秒 会去队列 2 ,队列 2 等待 60 秒会去队列 9.
然后其实大致和外呼流程一样,业务 ready 就进线,至于为何一个个队列跳,是因为有些是专项项目,会配有专人接听,但人数不多,为了保证接听成功率,所以会一级级向下跳,对了前面忘记说了,话务员登入的时候是需要选择队列登入的。
录音:监听 asterisk 的 bridge 状态,接通( agent 和客户)的时候,传递录音命令给 asterisk 。
监听:通道插入:
其实就是丢个 asterisk 的命令过去,传递监听或插入的分机号,和目标通道。
IVR:
静态的,写死,每次变动都要 reload ;
动态的,丢去 api 网关,由 api 返回结果执行。
大致上就是这样了,上述都是应用上的功能,实际之前最头疼的是信令,asterisk 自带的 ss7 和中国 ss7 有出入,后来还是找了 openVox 的人帮忙重新修改编译 asterisk 才解决。
性能:
当时项目不大,agent 数量大概 100 个左右,3 条 T1 ,1 条 E1. asterisk 硬件配置是普通的双路 L5630/32G D3 ,语音信令主要走 G729->ulaw->alaw->gsm 。
echo cancel 是走软件算法,有时候会因此导致出现通话质量不佳的情况,但几率小。