CN117397228A - 在通话期间交换状态消息 - Google Patents

在通话期间交换状态消息 Download PDF

Info

Publication number
CN117397228A
CN117397228A CN202180098913.XA CN202180098913A CN117397228A CN 117397228 A CN117397228 A CN 117397228A CN 202180098913 A CN202180098913 A CN 202180098913A CN 117397228 A CN117397228 A CN 117397228A
Authority
CN
China
Prior art keywords
computing device
message
status
call
wireless communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180098913.XA
Other languages
English (en)
Inventor
钦迈·多达普卡
阿姆鲁斯·拉马钱德兰
拉迪卡·阿格拉瓦尔
大卫·J·克劳斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN117397228A publication Critical patent/CN117397228A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1016IP multimedia subsystem [IMS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本文档描述了用于在通话期间交换状态消息的技术和设备。本文描述的技术利用计算设备通过无线通信网络与另一设备建立实时人对人媒体会话(例如,通话)。通过无线通信网络,计算设备可以执行握手过程以确定另一设备是否支持媒体会话期间的状态消息的交换。如果两个设备都支持,则计算设备可以使用例如实时传输协议(RTP)报头扩展和/或未使用的双音多频(DTMF)数字(例如,数字A、B、C或D)来交换状态消息。

Description

在通话期间交换状态消息
背景技术
计算设备(例如,智能电话)可以通过通信网络与另一计算设备进行通信。例如,出于实时人对人媒体会话(例如,通话)的目的,第一计算设备可以通过通信网络连接到第二计算设备。在一些情况下,第一计算设备可以在通话期间尝试与第二计算设备交换信息以传送第一计算设备的状态信息(例如,设备状态、连接质量、自定义消息)。然而,通过通信网络的这种信息交换通常包括可以修改或忽略不被理解的信息的代理(例如,移动互联网协议(IP)代理、防火墙)。例如,“电池电量低”的消息能够被代理(proxy)阻止,从而防止设备接收该信息并且防止用户实时理解例如通话质量问题(例如,掉话)的原因。因此,存在阻止计算设备在通话期间交换信息的屏障。
发明内容
本文档描述了用于在实时人对人媒体会话(诸如通话或视频通话)期间交换状态消息的技术和设备。本文所描述的技术利用计算设备例如使用因特网协议多媒体核心网络子系统(IMS)架构框架,通过无线通信网络(例如,使用一个或多个基站、对等网络)与另一设备建立实时人对人媒体会话。为了便于描述,实时人对人媒体会话在本公开中将通常被称为通话。在通话期间,计算设备可以与另一设备交换状态消息,例如,不需要修改现有标准(例如,机械、软件、网络)或不需要改变载波基础设施(例如,通过长期演进(LTE)、5G新无线电(NR)或无线局域网)。为了实现状态消息的交换,计算设备执行握手过程以与另一计算设备建立设备到设备通信。握手过程还可以用于确定另一设备是否支持使用例如实时传输协议(RTP)报头扩展或未使用的双音多频(DTMF)数字(digit)(例如,数字A、B、C或D)来交换状态消息。
下面描述的方面包括用于在通话期间交换状态消息的技术。示例方法由第一计算设备执行,并且包括接收无线通信网络中的注册,然后通过无线通信网络与第二计算设备建立实时人对人媒体会话。握手过程由第一计算设备执行以确定第二计算设备是否支持第一计算设备与第二计算设备之间的状态消息的交换。第一计算设备还生成包括第一计算设备的状态信息的状态消息。如果第二计算设备支持状态消息的交换,则第一计算设备将第一消息发送到第二计算设备。
提供本发明内容以引入用于在通话期间交换状态消息的简化概念,这将在下面的具体实施方式和附图中进一步描述。本发明内容不旨在标识所要求保护的主题的必要特征,也不旨在用于确定所要求保护的主题的范围。
附图说明
参考以下图描述了用于在通话期间交换状态消息的技术和装置:
图1图示了根据本公开的技术和计算设备的在通话期间可以由连接的计算设备交换状态消息的示例性环境;
图2图示了根据本公开的在通话期间交换状态消息的技术的示例性计算设备;
图3图示了可以用于在通话期间建立设备到设备通信(例如,状态消息的交换)的示例性握手过程;
图4图示了可以在设备到设备通信期间使用以交换一个或多个状态消息的示例性RTP报头扩展;
图5图示了可以在通话期间使用未使用的DTMF数字交换的示例性状态消息;
图6图示了可以用于在通话期间使用RTP报头扩展和/或未使用的DTMF数字建立设备到设备通信的示例性回退协议序列;
图7图示了可以被包括在状态消息中的示例性状态信息;
图8图示了允许用户选择隐私选项的消息模块的示例性状态共享控件;
图9图示了根据本公开的技术和计算设备的由第一计算设备执行的用于在通话期间交换状态消息的示例性方法;以及
图10图示了实施在通话期间交换状态消息的技术或者其中能够实现技术使得能够使用在通话期间交换状态消息的技术的示例性计算系统。
通过附图在不同实例中使用相同的附图标记可以指代相同的特征和组件。
具体实施方式
概述
计算设备可以尝试在实时人对人媒体会话(例如,通话或视频通话,在本文中为简洁起见被称作“通话(call)”)期间与另一计算设备交换状态消息,通过其传送设备的状态信息。该状态信息可以帮助另一计算设备例如减轻通话质量问题并改善用户体验。在示例中,第一设备可以在通话期间向第二设备传输状态消息以交换通话质量信息。状态消息可以包括以下中的一个或多个:设备健康信息(例如,电池电量)、网络质量、用户输入、通话的连接质量、自定义消息,或者用于识别和减轻本地设备上的通话质量问题的其它信息。然而,设备经由通信网络的这种状态消息的交换通常包括可以修改或忽略不被理解的状态消息(例如,由于未辨识的字符、格式或特征)的代理(proxy)。代理(例如,IP代理、防火墙)可以用作例如计算设备和服务器之间的中间物,以改善请求的隐私、安全性和/或负载平衡。在当前示例中,代理可以阻止由第一设备向第二设备发送的“电池电量低”的状态消息,从而阻止第二设备接收该信息。如果通话掉线,则第二设备的用户可能会想知道通话为什么结束以及是否是他们的设备有问题,而实际上,状态消息可能会指示通话由于第一设备的低电池电量而掉线。因此,存在阻止计算设备在通话期间交换状态消息的屏障。
为了解决这些挑战,本文档描述了用于在通话期间交换状态消息的技术以及被配置为利用这些技术的装置。在各方面中,状态消息的交换由第一计算设备和第二计算设备实时执行,所述第一计算设备和第二计算设备在本文档中被分别简称为第一设备和第二设备。本文所描述的技术可以利用第一设备通过无线通信网络与第二设备建立实时人对人媒体会话(例如,通话)。第一设备可以执行握手过程的操作以确立第二设备例如在通话期间是否支持状态消息的交换(例如,设备到设备通信)。握手过程可以包括从第一设备向第二设备传输请求消息(例如,探测),然后等待来自第二设备的响应消息。第一设备可以在持续时间内(例如,重复地)重传请求消息,因为在无线通信网络上可能无法保证请求的递送。如果第一设备在持续时间内接收到响应消息,则第一设备可以确定第二设备支持状态消息的交换。另外,所述第二设备可以执行与握手过程相关联的操作,该操作包括在接收到请求消息时,确定所述第一设备支持设备到设备通信。第二设备还可以向第一设备传输消息响应。在建立设备到设备通信之后,一个设备或设备两者可以开始交换状态消息。
通过无线通信网络,计算设备可以与另一设备交换状态消息,而不需要修改现有标准(例如,机械、软件、网络)或不需要对载波基础设施(例如,通过长期演进(LTE)、5G新无线电(5G NR)或无线局域网)的任何改变。另外,设备可以使用握手过程来确定通话中的另一设备是否支持交换状态消息,例如,使用RTP报头扩展和/或未使用的DTMF数字(例如,数字A、B、C或D),这两者通常被现有的计算设备标准支持。在设备不支持RTP报头扩展或未使用的DTMF数字中的一个或多个的情况下,握手过程还可以包括偶然性(例如,回退)操作。
示例性环境
图1图示了根据本公开的技术和计算设备的示例性环境100,其中状态消息可以在通话期间由连接的计算设备交换。示例性环境100包括通过一个或多个无线通信链路110(无线链路110)(被图示为无线链路110-1)与第一基站106通信的第一计算设备102-1(设备102-1)。示例性环境100进一步包括通过一个或多个无线链路110(被图示为无线链路110-2)与第二基站108通信的第二计算设备102-2(设备102-2)。为了便于描述,第一设备102-1和第二设备102-2可以各自被称为计算设备102,并且第一基站106和第二基站108被统称为基站104。
宏小区、微小区、小型小区、微微小区、分布式基站等或其任何组合或未来演进可以实现基站104(例如,演进型通用陆地无线电接入网络节点B、E-UTRAN节点B、演进节点B、eNodeB、eNB、下一代eNB、ng-eNB、下一代节点B、gNode B、gNB、基站收发器系统、无线局域网(WLAN)路由器、卫星、陆地电视广播塔、接入点、对等设备、充当基站的另一计算设备等)。基站104使用无线链路110与计算设备102通信,无线链路110可以被实现为任何合适类型的无线链路。无线链路110可以包括控制和数据通信,诸如从基站104传送给计算设备102的数据和控制信息的下行链路、从计算设备102传送给基站104的其他数据和控制信息的上行链路、或这两者。无线链路110可以包括使用任何合适的通信协议或标准、或通信协议或标准的组合——诸如第三代合作伙伴计划长期演进(3GPP LTE)、5G NR等——实现的一个或多个无线链路(例如,无线电链路)或承载。
基站104(第一基站106、第二基站108)统称为无线电接入网络118(例如,RAN、演进型通用陆地无线电接入网络、E-UTRAN、5G NR RAN或NR RAN)。RAN 118中的基站106和108连接到核心网络112(例如,对于语音、图像、视频、文本、消息传递等能够与其它网络对接的IMS架构框架)。基站106和108可以分别在120和122处通过用于控制平面信令的NG2接口连接到核心网络112,该NG2接口在连接到5G核心网络时使用用于用户平面数据通信的NG3接口、在连接到演进型分组核心(EPC)网络时使用用于控制平面信令和用户平面数据通信的S1接口等中的任何一个。在124处,基站106和108可以通过Xn接口使用Xn应用协议(XnAP)进行通信、通过X2接口使用X2应用协议(X2AP)进行通信以交换用户平面和控制平面数据等。计算设备102可以使用核心网络112连接到包括互联网114的公共网络,以与远程服务116交互。
所公开的在通话期间交换状态消息的技术可以由第一设备102-1或第二设备102-2中的一个或多个执行。在示例性环境100中,第一设备102-1利用无线链路110-1来执行信令并通过(例如,使用基站104的)通信网络与第二设备102-2建立(例如,使用IMS架构框架的)通话。例如,第一计算设备102-1可以向网络代理发送会话发起协议(SIP)邀请以请求在IMS网络中注册。
实时人对人媒体会话(通话)可以包括例如音频通话、视频通话、共享服务器上的连接、长期演进语音(VoLTE)通话、互联网协议语音(VoIP)通话、5G新无线电语音(VoNR)通话、语音(VoWiFi)通话等。通话的建立使得第一用户126-1能够利用其相应的计算设备102与第二用户126-2通信。为了便于描述,第一用户126-1和第二用户126-2可以各自被称为用户126。
在示例性环境100中,第一设备102-1和第二设备102-2可以执行握手过程的操作以确定另一设备在通话期间是否支持设备到设备通信。如果确定两个设备都支持设备到设备通信,则第一设备102-1和第二设备102-2可以在通话期间交换状态消息。此外,握手过程可以被用于确定另一设备是否支持使用RTP报头扩展和/或未使用的DTMF数字来交换状态消息,这两者通常被现有的计算设备102的标准支持。虽然在本公开中图示和描述的示例性计算设备是智能电话,但是其他类型的计算设备102也可以支持本文描述的技术,如参考图2进一步描述的。
示例性计算设备
图2图示了根据本公开的在通话期间交换状态消息的技术的示例性计算设备102。计算设备102以各种非限制示例性设备示出,包括台式计算机202-1、平板计算机202-2、膝上型计算机2023、电视202-4、计算手表202-5、计算眼镜202-6、游戏系统202-7、微波炉202-8和车辆202-9。还可以使用其他设备,包括家庭服务设备、智能扬声器、智能恒温器、安全相机、婴儿监视器、路由器、无人机、触控板、绘图板、上网本、电子阅读器、家庭自动化和控制系统、墙壁显示器、虚拟现实耳机和/或其他家用电器。计算设备102可以是可穿戴的、不可穿戴但移动的、或相对不移动的(例如,台式机、电器)。
计算设备102可以包括处理器204,处理器204包括例如中央处理单元(CPU)、数据处理单元(DPU)、图形处理单元(GPU)等中的一个或多个。计算设备102还可以包括分别用于向另一设备传输信号(例如,消息)和从另一设备接收信号的至少一个发射器206和至少一个接收器208。尽管未在图2中示出,但是计算设备102可以替代地包括将发射器206和接收器208的功能组合成一个特征的收发器。
计算设备102可以包括至少一个传感器210,其部分地用于确定可以被包括在通话期间交换的一个或多个状态消息中的状态信息(例如,计算设备102的场境信息)。传感器210可以包括例如相机、麦克风、扬声器、环境光传感器、生物计量传感器、加速度计、陀螺仪、磁力计、接近传感器、全球导航卫星系统(GNSS)传感器、触摸屏传感器、健康传感器、条形码扫描仪、快速响应(QR)码扫描仪、气压计、雷达传感器等。
图2所示的计算设备102还包括计算机可读介质(CRM)212。体现为CRM 212上的计算机可读指令的应用和/或操作系统(未示出)由处理器204执行并提供本文描述的一些功能。CRM 212可以包括用于引导计算设备102的消息模块214执行交换状态消息的技术的指令。特别地,消息模块214可以执行握手过程的操作,以在通话期间在设备之间交换状态消息之前建立设备到设备通信。
可以使用消息模块214的消息初始化器216来建立设备到设备通信。消息初始化器216可以通过指示消息生成器218生成可以使用发射器206传输到通话中的另一设备的请求消息来建立设备到设备通信。如果计算设备102使用接收器208接收到响应消息,则消息模块214的消息分析器220分析(例如,解码、转换)该消息作为对消息初始化器216的输入。一旦计算设备102与另一设备建立了设备到设备通信,消息生成器218和消息分析器220就可以附加地分别用于生成和分析在设备之间交换的状态消息。
设备到设备通信
为了在通话期间交换状态消息,可以由计算设备102(例如,第一设备102-1和第二设备102-2)使用握手过程来建立设备到设备通信。可以在不直接涉及用户126的情况下执行状态消息的交换(例如,由用户126感知的被动交换)。例如,第一设备102-1可以在与第二设备102-2的通话期间接收和/或传输一个或多个状态消息,而无需第一用户126-1或第二用户126-2直接执行交换。虽然第一设备102-1和第二设备102-2的示例性计算设备102支持示例性环境100中的状态消息的这种交换,但是一些计算设备102可能不支持这样的交换。因此,第一设备102-1可能需要在交换状态消息之前确定所连接的第二设备102-2是否支持设备到设备通信,如参考图3进一步描述的。
图3图示了可以用于在通话期间建立设备到设备通信(例如,状态消息的交换)的示例性握手过程300。示例性握手过程300被图示为由包括第一设备102-1和第二设备102-2的系统执行的操作(或动作)的集合。这些计算设备102中的一个或多个可以利用该计算设备102的相应消息模块214来实现所示的操作。示例性握手过程300不限于所示出的操作,并且能够根据需要重新布置、重复或消除以实现本文描述的技术。在300中描绘了两条生命线,其中由第一设备102-1执行的操作至少部分地围绕第一生命线取向或源自第一生命线,并且由第二设备102-2执行的操作至少部分地围绕第二生命线取向或源自第二生命线。
虽然示例性握手过程300可以由消息模块214的消息初始化器216执行,但是通常,示例性握手过程300可以由处理器204、CRM 212的另一模块或其任何组合执行。示例性握手过程300的操作可以在通话之前(通话前)、在拨打电话时(例如,在通话已经由第一设备发起之后但在第二设备连接到通话之前)和/或在通话期间执行。在建立设备到设备通信之后,可以在拨打通话时或在通话期间交换状态消息。通常,可以由用户基于例如用户需求在任何设备上手动启用或禁用设备到设备通信。在300中假设第一设备102-1已经启用了设备到设备通信特征,并且正在执行握手过程以部分地确定第二设备102-2是否也已经启用了该特征(如果该设备支持的话)。
在网络连接过程302-1处,第一设备102-1和第二设备102-2使用一个或多个基站(例如,基站104)、公共服务器、对等网络和/或实现本文描述的技术的客户端-服务器模型来建立到无线通信网络的连接(例如,使用无线链路110)。基站104可以实现到核心网络112的连接(例如,IMS网络连接)。例如,第一设备102-1可以请求在IMS网络中注册。
在通话连接过程302-2处,在建立到无线通信网络的连接时,在第一设备102-1和第二设备102-2之间建立实时人对人媒体会话(通话)。例如,第一设备102-1可以接收IMS网络中的注册,然后开始与第二设备102-2建立音频通话。通话可以包括音频通话、视频通话、共享服务器上的连接、VoLTE通话、VoIP通话、VoNR通话、VoWiFi通话等中的一个或多个。
第一设备102-1可以传输请求消息304(在300中图示为第一请求消息304-1)。该请求消息304可以包括一个或多个二进制数字(比特)、由第一设备102-1支持的消息传递协议(例如,设备到设备通信)的版本、音调、消息、指令集等,其可以被传输到所连接的第二设备102-2。第一设备102-1的消息初始化器216可以通过指示第一设备102-1使用发射器206将请求消息304传输到第二设备102-2以确定第二设备102-2是否支持在通话期间的状态消息的交换来建立设备到设备通信。
请求消息304可以由消息生成器218生成并且在持续时间内(例如,每40毫秒(ms)周期性地)重传,因为在无线通信网络上可能无法保证接收到请求。在该持续时间期间,可以由第一设备102-1执行第一接收-验证过程306(之后是响应过程308和第一确认过程310),以确定是否已经从第二设备102-2接收到响应消息312。如果在该持续时间内的给定时间尚未接收到响应消息312,则第一设备102-1可以重传请求消息304(在300中图示为另一请求消息304-N,其中,N表示大于一(unity)的整数值,其随着每次重传而单调增加)。第一设备102-1可以重传请求,直到第一设备102-1已经接收到响应消息312或者持续时间已经期满。请求消息304的重传可以基于用户需求(例如,节省电池电量)在持续时间内连续地、周期性地、在预定时间处或间歇地执行。
可以相对于从第一设备102-1传输第一请求消息304-1的时间来测量持续时间。特别地,在传输第一请求消息304-1时,可以将定时器触发到活动状态(例如,触发定时器的启动)。定时器(例如,计时系统)可以被用来对持续时间内的时间进行计数并且保持在活动状态中,直到持续时间期满或从第二设备102-2接收到响应消息312。在第一接收-验证过程306处,第一设备102-1可以另外确定定时器是处于活动状态还是不活动状态(例如,指示持续时间已经期满)。在该持续时间内的给定时间处,如果确定定时器处于活动状态并且尚未接收到响应消息312,则第一设备102-1可以重传请求消息304。
在示例性握手过程300中,如果第二设备102-2支持设备到设备通信,则可以执行响应过程308。在第一确认过程310处,第二设备102-2可以例如基于接收到请求消息304来确定第一设备102-1支持设备到设备通信。如果第二设备102-2从第一设备102-1接收到重传的请求消息(例如,304-N),则第二设备102-2可以忽略与第一接收到的请求消息304类似的任何附加请求。第二设备102-2可以将第一设备102-1的设备到设备通信设置存储在第二设备102-2(例如,CRM 212)上以供将来参考。
第二设备102-2还可以将响应消息312(在300中图示为第一响应消息312-1)传输到第一设备102-1,消息响应312包括一个或多个比特、由第二设备102-2支持的消息传递协议的版本、音调、消息、指令集等等,其类似于或不同于请求消息304。具体地,第二设备102-2的接收器208可以从第一设备102-1接收请求消息304,并且第二设备102-2的消息初始化器216可以确定第一设备102-1支持设备到设备通信。该消息初始化器216还可以指示消息生成器218生成可以使用第二设备102-2的发射器206传输到第一设备102-1的响应消息312。
在第二接收-验证过程314处,第二设备102-2可以在第二持续时间内重传响应消息312(在300中图示为另一请求消息312-M,其中M表示大于一的整数值,其随着每次重传而单调增加),因为在无线通信网络上可能无法保证接收到响应。第二设备102-2可以重传响应,直到设备到设备通信开始(例如,在第二设备102-2处从第一设备102-1接收到状态消息)或者第二持续时间已经期满。响应消息312的重传可以基于用户需求在第二持续时间内连续地、周期性地、在预定时间处或间歇地执行。第二持续时间可以与持续时间类似或不同。在传输第一响应消息312-1时,第二定时器也可以被触发到活动状态。第二定时器可以被用于对第二持续时间内的时间进行计数,并且保持在活动状态中,直到第二持续时间期满或者设备到设备通信开始(例如,从第一设备102-1接收到状态消息)。
在第二确认过程316处,第一设备102-1可以基于例如在持续时间内接收到响应消息312来确定第二设备102-2支持设备到设备通信。在做出该确定时,第一定时器可以由第一设备102-1触发到不活动状态。如果第一设备102-1从第二设备102-2接收重传的响应消息(例如,312-M),则第一设备102-1可以忽略类似于第一接收到的响应消息312的任何附加响应。第一设备102-1可以将第二设备102-2的设备到设备通信设置存储在第一设备102-1(例如,CRM 212)上以供将来参考。
通常,请求消息304和/或响应消息312可以是随机的、预定的、加密的(例如,为了隐私而编码),和/或包括关于传输设备的信息(例如,标识符)。虽然与示例性握手过程300的第一生命线相关联的操作被描述为由第一设备102-1执行,并且与第二生命线相关联的操作被描述为由第二设备102-2执行,但是通常,第二设备102-2可以执行第一生命线的操作,并且第一设备102-1可以执行第二生命线的操作。
在确定第二设备102-2支持设备到设备通信之后,第一设备102-1和第二设备102-2可以开始在通话期间交换状态消息。状态消息可以包括关于例如无线通信网络的状况(例如,IMS网络的状况)、通话的质量(例如,音频质量)、通话中的一个或多个设备的健康状态(例如,电池水平)、来自设备的用户的输入(例如,触觉输入、命令、用户设置)、自定义消息等中的一个或多个的状态信息。该状态信息可以由计算设备102使用例如在状态消息中交换的信息、(由消息分析器220执行的)对接收到的状态消息的分析、由一个或多个传感器210收集的信息、CRM 212的一个或多个附加模块(未示出)等来确定,而无需来自用户126的直接输入(例如,从用户126的角度的被动确定)。包括在状态消息中的状态信息可以附加地包括关于以下中的一个或多个的信息:失真的音频/视频信号、回声、间歇性音频/视频信号、静音、音频信号的音量或清晰度的变化、视频信号的降低的分辨率、延迟的音频/视频(例如,时延、滞后)、音频/视频干扰或静态噪声、背景噪声、无意的用户输入、一个或多个用户设置、用户命令、触觉输入、语音输入、手势输入、由用户选择以与另一设备共享的存储信息(例如,旅行信息、日历事件)、电池电量、一个或多个传感器的活动或不活动状态、麦克风的静音状态、扬声器的静音状态等。状态信息还可以包括如使用加速度计确定的用户的活动(例如,行走)、如由位置传感器确定的设备的位置、如由运动传感器确定的紧急信息(例如,车祸)等。
可以向计算设备102的用户126提供控件,所述控件允许用户126针对本文所述的系统、应用和/或特征是否以及何时可以启用对用户信息和/或设备信息(例如,偏好、存储的信息、设备的当前位置)的收集以及是否从服务器向用户126发送内容和/或通信进行选择。另外,某些数据可以在其被存储和/或使用之前以一种或多种方式被处理,使得个人可识别信息被移除。例如,可以处理用户126的身份,使得不能为用户126确定个人可识别信息。在另一示例中,可以在获得位置信息的情况下概括用户126的地理位置(例如,概括到城市、地区改进计划(ZIP)代码或州级别),使得不能确定用户126的特定位置。因此,用户126可以控制收集什么信息、如何使用该信息以及在通话中向设备提供什么信息。状态消息中的信息还可以由一个或多个计算设备102的软件应用(例如,电话簿应用)使用以改善用户体验。
在示例中,可以使用设备到设备通信来交换状态消息,以识别和减轻通话质量问题。通常,用户可能在不理解问题的原因或解决方案的情况下经历通话质量问题。例如,通话可能意外地掉线,使得用户想知道通话为什么结束以及他们的设备是否是问题的来源。可以在通话期间交换状态消息,以传送可以解决这些类型的通话质量问题的关于连接设备的场境信息。在当前示例中,设备可以使用设备到设备通信来发送“低电池电量”的状态消息,以向另一设备通知可能导致掉话的低水平电池电量。如果通话意外地结束,则用户可以从在状态消息中传输的信息中更好地理解掉话的原因(例如,另一设备由于电池电量水平不足而丢失电力)。
根据来自消息模块214的指令,可以由计算设备102的发射器206使用设备到设备通信在任何时间(例如,周期性地、在预定时间处、间歇地)传输状态消息。状态消息可以由消息生成器218生成,并且可以被加密以防止第三方(例如,与第一设备102-1和第二设备102-2不同的实体)访问设备的状态信息。计算设备102还可以在任何时间在计算设备102的接收器208处接收状态消息。消息分析器220可以对加密消息进行解码、转换状态消息中的信息,和/或执行分析过程以理解状态消息中的信息。
在示例中,第一设备102-1检测设备的电池电量水平的变化,并且处理器204指示消息模块214在通话期间使用设备到设备通信在第一设备102-1的状态信息中将该变化传送到所连接的第二设备102-2。第一设备102-1的消息生成器218可以生成状态消息(例如,“低电池电量”)以向第二设备102-2通知第一设备102-1具有低水平的电池电量。第一设备102-1可以加密该状态消息以由发射器206传输到第二设备102-2。第二设备102-2可以使用接收器208接收加密的消息,并且第二设备102-2的消息分析器220可以解码该消息并且确定第一设备102-1具有低电池电量。
如果第二设备102-2不支持设备到设备通信,则可以执行禁用过程318。在解除过程320处,第二设备102-2可以忽略来自第一设备102-1的请求消息304。即使第二设备102-2能够支持设备到设备通信,用户126(例如,第二用户126-2)也可能已经禁用了第二设备102-2上的该特征。在这种情况下,第二设备102-2仍然可以忽略请求消息304,如在解除过程320处所示出的。
在时间验证过程322处,第一设备102-1确定持续时间已期满(例如,使用定时器)且尚未从第二设备102-2接收到响应消息312。基于该确定,在第三确认过程324处,第一设备102-1可以确定第二设备102-2不支持设备到设备通信,并且可以禁用或抑制在通话期间的状态消息的交换。可以在该通话期间和/或在与第二设备102-2的未来通话期间使用例如在第一设备102-1的CRM 212上存储的第二设备102-2的设置来临时禁用设备到设备通信特征。例如,当与第三设备建立设备到设备通信时,可以再次启用该特征。
请求消息304、响应消息312和状态消息可以利用消息报头(例如,使用RTP报头扩展)和/或未使用的DTMF数字(例如,A-D的数字)。使用消息报头或未使用的DTMF数字,可以在不修改任何现有标准(例如,机械、软件、网络)和/或不需要对载波基础设施(例如,LTE、5G NR或无线局域网)进行任何改变的情况下执行示例性握手过程300的操作。此外,可以在设备之间交换状态消息,而不被运营电信系统的载波网络修改或阻止。
在示例中,可以使用包括至少一个RTP报头扩展的消息报头来执行设备到设备通信和握手过程。根据3GPP为电信系统设置的标准和规范,许多计算设备102支持用于通过IP网络递送音频和视频信息的RTP数据分组。例如,IMS网络可以允许使用IP网络将多媒体服务(例如,通话、文本、RTP消息)递送到另一设备。在该示例中,IMS网络使得RTP数据分组能够从第一计算设备(例如,第一设备102-1)递送到第二计算设备(例如,第二设备102-2)。RTP数据分组可以提供实现计算设备102之间的实时数据传输(例如,媒体流、电话会议应用等)的端到端网络传输功能。使用RTP数据分组来传输数据的操作可以包括:将数据结构化成数据分组,以实现跨IP网络的快速递送。在接收到数据分组之后,将数据重组成用于接收方计算设备的平滑流动的数据流。RTP数据分组可以包括向接收方计算设备通知如何重组数据的RTP报头。RTP报头可以包括例如报头扩展、协议版本、填充字节、贡献源标识、标记、有效载荷类型信息、序列号、时间戳等。
RTP规范要求接收方计算设备忽略不被理解的RTP报头。由于RTP报头携带独立信息(例如,不同于RTP有效载荷),因此忽略RTP报头并不影响数据(例如,音频数据、视频数据)的处理、解码或编码。消息(例如,包括状态信息)可以被包括在RTP报头扩展中,作为用于在计算设备102之间传输数据的技术。在示例性握手过程300中,第一设备102-1可以使用RTP报头扩展(例如,RTP请求)来传输请求消息304。RTP请求可以包括一个或多个信息比特,包括例如标识符(ID)、信息的长度和数据。由于在无线通信网络上可能无法保证RTP请求的递送,因此第一设备102-1可以在持续时间(例如,取决于捆绑,每20-40ms)内重传RTP请求。如果在该持续时间内在第一设备102-1处接收到使用RTP报头扩展的响应消息312(例如,RTP响应),则第一设备102-1可以避免重传RTP请求。在一些情况下,RTP报头扩展可以相对于例如未使用的DTMF数字,优先作为用于交换状态消息的主要技术。
图4图示了可以在设备到设备通信期间用于交换一个或多个状态消息的示例性RTP报头扩展400。使用RTP报头扩展交换的状态消息在本文中简称为RTP消息。RTP消息可以在无线通信网络上实时交换。图4图示了示例性RTP报头扩展400和示例性RTP扩展有效载荷402。根据由请求注解(RFC)5285记载的互联网标准,一字节报头扩展可以包括被标记为“由简档定义”的16比特简档特定标识符和16比特长度说明符(在400中图示为“长度=3”),该16位简档特定标识符采用0xBEDE的固定比特模式(在400中示出为“0xBE”和“0xDE”),该16比特长度说明符以32比特单位指示扩展的长度。通常,RTP扩展有效载荷可以包括4比特标识(ID),其包括在1-14(包括端点)的有效范围内的值、指示数据的字节数量(例如,包含8比特)的4比特长度,以及可选的填充(未示出)。
在示例性RTP报头扩展400中,第一ID被标记为“10”,第二ID被标记为“11”,并且第三ID被标记为“13”。这些ID可以对应于在设备到设备通信期间要被包括在一个或多个RTP消息中的不同类别的状态信息。例如,400中标记为“11”的ID可以表示关于通话中的设备的当前状态的信息(例如,电池电量、网络覆盖)。虽然示例性RTP报头扩展400图示了三个ID,但一般而言,RTP报头扩展可以包括1-14个ID,其中,每个ID可以表示与通话中的另一设备交换的一个或多个RTP消息相关联的不同类别的状态信息。
与示例性RTP报头扩展400中所示的每个ID相关联的数据的长度由“L=0”指定,其指示长度为零。然而,这些长度对应于以字节为单位测量的数据的实际长度减去一个字节。例如,“L=0”指示1字节数据的实际长度。另外,“L=15”(RFC 5285标准允许的最大长度)指示16字节(16个8比特的单位对应于总共128比特)的数据。由于402中的数据的实际长度是1字节,因此数据被图出为8比特数组。虽然未在图4中示出,但是RTP报头扩展可以包括用于填充特定大小的块的填充,这可能是加密算法所需要的。
在设备到设备通信期间,RTP报头扩展可以包含关于通话时所连接的计算设备102的信息,例如,使用如图4的示例性RTP扩展有效载荷402中所示的2字节数组。第一字节404包括4比特ID 406和4比特长度408,而第二字节410包括8比特数据。示例性RTP扩展有效载荷402包括[1011 0000 0001 0100]的2字节数组,其中,第一四元组(例如,4比特ID 406)包括[1011]的数组,其指示状态消息指代设备状态。第二四元组(例如,4比特长度408)包括[0000]的数组,其指代与数据相关联的1字节的有效载荷长度。第三四元组包括[0001]的数组,其表示例如随着通话期间新RTP消息的每次传输而单调增加的序列号412。第四四元组包括[0100]的数组,其可以表示指示计算设备102的“低电池电量”的消息数据414。
可以在设备到设备通信的开始处(例如,在第一RTP消息中)随机地选择序列号412以增强使用示例性RTP扩展有效载荷402交换的状态信息的安全性。序列号412可以由通话中的计算设备102独立地维护。类似于参考第一接收-验证过程306和第二接收-验证过程314描述的技术,可以在一段时间内重传RTP消息。具体地,在向第二设备102-2发送第一RTP消息时,消息模块214可以将第一设备102-1的消息定时器触发到活动状态。RTP消息可以在该时间段内(例如,每20-40ms周期性地、零星地、连续地、在被触发时)以例如相同的序列号412被重传,直到该时间段期满并且消息定时器切换回不活动状态。在该时间段期间,可以不向第二设备102-2传输新的RTP消息(例如,更新)。当传输经更新的RTP消息时,序列号412可以相对于先前RTP消息的序列号412单调地增加。如果接收到具有较旧序列号412的RTP消息(例如,相对于在当前时间接收到的最高值的序列号412的较低值),则可以忽略该RTP消息。
一般来说,且如402中所描绘,RTP扩展有效载荷中的信息比特可以包括1或0的值,其可以表示两个可能状态的逻辑值(例如,是/否、真/假、高电压/低电压)。例如,对于给定的4比特ID 406和4比特长度408,示例性RTP报头扩展400的消息数据414可以包括多达24=16个不同的RTP消息。RTP报头扩展是可选的,并且可以例如基于用户需求(例如,当设备的状态在当前时间相对于设备在先前时间的状态改变时)来传输RTP报头扩展。
在示例中,第一设备102-1可以在类似于400的RTP报头扩展中向第二设备102-2传输RTP消息,该RTP报头扩展包括三个RTP扩展有效载荷(例如,对应于图4中所图示的ID“10”、“11”和“12”)和三个RTP消息(给定“L=0”,每个RTP扩展有效载荷一个消息)。对应于ID“10”的第一RTP消息可以指示“LTE”,其指代由第一设备102-1利用的无线电接入技术(RAT)的类型。对应于ID“11”的第二RTP消息可以指示“良好网络覆盖”,其指代无线通信网络的状况。对应于ID“12”的第三RTP消息可以指示自定义消息。
在该示例中的稍后时间,从第一设备102-1向第二设备102-2传输更新的RTP报头扩展(例如,包含更新的RTP消息)。然而,此时,因为由第一设备102-1使用的RAT的类型尚未改变,所以不包括经更新的第一RTP消息,并且由于缺少新的自定义消息,所以也不再包括经更新的第三RTP消息。然而,对应于ID“11”的经更新的第二RTP消息被包括,并且指示由于在相对于先前时间的该稍后时间的网络覆盖的质量的改变而导致的“不良网络覆盖”。因此,包括经更新的第二RTP消息的经更新的RTP报头扩展可以被修改为“长度=1”,其指示单个RTP扩展有效载荷(例如,对于ID=“11”)。在该示例中,经更新的RTP报头扩展仅包括相对于在先前时间在RTP报头扩展中传输的状态信息,在当前时间已经改变的状态信息。
在通话期间的消息交换不限于包括RTP报头扩展的消息报头。可以使用未使用的DTMF数字来执行设备到设备通信和握手过程。由3GPP为电信系统设置的标准和规范还指示许多计算设备102可以协商并支持使用十五个数字(0-9、*、#、A、B、C和D)的DTMF信令。虽然用户126可以仅由计算设备102的键盘上的十二个数字(0-9、*和#)限制,但是附加的未使用的DTMF数字A-D可以在通话期间可用于设备到设备通信。
在示例性握手过程300中,第一设备102-1使用一个或多个未使用的DTMF数字来传输一个或多个请求消息304。请求可以包括例如参数标识符和参数值。参数标识符可以包括由数字A和/或B表示的基数为3的编码版本号,其由数字D终止。例如,参数值可以将由第一设备102-1支持的协议版本传送到第二设备102-2。数字A-C可以组合使用以标识协议版本,而数字D标识参数值的终止。例如,第一设备102-1在请求消息304中将“AD”传输到第二设备102-2以传送由第一设备102-1支持的IP版本1.0。如果第一设备102-1确定第二设备102-2支持使用未使用的DTMF数字的设备到设备通信,则第一设备102-1可以传输字母A-D的组合以在通话期间向第二设备102-2传送状态信息,如参考图5进一步描述的。
图5图示了可以使用未使用的DTMF数字在通话期间交换的示例性状态消息。图5中描绘的示例性DTMF数字500表示可以在计算设备102上可用的DTMF数字,其包括A-D的未使用的DTMF数字502。“ABBAD”的示例性DTMF消息504包括在第一数字位置中的DTMF标识符506“A”以标识消息的开始,以及在第五数字位置中的DTMF终止508“D”以标识消息的结束。第二、第三和第四数字可以形成由[XYZ]概括的DTMF数据数组510,其中,X可以表示参数类别,Y可以表示参数类型,而Z可以表示参数值。DTMF消息504“ABBAD”包括DTMF数据数组510“BBA”,其中,X=“B”可以指代设备状态,Y=“B”可以指代网络覆盖范围,且Z=“A”可以指代不良质量。因此,DTMF消息“ABBAD”指示设备正在经历不良网络覆盖。虽然本文描述的DTMF消息具有五个数字的长度,但是通常,DTMF消息可以包括小于或大于五的任何数量的数字以形成替代数组(例如,A[X]D的数组、A[UVWXYZ]D的数组等)。另外,DTMF消息的各个数字可以根据考虑到载波要求的定时间隔来传输。
当计算设备102在通话中向另一设备传输DTMF消息时,可以在一段时间内重传DTMF消息或其方面(例如,DTMF消息的数字子集),类似于参考RTP报头扩展描述的技术。具体地,在向第二设备102-2传输第一DTMF消息时,消息模块214可以将第一设备102-1的消息定时器触发到活动状态。重传的DTMF消息可以包括DTMF数据数组510,例如,没有DTMF标识符506或DTMF终止508。DTMF数据数组510可以在一段时间内重传(例如,每20-40ms周期性地、零星地、连续地、在被触发时),例如,直到该时间段期满并且消息定时器切换回不活动状态。为了结束DTMF消息(例如,在检测到定时器的不活动状态时),例如,可以传输DTMF终止508。在该时间段期间,可以不将新DTMF消息(例如,更新)传输到第二设备102-2。如果第二设备102-2在接收到DTMF标识符506和接收到DTMF终止508之间没有接收到附加数字(例如,DTMF数据数组510的数字),或者没有接收到以由设备识别的格式(例如,数组)的数字,则第二设备102-2可以忽略这些接收到的数字。如果在通话期间使用未使用的DTMF数字来交换状态消息,则两个设备可以避免播放与DTMF数字A-D相关联的音调以改善用户体验。未使用的DTMF数字可以被优先化为相对于RTP报头扩展的用于交换状态消息的次要技术,以防止无线通信网络的拥塞,如参考图6进一步描述的。
图6图示了可以用于在通话期间使用RTP报头扩展和/或未使用的DTMF数字来建立设备到设备通信的示例性回退协议序列600。序列600在通话期间为计算设备102提供应急(例如,回退)协议。序列600被图示为由包括第一设备102-1和第二设备102-2的系统执行的操作(或动作)的集合。这些计算设备102中的一个或多个可以利用该计算设备102的相应消息模块214来实现所示的操作。示例性回退协议序列600不限于所示出的操作,并且可以根据需要重新布置、重复或消除以实现本文描述的技术。在示例性回退协议序列600中描绘了两个生命线,其中由第一设备102-1执行的操作至少部分地围绕第一生命线取向或源自第一生命线,并且由第二设备102-2执行的操作至少部分地围绕第二生命线取向或源自第二生命线。序列600可以由两个设备的相应消息模块214的消息初始化器216执行。序列600类似于图3的示例性握手过程300,除了下面描述的方式之外。
在网络连接过程602处,第一设备102-1和第二设备102-2使用一个或多个基站(例如,基站104)、公共服务器、对等网络和/或客户端-服务器模型来建立到无线通信网络的连接(例如,使用无线链路110)。基站104可以实现到核心网络112的连接(例如,IMS网络连接)。还可以在第一设备102-1与第二设备102-2之间建立实时人对人媒体会话(通话)。
第一设备102-1可以使用包括RTP报头扩展的消息报头来传输请求消息304(例如,RTP请求604-N,其中N表示随着每次重传而单调增加的整数值)。尽管未描绘,但可以在一持续时间内,如参考图4所述,重传该RTP请求604-N。例如,在传输RTP请求604-N时,可以将第一定时器(例如,用于对持续时间进行计数)触发到活动状态。第一定时器可以保持在活动状态,直到从第二设备102-2接收到RTP响应或者持续时间期满。
在示例性回退协议序列600中,如果第二设备102-2支持使用RTP报头扩展的设备到设备通信,则执行RTP响应过程606。在第一确认过程608处,第二设备102-2可以例如基于接收到RTP请求604-N来确定第一设备102-1支持使用RTP报头扩展的设备到设备通信。第二设备102-2还可以向第一设备102-1传输RTP响应610-M(其中M表示如由第二定时器测量的在第二持续时间期间随着每次重传单调增加的整数值),其类似于或不同于RTP请求604-N。在第二确认过程612处,第一设备102-1可以基于例如在持续时间内接收到RTP响应610-M,确定第二设备102-2支持使用RTP报头扩展的设备到设备通信。在做出该确定后,例如,第一定时器可以由第一设备102-1触发到不活动状态,并且第一设备102-1还可以在通话期间使用RTP报头扩展开始与第二设备102-2交换状态消息。
如果第二设备102-2不支持使用RTP报头扩展的设备到设备通信,则可以执行RTP禁用过程614。在RTP解除过程616处,第二设备102-2可以忽略RTP请求604-N和从第一设备102-1接收的任何重传的请求。在时间验证过程618处,第一设备102-1可以确定持续时间已经期满(例如,使用第一定时器)并且尚未接收到RTP响应610-M。基于该确定,在第三确认过程620处,第一设备102-1可以确定第二设备102-2不支持使用RTP报头扩展的设备到设备通信(或者用户已经禁用其本地设备上的该特征),并且可以禁用或抑制使用RTP报头扩展的状态消息的交换。然后,第一设备102-1可以传输包括未使用的DTMF数字的请求消息304(例如,DTMF请求622-P,其中P表示随着每次重传单调增加的整数值)。尽管未示出,但是该DTMF请求622-P可以在第三持续时间内如参考图5所描述的那样被重传。例如,在传输DTMF请求622-P时,可以将第三定时器(例如,用于对第三持续时间进行计数)触发到活动状态。第三定时器可以保持在活动状态中,直到第一设备102-1接收到DTMF响应或者第三持续时间期满。
在示例性回退协议序列600中,如果第二设备102-2支持使用未使用的DTMF数字的设备到设备通信,则可以执行DTMF响应过程624。在第四确认过程626处,第二设备102-2可以例如基于接收到DTMF请求622-P来确定第一设备102-1支持使用未使用的DTMF数字的设备到设备通信。第二设备102-2还可以向第一设备102-1传输与DTMF请求622-P类似或不同的DTMF响应628-R(其中R表示在如由第四定时器测量的第四持续时间期间随着每次重传单调增加的整数值)。在第五确认过程630处,第一设备102-1可以基于例如在第三持续时间内接收到DTMF响应628-R来确定第二设备102-2支持使用未使用的DTMF数字的设备到设备通信。在做出该确定时,第三定时器可以被触发到不活动状态,并且第一设备102-1可以在通话期间使用未使用的DTMF数字开始与第二设备102-2交换状态消息。
如果第二设备102-2不支持使用未使用的DTMF数字的设备到设备通信,则可以执行DTMF禁用过程632。在DTMF解除过程634处,第二设备102-2可以忽略DTMF请求622-P和来自第一设备102-1的任何重传的请求。在第二时间验证过程636处,第一设备102-1可以确定第三持续时间已经期满(例如,使用第三定时器)且尚未从第二设备102-2接收到DTMF响应628-R。基于该确定,第一设备102-1在第六确认过程638处可以确定第二设备102-2不支持使用未使用的DTMF数字的设备到设备通信,并且可以禁用或抑制使用未使用的DTMF数字的状态消息的交换。
如果出现不兼容状况,包括例如紧急通话、请求者通话、会议、检测到单个无线电语音连续性(SRVCC)的活动状态等,则计算设备102可以在任何时间禁用设备到设备通信。在这些情况下,其他连接设备(例如,紧急运营商的陆线电话)通常不支持在通话期间交换状态消息,并且可能无法受益于本文描述的技术。
如果两个设备(例如,第一设备102-1和第二设备102-2)都在共享服务器上,则还可以简化图3中所示的握手过程。在这种情况下,第一设备102-1连接到共享服务器,并且确定第二设备102-2也连接到共享服务器。这两个设备可以开始通过共享服务器交换状态消息。
图7图示了可以被包括在状态消息中的示例性状态信息。在示例性环境702、704、706和708处示出了状态信息的示例,其可以由消息模块214使用以生成要在通话中与另一设备交换的消息。状态信息可以链接到计算设备102上的其他应用或程序(例如,与电话簿应用、消息传递应用等共享)。
在示例性环境702处,在与第二设备102-2的通话期间,第一设备102-1已经被移动到远离基站(例如,104)的远程位置(例如,森林),导致第一设备102-1的连接性差。消息模块214可以在状态消息中将关于第一设备102-1的不良连接性的状态信息传输到第二设备102-2。
在示例性环境704处,基站104连接到大量用户设备,导致拥塞的网络。当第一设备102-1使用该基站104建立网络连接时,可能发生一个或多个通话质量问题,导致例如音频/视频内容的时延或掉话。基于来自例如传感器210的关于无线通信网络的当前质量的输入,消息模块214可以在通过拥塞的网络建立通话时确定要与另一设备交换的包括网络质量信息的状态消息。
在示例性环境706处,第一用户126-1与第二用户126-2(例如,John)正在通话,并且第一用户126-1通过用他们的手部分地覆盖第一设备102-1的麦克风710而开始无意地使通话的音频失真。例如,第一设备102-1的传感器210(例如,触摸传感器、雷达传感器、超声传感器、环境光传感器)可以检测麦克风710的这种遮挡,并且消息模块214可以生成一个或多个状态消息以将该状态信息传送到第二设备102-2以启用第二设备102-2。
在示例性环境708处,第一设备102-1具有低电池电量,这可能导致与第二设备102-2的掉话。基于对第一设备102-1的消息模块214的输入(例如,电池电量信息),消息生成器218可以生成要与第二设备102-2交换的状态消息,以传送第一设备102-1的低电池电量。
要包括在一个或多个状态消息中的状态信息不限于图7中描绘的示例,并且下面描述附加示例。在示例(未描绘)中,消息模块214可以接收指示第一用户126-1如由计算设备102的一个或多个传感器210所确定的在工作时间期间处于其指定工作场所的状态信息。消息生成器218可以生成要与另一设备交换的状态消息,以传送第一用户126-1正忙于工作。在另一示例(未描绘)中,消息模块214可以接收指示第一用户126-1在常规睡眠时间期间在他们在伦敦的家中的状态信息。消息生成器218可以生成要与另一设备交换的状态消息以传送其是“伦敦的就寝时间”。在另外的示例(未描绘)中,消息模块214可以接收状态信息,该状态信息指示基于第一设备102-1的应用中存储的日历事件,第一用户126-1计划在下午2:00与他们的家人一起吃午餐。消息生成器218可以生成要与另一设备交换的状态消息,以传送第一用户126-1正在与其家人一起吃午餐。为了保护用户126的状态信息,参考图8描述隐私设置。
图8图示了允许用户选择隐私选项的消息模块214的示例性状态共享控件。在示例性环境800处,消息模块214为用户提供选择进入或退出设备到设备通信的选项。如果用户126选择退出,则如果另一连接的设备尝试建立设备到设备通信,可以由计算设备102执行解除过程318。如果用户126选择进入设备到设备通信,则可以向用户126提供附加控件以修改与另一设备共享的信息。在示例性环境802处,用户126可以自定义在通话期间与联系人共享的选择信息。如果用户126选择不与所有联系人共享信息(如802所示),则用户126可以为各个联系人自定义他们的共享设置。例如,用户126可以选择在通话期间与其共享信息的特定联系人(例如,John)。尽管未描绘,但是还可以向用户126提供控件以监视由消息模块214收集的信息并且随时间设置存储在计算设备102上的信息的偏好。
用于在通话期间交换状态消息的技术不限于图1至图8所示的示例。参考图9更一般地描述这些技术。
示例性方法
图9图示了根据本公开的技术和计算设备的由第一计算设备执行的用于在通话期间交换状态消息的示例性方法900。方法900被示为所执行的操作(或动作)的集合,并且不一定限于本文示出操作的顺序或组合。此外,可以重复、组合、重新组织或链接一个或多个操作中的任何一个,以提供广泛的附加和/或替代方法。在以下讨论的部分中,可以参考图1-6中详述的环境和实体,对图1-6的参考仅是示例性的。技术不限于由在一个计算设备102上操作的一个实体或多个实体执行。
在902处,第一计算设备接收无线通信网络中的注册。例如,第一设备102-1接收无线通信网络中的注册,以使用基站104(例如,使用无线链路110)建立到核心网络112的网络连接,如图1的示例性环境100中所描绘的。核心网络112可以包括IMS网络支持服务,该IMS网络支持服务可以与其他网络对接以用于语音、图像、视频、文本、消息传递等。
在904处,第一计算设备通过无线通信网络与第二计算设备建立实时人对人媒体会话。例如,第一设备102-1通过IMS网络与第二设备102-2建立通话。例如,可以响应于接收IMS网络中的注册来建立通话,如参考图3的通话连接过程302-2所描述的。
在906处,第一计算设备与第二计算设备执行握手过程,以确定第二计算设备是否支持在第一计算设备与第二计算设备之间的状态消息的交换。例如,第一设备102-1执行图3中所示的示例性握手过程300以确定第二设备102-2是否支持通话期间的状态消息的交换。握手过程可以由计算设备102使用RTP报头扩展来执行,以确定另一设备是否支持使用RTP报头扩展来交换状态消息。握手过程还可以由计算设备102使用A-D的未使用的DTMF数字来执行,以确定另一设备是否支持使用未使用的DTMF数字来交换状态消息。
在908处,第一计算设备生成状态消息。例如,第一设备102-1使用消息模块214的消息生成器218生成状态消息。可以使用例如RTP报头扩展和/或A-D的未使用的DTMF数字来生成状态消息。状态消息可以包括关于例如无线通信网络的状况、通话的质量、通话中的一个或多个设备的健康状态、来自用户的输入、自定义消息等中的一个或多个的实时状态信息。
在910处,响应于确定第二计算设备支持在第一计算设备与第二计算设备之间的状态消息的交换,第一计算设备将状态消息发送到第二计算设备。例如,第一设备102-1使用发射器206通过IMS网络将状态消息传输到第二设备102-2。状态消息被传输到第二设备102-2以使得第二设备102-2能够减轻通话的通话质量问题(例如,音频干扰)。
示例性计算系统
图10图示了实施在通话期间交换状态消息的技术或者在其中能够实现技术使得能够使用在通话期间交换状态消息的技术的示例性计算系统1000。示例性计算系统1000可以被实现为如参考图2所描述的任何类型的客户端、服务器和/或计算设备。
计算系统1000可以包括设备数据1002(例如,接收到的数据、正在接收的数据、被调度用于广播的数据、数据的数据分组)。设备数据1002或其他设备内容可以包括设备的配置设置、存储在设备上的媒体内容和/或与设备的用户相关联的信息。存储在计算系统1000上的媒体内容可以包括任何类型的音频、视频、文本和/或图像数据。计算系统1000可以包括一个或多个数据输入1004,通过该一个或多个数据输入1004可以接收任何类型的数据、媒体内容和/或输入,包括用户可选输入(显式或隐式)、消息、音乐、电视媒体内容、记录的视频内容以及从任何内容和/或数据源接收的任何其他类型的音频、视频、文本和/或图像数据。
计算系统1000还可以包括通信接口1006,其可以被实现为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器和任何其他类型的通信接口中的任何一个或多个。通信接口1006提供计算系统1000与通信网络之间的连接和/或通信链路,其他电子、计算和通信设备通过该通信网络与计算系统1000传送数据。
计算系统1000可以包括一个或多个处理器808(例如,微处理器、控制器等中的任何一个),其处理各种计算机可执行指令以控制计算系统1000的操作并且实现用于在通话期间交换状态消息的技术或者可以体现在其中的技术。替代地或附加地,计算系统1000可以用结合处理和控制电路实现的硬件、固件或固定逻辑电路中的任何一个或组合来实现,其通常在1010处标识。尽管未示出,但是计算系统1000可以包括耦合设备内的各种组件的系统总线或数据传输系统。系统总线可以包括不同总线结构中的任何一个或组合,包括存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任何一种的处理器或本地总线。
计算系统1000可以另外包括计算机可读介质212,其包括实现持久和/或非暂时性数据存储(例如,与仅仅信号传输相反)的一个或多个存储器设备,其示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存、EPROM、EEPROM等中的任何一个或多个)和磁盘存储设备。磁盘存储设备可以被实现为任何类型的磁或光存储设备,包括硬盘驱动器、可记录和/或可重写压缩盘(CD)、任何类型的数字通用盘(DVD)等。计算系统1000还可以包括大容量存储介质设备(存储介质)1012。计算机可读介质212提供数据存储机制以存储设备数据1002以及各种设备应用1014和与计算系统1000的操作方面相关的任何其他类型的信息和/或数据。例如,操作系统1016被维持为具有计算机可读介质212并且在处理器808上执行的计算机应用。设备应用1014可以包括设备管理器,包括任何形式的控制应用、软件应用、信号处理和控制模块、特定设备本地的代码、特定设备的硬件抽象层等。使用计算机可读介质212的消息模块214,计算系统1000可以与另一计算系统在通话期间交换状态消息。
结论
尽管已经以特定于特征和/或方法的语言描述了用于在通话期间交换状态消息的技术和设备,但是应当理解,所附权利要求的主题不必限于所描述的特定特征或方法。相反,具体特征和方法被公开为在通话期间交换状态消息的示例性实现。
下面描述一些示例。
示例1:一种由第一计算设备执行的方法,所述方法包括:接收无线通信网络中的注册;通过所述无线通信网络与第二计算设备建立实时人对人媒体会话;与所述第二计算设备执行握手过程,所述握手过程被执行以确定所述第二计算设备是否支持在所述第二计算设备与所述第一计算设备之间的状态消息的交换;生成状态消息,所述状态消息包括所述第一计算设备的状态信息;以及响应于确定所述第二计算设备支持在所述第二计算设备与所述第一计算设备之间的所述状态消息的交换,通过所述无线通信网络将状态消息发送到所述第二计算设备。
示例2:如示例1所述的方法,其中:接收无线通信网络中的注册包括接收在互联网协议多媒体核心网络子系统IMS网络中的注册;建立所述实时人对人媒体会话包括通过所述IMS网络与所述第二计算设备建立音频通话;以及将所述状态消息发送到所述第二计算设备包括通过所述IMS网络将所述状态消息发送到所述第二计算设备,所述状态消息进一步包括关于实时的所述音频通话的状况的信息,并且使得所述第二计算设备能够减轻所述音频通话的通话质量问题。
示例3:如任一前述示例所述的方法,其中,所述状态消息被发送到所述第二计算设备以使得所述第二计算设备能够使用所述第一计算设备的所述状态信息来识别所述实时人对人媒体会话的通话质量问题。
示例4:如任一前述示例所述的方法,其中,所述握手过程包括:通过所述无线通信网络向所述第二计算设备发送请求消息,所发送的请求消息请求在所述第二计算设备与所述第一计算设备之间的状态消息的交换;或通过所述无线通信网络从所述第二计算设备接收请求消息,所接收的请求消息请求在所述第二计算设备与所述第一计算设备之间的状态消息的交换。
示例5:如示例4所述的方法,其中,所述握手过程进一步包括:响应于向所述第二计算设备发送请求消息,通过所述无线通信网络从所述第二计算设备接收响应消息,所接收的响应消息指示所述第二计算设备支持在所述第二计算设备与所述第一计算设备之间的状态消息的交换;或响应于从所述第二计算设备接收请求消息,通过所述无线通信网络向所述第二计算设备发送响应消息,所发送的响应消息指示所述第一计算设备支持在所述第二计算设备与所述第一计算设备之间的状态消息的交换。
示例6:如任一前述示例所述的方法,所述方法进一步包括从所述第二计算设备接收第二状态消息,所接收的第二状态消息包括所述第二计算设备的状态信息。
示例7:如任一前述示例所述的方法,其中:执行所述握手过程包括使用A、B、C或D的一个或多个双音多频DTMF数字;以及发送所述状态消息包括:生成包括A、B、C或D的一个或多个DTMF数字的DTMF状态消息;以及通过所述无线通信网络将所述DTMF状态消息发送到所述第二计算设备。
示例8:如示例1至5中的任一项所述的方法,其中:执行所述握手过程包括使用实时传输协议RTP报头扩展;以及发送所述状态消息包括:生成包括RTP报头扩展的RTP状态消息;将所述第一计算设备的所述状态信息插入到所述RTP报头扩展中;以及使用RTP报头扩展通过所述无线通信网络将所述RTP状态消息发送到所述第二计算设备。
示例9:如示例8所述的方法,所述方法进一步包括:响应于确定所述第二计算设备不支持使用RTP报头扩展的在所述第二计算设备与所述第一计算设备之间的状态消息的交换,执行第二握手过程以确定所述第二计算设备是否支持使用A、B、C或D的一个或多个DTMF数字的在所述第二计算设备与所述第一计算设备之间的状态消息的交换。
示例10:如任一前述示例所述的方法,所述方法进一步包括通过执行以下中的至少一个来确定所述第一计算设备的所述状态信息:确定所述无线通信网络的状况;确定所述实时人对人媒体会话的质量;确定所述第一计算设备的健康状态,所述健康状态指示所述第一计算设备执行所述实时人对人媒体会话的能力;确定来自用户的对所述第一计算设备的至少一个输入;或确定自定义消息。
示例11:如示例9所述的方法,其中,使用所述第一计算设备的至少一个传感器来确定所述第一计算设备的所述状态信息。
示例12:如示例10或11所述的方法,所述方法进一步包括:当与在较早时间处的所述第一计算设备的所述状态信息比较时,确定在当前时间处的所述第一计算设备的所述状态信息的变化;生成另一状态消息以发送到所述第二计算设备,所述另一状态消息包括所确定的所述第一计算设备的所述状态信息的变化;以及响应于确定所述第二计算设备支持在所述第二计算设备与所述第一计算设备之间的所述状态消息的交换,将所述另一状态消息发送到所述第二计算设备,所确定的所述第一计算设备的所述状态信息的变化使得所述第二计算设备能够减轻所述实时人对人媒体会话的通话质量问题。
示例13:如任一前述示例所述的方法,所述方法进一步包括对所述状态消息进行编码以防止第三方访问所述第一计算设备的所述状态信息,所述第三方不同于所述第一计算设备并且不同于所述第二计算设备。
示例14:如示例5至13中的任一项所述的方法,其中,所述握手过程进一步包括:在通过所述无线通信网络向所述第二计算设备发送所述请求消息时触发定时器的活动状态,所述定时器被配置为在持续时间内保持在所述活动状态,并且在所述持续时间期满时改变为不活动状态;响应于确定所述定时器处于所述活动状态,在所述持续时间内向所述第二计算设备重新发送所述请求消息;以及响应于通过所述无线通信网络从所述第二计算设备接收到所述响应消息,触发所述定时器的所述不活动状态。
示例15:如任一前述示例所述的方法,进一步包括:在发送所述状态消息之前,使用所述第一计算设备的所述状态信息生成所述状态消息。
示例16:如任一前述示例所述的方法,其中,所述实时人对人媒体会话包括以下中的至少一个:音频通话;视频通话;共享服务器上的连接;VoLTE通话;VoIP通话;VoNR通话;或VoWiFi通话。
示例17:一种计算设备,包括:至少一个处理器;以及包括指令的计算机可读存储介质,所述指令响应于由所述处理器执行而用于引导所述计算设备执行示例1至16中所述的方法中的任一种方法。

Claims (15)

1.一种由第一计算设备(102-1)执行的方法(900),所述方法包括:
接收(902)无线通信网络中的注册;
通过所述无线通信网络与第二计算设备(102-2)建立(904)实时人对人媒体会话;
与所述第二计算设备(102-2)执行(906)握手过程,所述握手过程被执行以确定所述第二计算设备(102-2)是否支持在所述第二计算设备(102-2)与所述第一计算设备(102-1)之间的状态消息的交换;
生成(908)状态消息,所述状态消息包括所述第一计算设备(102-1)的状态信息;以及
响应于确定所述第二计算设备(102-2)支持在所述第二计算设备(102-2)与所述第一计算设备(102-1)之间的所述状态消息的交换,通过所述无线通信网络将状态消息发送(910)到所述第二计算设备。
2.如权利要求1所述的方法,其中:
接收无线通信网络中的注册包括接收在互联网协议多媒体核心网络子系统IMS网络中的注册;
建立所述实时人对人媒体会话包括通过所述IMS网络与所述第二计算设备建立音频通话;以及
将所述状态消息发送到所述第二计算设备包括通过所述IMS网络将所述状态消息发送到所述第二计算设备,所述状态消息进一步包括关于实时的所述音频通话的状况的信息,并且使得所述第二计算设备能够减轻所述音频通话的通话质量问题。
3.如任一前述权利要求所述的方法,其中,所述状态消息被发送到所述第二计算设备以使得所述第二计算设备能够使用所述第一计算设备的所述状态信息来识别所述实时人对人媒体会话的通话质量问题。
4.如任一前述权利要求所述的方法,其中,所述握手过程包括:
通过所述无线通信网络向所述第二计算设备发送请求消息,所发送的请求消息请求在所述第二计算设备与所述第一计算设备之间的状态消息的交换;或
通过所述无线通信网络从所述第二计算设备接收请求消息,所接收的请求消息请求在所述第二计算设备与所述第一计算设备之间的所述状态消息的交换。
5.如权利要求4所述的方法,其中,所述握手过程进一步包括:
响应于向所述第二计算设备发送请求消息,通过所述无线通信网络从所述第二计算设备接收响应消息,所接收的响应消息指示所述第二计算设备支持在所述第二计算设备与所述第一计算设备之间的所述状态消息的交换;或
响应于从所述第二计算设备接收请求消息,通过所述无线通信网络向所述第二计算设备发送响应消息,所发送的响应消息指示所述第一计算设备支持在所述第二计算设备与所述第一计算设备之间的所述状态消息的交换。
6.如任一前述权利要求所述的方法,所述方法进一步包括从所述第二计算设备接收第二状态消息,所接收的第二状态消息包括所述第二计算设备的状态信息。
7.如任一前述权利要求所述的方法,其中:
执行所述握手过程包括使用A、B、C或D的一个或多个双音多频DTMF数字;以及
发送所述状态消息包括:
生成包括A、B、C或D的一个或多个DTMF数字的DTMF状态消息;以及
通过所述无线通信网络将所述DTMF状态消息发送到所述第二计算设备。
8.如权利要求1至6中的任一项所述的方法,其中:
执行所述握手过程包括使用实时传输协议RTP报头扩展;以及
发送所述状态消息包括:
生成包括RTP报头扩展的RTP状态消息;
将所述第一计算设备的所述状态信息插入到所述RTP报头扩展中;以及
使用RTP报头扩展通过所述无线通信网络将所述RTP状态消息发送到所述第二计算设备。
9.如权利要求8所述的方法,所述方法进一步包括:
响应于确定所述第二计算设备不支持使用RTP报头扩展的在所述第二计算设备与所述第一计算设备之间的状态消息的交换,执行第二握手过程以确定所述第二计算设备是否支持使用A、B、C或D的一个或多个DTMF数字的在所述第二计算设备与所述第一计算设备之间的状态消息的交换。
10.如任一前述权利要求所述的方法,所述方法进一步包括通过执行以下中的至少一个来确定所述第一计算设备的所述状态信息:
确定所述无线通信网络的状况;
确定所述实时人对人媒体会话的质量;
确定所述第一计算设备的健康状态,所述健康状态指示所述第一计算设备执行所述实时人对人媒体会话的能力;
确定来自用户的对所述第一计算设备的至少一个输入;或
确定自定义消息。
11.如权利要求10所述的方法,所述方法进一步包括:
当与在较早时间处的所述第一计算设备的所述状态信息比较时,确定在当前时间处的所述第一计算设备的所述状态信息的变化;
生成另一状态消息以发送到所述第二计算设备,所述另一状态消息包括所确定的所述第一计算设备的所述状态信息的变化;以及
响应于确定所述第二计算设备支持在所述第二计算设备与所述第一计算设备之间的所述状态消息的交换,将所述另一状态消息发送到所述第二计算设备,所确定的所述第一计算设备的所述状态信息的变化使得所述第二计算设备能够减轻所述实时人对人媒体会话的通话质量问题。
12.如任一前述权利要求所述的方法,所述方法进一步包括对所述状态消息进行编码以防止第三方访问所述第一计算设备的所述状态信息,所述第三方不同于所述第一计算设备并且不同于所述第二计算设备。
13.如权利要求5至12中的任一项所述的方法,其中,所述握手过程进一步包括:
在通过所述无线通信网络向所述第二计算设备发送所述请求消息时触发定时器的活动状态,所述定时器被配置为在持续时间内保持在所述活动状态,并且在所述持续时间期满时改变为不活动状态;
响应于确定所述定时器处于所述活动状态,在所述持续时间内向所述第二计算设备重新发送所述请求消息;以及
响应于通过所述无线通信网络从所述第二计算设备接收到所述响应消息,触发所述定时器的所述不活动状态。
14.如任一前述权利要求所述的方法,进一步包括:在发送所述状态消息之前,使用所述第一计算设备的所述状态信息生成所述状态消息。
15.一种计算设备(102),包括:
至少一个处理器(204);以及
包括指令的计算机可读存储介质(212),所述指令响应于由所述处理器执行而用于引导所述计算设备执行权利要求1至14中所述的方法中的任一种方法。
CN202180098913.XA 2021-06-02 2021-06-02 在通话期间交换状态消息 Pending CN117397228A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/035518 WO2022256008A1 (en) 2021-06-02 2021-06-02 Exchanging status messages during a call

Publications (1)

Publication Number Publication Date
CN117397228A true CN117397228A (zh) 2024-01-12

Family

ID=76641844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180098913.XA Pending CN117397228A (zh) 2021-06-02 2021-06-02 在通话期间交换状态消息

Country Status (3)

Country Link
EP (1) EP4342157A1 (zh)
CN (1) CN117397228A (zh)
WO (1) WO2022256008A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934756B2 (en) * 2000-11-01 2005-08-23 International Business Machines Corporation Conversational networking via transport, coding and control conversational protocols
US11197345B2 (en) * 2017-09-07 2021-12-07 Intel Corporation Apparatuses for end-to-end coordination of voice over cellular data network communications
EP4000276A1 (en) * 2019-07-16 2022-05-25 Apple Inc. Streaming of volumetric point cloud content based on session description protocols and real time protocols

Also Published As

Publication number Publication date
WO2022256008A1 (en) 2022-12-08
EP4342157A1 (en) 2024-03-27

Similar Documents

Publication Publication Date Title
JP4358867B2 (ja) Ipベースのプロトコルを用いたpttセッションの開始を容易にするための方法および装置
US6438114B1 (en) Method and apparatus for enabling multimedia calls using session initiation protocol
US20180295190A1 (en) Communication sessions at a coap protocol layer
US20080016248A1 (en) Method and apparatus for time synchronization of parameters
US7809843B1 (en) Globally unique identification in communications protocols and databases
KR20020081390A (ko) 그룹 통신 서비스를 제공하는 시스템 및 방법
CN111447678A (zh) 通信方法和通信装置
US8547938B2 (en) Data flow transfer between wireless connections
US9832650B2 (en) Dynamic WLAN connections
CN110536246A (zh) 一种设备防丢失方法及系统
WO2022067700A1 (zh) 通信方法、装置及系统
CN105228096B (zh) 一种基于wifi的通信建立方法及装置
KR20220097397A (ko) 무선 통신 시스템에서 암호화 키 설정 방법, 장치, 컴퓨터 프로그램 및 그 기록 매체
CN117397228A (zh) 在通话期间交换状态消息
WO2022002215A1 (zh) 传输数据的方法和装置
WO2022133912A1 (zh) 侧行链路通信方法、装置和系统
WO2018170907A1 (zh) 通信方法、终端和网络设备
EP4142359A1 (en) Method, device, and computer program for selecting channel in wireless communication system, and recording medium therefor
CN116134955A (zh) 在无线通信设备处自主激活特征以满足消费通信服务的应用的生存时间
CN117441329A (zh) 解决呼叫质量问题
WO2023155739A1 (zh) 数据传输的方法、网络设备和用户设备
WO2022001972A1 (zh) Dns请求的解析方法、通信装置及通信系统
CN113841441B (zh) 一种通信方法与装置
WO2023045839A1 (zh) 通信方法、装置、核心网设备及通信设备
WO2022160210A1 (zh) 业务数据流的传输方法、通信装置及通信系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination