2019-04-14

关于骚扰电话的那些事

  • “XX市中心的XX广场商铺低价招租,成本低回本快,您想要了解一下吗?”
  • “XX保险您需要吗?”
  • “由XX大牛管理的XX基金,年复合回报率达到百分之XX,您有需要吗?”
  • “为企业办理XX认证,XX审核您要了解一下吗?”
  • “XX获客能助您实现销售百分之XX的增长,您需要吗?”

每天接到这样的骚扰和推销电话,烦不胜烦。

烦躁

烦躁呀 图片来源

“猪队友” 防不胜防

也许你对自己的私人信息已经比较在意,不随意留手机号,不随意注册不靠谱的服务,防止个人的信息泄漏。这是一个好习惯。

但是对于那些不得不用的服务,它们中最弱鸡的那个可能直接就让你被扒光了,比如:

  • 某些大厂传说中的“临时工”
  • 某些政务网站
  • 各类中介、社区
  • 快递、网购、外卖、公共 WiFi

如果只有一个号码,想让个人信息不被他人收集入库,供外呼服务使用,还真有点难。

怎么办?

怎么办? 图片来源

设备端:iOS 的短板

iOS 从设计上,很晚才实现例如来电屏蔽(iOS 10)、短信屏蔽(iOS 11)的功能。而通话录音这类接口估计永远不会开放。国情差异是原因之一,但更根本的原因则是 Apple 对其设备的定位:首先它是一部多媒体设备,然后它才是一台手机。

目前市面上有几个常用的由 3BAT 出品的防骚扰 App,比如:

你可以按自己的喜好选一个,如果难以定夺,就选第一个。安一个就可以了。

也许你已经安装了类似的 App,但是发现仍然有骚扰电话打进来,而且甚至在安装了某些防骚扰 App 后,骚扰电话反而多了对不对?

迷之微笑

迷之微笑 图片来源

比如以 170,171 开头的号码,99% 的来电都可以直接拒接,但是这些 App 要么忽略,要么仅仅提示“骚扰电话”,仍然需要用户手动挂断。那么为什么不能对标记号码进行彻底的屏蔽呢?

这里面其实是有多方面原因的。

iOS 上难以实现的号段屏蔽

首先,苹果的审核要求:2.5.12 利用 CallKit 或包含 SMS Fraud 扩展的 app 应该只拦截已确认用于发送垃圾信息的电话号码。如何确认某个电话号码是用于发送垃圾信息的呢?被标记 50 次?还是被标记 100 次?每家的做法不一,但有一点是共同的:只有被大规模标记的号码才会被静默拦截。否则有误杀和无法上线的风险。

其次,其实 CallKit 每个 Extension 是有容量上限的,大约为 200 万个号码左右。由于不支持通配符和正则表达,假设我们要拦截整个 170 和 171 号段的号码,2 亿个号码至少需要 100 个 Extension,那么“来电阻止与身份识别”里的画风大概就是这样子的…

100 个 Extension

100 个 Extension

这样的做法大概率会被 Apple 拒绝上架,各大厂的做法往往是包含 3 个 Extension,识别 + 拦截的总数满打满算只有 600 万个号码的容量。

你可能会问,来电阻止与身份识别里不是有“已阻止的联系人”么,那么建立一个联系人,包含想屏蔽的号段里的所有号码,然后屏蔽它是不是就可以了?

事实是,“已阻止的联系人”优先级的确要高于 CallKit Extension,但是,“已阻止的联系人”设置实际上是保存在这个文件里的:

/private/var/mobile/Library/Preferences/com.apple.cmfsyncagent.plist

里面的号码可以按照类似这样的格式直接编辑:

<dict><key>__kCMFItemPhoneNumberCountryCodeKey</key><string>cn</string><key>__kCMFItemPhoneNumberUnformattedKey</key><string>+8613800224466</string><key>__kCMFItemTypeKey</key><integer>0</integer><key>__kCMFItemVersionKey</key><integer>1</integer></dict>

