Android应用app实现AI电话机器人接打电话
--安卓AI电话机器人
- 一、前言
【Dialer3.0智能拨号器】Android版手机app,由于采用蓝牙电话的方式来调用手机SIM卡发起呼叫、接听来电,并接收和处理通话的声音,通常我们以“蓝牙电话方案”来称呼它。
蓝牙电话使用的链路呼叫方式类似于“蓝牙耳机、汽车车机”通过手机拨打电话的方式,并在此基础之上扩充了“双卡同时在线,自由选择任意SIM卡呼出”、“手机app识别对方按下的DTMF按键”等辅助功能。
原有规划和产品演进中,蓝牙电话方案主要有两个演进方向:
- 手机app中操控通话行为并提取电话通话的语音,进行扩展功能和处理。常见的应用如来电IVR语音引导、来电AI接听并按业务常见应答,以及电话外呼时插入一段语音开场白+人工接听、AI外呼进行无效号码过滤等。此部分手机业务通常不涉及坐席的强插/强拆/监听等多用户协同操作方式。【AI电话机器人】就是此演进方向的一种具体应用。
- 对接呼叫中心或CRM,将SIM卡电话转换为中继线路或落地线路,接入局域网的SIP平台,电话呼叫操作不再通过实体手机的方式做外呼,而是利用呼叫中心原有的功能做多用户协同的对外呼叫。此部分操作通常采用SIP协议来进行线路的对接和融合。
功能拓扑图上,大致为下述图示的结构:
前期中,由于具体付费用户的需求,蓝牙电话方案投入了大量的精力和维护工作量在SIP中继和坐席的方向,即前述的第二类演进方向。对呼叫的稳定性、呼叫中心/CRM等SIP平台的适配等功能扩展提供了很大力度的支持,也取得了不错的商用成果(主要是并发量大,容易上量^V^)。
从这篇文章内容开始,本篇以及后续的功能开拓,将从已成熟稳定的SIP对接中脱身,专注于手机IVR语音引导和AI电话机器人领域的演进。通过提供通话底层SDK的方式,把针对手机本身的“号码清洗”“AI外呼”等功能给细化和完善起来。
本篇章主要从【智能拨号器SDK】的角度,梳理一下手机app的架构,看看如何赋能更多的个性化服务的用户app,使其不用局限于某一个品牌甚至型号的手机,就能实现比“小爱通话”等AI电话专有的应用更灵活更强大的实现基础。
- 二、手机AI电话机器人通常有哪些需求
AI接电话、语音留言等功能基本算是伪需求,NND,钱在哪里?应用做得再好,会有人愿意为你这个功能付费?
从正常使用的角度,AI电话机器人想要获取足够的收益,就应该一开始就寻找到足够刚需的场景,而且是商用场景,才能有足够多的样例数据对后续的发展提供正向反馈。
由于SIM卡通话的费用相较于小号、固话等线路要贵。目前在语音通信领域,手机中做AI机器人,要么就面对大批量的小规模用户,提供AI外呼、AI接听等增值业务。要么就利用SIM卡分散入网的特性,用来做有效号码过滤等号码清洗的功能。
手机上的AI电话机器人要做的不是完全替代掉原来使用人力来拨打的方式(这样搞,步子迈的太大容易扯蛋),而应该是用来辅助现有的人,减少他的工作量,在他日常的使用基础上,提供细微又刚需的改动,使得他使用和工作的更加便捷。
比如原先客服或者推销人员拨打电话出去,会使用音箱来播出一些引导问候语,在通话过程中可以插入一些祝福语等等,这种类似于“半自动化AI”的方式,在吸收和转化率比较高的场景也会经常用到,而且能够大幅提高呼出人员的工作效率。
当然,把手机引到SIP平台坐席,做手机异地呼叫或跨地区拨打这种功能也有,但会在别的篇章中论述,本篇章不再赘述。
- 三、AI电话机器人对接和扩展方式
【Dialer3.0智能拨号器】Android版app为手机用户专门定制了内置的SDK,上层App开发者可以参照SDK-Demo的代码逻辑,将电话语音的提取能力轻松整合到应用当中。
在使用时,只要应用开启了【悬浮窗】的权限,无论手机用户使用何种方式来操作手机上的电话通话,通话时的语音都会拦截后,转到内置的SDK和上层App进行处理。
用户可以自由的选择使用手机按键拨打、别的App下发电话任务自动拨打、使用电脑adb连接手机触发拨打等等任意操作,只要手机拨通了SIM卡电话,蓝牙电话方案都会自动拦截通话的声音,并通过应用App的事件回调或本机网络端口,将通话语音数据进行传递和加工。
这样不管上层应用做IVR语音导航,或是进行AI识别和TTS语音应答,都可以在一个应用APP中完整的实现。而且,这个接入对接方式,完全不会干扰和影响到手机用户原有的使用方式。
SDK-Demo的功能界面如下图所示,仅供参考。需要实现“长按电源键3秒即唤醒AI电话机器人”等功能的,可以自行在这个基础上做扩展。
- 四、拨号器SDK对本机IVR引导和AI提供哪些支持
如前述内容所描述的样子,【Dialer3.0智能拨号器】Android版提供的“拨号器SDK”提供拦截电话通话事件和通话的语音数据的能力,并且提供了“双卡同时在线,自由选择任意SIM卡呼出”、“手机app识别对方按下的DTMF按键”等辅助功能。
在示例Demo中,我们展示了
【来电自动接听】
【接通后自动播放IVR引导提示语】
【播放完毕转手机接听】
等示例的功能,并且提供了一大批的辅助接口供上层App的开发人员来调用,可以参考着在这个基础之上自由的定制和开发。
AI功能可以在接收电话通话的上行语音基础上,挂载ASR语音识别和相关的NLP语义及大模型等支持,搭配TTS语音生成做下行通话数据注入即可。
IVR语音的播放和电话注入可以参考下述界面的接口来进行数据构造和注入,仅供参考:
- 五、IVR语音导航+人工同时接听
在一个手机当中,我们无法做到“又拦截电话通话语音、又使用手机的听筒/扬声器来播放声音”。(真的试过了,Android声音调度策略确实不允许)
在使用过程中,若存在需要又对语音进行处理、又需要人工实时关注介入的“多路声音处理”的场景,需要另外引入电脑坐席或者另一个其它手机。使用局域网或互联网坐席的方式,进行播放和通话介入。
拨号器SDK针对这样的场景,提供了配对和坐席绑定的支持。用户可以使用专用的App来做为远程声音播放设备,来跟目标电话的用户进行实时的语音沟通。
- 六、总结
我们在手机厂商的AI通话的功能之外,拓展了一种不受手机厂商和定制安卓限制的方式,为社会上公共的开发人员提供了一种基于普通Android应用app级别的AI电话机器人的应用能力。
上层app可以使用底层内置SDK,很容易的就可以对手机电话外呼和来电过程的通话声音进行提取和加工处理。上层app在这个基础之上可以自由的定制更多的电话的IVR语音导航和AI通话的相关功能,自由的接入DeepSeek等各种AI和大模型平台,为最终服务的用户,提供更加精细的个性化的能力。
上一篇:手机打电话时如何识别对方按下的DTMF按键的字符-安卓AI电话机器人
下一篇:编写中。