最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Windows电脑蓝牙打电话-预研总结

业界 admin 1浏览 0评论

Windows电脑中通过蓝牙拨打电话

技术预研过程-总结

因项目需求,需要在电脑中(一般是Windows系统、不排除后续会对接Mac)直接通过SIM卡拨打手机号进行呼叫的能力。这个能力在Android绝对是泛滥得不行的基础能力了,但截至本文编写的今天,在电脑上仍没有形成一个清晰简明的完整解决方案。项目实际需要,没办法,只能从头开始解析和预研。

抬头看看过去前辈们走过的路,要想在电脑上拨打SIM卡电话,最大的问题是电脑没有插SIM卡的硬件,相反,手机(Android、iPhone、甚至老人机、儿童电话手表)中SIM卡的模块和插槽却是标配的硬件。因此,要在电脑上打SIM电话,最有可能是以下3种方式:

  1. 在电脑中插入一个SIM模块的硬件(插入方式可以为USB、串口、PCI插槽等),并在电脑中安装对应的硬件驱动。拨打电话时,通过驱动对应的SDK进行呼叫操作和语音数据的收发。
  2. 电脑通过某种方式与手机等带有SIM卡的设备通讯(通讯方式可以为WIFI、4G网络、USB、蓝牙、3.5mm音频转接线等),通过手机进行呼叫操作,并将语音数据与电脑进行交换。
  3. 电脑纯粹作为一个呼叫的网络客户端(类似于SIP客户端等),网络中部署一个带网络模块和SIM卡模块的SIM网关设备。该网关设备直接与媒体服务器交互,电脑端或手机端甚至是网页端都通过媒体服务器进行信令和媒体的转发到SIM网关设备上进行呼叫操作,并对语音等媒体数据进行收发。

很明显,第三种方案偏题了,做一个简单的SIP客户端+购买一个SIM网关设备,不是本次预研的主题。现在剩下的感觉比较靠谱的方式,只剩下上述列举的外置SIM模块或通过手机呼叫的方式。

由于中国大陆手机和带SIM卡智能设备的保有量的占比已经很高,几乎做到了人手一台或多台,使用手边随处可见的手机设备进行呼叫中转,能够最大限度的降低部署时投入的成本。并且SIM卡本身的获取也是一个问题,由于中国大陆对电信类业务的实名制要求,若使用电脑外置SIM模块的方式,也就意味着使用者需要另外办理一张需要实名验证过的SIM卡,单独插入到该SIM模块进行专用,这将极大增加了部署的难度和用户的使用成本。因此综合衡量后,本次规划的技术路线,将采用电脑+手机设备进行中继+SIM卡的方式,进行SIM电话的呼出。

截至目前,在当前市场上存在的SIM卡设备,大致分为以下几种:

  1. 以苹果输出的iPhone为主的苹果智能机,包括iPhone、带SIM卡的iPad等。
  2. 以三星、谷歌和国内大部分厂商输出的Android智能手机,包括三星、谷歌手表、以及国内的华为、荣耀、小米、OV等智能手机。
  3. 智能机之外的售价较为低廉的非智能机、老人机等传统机型。
  4. 儿童电话手表等特定场景的智能辅助设备。

在研发体系中,如果做定制的模块或设备,则一般对设备的适配不会有特定要求,所有的适配都会在出场之前做好。但如果是面向通用型的设备,则至少要考虑两方面的方案适配:

①需适配当前市面上的大部分的机型,使普通用户都能正常使用。

②需遵循时间线的演化规则,适配较老的机型、当前的机型、以后未来的机型,也即要遵循某些标准协议。

在上述的方案中,我们基于最大化减少用户投入的情况下,选型的【电脑+手机】进行电话呼叫的方案,至少需要支持当前市面主流的iPhone和Android手机,才能算是正常可用的方案,只支持其中一部分、或者其中大部分都不支持,那么此类技术路线将没有任何商用意义。

由此,针对上文中列举的,电脑通过手机进行呼叫的常规通讯方式,下表简要列举了它们的优缺点,如下:

