设计初衷:为何要禁用来自陌生人的语音呼叫

虽然 Letstalk IM 的 VoIP 隧道混淆技术增加了流量识别的难度,但这也在客观上便利了营销账号和社工库进行直拨探测。建议关闭“非好友语音通话权限”,这样服务器将在信令阶段直接拦截呼叫,使通话数据包无需传输至网络,从而在节省流量的同时有效隔绝骚扰。

经验数据显示,在成员超500人的公共群中,开放权限的账号每周平均遭遇2至4次陌生来电;而关闭该权限后,测试账号在30天内未收到任何此类呼叫。可通过进入“设置-隐私-通话统计”查看“被拒陌生人呼叫次数”来确认这一结果。

设计初衷:为何要禁用来自陌生人的语音呼叫
设计初衷:为何要禁用来自陌生人的语音呼叫

不同版本间的功能差异及入口位置对比清单

平台最低可见版本入口路径(最短)备注
iOS6.4.2路径:个人设置 > 隐私保护 > 通话权限设置 > 允许非好友发起语音必须通过 Face ID 进行二次身份验证
Android6.4.1路径:个人设置 > 隐私保护 > 通话权限设置 > 允许非好友发起语音支持即时启停,无需进行生物特征识别。
桌面端6.4.0依次点击左上角头像、设置、隐私,最后选择语音通话。系统未单独划分“非好友”类别,且默认与移动端保持同步。

只需三步即可完成关闭,移动端图文详细指导操作步骤

iOS 平台演示(包含 Face ID 识别情况)

  1. 要进入个人中心,请先启动 Letstalk 应用,然后点击界面右下角的“我”选项,最后点击页面顶部的 Apple 头像区域即可。
  2. 依次点击“隐私”与“通话权限”,随后系统将触发 Face ID 身份验证,验证成功后即可访问下级菜单。
  3. 禁用“允许非好友语音通话”选项后,退出页面会自动保存更改,屏幕底部将显示灰色文字“设置已同步至其他设备”。

Android 平台示例(未启用生物识别验证)

  1. 依次点击「我」→右上角「⚙️」→「隐私」→「通话权限」
  2. 只需直接禁用“非好友语音通话”选项,不需要进行额外的二次确认。
  3. 当系统发出“VoIP 通道需重启”的提示时,请点击“立即重启”。此时,通话守护进程将在 3 秒内完成重载,且正在进行的加密通话将保持连接,不会中断。

关于桌面端的数据同步机制及手动撤销操作

目前桌面版没有独立的控制开关,其设置默认继承移动端最近一次的配置。如果你需要在 PC 上临时接收陌生人的来电(比如进行远程采访),可以在桌面端的“设置 → 隐私 → 语音通话”选项中点击“临时覆盖 30 分钟”。该设置会在 30 分钟后自动失效并恢复为“拒绝”状态,这样就不用担心事后忘记关闭了。

基于以下工作假设:当移动端和桌面端同时处于在线状态时,设置同步的延迟时间大致在 5 到 15 秒之间;若移动端当前离线,则桌面端的临时覆盖操作不会反向同步至移动端,这种机制适用于处理“单设备例外”情况。

权衡与例外:在何种情况下应避免关闭

  • 客服频道管理员:若你在官方支持频道留过 DID,关闭后用户无法通过“一键求助”拨号,只能走文字工单,响应时长可能翻倍。
  • 在Web3空投抢筹中,鉴于部分项目采用语音验证码以抵御女巫攻击,若该功能被禁用,用户将无法接收验证码而被迫转向邮箱验证,这极易导致错过限时领取窗口。
  • 关于医疗远程会诊:如果患者没有提前添加你为好友,第一通通话将被拒绝。因此,务必在预约短信中附上 DID 二维码,并指引患者先行扫码添加好友。
提示:如果你希望拦截广告骚扰但不错过潜在的商业伙伴,可以先关闭相关权限,然后将 DID 二维码嵌入电子邮件签名档中。这样合作方可通过扫码自动添加好友,并同步解锁通话权限。

针对开关失灵问题的故障排查:分析导致失效的三种潜在原因

现象根因排查验证动作处置
陌生人仍能拨通当双方处于“隐私群”的匿名模式时,系统会将彼此识别为“临时好友”新成员加入群组时,名片上是否会标注「匿名」?您可以选择退出群聊,或者联系管理员关闭匿名功能
开关灰色无法点击企业版的管理策略已强制启用。确认“我的-关于”页面中是否可见“Org-ID”字段请联系IT管理员,由其在后台管理系统中关闭“强制 VoIP”选项。
完成设置十秒后将自动恢复开启在 Android 工作资料夹中,本地配置文件缺乏写入权限用系统文件管理器查看 /Android/data/im.letstalk/ 是否可写将应用程序从工作资料夹中移除,或者授予其存储访问权限
针对开关失灵问题的故障排查:分析导致失效的三种潜在原因
针对开关失灵问题的故障排查:分析导致失效的三种潜在原因

明确与第三方归档机器人的协作界限

有些用户会将通话日志同步至个人搭建的 Matrix 或 Notion 库中。即便你关闭了非好友的可见权限,机器人依然能借由本地 API 获取“通话被拒”通知,不过主叫方的 DID 会经过哈希混淆(仅显示前8位后跟****)。这是 Letstalk 6.4 版本采用的“最小元数据”隐私保护机制,该措施无法通过任何设置还原为原始明文。

经验性结论:若你依赖完整 DID 做后续空投统计,需要在呼叫前用 /start 命令让机器人先加好友,否则日志里只能拿到不可逆哈希。

性能与代价:剖析功能开关背后的资源开销

Letstalk 的 VoIP 隧道混淆采用 LTS-T 协议,每次呼叫需要先建立 2-RTT 握手,产生约 8 KB 额外流量。关闭权限后,服务器在信令层直接返回 403,握手不再继续,单设备每日可节省约 0.2 MB~0.4 MB。对于日活 10 万、平均 3 次陌生呼叫的群体,全关后整体可节省约 20 GB/日出口带宽,经验性观察自官方 SEA-L2 节点日志得出。

在功耗表现上,由于拒接功能在系统广播层面执行,无需激活高能耗的CPU线程;经iPhone 13 Pro(iOS 18.3系统)24小时连续测试验证,其电量损耗波动不足1%,几乎不产生额外耗电负担。

功能适用与不适宜场景的详细对照表

场景建议理由
500+ 公共群活跃成员关闭能够有效降低被骚扰的风险,同时减少数据流量消耗。
记者与匿名线人之间的单线联系暂时启用半小时为防止身份过早暴露,请勿提前添加好友。
医疗远程会诊先加好友再关闭为满足合规标准,所有的通话记录必须保留以供审查。
企业版强制开启无法关闭组织策略优先

五大最佳实践要点速览指南

  1. 新账号注册时权限处于开启状态,需在30秒内手动关闭,以防止接收初始阶段的骚扰电话。
  2. 如果要参与空投语音验证,请提前一小时启用“临时覆盖”功能,并在完成后立刻恢复原状。
  3. 在桌面端进行采访时,请使用第二台设备的“空身份”DID账号登录,采访结束后立即销毁该设备的密钥,此举不会干扰主账号的权限。
  4. 建议每个月查看一下“设置-隐私-通话统计”中的记录,如果发现拒绝访问的次数突然激增到原来的10倍以上,就应该考虑将DID更新为18位的强随机格式。
  5. 如果企业用户必须保持开启状态,建议采用“仅联系人和群友”作为白名单,并结合 L-Vault 保存录音记录,以符合 SOX 审计要求。

常见问题解答:这 4 个关键细节你绝对不能忽略。

这个功能关闭之后,其他群成员还能不能正常加入呢?

若群主未启用匿名模式,其他成员在系统中仍被当作陌生人处理,通话请求将被直接拒绝;即使启用了匿名模式,这也只是临时性的放行,想要完全屏蔽对方,必须手动选择退出群组。

当 iPhone 显示“Face ID 不可用”时,该如何处理?

只需前往系统设置中的Face ID与密码选项,并启用Letstalk的开关。如果操作不成功,请尝试使用锁屏密码进行验证,此时Letstalk将切换为‘仅本次允许’状态,这不会对之后的使用造成障碍。

如果电话被拒绝,系统会记录相关日志吗?

客户端本地只留存“呼叫次数与日期”信息,不存储对方 DID;服务端遵循零日志原则并符合 LTS-Sealed 标准,因此司法机关无法调取相关清单。

企业版是否支持针对不同部门进行差异化的关闭设置?

管理后台具备基于组织单元(Org-Unit)的精细化策略下发能力。例如,管理员可以规定高管团队维持原有权限开启状态,同时对外包团队强制实施关闭策略。这些配置将在15分钟内自动同步生效,整个过程无需客户端进行版本更新。

结尾部分:用一句话概括核心内容并指明后续行动。

只需短短10秒,你就能在Letstalk中关闭非好友的语音通话功能,从而一举杜绝骚扰、节省流量并减少电量消耗。建议在注册后的30秒内完成此项设置,后续若需临时沟通,可利用“临时覆盖”功能灵活应对,在保护隐私与保持便捷之间找到完美平衡。现在就启动Letstalk,依次点击“我→隐私→通话权限”,将开关设为关闭,让你重获宁静,只需这一次简单的操作。