目前业务流程使用的电话呼叫系统的业务架构梳理
我们先梳理下语音网关对接的逻辑
A 为线路运营商的VOS3000 平台
B为 我使用Asterisk FreePBX搭建的免费的语音网关。(相应的编码通过手工安装齐全)
C为 AsterCC 建立的可以自动呼叫的群呼后台。
目前的业务架构是一个小型免费的呼叫中心的架构。 三者之间对接 逻辑如下。
A(1.1.1.1)----》B(2.2.2.2)---》C(3.3.3.3)
1、对接遇到的bug:
在B对接到A的过程中,遇到的比较奇葩的现象是,对接通了,话单也能正常传递到供应商,但是出现一方没有声音传递过来,或者双方能够呼叫通,但是双方互相听不到对方的声音;
经过比较有经验的老司机点拨,最终得以解决。
问题点大致有两点:
@1.其一在B PBX对接A PBX 使用的 方式是SIP话机注册的方式。
B对接A的 方案有点儿区别。
具体区别如下图。
有问题的对接方式是这样的:
在这条中继线的出局线路配置的转码格式是0086. 进行匹配(这也是对方提供的送码格式) 在中继并未配置。 直接就是0086+手机号即可成功送出去。
IPGO IP : 1.1.1.1
SIP ID : 66888
Password : 000000
Country : China (86)
Channel : 1
Prefix : 00 + Country + Phone number (e.g. 008612342234323) 就是0086 进行送码
对接的中继 配置如下图:SIp outgoing 一端配置 type=peer
编码用的是 allow=g729&ulaw&alaw 这些
对接中继registry 即对方传过来通话一端,就是 Sip incoming一侧的配置如下所示:
以上这种配置是可以进行送话单的,无论是使用单拨进行呼叫还是群呼进行呼叫,都能够进行呼叫到对方。并且成功送话单。但是没有声音,
具体调整后的截图为:
最后备注下SIP话机模式对接的配置文件:
在out方向的配置为:
username=XXXXXX
secret=XXXX
qualify=yes
port=5060
nat=yes
insecure=invite,port
host=X.X.X.X
dtmfmode=rfc2833
disallow=all
context=from-trunk
allow=ulaw&alaw&g729
Incoming 方向的配置为:
type=friend
secret=xxxxx
port=5060
host=X.X.X.X
context=from-trunk
注册字符串:sip account:sip password@供应商IP:5060
如果使用FreePBX 使用网关模式对接供应商,
OutGoing方向配置为:
type=peer
trunk=yes
qualify=yes
port=5060
nat=yes
host=1.1.1.1
disallow=all
context=from-internal
canreinvite=no
allow=g729&ulaw&alaw
Incoming方向对接配置如下:type=friend
qualify=yes
port=3070
host=1.1.1.1
context=from-trunk
注册字符串 这一列可以不填写即可。 因为是使用网关模式对接的。
出于第一种不正确的对接方式,虽然通话能够传到供应商,但是没有声音,最终因为这个问题还被老大叼了一顿,真的是伤心,所以分享出来给大家,千万别犯和我一样的错误。
以上是这几天遇到的一些问题积累。