优点

缺点

网络(WIFI、4G)

通信方便、开发简单

Android/iPhone均获取不到语音

USB连接线

连接稳定、一线多用

iPhone不支持OTA方式打电话

蓝牙

移动方便、可获取语音

容易受干扰、不能远距离通信

3.5mm音频转接线

声音稳定、可获取语音

部分新手机已取消3.5mm音频口

好像这么一列举,似乎也没有更好的选择。~V~。你看,“电脑使用SIM卡拨打手机”这个需求,顾名思义至少要把声音传到电脑上播放,并且从电脑采集声音通过电话发出去。网络的方式,由于大部分手机厂商对应用直接调用SIM模块打电话的能力在权限上限制得非常死,在手机打电话时,根本拦截不了它的声音进行转发。所以网络的方式(WIFI、4G),明显搞不定。

USB连接线收发控制信令和语音,Android一顿操作后确实可以进行信令和语音数据的传递(好不好用先不说,至少还能用)。但iPhone等苹果设备根本不给你用这个方式(iPhone不支持OTA方式)。

3.5mm音频转接线,那是绝对可以进行信令控制和语音的双向传递的,但近几年的新设备,为了防水和其它种种考虑,纷纷在新机型中取消了这个功能。

所以,伸开手指头数了数,好像除了蓝牙之外,也没别的路可选。

但是,电脑使用蓝牙(BT),跟手机进行通讯,并控制手机进行电话拨打和声音数据的收发(俗称蓝牙HFP),其实也是有不少问题的。最大的问题是:电脑中除了笔记本电脑和平板外,大部分的台式机,没有蓝牙硬件模块。另外,如果手机中为双卡双待手机,蓝牙也没有信令进行呼叫卡的切换,只能手动在手机上进行切换。

在Windows系列操作系统中,由于发布时间先后的原因,电脑自带的蓝牙驱动方面,XP、Vista、Win7对蓝牙驱动的支持能力是很差的。Win8和Win10只能说稍微好一点,但具体到想用蓝牙进行HPF打电话,估计也很难指望微软自动给你提供完整的捆绑工具拿来直接使用。

经过多方对比和综合衡量,项目最终还是使用了蓝牙电话的方案,即使用Windows电脑中的蓝牙模块,连接到旁边的手机中(iPhone或Android等),通过手机内置的SIM模块和SIM卡,拨打目标手机号,收发信令状态并收发语音数据。因此,才最终引入了本文的技术选型预研的经过。

项目预研的结果为:

目前在windows中,进行蓝牙通信的方案和团队输出的产品,大致有如下几类:

1)Windows自带:从win8开始,插入蓝牙模块会自动装载蓝牙驱动,自win10最新版以来才开放编程接口进行蓝牙HFP通话的功能实现,但此部分的接口无法提取sco语音数据(语音数据直接跟电脑的默认设备关联,默认支持单机版,做网络版有难度)。

2)InTheHand的C#库:使用windows自带的蓝牙驱动,只能收发基于l2cap的RFComm连接的信令,进行电话拨打和控制,没有sco连接的控制指令,也无法提取sco语音。

3)百瑞互联BRLink:只提供安装包,无SDK,支持XP、win7、win8,win10,另外2022年4月25日发现使用其提供的安装包,呼叫时没有下行声音(即打电话时对方听不到声音)。

4)千月Bluesoleil:提供SDK、免费试用版(一个月+2M数据限制)、收费的正式版(29元3台/次电脑认证),支持XP、win7、win8,win10。免费版上行和下行的语音偶尔出现“啵啵”的杂音。

5)玖云33e9cloud:只提供安装包,不提供SDK,但通过UDP抓包,可以很容易解析出信令和声音数据的端口及其对应数据格式,支持XP、win7、win8、win10、win11,普通用户免费,音质和接口都不错。


上一篇:没有了,此文章为第一篇。

下一篇:电脑蓝牙打电话-总结(一、win自带功能)

