CN116566955B - 一种基于mqtt的数字语音通话方法、装置及应用 - Google Patents
一种基于mqtt的数字语音通话方法、装置及应用 Download PDFInfo
- Publication number
- CN116566955B CN116566955B CN202310827084.5A CN202310827084A CN116566955B CN 116566955 B CN116566955 B CN 116566955B CN 202310827084 A CN202310827084 A CN 202310827084A CN 116566955 B CN116566955 B CN 116566955B
- Authority
- CN
- China
- Prior art keywords
- service
- forwarding
- calling
- called
- client
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004891 communication Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 23
- 238000012795 verification Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1045—Proxies, e.g. for session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1096—Supplementary features, e.g. call forwarding or call holding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提出了一种基于mqtt的数字语音通话方法、装置及应用,包括以下步骤:创建一个MQTT服务,连接主叫客户端和被叫客户端;当主叫客户端发起呼叫请求时,MQTT服务将其转发给媒体转发服务;媒体转发服务创建主叫服务转发端口,并替换呼叫请求中的本地端口;MQTT服务将主叫转发呼叫请求发送给被叫客户端;被叫客户端接收到请求后生成答复信息;媒体转发服务创建被叫服务转发端口,并替换答复信息中的本地端口;主叫客户端接收到被叫答复信息后,通过媒体转发服务与被叫客户端进行数字语音通话。本方案在mqtt协议的语音传输中添加了一个媒体转发服务来降低音频数据传输所需要的带宽,使其可以在弱网环境中应用,并保证音频数据传输的实时性。
Description
技术领域
本申请涉及设备通讯领域,特别是涉及一种基于mqtt的数字语音通话方法、装置及应用。
背景技术
物联网生态系统由支持网络的智能设备组成,这些设备使用嵌入式行系统,例如处理器、传感器和通信硬件来收集、发送和处理从环境中获取的数据,物联网设备通过连接到物联网网关或其他边缘设备来共享它们收集的传感器数据,其中数据被发送到云端进行分析或本地分析,有时这些设备会与其他相关设备进行通信,并根据从彼此获取的信息采取行动,这些设备无需人工干预即可完成大部分工作,尽管人们可以与设备进行交互——例如,设置它们、给它们指示或访问数据,由于物联网的广泛应用, mqtt以其独特的优势作为物联网数据通讯的优选协议,mqtt具有代码占用空间小(便于在嵌入式设备实现) 、低功耗、低带宽、低延迟、支持发布订阅。
物联网终端的需求不仅仅是为了实现数据的自动化采集分析,还需要人工介入处理突发事件,支持语音通话,常见的语音通话终端如webrtc、sip需要较高性能的处理器及操作系统支持,但物联网终端大多是在计算资源少的单片机、电池续航低、弱网环境下实现,性能无法满足要求。
虽然mqtt协议的带宽低、延迟低,但由于其采用的是异步通信模式,消息发布者和订阅者之间可能存在延迟,不适合对实时性要求较高的电梯设备通信,所以,尽管mqtt协议具有诸多优点,但是很难应用在电梯设备的通信。
随着物联网技术的兴起,电梯设备开始与物联网设备连接,实现远程监控、故障诊断和维护管理等功能,通过将电梯设备连接到云平台可以实时检测电梯运行状态、收集数据并进行分析,以提高电梯的安全性和效率,为了保证电梯设备通信的负载平衡、稳定性,需要一种低带宽、高实时性的物联网通信方式,并且还要在满足上述条件的同时,控制其维护成本。
综上所述,亟需一种可以通过低带宽、低延迟的方式来进行电梯设备的数字语音通话方法。
发明内容
本申请实施例提供了一种基于mqtt的数字语音通话方法、装置及应用,在mqtt协议的语音传输中添加了一个媒体转发服务来降低音频数据传输所需要的带宽,使其可以在弱网环境中应用,并保证音频数据传输的实时性。
第一方面,本申请实施例提供了一种基于mqtt的数字语音通话方法,所述方法包括:创建mqtt服务,获取主叫客户端与被叫客户端,所述主叫客户端与被叫客户端与所述mqtt服务进行连接;
创建媒体转发服务,当主叫客户端向被叫客户端发起呼叫请求时,由所述mqtt服务将所述呼叫请求转发给所述媒体转发服务,所述媒体转发服务创建主叫服务转发端口,并将所述呼叫请求中的本地端口替换为主叫服务转发端口得到主叫转发呼叫请求,所述mqtt服务将所述主叫转发呼叫请求转发给所述被叫客户端;
所述被叫客户端接收到所述主叫转发呼叫请求后生成答复信息,所述媒体转发服务创建被叫服务转发端口,并将所述答复信息中的本地端口替换为被叫服务转发端口得到被叫答复信息,所述mqtt服务将所述被叫答复信息转发给所述主叫客户端;
所述主叫客户端接收到所述被叫答复信息后与所述被叫客户端通过媒体转发服务进行数字语音通话。
第二方面,本申请实施例提供了一种基于mqtt的数字语音通话装置,包括:
创建模块:创建mqtt服务,获取主叫客户端与被叫客户端,所述主叫客户端与被叫客户端与所述mqtt服务进行连接;
主叫连接模块:创建媒体转发服务,当主叫客户端向被叫客户端发起呼叫请求时,由所述mqtt服务将所述呼叫请求转发给所述媒体转发服务,所述媒体转发服务创建主叫服务转发端口,并将所述呼叫请求中的本地端口替换为主叫服务转发端口得到主叫转发呼叫请求,所述mqtt服务将所述主叫转发呼叫请求转发给所述被叫客户端;
被叫答复模块:所述被叫客户端接收到所述主叫转发呼叫请求后生成答复信息,所述媒体转发服务创建被叫服务转发端口,并将所述答复信息中的本地端口替换为被叫服务转发端口得到被叫答复信息,所述mqtt服务将所述被叫答复信息转发给所述主叫客户端;
通话模块:所述主叫客户端接收到所述被叫答复信息后与所述被叫客户端通过媒体转发服务进行数字语音通话。
第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行一种基于mqtt的数字语音通话方法。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括一种基于mqtt的数字语音通话方法。
本发明的主要贡献和创新点如下:
本方案通过在mqtt协议中添加一个媒体转发服务,在媒体转发服务中通过建立主叫服务转发端口与被叫服务转发端口来分别与主叫客户端以及被叫客户端进行映射,并且通过将会话描述协议中的本地端口替换为主叫服务转发端口与被叫服务转发端口使得消息不直接发送给主叫客户端以及被叫客户端,而是通过媒体服务做代理来中转信令和音频流,从而提高语音传输的实时性;本方案中的媒体转发服务通过对音频数据的压缩和优化来减少音频数据的带宽消耗,使其在弱网环境下也可以进行实时且低带宽的数字语音通话。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种基于mqtt的数字语音通话方法的流程图;
图2是根据本申请实施例的常规的使用mqtt服务进行数字语音通话的流程图;
图3是根据本申请实施例的通过媒体转发服务来进行数字语音通话的流程图;
图4是根据本申请实施例的一种基于mqtt的数字语音通话装置的结构框图;
图5是根据本申请实施例的电子装置的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
实施例一
本申请实施例提供了一种基于mqtt的数字语音通话方法,具体地,参考图1,所述方法包括:
创建mqtt服务,获取主叫客户端与被叫客户端,所述主叫客户端与被叫客户端与所述mqtt服务进行连接;
创建媒体转发服务,当主叫客户端向被叫客户端发起呼叫请求时,由所述mqtt服务将所述呼叫请求转发给所述媒体转发服务,所述媒体转发服务创建主叫服务转发端口,并将所述呼叫请求中的本地端口替换为主叫服务转发端口得到主叫转发呼叫请求,所述mqtt服务将所述主叫转发呼叫请求转发给所述被叫客户端;
所述被叫客户端接收到所述主叫转发呼叫请求后生成答复信息,所述媒体转发服务创建被叫服务转发端口,并将所述答复信息中的本地端口替换为被叫服务转发端口得到被叫答复信息,所述mqtt服务将所述被叫答复信息转发给所述主叫客户端;
所述主叫客户端接收到所述被叫答复信息后与所述被叫客户端通过媒体转发服务进行数字语音通话。
常规的使用mqtt服务进行数字语音通话的方式如图2所示,两个客户端分别与mqtt服务建立连接后进行音频数据的传输从而完成数字语音通话,但是在电梯设备中,往往信号差,带宽小,但语音数据往往需要较大的带宽,因此,单纯通过mqtt服务进行语音消息的传输在低速网络环境下会受到带宽限制。
另外,由于mqtt为一种异步通信协议,所以其实时性并不能进行保证,语音数据在传输过程中可能会导致数据的延迟或丢失,而本方案通过构建媒体转发服务来对音频数据进行压缩,从而使得传输过程中的带宽变小,音频质量提升,可以保证音频数据的内容准确的传输给对方。
在一些实施例中,在“所述主叫客户端与被叫客户端与所述mqtt服务进行连接”步骤中,所述主叫客户端与所述被叫客户端分别与所述mqtt服务发起连接注册请求与所述mqtt服务建立连接。
具体的,所述主叫客户端与被叫客户端在所述mqtt服务建立连接后,再分别向所述mqtt服务发送订阅标记,目的是为了让所述mqtt服务准确识别来自组叫客户端或被叫客户端的消息。
在一些实施例中,所述呼叫请求包括会话描述协议,所述会话描述协议中包括主叫客户端的客户端标识、音频编码器信息、本地端口、校验信息以及被叫客户端的客户端标识、音频编码器信息、本地端口、校验信息。
具体的,所述会话描述协议保存在所述呼叫请求的信令消息中。
所述客户端标识用来区分主叫客户端与被叫客户端。
所述音频编码器信息为用于编码和解码音频数据的算法、参数和协议。
所述本地端口指在计算机或网络设备上分配给特定应用程序或通信会话的数字标识符,它用于在设备上唯一标识正在进行的不同通信会话。
所述校验信息用于验证数据的完整性和准确性,以确保数据在传输过程中没有被修改或损坏,在通信会话中,校验信息可以包括各种校验算法和校验和,用于检测和纠正传输中的错误。
在一些实施例中,在“所述媒体转发服务创建主叫服务转发端口”步骤中,根据呼叫请求中的本地端口信息来创建主叫服务转发端口,所述主叫服务转发端口用来与所述主叫客户端建立映射关系。
具体的,通过所述主叫服务转发端口与所述主叫客户端建立映射关系后,后续被叫客户端发送的音频数据将通过媒体转发服务中的映射关系发送给主叫客户端。
在一些实施例中,在“将所述呼叫请求中的本地端口替换为主叫服务转发端口得到主叫转发呼叫请求”步骤中,获取所述呼叫请求中本地端口的端口号,获取主叫服务转发端口的端口号,使用主叫服务转发端口的端口号替换呼叫请求中本地端口的端口号得到主叫转发呼叫请求。
具体的,将所述呼叫请求中的本地端口替换为主叫服务转发端口得到主叫转发呼叫请求后,当存在发送到主叫客户端的呼叫请求时,使用媒体转发服务来处理呼叫请求并将其转发到目标地址。
在一些实施例中,在“所述被叫客户端接收到所述主叫转发呼叫请求后生成答复信息”步骤中,所述被叫客户端接收到所述主叫转发呼叫请求后先创建被叫本地资源,所述被叫本地资源包括打开麦克风、打开扬声器、设置语音数据缓冲,再生成答复信息发送给所述媒体转发服务。
具体的,创建被叫本地资源的目的是使得所述被叫客户端做好接收语音数据与传输语音数据的准备,先创建被叫本地资源再发送答复信息给媒体转发服务的目的是通知所述媒体转发服务已经做好准备,随时可以进行数字语音通话。
在一些实施例中,在“所述媒体转发服务创建被叫服务转发端口,并将所述答复信息中的本地端口替换为被叫服务转发端口得到被叫答复信息”步骤中,所述被叫服务转发端口用来与所述被叫客户端建立映射关系。
具体的,通过所述被叫服务转发端口与所述被叫客户端建立映射关系后,后续主叫客户端发送的音频数据将通过媒体转发服务中的映射关系发送给被叫客户端。
在一些具体实施例中,在“所述主叫客户端接收到所述被叫答复信息后与所述被叫客户端通过媒体转发服务进行数字语音通话”步骤中,所述主叫客户端发送音频数据到媒体转发服务,所述媒体转发服务再将所述音频数据发送给所述被叫客户端。
同样的,所述被叫客户端发送音频数据到媒体转发服务,所述媒体转发服务再将所述音频数据发送给所述主叫客户端。
在一些实施例中,所述媒体转发服务包含压缩算法与编码方式,通过所述压缩算法与编码方式对传输的音频数据进行压缩编码,在所述媒体转发服务中设置分发和缓存策略对传输的音频数据进行分发缓存,在所述媒体转发服务中设置动态码率调整策略对传输的音频数据进行动态码率调整。
具体的,通过使用合适的压缩算法和编码方式,可以减小媒体数据的大小,从而降低传输所需的带宽。压缩和优化媒体数据不仅可以减少数据传输的时间延迟,还可以降低整体的带宽消耗。
具体的,媒体转发服务可以采用有效的分发和缓存策略,避免重复传输相同的媒体数据,例如,如果多个接收者请求相同的媒体内容,媒体转发服务可以在第一次传输后将数据缓存起来,并在后续请求时直接提供缓存的副本,而不需要重新传输。这种策略可以显著减少带宽的消耗。
具体的,媒体转发服务可以根据网络带宽的情况动态调整媒体数据的码率,当网络带宽较低时,媒体转发服务可以降低媒体数据的码率,以适应可用的带宽。这样可以在带宽资源有限的情况下,保证媒体数据的传输和实时性。
在一些具体实施例中,所述主叫客户端与所述被叫客户段通过udp协议向对方发送压缩编码后的音频数据。
在一些具体实施例中,所述主叫客户端或被叫接收到音频数据后进行缓存处理丢包及抖动,解码后通过扬声器播放。
具体的,对所述音频数据进行缓存处理丢包及抖动可以保证音频播放的质量,避免出现播放不清晰或中断等现象。
在一些具体实施例中,在所述主叫客户端与所述被叫客户端中设置定时器,若在定时器设定的时间内没有接收到音频数据则断开与所述媒体转发服务的连接,结束数字语音通话。
进一步的,当所述主叫客户端与所述被叫客户端结束数字语音通话时,销毁本地资源后发送Bye请求。
具体的,销毁本地资源可以减少内存占有,发送Bte请求来通知主叫客户端/被叫客户端结束停止音频数据的传输。
具体的,通过媒体转发服务来进行数字语音通话的流程图如图3所示,本方案通过设置媒体转发服务简化了通话信令的交互逻辑,使其更适合应用在弱网环境下的语音通话。
实施例二
基于相同的构思,参考图4,本申请还提出了一种基于mqtt的数字语音通话装置,包括:
创建模块:创建mqtt服务,获取主叫客户端与被叫客户端,所述主叫客户端与被叫客户端与所述mqtt服务进行连接;
主叫连接模块:创建媒体转发服务,当主叫客户端向被叫客户端发起呼叫请求时,由所述mqtt服务将所述呼叫请求转发给所述媒体转发服务,所述媒体转发服务创建主叫服务转发端口,并将所述呼叫请求中的本地端口替换为主叫服务转发端口得到主叫转发呼叫请求,所述mqtt服务将所述主叫转发呼叫请求转发给所述被叫客户端;
被叫答复模块:所述被叫客户端接收到所述主叫转发呼叫请求后生成答复信息,所述媒体转发服务创建被叫服务转发端口,并将所述答复信息中的本地端口替换为被叫服务转发端口得到被叫答复信息,所述mqtt服务将所述被叫答复信息转发给所述主叫客户端;
通话模块:所述主叫客户端接收到所述被叫答复信息后与所述被叫客户端通过媒体转发服务进行数字语音通话。
实施例三
本实施例还提供了一种电子装置,参考图5,包括存储器404和处理器402,该存储器404中存储有计算机程序,该处理器402被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
具体地,上述处理器402可以包括中央处理器(CPU),或者特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器404可以包括用于数据或指令的大容量存储器404。举例来说而非限制,存储器404可包括硬盘驱动器(HardDiskDrive,简称为HDD)、软盘驱动器、固态驱动器(SolidStateDrive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器404可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可在数据处理装置的内部或外部。在特定实施例中,存储器404是非易失性(Non-Volatile)存储器。在特定实施例中,存储器404包括只读存储器(Read-OnlyMemory,简称为ROM)和随机存取存储器(RandomAccessMemory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(ProgrammableRead-OnlyMemory,简称为PROM)、可擦除PROM(ErasableProgrammableRead-OnlyMemory,简称为EPROM)、电可擦除PROM(ElectricallyErasableProgrammableRead-OnlyMemory,简称为EEPROM)、电可改写ROM(ElectricallyAlterableRead-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(StaticRandom-AccessMemory,简称为SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器404(FastPageModeDynamicRandomAccessMemory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDateOutDynamicRandomAccessMemory,简称为EDODRAM)、同步动态随机存取内存(SynchronousDynamicRandom-AccessMemory,简称SDRAM)等。
存储器404可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器402所执行的可能的计算机程序指令。
处理器402通过读取并执行存储器404中存储的计算机程序指令,以实现上述实施例中的任意一种基于mqtt的数字语音通话方法。
可选地,上述电子装置还可以包括传输设备406以及输入输出设备408,其中,该传输设备406和上述处理器402连接,该输入输出设备408和上述处理器402连接。
传输设备406可以用来经由一个网络接收或者发送数据。上述的网络具体实例可包括电子装置的通信供应商提供的有线或无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备406可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备408用于输入或输出信息。在本实施例中,输入的信息可以是呼叫请求、答复信息等,输出的信息可以是音频数据等。
可选地,在本实施例中,上述处理器402可以被设置为通过计算机程序执行以下步骤:
S101、创建mqtt服务,获取主叫客户端与被叫客户端,所述主叫客户端与被叫客户端与所述mqtt服务进行连接;
S102、创建媒体转发服务,当主叫客户端向被叫客户端发起呼叫请求时,由所述mqtt服务将所述呼叫请求转发给所述媒体转发服务,所述媒体转发服务创建主叫服务转发端口,并将所述呼叫请求中的本地端口替换为主叫服务转发端口得到主叫转发呼叫请求,所述mqtt服务将所述主叫转发呼叫请求转发给所述被叫客户端;
S103、所述被叫客户端接收到所述主叫转发呼叫请求后生成答复信息,所述媒体转发服务创建被叫服务转发端口,并将所述答复信息中的本地端口替换为被叫服务转发端口得到被叫答复信息,所述mqtt服务将所述被叫答复信息转发给所述主叫客户端;
S104、所述主叫客户端接收到所述被叫答复信息后与所述被叫客户端通过媒体转发服务进行数字语音通话。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
通常,各种实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。本发明的一些方面可以以硬件来实现,而其他方面可以以可以由控制器、微处理器或其他计算设备执行的固件或软件来实现,但是本发明不限于此。尽管本发明的各个方面可以被示出和描述为框图、流程图或使用一些其他图形表示,但是应当理解,作为非限制性示例,本文中描述的这些框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合来实现。
本发明的实施例可以由计算机软件来实现,该计算机软件由移动设备的数据处理器诸如在处理器实体中可执行,或者由硬件来实现,或者由软件和硬件的组合来实现。包括软件例程、小程序和/或宏的计算机软件或程序(也称为程序产品)可以存储在任何装置可读数据存储介质中,并且它们包括用于执行特定任务的程序指令。计算机程序产品可以包括当程序运行时被配置为执行实施例的一个或多个计算机可执行组件。一个或多个计算机可执行组件可以是至少一个软件代码或其一部分。另外,在这一点上,应当注意,如图5中的逻辑流程的任何框可以表示程序步骤、或者互连的逻辑电路、框和功能、或者程序步骤和逻辑电路、框和功能的组合。软件可以存储在诸如存储器芯片或在处理器内实现的存储块等物理介质、诸如硬盘或软盘等磁性介质、以及诸如例如DVD及其数据变体、CD等光学介质上。物理介质是非瞬态介质。
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (8)
1.一种基于mqtt的数字语音通话方法,其特征在于,包括以下步骤:
创建mqtt服务,获取主叫客户端与被叫客户端,所述主叫客户端与被叫客户端与所述mqtt服务进行连接;
创建媒体转发服务,当主叫客户端向被叫客户端发起呼叫请求时,由所述mqtt服务将所述呼叫请求转发给所述媒体转发服务,所述媒体转发服务创建主叫服务转发端口,根据呼叫请求中的本地端口信息来创建主叫服务转发端口,所述主叫服务转发端口用来与所述主叫客户端建立映射关系,并将所述呼叫请求中的本地端口替换为主叫服务转发端口得到主叫转发呼叫请求,所述mqtt服务将所述主叫转发呼叫请求转发给所述被叫客户端;
所述被叫客户端接收到所述主叫转发呼叫请求后生成答复信息,所述被叫客户端接收到所述主叫转发呼叫请求后先创建被叫本地资源,所述被叫本地资源包括打开麦克风、打开扬声器、设置语音数据缓冲,再生成答复信息发送给所述媒体转发服务,所述媒体转发服务创建被叫服务转发端口,并将所述答复信息中的本地端口替换为被叫服务转发端口得到被叫答复信息,所述mqtt服务将所述被叫答复信息转发给所述主叫客户端;
所述主叫客户端接收到所述被叫答复信息后与所述被叫客户端通过媒体转发服务进行数字语音通话。
2.根据权利要求1所述的一种基于mqtt的数字语音通话方法,其特征在于,所述呼叫请求包括会话描述协议,所述会话描述协议中包括主叫客户端的客户端标识、音频编码器信息、本地端口、校验信息以及被叫客户端的客户端标识、音频编码器信息、本地端口、校验信息。
3.根据权利要求1所述的一种基于mqtt的数字语音通话方法,其特征在于,在“将所述呼叫请求中的本地端口替换为主叫服务转发端口得到主叫转发呼叫请求”步骤中,获取所述呼叫请求中本地端口的端口号,获取主叫服务转发端口的端口号,使用主叫服务转发端口的端口号替换呼叫请求中本地端口的端口号得到主叫转发呼叫请求。
4.根据权利要求1所述的一种基于mqtt的数字语音通话方法,其特征在于,在“所述媒体转发服务创建被叫服务转发端口,并将所述答复信息中的本地端口替换为被叫服务转发端口得到被叫答复信息”步骤中,所述被叫服务转发端口用来与所述被叫客户端建立映射关系。
5.根据权利要求1所述的一种基于mqtt的数字语音通话方法,其特征在于,所述媒体转发服务包含压缩算法与编码方式,通过所述压缩算法与编码方式对传输的音频数据进行压缩编码,在所述媒体转发服务中设置分发和缓存策略对传输的音频数据进行分发缓存,在所述媒体转发服务中设置动态码率调整策略对传输的音频数据进行动态码率调整。
6.一种基于mqtt的数字语音通话装置,其特征在于,包括:
创建模块:创建mqtt服务,获取主叫客户端与被叫客户端,所述主叫客户端与被叫客户端与所述mqtt服务进行连接;
主叫连接模块:创建媒体转发服务,当主叫客户端向被叫客户端发起呼叫请求时,由所述mqtt服务将所述呼叫请求转发给所述媒体转发服务,所述媒体转发服务创建主叫服务转发端口,根据呼叫请求中的本地端口信息来创建主叫服务转发端口,所述主叫服务转发端口用来与所述主叫客户端建立映射关系,并将所述呼叫请求中的本地端口替换为主叫服务转发端口得到主叫转发呼叫请求,所述mqtt服务将所述主叫转发呼叫请求转发给所述被叫客户端;
被叫答复模块:所述被叫客户端接收到所述主叫转发呼叫请求后生成答复信息,所述被叫客户端接收到所述主叫转发呼叫请求后先创建被叫本地资源,所述被叫本地资源包括打开麦克风、打开扬声器、设置语音数据缓冲,再生成答复信息发送给所述媒体转发服务,所述媒体转发服务创建被叫服务转发端口,并将所述答复信息中的本地端口替换为被叫服务转发端口得到被叫答复信息,所述mqtt服务将所述被叫答复信息转发给所述主叫客户端;
通话模块:所述主叫客户端接收到所述被叫答复信息后与所述被叫客户端通过媒体转发服务进行数字语音通话。
7.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1-5任一所述的一种基于mqtt的数字语音通话方法。
8.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括根据权利要求1-5任一所述的一种基于mqtt的数字语音通话方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310827084.5A CN116566955B (zh) | 2023-07-07 | 2023-07-07 | 一种基于mqtt的数字语音通话方法、装置及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310827084.5A CN116566955B (zh) | 2023-07-07 | 2023-07-07 | 一种基于mqtt的数字语音通话方法、装置及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116566955A CN116566955A (zh) | 2023-08-08 |
CN116566955B true CN116566955B (zh) | 2023-09-19 |
Family
ID=87495071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310827084.5A Active CN116566955B (zh) | 2023-07-07 | 2023-07-07 | 一种基于mqtt的数字语音通话方法、装置及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116566955B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852237A (zh) * | 2005-10-08 | 2006-10-25 | 华为技术有限公司 | 一种实现任意地址空间ue互通的方法及系统 |
CN101043691A (zh) * | 2007-04-28 | 2007-09-26 | 中兴通讯股份有限公司 | 用于ims网络的合法监听方法 |
CN101110719A (zh) * | 2007-08-24 | 2008-01-23 | 中兴通讯股份有限公司 | 一种ip多媒体子系统网络合法监听的方法和系统 |
CN101212405A (zh) * | 2006-12-29 | 2008-07-02 | 中国移动通信集团公司 | 媒体路由控制系统及控制方法 |
CN101222343A (zh) * | 2008-01-30 | 2008-07-16 | 中兴通讯股份有限公司 | 一种策略与计费控制系统及对媒体网关的控制方法 |
CN101902506A (zh) * | 2010-06-21 | 2010-12-01 | 中兴通讯股份有限公司 | 一种sip呼叫穿越网络地址转换的方法和系统 |
CN102130888A (zh) * | 2010-01-19 | 2011-07-20 | 华为终端有限公司 | 通话过程中继续播放彩铃和彩振的方法和服务器 |
WO2015062454A1 (zh) * | 2013-10-28 | 2015-05-07 | 华为技术有限公司 | 音视频通话方法、设备和系统 |
CN105262744A (zh) * | 2015-10-10 | 2016-01-20 | 北京佳讯飞鸿电气股份有限公司 | 一种多媒体调度系统中实现媒体端口复用的方法 |
CN110958581A (zh) * | 2019-12-10 | 2020-04-03 | 海能达通信股份有限公司 | 一种媒体数据的传输方法、系统及相关设备 |
EP4064635A1 (en) * | 2021-03-26 | 2022-09-28 | Deutsche Telekom AG | Method for realizing voice-over-ip communication sessions between a calling party and a called party, telecommunications network, transport forwarding path network entity or proxy call state control function entity or functionality or software defined network entity or functionality, program and computer-readable medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257837B2 (en) * | 2003-07-26 | 2007-08-14 | Innomedia Pte | Firewall penetration system and method for real time media communications |
-
2023
- 2023-07-07 CN CN202310827084.5A patent/CN116566955B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852237A (zh) * | 2005-10-08 | 2006-10-25 | 华为技术有限公司 | 一种实现任意地址空间ue互通的方法及系统 |
CN101212405A (zh) * | 2006-12-29 | 2008-07-02 | 中国移动通信集团公司 | 媒体路由控制系统及控制方法 |
CN101043691A (zh) * | 2007-04-28 | 2007-09-26 | 中兴通讯股份有限公司 | 用于ims网络的合法监听方法 |
CN101110719A (zh) * | 2007-08-24 | 2008-01-23 | 中兴通讯股份有限公司 | 一种ip多媒体子系统网络合法监听的方法和系统 |
CN101222343A (zh) * | 2008-01-30 | 2008-07-16 | 中兴通讯股份有限公司 | 一种策略与计费控制系统及对媒体网关的控制方法 |
CN102130888A (zh) * | 2010-01-19 | 2011-07-20 | 华为终端有限公司 | 通话过程中继续播放彩铃和彩振的方法和服务器 |
CN101902506A (zh) * | 2010-06-21 | 2010-12-01 | 中兴通讯股份有限公司 | 一种sip呼叫穿越网络地址转换的方法和系统 |
WO2015062454A1 (zh) * | 2013-10-28 | 2015-05-07 | 华为技术有限公司 | 音视频通话方法、设备和系统 |
CN105262744A (zh) * | 2015-10-10 | 2016-01-20 | 北京佳讯飞鸿电气股份有限公司 | 一种多媒体调度系统中实现媒体端口复用的方法 |
CN110958581A (zh) * | 2019-12-10 | 2020-04-03 | 海能达通信股份有限公司 | 一种媒体数据的传输方法、系统及相关设备 |
EP4064635A1 (en) * | 2021-03-26 | 2022-09-28 | Deutsche Telekom AG | Method for realizing voice-over-ip communication sessions between a calling party and a called party, telecommunications network, transport forwarding path network entity or proxy call state control function entity or functionality or software defined network entity or functionality, program and computer-readable medium |
Also Published As
Publication number | Publication date |
---|---|
CN116566955A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160285820A1 (en) | Method for processing address resolution protocol message, switch, and controller | |
EP3525421B1 (en) | Data transmission method and apparatus | |
US7428271B2 (en) | Network device and data transmission method for efficient data transmission and reception in mobile ad hoc network environment | |
CN111510419A (zh) | 一种数据压缩的方法及基站 | |
CN106027599B (zh) | 一种数据传输通道建立方法、系统和服务器 | |
EP3292678B1 (en) | System, terminal, server, and method for data transmission | |
CN111371887A (zh) | 物联网日志传输方法、客户端、服务端、设备及存储介质 | |
KR20160097663A (ko) | 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치 | |
CN116566955B (zh) | 一种基于mqtt的数字语音通话方法、装置及应用 | |
CN112118594A (zh) | 数据上传方法、下载方法、电子设备及存储介质 | |
JP6483029B2 (ja) | 通信品質測定の方法及びシステム | |
CN107079423B (zh) | 一种数据传输方法及设备 | |
CN112039801B (zh) | 设置ip信息的方法、系统和代理服务器 | |
CN110474807B (zh) | 一种日志处理方法及装置 | |
CN107548105B (zh) | 一种基于udp的数据传输确认方法和基站 | |
KR101777812B1 (ko) | 네트워크의 데이터 처리 속도 측정 방법 및 장치 | |
CN114338553B (zh) | 消息发送方法、装置、电子设备和存储介质 | |
CN113711558B (zh) | 以太帧包头压缩处理方法、装置、用户终端、基站和介质 | |
CN103580805A (zh) | 报文的处理方法及装置 | |
WO2017147754A1 (zh) | 数据包的压缩方法和装置 | |
WO2023095438A1 (ja) | 端末装置、無線通信システム、および、端末装置の処理方法 | |
CN114071377B (zh) | 语音制式切换方法、核心网设备、集群组设备及集群组 | |
CN111404642B (zh) | 一种信息交互方法、dpi系统及应用系统 | |
CN115150669B (zh) | 一种基于gb28181国际互标的媒体流共享方法、装置及应用 | |
CN117857525B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |