手机实时提取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

相关文章

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

C++字符串提取和分割的多种方法

《C++字符串提取和分割的多种方法》在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用... 目录1. 字符串提取的基本方法1.1 使用 std::istringstream 和 >> 操作符示

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

详解如何使用Python提取视频文件中的音频

《详解如何使用Python提取视频文件中的音频》在多媒体处理中,有时我们需要从视频文件中提取音频,本文为大家整理了几种使用Python编程语言提取视频文件中的音频的方法,大家可以根据需要进行选择... 目录引言代码部分方法扩展引言在多媒体处理中,有时我们需要从视频文件中提取音频,以便进一步处理或分析。本文

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

基于Python实现一个PDF特殊字体提取工具

《基于Python实现一个PDF特殊字体提取工具》在PDF文档处理场景中,我们常常需要针对特定格式的文本内容进行提取分析,本文介绍的PDF特殊字体提取器是一款基于Python开发的桌面应用程序感兴趣的... 目录一、应用背景与功能概述二、技术架构与核心组件2.1 技术选型2.2 系统架构三、核心功能实现解析