Windows电脑中通过蓝牙拨打电话

技术预研过程-总结

因项目需求,需要在电脑中(一般是Windows系统、不排除后续会对接Mac)直接通过SIM卡拨打手机号进行呼叫的能力。这个能力在Android绝对是泛滥得不行的基础能力了,但截至本文编写的今天,在电脑上仍没有形成一个清晰简明的完整解决方案。项目实际需要,没办法,只能从头开始解析和预研。

抬头看看过去前辈们走过的路,要想在电脑上拨打SIM卡电话,最大的问题是电脑没有插SIM卡的硬件,相反,手机(Android、iPhone、甚至老人机、儿童电话手表)中SIM卡的模块和插槽却是标配的硬件。因此,要在电脑上打SIM电话,最有可能是以下3种方式:

  1. 在电脑中插入一个SIM模块的硬件(插入方式可以为USB、串口、PCI插槽等),并在电脑中安装对应的硬件驱动。拨打电话时,通过驱动对应的SDK进行呼叫操作和语音数据的收发。
  2. 电脑通过某种方式与手机等带有SIM卡的设备通讯(通讯方式可以为WIFI、4G网络、USB、蓝牙、3.5mm音频转接线等),通过手机进行呼叫操作,并将语音数据与电脑进行交换。
  3. 电脑纯粹作为一个呼叫的网络客户端(类似于SIP客户端等),网络中部署一个带网络模块和SIM卡模块的SIM网关设备。该网关设备直接与媒体服务器交互,电脑端或手机端甚至是网页端都通过媒体服务器进行信令和媒体的转发到SIM网关设备上进行呼叫操作,并对语音等媒体数据进行收发。

很明显,第三种方案偏题了,做一个简单的SIP客户端+购买一个SIM网关设备,不是本次预研的主题。现在剩下的感觉比较靠谱的方式,只剩下上述列举的外置SIM模块或通过手机呼叫的方式。

由于中国大陆手机和带SIM卡智能设备的保有量的占比已经很高,几乎做到了人手一台或多台,使用手边随处可见的手机设备进行呼叫中转,能够最大限度的降低部署时投入的成本。并且SIM卡本身的获取也是一个问题,由于中国大陆对电信类业务的实名制要求,若使用电脑外置SIM模块的方式,也就意味着使用者需要另外办理一张需要实名验证过的SIM卡,单独插入到该SIM模块进行专用,这将极大增加了部署的难度和用户的使用成本。因此综合衡量后,本次规划的技术路线,将采用电脑+手机设备进行中继+SIM卡的方式,进行SIM电话的呼出。

截至目前,在当前市场上存在的SIM卡设备,大致分为以下几种:

  1. 以苹果输出的iPhone为主的苹果智能机,包括iPhone、带SIM卡的iPad等。
  2. 以三星、谷歌和国内大部分厂商输出的Android智能手机,包括三星、谷歌手表、以及国内的华为、荣耀、小米、OV等智能手机。
  3. 智能机之外的售价较为低廉的非智能机、老人机等传统机型。
  4. 儿童电话手表等特定场景的智能辅助设备。

在研发体系中,如果做定制的模块或设备,则一般对设备的适配不会有特定要求,所有的适配都会在出场之前做好。但如果是面向通用型的设备,则至少要考虑两方面的方案适配:

①需适配当前市面上的大部分的机型,使普通用户都能正常使用。

②需遵循时间线的演化规则,适配较老的机型、当前的机型、以后未来的机型,也即要遵循某些标准协议。

在上述的方案中,我们基于最大化减少用户投入的情况下,选型的【电脑+手机】进行电话呼叫的方案,至少需要支持当前市面主流的iPhone和Android手机,才能算是正常可用的方案,只支持其中一部分、或者其中大部分都不支持,那么此类技术路线将没有任何商用意义。

由此,针对上文中列举的,电脑通过手机进行呼叫的常规通讯方式,下表简要列举了它们的优缺点,如下:

优点

