V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Dingo
V2EX  ›  程序员

如何搭建一个外呼系统,不使用网易七鱼这样的第三方。主要是不了解如何用电脑把电话拨出去

  •  
  •   Dingo · 350 天前 · 3262 次点击
    这是一个创建于 350 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主要是不了解如何用电脑把电话拨出去

    29 条回复    2023-05-12 13:49:16 +08:00
    ilovey482i
        1
    ilovey482i  
       350 天前
    你要有相应的硬件,然后用 SDK 控制硬件拨号
    totoro52
        2
    totoro52  
       350 天前
    你这种只能跟运营商买设备和端口,自己搭建的都是套运营商的 API ,全部都要跟运营商申请的,而且不是想申请就申请得到的。
    westoy
        3
    westoy  
       350 天前   ❤️ 1
    你这个想法有点刑啊。 做外呼业务要电信增值业务方面的证, 而且分区域性和全网的。
    totoro52
        4
    totoro52  
       350 天前
    @westoy 是的,而且特别麻烦特别难申请,动不动就封端口封线路
    Soo0
        5
    Soo0  
       350 天前 via iPhone
    电信线路 问他信令方式 等参数,搞个中继网关和你的软件配合就可以了。别说呼出 直接呼出 Ai ,有人回答或者说话了你在人工介入都可以。就是非正规会被局停 拔线 让你去喝茶。
    Bantes
        6
    Bantes  
       350 天前
    搭建 FreeSwitch 服务器做呼叫中心系统,线路服务商线路拉进来接语音网关设备,网关设备后台设置 SIP 服务器连接到呼叫中心系统。后面还有好多,配置网关、桥接、协议、设备在内网服务器在外网还要配穿透、内网话机、拨号路由等,现在基本上都是用第三方提供的服务了,自己搭建高频外呼的话线路还容易被封
    acbot
        7
    acbot  
       350 天前
    要看外线的接入方式
    1. 如果外线是电话线,古老的方式就是在电脑上安装一个板卡(差不多就是以前电话线拨号上网的那个网卡)然后配合拨号软件就可以了,但是现在很少在新建方案中使用了;现在的方式就是将电话线接到语音网关上转换成 SIP 电话,电脑上安装一个通用 SIP 电话就可以了。
    2. 如果外线本身就是 IP 化的了(光改之后基本都是这种了只是运营商在用户侧的设备上又将 SIP 转换成了电话线),直接电脑上安装 SIP 电话软件就可以了

    具体你可以搜索一下 sip ims voip FXO/FXS 网关
    Dingo
        8
    Dingo  
    OP
       350 天前
    @acbot 我看上面的评论说要相关的证,是需要的么?
    Dingo
        9
    Dingo  
    OP
       350 天前
    @acbot 你说的第二种方式,我可以理解为 IP 电话么?
    lshero
        10
    lshero  
       350 天前
    找一个复古的调制解调器就可以用电脑把电话打出去,如果想搞一个演示的话找远古时期的带语音功能的 3G 上网卡也可以搞外呼
    acbot
        11
    acbot  
       350 天前
    @Dingo 对,实质就是语音 IP 化;要不要证主要是看你用来做什么和规模有多大等因素
    SelectLanguages
        12
    SelectLanguages  
       350 天前
    今天做,明天测,后天用,大后天喝茶。
    hdp5252
        13
    hdp5252  
       350 天前
    你还可以买个 SIP 协议的电话呼叫账号,配合 asterisk 就可以呼叫了
    evefree2
        14
    evefree2  
       350 天前
    买落地,接 freeswitch/asterisk 就行
    YonyBlackie
        15
    YonyBlackie  
       350 天前
    如果自己有外线,在公司内部需要有一套 PBX ,自己的电脑可以装软电话,在电脑上操作,从 PBX 出局,如果有居家办公的需求,可以在公司搭载一套 SBC ,员工居家也能使用公司外线让电话出局。
    opengps
        16
    opengps  
       350 天前
    配合电话交换机,专门对接呼叫中心用的
    nuk
        17
    nuk  
       350 天前
    如果申请一批号码段的 sip trunk 比较麻烦,但是申请一批号码,然后自己注册,或者做 fxo 来呼出就很简单,不要被投诉基本上没啥风险。
    512357301
        18
    512357301  
       350 天前 via Android
    花钱对接第三方反倒是最简单的,他们有公有云,可以直接登录
    icegaze
        19
    icegaze  
       350 天前 via Android
    我做过三年外呼中心,
    建议直接交给有资质的外呼中心最好…

    国家要求是有呼叫中心类的 SP 证书,
    这个要求你在通管局查一下,
    注册资本都要 1000 万以上的。
    然后,
    自己建一个 100-300 人的中心,
    设备成本 10 万,
    人员成本每月 3000xN ,
    房租每月 2-10 万,
    ……………

    不划算的。
    ccc825
        20
    ccc825  
       350 天前
    VOIP ,国外的 skype 或者 google voice 。

    国内不太了解,不过之前任职的公司有这种需求,方案是买手机办卡,然后写了个简易的安卓 app + web 后台实现。
    icegaze
        21
    icegaze  
       350 天前 via Android
    系统软件硬件反而是最简单的:

    普通电话线,或者 ISDN ,或者 E1 线路,或者 IMS 专线,,,根据你的呼叫设备而定,越后面的越贵。系统到座席一般都是 tcp 的 SIP 电话,用电脑当作电话也可以,反正座席也要用电脑工作。

    然后软件,中间件,主要是管理话务流程,加载 CRM 系统,甚至知识库系统等等

    然后后台要有录音,可按号码以及时间以及座席工号进行检索,,,要能保存 180 天以上。
    DonaldY
        22
    DonaldY  
       350 天前
    @Bantes 想问下,webrtc 方式呢?如何交互呢?线路商如何接入?
    ccadb
        23
    ccadb  
       349 天前
    公司内部使用,没有任何问题。我们单位是我实施的,买了套星纵科技(就是原来的朗视)的 IPPBX ,把电信放到我们单位的 ONU 破解了,把里面的固化账号导出来,然后把 ONU 注册固化取消,接入 IPPBX 注册,然后将号码分配给下面的分机。我们是 30 个固化号码,内部使用快半年了,毫无问题。
    ccadb
        24
    ccadb  
       349 天前
    @ccadb 固话
    doveyoung
        25
    doveyoung  
       349 天前
    服务端硬件:语音网关和运营商的线路和软件的服务器
    服务端软件:freeswitch
    客户端硬件:电脑或 IP 话机或手机
    客户端软件:关键词 SIP

    服务端方面,服务器和软件可以替换掉,好像华为的交换机有这个功能,我看相关的文档有点难啃,现在用的系统是找服务商做的。等有兴趣的时候再研究
    Bantes
        26
    Bantes  
       349 天前
    @DonaldY 接入模式还是一样,freeswitch 服务端安装 webrtc 相关模块和配置好 stun/turn 服务器,webrtc 客户端连接到 freeswitch 服务器就好了,记得 fs 官方有 webrtc 的案例
    markgor
        27
    markgor  
       349 天前
    办理专线的话需要许可证。
    只弄过 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 是走软件算法,有时候会因此导致出现通话质量不佳的情况,但几率小。
    DonaldY
        28
    DonaldY  
       349 天前
    @Bantes 感谢回复。
    想问下,如果要录音等功能,是不是要有中间件( webrtc 服务器)。流程是这样:客户端( webrtc ) -> webrtc 服务器 -> fs ?
    Bantes
        29
    Bantes  
       348 天前
    @DonaldY fs 自带录音功能的,默认关闭的,配置里打开就可以了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1143 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:00 · PVG 07:00 · LAX 16:00 · JFK 19:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.