手机实时提取SIM卡打电话的信令和声音-总结篇

2023-10-13 02:50

本文主要是介绍手机实时提取SIM卡打电话的信令和声音-总结篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

继上一篇《电脑蓝牙打电话-总结》之后,至今,不知不觉已经又过去了一年(时间过得快啊,碌碌无为说的就是我这种),手上一直在忙其它紧迫的工作任务,一直都没有时间去探索新兴领域,着实惭愧。

由于所在的通信行业的特性,针对手机SIM卡业务,接触一些常规范围之外的音频/视频的业务需求,如:

  1. 手机来电时想使用AI来自动接听。
  2. SIM卡发卡商要求某个业务的所有通话都要有录音,可回溯与核查。
  3. SIM卡的套餐分钟数太多、打不完,想共享给部门内其它同事。
  4. SIM卡电话用AI来播出,收集用户的语音反馈后做相应处理。
  5. 极端情况下,需要手机信令和语音与线路一样能正常在后台坐席和呼叫中心拨打。

在以上的场景需求中,需要对SIM卡的通话能力进行实时的干预和管理,包括但不限于事件、信令、语音、视频等数据。而且,按照中国大陆相关的电信法律法规,应该有对通话的源/目标、通话内容和通话事件本身进行合规性的监管和追溯的能力。

在做一个分析或者是方向规划之前,我们会先睁开眼去看看这个世界,看看前人或同伴在这个领域,最新的成果做到了什么程度,针对不同的场景采用的是什么样的方案?我们看了,但是很遗憾,SIM卡的通话能力是手机的核心功能,为了保证稳定性、安全性和产品发布合规的原因,SIM卡的几乎所有功能被层层的权限和约束锁住。

我们看到的几乎所有设备,包括但不限于安卓手机、苹果手机、老人机、电话手表、第三方插卡座机等常见的设备,SIM卡的功能基本都是专用的特权应用才可以正常操作。不仅如此,SIM卡开放的功能中,获取SIM卡号码/查话费余额、切换主/副卡操作、使用SIM卡流量、拨打语音电话/volte电话,这一系列的能力中,打电话也是属于最核心的能力,而且也是通信部门监管的重点区域。

我们在前期分析的时候,评估过阿里通信、腾讯云、华为云等呼叫中心的产品,以及一些第三方商业公司类似OKCC、通信助手等提供的app应用和插卡话机等模式和方案,但并没有找到符合我们方向的一个通用的产品方案。这些产品要么使用线路来对接(公安部门重点打击的卡线、卡池、猫池,以及民用的SIMBOX多卡宝等专用SIM设备都属于线路的范畴),要么就将手机来作为接听终端,将打电话操作下发到手机执行。但此类方案明显有缺陷,最简单的如iPhone等iOS设备禁止了通话录音功能,苹果设备取不到录音。而且跟我们打算挂AI来进行语音流入流出的方向偏差很大。

在手机的细分市场中,截止到目前的2023年,整个市场出货量和存量的大头是Android手机,其次是iOS系统的苹果手机,鸿蒙目前仍支持AOSP挂载的app,暂与Android归为一类。剩下的是一些非智能机、电话手表,但年出货量和市场存量都不大。整个手持终端的划分范围表明,我们预研的《手机实时提取SIM卡打电话的信令和声音》这个能力,首先必须要能适配安卓。我们也不管它到底是OPPO、VIVO,还是小米、三星、华为、荣耀,不管它是安卓、Android、鸿蒙的AOSP或者是其它的变种。在预研的方向上,我们只有两点要求:

  1. 按市场覆盖率来看,方案必须要支持Android和iOS两种系统,如果实在不能支持,就优先支持Android,如果Android还是不行就优先选择一家品牌的各种型号进行支持。
  2. 方案必须要能提取得到实时的声音,即通话的接听终端一定要脱离手机的麦克风/扬声器硬件。(我们也不管它是在手机上装AI的app,或是使用旁边的辅助设备来收发数据)

先说好消息,具体实施上,某些设备比如小米,提供了小爱助手的AI电话App,小米手机只需要安装应用或在小米的应用商店里升级(现在好像改名为“小爱通话”),来电后,说“小爱帮我接”等关键词后,即可自动接听并提取通话声音进行实时ASR转文字和AI分析和通话对答。经试验,其ASR功能为联网模式,断开网络连接后转译的内容牛头不对马嘴,但有网络的情况下做得效果还算可以。但是软件有个缺陷:由于小爱通话是与小米的MIUI系统电话深度配合的系统级软件,只能在小米/Redmi手机中使用,而且仅支持国内版。

 

 

在Android中,正常一说到提取通话语音,首先想到的应该是“录音机”程序,一般的手机都支持录制通话录音(无论是从听筒/扬声器,还是耳机或蓝牙输出的语音都可以录制),部分手机的录音机还支持从QQ、微信等App中录制语音/视频通话的语音。

那么,按照道理来说,我们可以参照录音机的逻辑,甚至是调用录音机暴露的接口,将自己的APP进行提权后,理论上也可以做到提取通话过程语音的能力。(注明一下:手机中存在“单轨录音/双轨录音”这个概念,跟硬件有关,如果只支持单轨录音的手机,通话的本地和对方的语音将合并录制到单通道中)。

个人简单猜测,上述的“小爱通话”也是根据这个理论来进行设计和扩展的。既然小米系列有这个应用,华为、三星、OPPO、VIVO等手机也会有自己的内置应用,进行手机定制层面的通话语音提取和分析处理的能力。

在手机这个范围之外,围绕着SIM卡/GSM模块的通信业务和需求,依照时间的先后次序,诞生出GSM Modem/GSM Gateway、卡线、卡池、GOIP、多卡宝等多种制式和设备,主打的就是一个“专用”设备,有的侧重于高并发、有的主打便携。从使用方式来看,有的可以独立工作,有的要依赖于电脑、网关盒子等上位机进行协同工作,此类设备和方案可参见本系列的篇外文章《篇外、自研专用手机产品和风险分析》,里边列有我们前期做规划和方向决策时进行的调研图片和参数对比。

但是随着电信诈骗盛行以及电信行业的监管规则趋于严格,上述这一系列产品和品牌,还没等到起高楼,楼就塌了,我们初次听说它们的时候都是在新闻上,听说哪里的公安机关又破获了一起“电信诈骗案”,犯罪分子利用XXX设备,流动作案,为境外诈骗分子提供非法的行为,罚没了XXX的非法收益。汗啊,高危行业,拿着卖白菜的钱,分分钟就去踩缝纫机。

我们回过头来思考,这些方案或者设备为什么会受国家监管的打击,或者说国家为什么打击它、不打击OPPO/VIVO/小米/华为手机??我思考了一下,核心根源在于GSM制式的问题,即:由于历史时间线的原因,欧洲、北美、日韩、南美、非洲、印度、东南亚等区域的运营商网络和中国大陆,采用的是不同的制式和标准。这就造成了一个问题:这帮家伙做出来的设备,不管它宣称的造福方便民众、扩展了使用领域、促进行业的完善度或者其它冠冕堂皇的说法,它就是在祸害中国老百姓(或者叫造福中国老百姓),而且只能作用于中国老百姓,而不能造福世界其它国家的老百姓。

这才是问题的根源,你看,不打击你打击谁?就算打击了你,你能跑到哪里去?

中国自改革开放以来,中国民众的生活或者说小日子,比之前三十年,确实物质要充裕很多。原因可能多种多样,不同的人可能会有不同甚至相反的观点,但不可否认,国际化或者说世界化进程在里面起到了很大的作用。简单说就是通过输出高价值产品、进口低价值产品,让世界的老百姓来供养中国平民,而不是前三十年中,让中国农民来供养城镇居民。这就要求每个公司或产品,海外化的战略,对整个民族或者个人,都是重中之重。凡是出不了海的,海外战略不能带来明显收益的,在整体看来,都属于内耗,属于改变了生产关系和财富分配但没有改变生产力,简单来讲,就是垃圾。