缺点

网络(WIFI、4G)

通信方便、开发简单

Android/iPhone均获取不到语音

USB连接线

连接稳定、一线多用

iPhone不支持OTA方式打电话

蓝牙

移动方便、可获取语音

容易受干扰、不能远距离通信

3.5mm音频转接线

声音稳定、可获取语音

部分新手机已取消3.5mm音频口

好像这么一列举,似乎也没有更好的选择。~V~。你看,“电脑使用SIM卡拨打手机”这个需求,顾名思义至少要把声音传到电脑上播放,并且从电脑采集声音通过电话发出去。网络的方式,由于大部分手机厂商对应用直接调用SIM模块打电话的能力在权限上限制得非常死,在手机打电话时,根本拦截不了它的声音进行转发。所以网络的方式(WIFI、4G),明显搞不定。

USB连接线收发控制信令和语音,Android一顿操作后确实可以进行信令和语音数据的传递(好不好用先不说,至少还能用)。但iPhone等苹果设备根本不给你用这个方式(iPhone不支持OTA方式)。

3.5mm音频转接线,那是绝对可以进行信令控制和语音的双向传递的,但近几年的新设备,为了防水和其它种种考虑,纷纷在新机型中取消了这个功能。

所以,伸开手指头数了数,好像除了蓝牙之外,也没别的路可选。

但是,电脑使用蓝牙(BT),跟手机进行通讯,并控制手机进行电话拨打和声音数据的收发(俗称蓝牙HFP),其实也是有不少问题的。最大的问题是:电脑中除了笔记本电脑和平板外,大部分的台式机,没有蓝牙硬件模块。另外,如果手机中为双卡双待手机,蓝牙也没有信令进行呼叫卡的切换,只能手动在手机上进行切换。

在Windows系列操作系统中,由于发布时间先后的原因,电脑自带的蓝牙驱动方面,XP、Vista、Win7对蓝牙驱动的支持能力是很差的。Win8和Win10只能说稍微好一点,但具体到想用蓝牙进行HPF打电话,估计也很难指望微软自动给你提供完整的捆绑工具拿来直接使用。

经过多方对比和综合衡量,项目最终还是使用了蓝牙电话的方案,即使用Windows电脑中的蓝牙模块,连接到旁边的手机中(iPhone或Android等),通过手机内置的SIM模块和SIM卡,拨打目标手机号,收发信令状态并收发语音数据。因此,才最终引入了本文的技术选型预研的经过。

项目预研的结果为:

目前在windows中,进行蓝牙通信的方案和团队输出的产品,大致有如下几类:

1)Windows自带:从win8开始,插入蓝牙模块会自动装载蓝牙驱动,自win10最新版以来才开放编程接口进行蓝牙HFP通话的功能实现,但此部分的接口无法提取sco语音数据(语音数据直接跟电脑的默认设备关联,默认支持单机版,做网络版有难度)。

2)InTheHand的C#库:使用windows自带的蓝牙驱动,只能收发基于l2cap的RFComm连接的信令,进行电话拨打和控制,没有sco连接的控制指令,也无法提取sco语音。

3)百瑞互联BRLink:只提供安装包,无SDK,支持XP、win7、win8,win10,另外2022年4月25日发现使用其提供的安装包,呼叫时没有下行声音(即打电话时对方听不到声音)。

4)千月Bluesoleil:提供SDK、免费试用版(一个月+2M数据限制)、收费的正式版(29元3台/次电脑认证),支持XP、win7、win8,win10。免费版上行和下行的语音偶尔出现“啵啵”的杂音。

5)玖云33e9cloud:只提供安装包,不提供SDK,但通过UDP抓包,可以很容易解析出信令和声音数据的端口及其对应数据格式,支持XP、win7、win8、win10、win11,普通用户免费,音质和接口都不错。


上一篇:没有了,此文章为第一篇。

下一篇:电脑蓝牙打电话-总结(一、win自带功能)

发布评论

评论列表 (0)

  1. 暂无评论