这里 plist 文件是用来储存少量数据的,并不能储存大量数据,如果有大量样本需要屏蔽,还是需要使用 CallKit。而 CallKit Extension 比较娇贵,根据实际测试,1 万个中国的号码写入后大小约 1 M,一次连续写入如果超过 10 几万个号码,有几率会因为长时间占用大量 CPU 而被系统杀掉进程导致写入失败,需要将文件分段分次逐步写入。在大厂的 App 中,我们也不止一次发现某些管家由于写入问题出现无法加载开关的情况:修复 iOS 来电阻止与身份识别 中没有开关 / 无法更改设置的问题

最后,还有一些不好说的事情,比如类似这样的:手机号变“广告号”?多家平台涉嫌恶意标注、推卸责任。毕竟在商业利益面前,人性总是不能轻易去考验的。

设备端:iOS 之外的尝试

面对日益猖獗的广告和骚扰电话,iOS 端目前可供想象的空间实在太有限了,但是我们可以跳出 iOS,做些有趣的事情。

答录机

答录机功能在欧美往往是由运营商以服务的形式提供,这个古老的功能在现在看来不失为一个好办法,毕竟,没有几个广告 / 骚扰电话的拨打者愿意在那儿对着答录机自说自话,还留下机会让我们收(feng)集(kuang)证(ju)据(bao)。 我们在一部手机上运行了一个月时间的答录机,收集了不少让人哭笑不得的呼叫数据…

  • 有怯生生的新进电呼员工,那感觉,嗯,听着就很心疼;
  • 有以为是我们电话坏了的,契而不舍的一次次打电话进来说:您听的到吗?没有声音啊?
  • 有自己坚决不先开口,但是却又死活舍不得挂断的;
  • 有用机器人呼叫但是不知道怎么处理空白的声音片段,和空气疯狂地斗智斗勇,最后才处理成:“喂您好,请问您是(停顿 5 秒)吗?”;
  • 有用机器人报完家门后然后等着获取语音回复,然后每隔 5 秒就来一句“您还在吗”“您还在吗”“您还在吗”,直到占满答录时间的。

AI 外呼机器人

AI 外呼机器人 图片来源

如果能进一步,读取语音然后自动处理、判断、回复,让机器人去和机器人对弈,是最好的办法。但是这类接口带来的隐私风险也是巨大的,很难说哪一家系统制造商愿意将这样的接口开放出来,目前比较可行的方案应该都是通过呼叫转移之后实现的,比如这样:国内首款AI防骚扰电话助手发布:可代接电话

蜜罐

面对答录机这样,本地需要人工判断,云端则有隐私风险的方案,使用蜜罐看起来是个挺适合 C 端的处理方案。

我们使用了三个全新的号码,然后给了三个号码不同的画像:

  • 有两岁小孩的年轻妈妈
  • 准备买房的公司职员
  • 有些健康问题的 40 岁企业家

通过公共 WiFi,一些购物、社区、保险、健身类的工具 App,还有一些其他线下渠道把号码针对性地暴露出去,很快便进入了呼叫方的数据库,开始有了不同的电话呼入,最平静的时候每天一个号码大约也有 10 个电话呼入。然后这些号码被我们自动入库,并在真正使用的机器上进行了屏蔽。如果能大规模地进行部署和投放,感觉不失为当下的一个好方案。

服务端:真正的解决方案

部分运营商已经有采用闪信提示的方式,为用户屏蔽广告和骚扰电话:

其实,中国联通在 2016 年就推出了此服务,后来因为某些原因停止办理了。2019 年央视 3.15 晚会后又重新开始了办理。

不知道为什么,反正又可以办了

不知道为什么,反正又可以办了 图片来源

所以,真正的解决方案还是需要从源头上做出改变,让公民的信息得到应有的保护,让企业的合法需求得到满足,让违法的推销和骚扰行为得到依法惩处:中国移动:未经用户同意,不得向用户拨打商业营销电话。希望更多这样的措施能够早日真正地落到实处。

(End)



本文采用 知识共享 署名-非商业性使用-禁止演绎 4.0 国际 许可协议
This article is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)

沪ICP备15044284号-1