我们做产品,海外战略的扩展能力,很大程度上也决定了方案规划和产品的生命力。做出来的产品,必须要有足够的通用性,以创新,驱动产品力的竞争力,才是我们这一代人奋斗和实现的途径。

我们认为,技术本身是无谓好坏之分,它对社会影响的好坏,取决于使用它的人。就好比一把刀,铁刀,总是比青铜刀要好,历史的车轮滚滚向前,你不造铁刀,别的地方迟早也会造,并总有一天会流传回你这里。以创新驱动进步,科学技术才是第一生产力。

因此,综上所有的需求和行业现状,我们认为:Internet通过分散的SIM卡入网,其作用与互联网的网关类似,作为解决连接互联网和电话网的最后一公里的解决方案,有其必然的存在意义。

而且我们规划方案时,不能依赖某个制式或规格的入网设备,最好是直接对接上目前市面上存在的各种手机或其它设备,用它们来去实现规划的【手机实时提取SIM卡打电话的信令和声音】的能力,并使用其数据,进行IVR、ASR文字转换、AI等高级应用和扩展。

我们最朴素的念头,是希望在当世大量手机的存量市场的前提下,采用一种所有手段都无法约束的标准化方式,打通互联网/移动互联网 与传统电话网络之间的隔离。用分布式、离散化的方式,让全世界各国的民众,都能简单的使用这种能力。

这里我还是吐槽一下做某些GSM制式的小型化的硬件,说是促进行业的发展,我并不认同。需要这种硬件来推动的行业,还有没有必要存在,都是值得思考的。而且监管好像也在防范此类设备,你看多卡宝(SIMBOX),刚出来没多久就被禁,值得反思。此处再贴一下法规,与君共勉。

 

扯远了,本篇章以Android操作系统为例,按照如下顺序组织语言,从GSM硬件开始,以ALSA音频架构来解析RIL的逻辑,列举通话录音和AI电话助手的案例和部分源码,论证这个模式和方案的可行性(按照规划,如果使用此方式,将属于定制ROM的范畴),将于后续篇章中逐步介绍:(其实我也不想写,网上一搜一大堆,引别人的文章算了。最主要这种方式去搞,刷机数量多了搞不好被手机厂商告你“破坏计算机系统”,汗啊)

  1. GSM/4G模块原理和引脚
  2. 安卓ALSA音频架构
  3. 经典案例1-通话录音实现原理
  4. 经典案例2-AI电话助手

目前市面上,针对SIM卡应用(网关类)现有成熟方案,大致有:

  1. GOIP、卡线、卡池、猫池
  2. 多卡宝

至少是这么多预研中,商用化程度还可以。相关描述,读者要是感兴趣,自己跳转到本系列的篇外文章《篇外、自研专用手机产品和风险分析》去看。

在我们规划的产品方案的各个方向,按软硬件的集成度,可以划分如下几个类型和已有的实现方案,如下:

一、定制硬件:多卡宝、卡池等

二、定制ROM,刷机:AI电话助手

三、root设备+特权应用:Mock Bluetooth

四、普通应用+外设配件:USB蓝牙、耳机插口转接器等

我们将在后续篇章对上述这几个分类的案例进行试用和介绍,看看哪种方案更加靠谱,适配性更强,更容易推广开来给更多的用户去使用。

注:本系列的分享,预计共7个篇章,以总结开篇,从硬件、系统、权限、外设、扩展应用等多个角度,论述了手机实时提取SIM卡打电话的信令和声音能力的一种通用的办法,列举其它备选方案的优缺点,以及项目选型时的决策参考依据,如果读者感兴趣,可以逐篇章跟随我们一同探索。

这篇关于手机实时提取SIM卡打电话的信令和声音-总结篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/200250

相关文章

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用