CN108881774B - 多媒体网络通话的呼叫***及方法 - Google Patents

多媒体网络通话的呼叫***及方法 Download PDF

Info

Publication number
CN108881774B
CN108881774B CN201810432303.9A CN201810432303A CN108881774B CN 108881774 B CN108881774 B CN 108881774B CN 201810432303 A CN201810432303 A CN 201810432303A CN 108881774 B CN108881774 B CN 108881774B
Authority
CN
China
Prior art keywords
signaling message
calling
client
server
call
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
Application number
CN201810432303.9A
Other languages
English (en)
Other versions
CN108881774A (zh
Inventor
周万斌
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201810432303.9A priority Critical patent/CN108881774B/zh
Publication of CN108881774A publication Critical patent/CN108881774A/zh
Application granted granted Critical
Publication of CN108881774B publication Critical patent/CN108881774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种多媒体网络通话的呼叫***及方法,***包括:主叫客户端、被叫客户端、SIP服务器和MQTT服务器;主叫客户端,通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息,并将预设的视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器;MQTT服务器,接收并保存主叫客户端发送的重要信令消息,并将主叫客户端发送的重要信令消息发送至被叫客户端;被叫客户端,接收SIP服务器发送的视频呼叫相关信令消息和MQTT服务器发送的重要信令消息,建立与主叫客户端的视频通信。

Description

多媒体网络通话的呼叫***及方法
技术领域
本发明涉及网络通信技术领域,特别是涉及一种多媒体网络通话的呼叫***及方法。
背景技术
随着科技的发展,通过互联网进行多媒体网络通话,如音频或视频通话已经在人们的生活中占据重要的作用,越来越多的人会选择通过互联网进行音频或视频通话。
在互联网进行音频或视频通话时,首先要进行呼叫,呼叫成功后,主叫与被叫再建立点对点的音频或视频通话。
目前,多媒体网络通话的呼叫的***如图1所示,主要包括:主叫客户端、被叫客户端和SIP(Session Initiation Protocol,会话初始协议)服务器。进行呼叫的过程,主要包括如下步骤:
主叫客户端向SIP发送视频呼叫相关信令消息,SIP服务器根据接收到的信令消息中携带的主叫客户端标识及被叫客户端标识,将信令消息发送至对应的被叫客户端,被叫客户端接收信令消息与主叫客户端建立视频通信。
现有技术中,通常采用UDP(User Datagram Protocol,用户数据报协议)进行信令消息传输,由于UDP是面向非连接的协议,它只是把应用程序传给IP层的数据报发送出去,不用在每个用户客户端和服务器之间建立一个连接,且没有超时重发等机制。因此资源耗费较少,且传输速度很快。但是,使用UDP协议传输并不能保证信令消息能否到达被呼叫方,为了解决该问题,使用UDP协议在传输超时会设定重试发送超时的信令消息,但是网络差的时候,重发的信令信息可能也会失败,因此使用UDP协议传输信令消息可靠性不高。
发明内容
本发明实施例的目的在于提供一种多媒体网络通话的呼叫***及方法,以提高使用UDP协议传输信令消息的可靠性。具体技术方案如下:
第一方面,本发明实施例提供了一种多媒体网络通话的呼叫***,包括:主叫客户端、被叫客户端、SIP服务器和MQTT服务器;
所述主叫客户端,通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息,并将预设的所述视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器;
所述MQTT服务器,接收并保存主叫客户端发送的重要信令消息,并将主叫客户端发送的重要信令消息发送至所述被叫客户端;
所述被叫客户端,接收SIP服务器发送的视频呼叫相关信令消息和MQTT服务器发送的重要信令消息,建立与主叫客户端的视频通信。
可选的,所述主叫客户端,在通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息之前,向MQTT服务器发送分配呼叫主题请求,并接收MQTT服务器返回的呼叫主题;并通过所述SIP服务器向被叫客户端发送呼叫主题通知消息;并在向所述MQTT服务器发送的各个重要信令消息中添加所述呼叫主题;
所述MQTT服务器,接收主叫客户端发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
所述被叫客户端,通过所述SIP服务器接收到呼叫主题通知消息后,从所述呼叫主题通知消息中获得所述呼叫主题;向所述MQTT服务器发送包含所述呼叫主题的订阅请求;接收所述MQTT服务器发送的包含所述呼叫主题的重要信令消息。
可选的,所述被叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
可选的,所述主叫客户端,进一步接收SIP服务器发送的SIP服务器自身产生的信令消息;
所述SIP服务器,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加呼叫主题发送至所述MQTT服务器;
所述被叫客户端,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加所述呼叫主题发送至MQTT服务器;
所述主叫客户端,进一步向MQTT服务器发送订阅请求;
所述MQTT服务器,进一步根据主叫客户端订阅请求,将SIP服务器自身产生的重要信令消息及被叫客户端自身产生的重要信令消息发送至主叫客户端。
可选的,所述主叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
第二方面,本发明实施例提供了一种多媒体网络通话的呼叫方法,应用于本发明实施例第一方面所述的多媒体网络通话的呼叫***中,包括:
主叫客户端,通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息,并将预设的所述视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器;
MQTT服务器,接收并保存主叫客户端发送的重要信令消息,并将主叫客户端发送的重要信令消息发送至所述被叫客户端;
被叫客户端,接收SIP服务器发送的视频呼叫相关信息和MQTT服务器发送的重要信令消息,建立与主叫客户端的视频通信。
可选的,所述主叫客户端,在通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息之前,向MQTT服务器发送分配呼叫主题请求,并接收MQTT服务器返回的呼叫主题;并通过所述SIP服务器向被叫客户端发送主题通知消息;并在向所述MQTT服务器发送的各个重要信令消息中添加所述呼叫主题;
所述MQTT服务器,接收主叫客户端发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
所述被叫客户端,通过所述SIP服务器接收到主题通知消息后,从所述主题通知消息中获得所述呼叫主题;向所述MQTT服务器发送包含所述呼叫主题的订阅请求;接收所述MQTT服务器发送的包含所述呼叫主题的重要信令消息。
可选的,所述被叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
可选的,所述主叫客户端,进一步接收SIP服务器发送的SIP服务器自身产生的信令消息;
所述SIP服务器,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加呼叫主题发送至所述MQTT服务器;
所述被叫客户端,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加所述呼叫主题发送至MQTT服务器;
所述主叫客户端,进一步向MQTT服务器发送订阅请求;
所述MQTT服务器,进一步根据主叫客户端订阅请求,将SIP服务器自身产生的重要信令消息及被叫客户端自身产生的重要信令消息发送至主叫客户端。
可选的,所述主叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
第三方面,本发明实施例提供了另一种多媒体网络通话的呼叫***,包括:主叫客户端、被叫客户端、SIP服务器和MQTT服务器;
所述主叫客户端,通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息;
所述SIP服务器,将从主叫客户端接收的视频呼叫相关信令消息发送至被叫客户端,并将预设的所述视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器;
所述MQTT服务器,接收并保存SIP服务器发送的重要信令消息,并将SIP服务器发送的重要信令消息发送至所述被叫客户端;
所述被叫客户端,接收SIP服务器发送的视频呼叫相关信息和MQTT服务器发送的重要信令消息,建立与主叫客户端的视频通信。
可选的,所述SIP服务器,接收到主叫客户端发送的呼叫请求信令信息后,向MQTT服务器发送分配呼叫主题请求,并接收MQTT服务器返回的呼叫主题;向被叫客户端发送主题通知消息;并在向所述MQTT服务器发送的各个重要信令消息中添加所述呼叫主题;
所述MQTT服务器,接收SIP服务器发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
所述被叫客户端,接收所述SIP服务器发送的主题通知消息后,从所述主题通知消息中获得所述呼叫主题;向所述MQTT服务器发送包含所述呼叫主题的订阅请求;接收所述MQTT服务器发送的包含所述呼叫主题的重要信令消息。
可选的,所述被叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
可选的,所述的主叫客户端,进一步接收SIP服务器发送的SIP服务器自身产生的信令消息;
所述SIP服务器,进一步在自身产生的重要信令消息中添加呼叫主题发送至所述MQTT服务器;
所述被叫客户端,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加所述呼叫主题发送至MQTT服务器;
所述主叫客户端,进一步向MQTT服务器发送订阅请求;
所述MQTT服务器,进一步根据主叫客户端订阅请求,将SIP服务器自身产生的重要信令消息及被叫客户端自身产生的重要信令消息发送至主叫客户端。
可选的,所述主叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
第四方面,本发明实施例提供了一种多媒体网络通话的呼叫方法,应用于本发明实施例第三方面所述的多媒体网络通话的呼叫***中,
所述主叫客户端,通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息;
所述SIP服务器,将从主叫客户端接收的视频呼叫相关信令消息发送至被叫客户端,并将预设的所述视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器;
所述MQTT服务器,接收并保存SIP服务器发送的重要信令消息,并将SIP服务器发送的重要信令消息发送至所述被叫客户端;
所述被叫客户端,接收SIP服务器发送的视频呼叫相关信息和MQTT服务器发送的重要信令消息,建立与主叫客户端的视频通信。
可选的,所述SIP服务器,接收到主叫客户端发送的呼叫请求信令信息后,向MQTT服务器发送分配呼叫主题请求,并接收MQTT服务器返回的呼叫主题;向被叫客户端发送主题通知消息;并在向所述MQTT服务器发送的各个重要信令消息中添加所述呼叫主题;
所述MQTT服务器,接收主叫客户端发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
所述被叫客户端,接收所述SIP服务器发送的主题通知消息后,从所述主题通知消息中获得所述呼叫主题;向所述MQTT服务器发送包含所述呼叫主题的订阅请求;接收所述MQTT服务器发送的包含所述呼叫主题的重要信令消息。
可选的,所述被叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
可选的,所述主叫客户端,进一步接收SIP服务器发送的SIP服务器自身产生的信令消息;
所述的SIP服务器,进一步在自身产生的重要信令消息中添加呼叫主题发送至所述MQTT服务器;
所述被叫客户端,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加所述呼叫主题发送至MQTT服务器;
所述主叫客户端,进一步向MQTT服务器发送订阅请求;
所述MQTT服务器,进一步根据主叫客户端订阅请求,将SIP服务器自身产生的重要信令消息及被叫客户端自身产生的重要信令消息发送至主叫客户端。
可选的,所述主叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的一种多媒体网络通话的呼叫方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的一种多媒体网络通话的呼叫方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的一种多媒体网络通话的呼叫方法。
本发明实施例提供的一种多媒体网络通话的呼叫***及方法,在现有多媒体网络通话的呼叫的***中已经有SIP服务器情况下,加入MQTT服务器,用于接收并保存主叫客户端发送的重要信令消息,并将主叫客户端发送的重要信令消息发送至所述被叫客户端。本实施例使用SIP协议传输信令消息的同时,也使用MQTT协议传送重要信令消息,由于MQTT服务器是基于TCP协议建立的,因此可以保证重要信令消息可靠传输到被叫客户端,因此通过本发明实施例可以提高使用UDP协议传输信令消息的可靠性。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有技术的多媒体网络通话的呼叫的***结构示意图;
图2为本发明的实施例提供的一种多媒体网络通话的呼叫***结构示意图;
图3为基于图2的一种多媒体网络通话的呼叫方法的一种交互流程图;
图4为图3所示实施例中,主叫客户端获得SIP服务器产生的信令消息的交互流程图;
图5为本发明的实施例提供的另一种多媒体网络通话的呼叫***结构示意图;
图6为基于图5的一种多媒体网络通话的呼叫方法一种交互流程图;
图7为图5所示实施例中,主叫客户端获得SIP服务器产生的信令消息的交互流程图。
具体实施方式
为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例为了解决使用UDP协议传输信令消息可靠性不高的问题,在现有技术的多媒体网络通话的呼叫的***中增加基于TCP协议建立的MQTT服务器,保证重要信令消息传输至被叫客户端。
可以理解的是,在现有的多媒体网络通话的呼叫的***,由于SIP服务器使用UDP协议进行信令消息传输,并不能保证信令消息是否到达被叫客户端,且网络环境在不同时段有差异,重试传输也不能保证信令消息是否会传输至被叫客户端。TCP是面向连接的协议,使用TCP传输信令消息的每个用户客户端都需要和服务器建立一个长链接。如果信令消息传输超时,会重新传输超时的信令消息,而且使用TCP传输会丢弃重复信令消息,检验信令消息,从而保证信令消息从主叫客户端传输到被叫客户端,因此使用TCP传输较为可靠。MQTT协议是基于TCP协议实现网络连接,因此,本发明实施例中,在现有的多媒体网络通话的呼叫的***中增加MQTT服务器,保证重要信令消息传输至被叫客户端。
具体的,本发明实施例提供了两种多媒体网络通话的呼叫***及多媒体网络通话的呼叫方法,以下分别进行详细说明。
下面首先对本发明实施例提供的第一种多媒体网络通话的呼叫***进行介绍。
如图2所示,本发明实施例所提供的一种多媒体网络通话的呼叫***,包括:
主叫客户端201,通过SIP服务器204与被叫客户端203发送和接收视频呼叫相关信令消息,并将预设的视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器202;
MQTT服务器202,接收并保存主叫客户端201发送的重要信令消息,并将主叫客户端201发送的重要信令消息发送至被叫客户端203;
被叫客户端203,接收SIP服务器204发送的视频呼叫相关信令消息和MQTT服务器202发送的重要信令消息,建立与主叫客户端201的视频通信。
在本实施例中,主叫客户端向MQTT发送重要信令消息前,根据预先的定义,在视频呼叫相关信令消息中区分重要信令消息与非重要信令消息。例如,发起呼叫,挂断呼叫,接听呼叫及拒接呼叫的信令消息都可以理解为重要信令消息;用作心跳包的信令消息,作为非重要信令消息。将重要信令消息发送至MQTT服务器,将视频呼叫相关信令消息发送给SIP服务器,以便通过SIP服务器发送视频呼叫相关信令消息至被叫客户端,同样被叫客户端也可以通过SIP服务器发送视频呼叫相关信令消息至主叫客户端。SIP服务器获知每一个客户端的状态及客户端的标识,从主叫客户端发送的视频呼叫相关信令消息携带主叫客户端及被叫客户端的标识。SIP服务器根据主叫客户端及被叫客户端的标识将视频呼叫相关信令消息发送至对应的被叫客户端。
在本实施例中,MQTT服务器在接收到主叫客户端发送的重要信令消息后,会将重要信令消息保存在自己的数据库中,以使得被叫客户端可以接收到相同呼叫主题下MQTT服务器发送的所有包含呼叫主题的重要信令消息。
在本实施例中,SIP服务器向被叫客户端传输视频呼叫相关信令消息可能会丢失信令消息,因此,被叫客户端将会收到SIP服务器发送的视频呼叫相关信令消息和MQTT服务器发送的重要信令消息,以防止重要信令消息的丢失,实现可靠的视频通信。
通过本实施例的多媒体网络通话的呼叫***,可以解决现有技术通过基于UDP协议的SIP服务器传输信令消息建立视频通信,从而导致使用UDP协议传输信令消息不可靠的问题,提高传输信令消息的可靠性。
可选的,图2所示的实施例中的主叫客户端201,在通过SIP服务器204与被叫客户端203发送和接收视频呼叫相关信令消息之前,向MQTT服务器202发送分配呼叫主题请求,并接收MQTT服务器202返回的呼叫主题;并通过SIP服务器304向被叫客户端发送呼叫主题通知消息;并在向MQTT服务器202发送的各个重要信令消息中添加呼叫主题;
MQTT服务器202,接收主叫客户端201发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
被叫客户端203,通过SIP服务器204接收到呼叫主题通知消息后,从呼叫主题通知消息中获得呼叫主题;向MQTT服务器202发送包含呼叫主题的订阅请求;接收MQTT服务器204发送的包含呼叫主题的重要信令消息。
可以理解的是,MQTT服务器接收和发送信令消息使用主题订阅模式,在本实施例中主叫客户端向MQTT发送重要信令消息前,需要知道重要信令消息的呼叫主题,因此,主叫客户端会向MQTT服务器发送分配呼叫主题的请求,以便获得重要信令消息的呼叫主题。主叫客户端接收到MQTT服务器返回的呼叫主题,会在重要信令消息中添加呼叫主题,发送至MQTT服务器。
在本实施中,MQTT服务器会根据被叫客户端的订阅,向被叫客户端发送包含呼叫主题的重要信令消息。被叫客户端获知呼叫主题的方式可以是SIP服务器发送呼叫主题通知消息,还可以使用现有技术中推送服务,IM协议的方式向被叫客户端推送主题通知消息,在此不作详述。被叫客户端需要向MQTT服务器发送呼叫主题的订阅请求,以使得MQTT服务器发送包含呼叫主题的重要信令消息。
在本实施中,呼叫主题是一种标识视频呼叫的唯一识别码,呼叫主题可以用当前***时间戳与一个随机数实时生成。例如:当前***unix时间戳为1524792546,随机数为4,MQTT服务器生成的呼叫主题为W1,当前***unix时间戳为1524792532,随机数为1,MQTT服务器生成的呼叫主题为W2。W1及W2可以为unix时间戳、预设数量个任意字符与随机数的组合。呼叫主题可以是MQTT服务器根据客户端的标识及呼叫次数实时生成。例如:主叫客户端标识为A1,主叫客户端第一次向MQTT服务器发送分配呼叫主题请求,MQTT服务器生成的呼叫主题为Q1;主叫客户端标识为A1,主叫客户端第二次向MQTT服务器发送分配呼叫主题请求,MQTT服务器生成的呼叫主题为Q2;Q1及Q2可以为客户端的标识、预设数量个任意字符与呼叫次数的组合。
可选的,被叫客户端203,进一步对当前从MQTT服务器202或SIP服务器204接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
本实施例中,如果SIP服务器传输信令消息丢失,被叫客户端收到了MQTT服务器发送的信令消息,以这样的方式防止重要信令消息丢失。如果SIP服务器传输信令消息未丢失,被叫客户端也收到了MQTT服务器发送的与SIP服务器传输的信令消息内容相同的信令消息,将丢弃当前从MQTT服务器接收到的信令消息。如果,被叫客户端收到了MQTT服务器发送的信令消息,SIP服务器传输与MQTT服务器发送的信令消息内容相同的信令消息也未丢失,丢弃当前从SIP服务器接收到的信令消息。
本实施例判断是否之前已经接收到相同内容的信令消息可以根据信令消息的内容或者信令消息内容的关键参数。信令消息内容的关键参数包括:发送信令消息的客户端标识、接收信令消息的客户端标识、信令消息的类型及记录一次视频呼叫的唯一标识。
可选的,图2所示的实施例中,主叫客户端201,进一步接收SIP服务器204发送的SIP服务器204自身产生的信令消息;
SIP服务器204,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加呼叫主题发送至所述MQTT服务器202;
所述被叫客户端203,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加所述呼叫主题发送至MQTT服务器202;
主叫客户端201,进一步向MQTT服务器202发送订阅请求;
MQTT服务器202,进一步根据主叫客户端201订阅请求,将SIP服务器自身产生的重要信令消息及被叫客户端203自身产生的重要信令消息发送至主叫客户端201。
本实施例中,SIP服务器会从接收到的主叫客户端发送的呼叫主题通知消息中获取呼叫主题并保存。SIP服务器会实时记录主叫客户端和被叫客户端的服务状态,并且根据业务需求做相应的处理。SIP服务器根据被叫客户端服务状态自身生成的信令消息,然后SIP服务器根据预先的定义,在自身生成的信令消息区分重要信令消息及非重要信令消息。SIP服务器将用作心跳包的信令消息及普通的ACK消息,作为非重要信令消息;SIP服务器将除心跳包和普通的ACK消息以外的信令消息,作为重要信令消息;SIP服务器将自身产生的信令消息发送给主叫客户端,还会将自身产生的重要信令消息添加呼叫主题发送给MQTT服务器。
例如:在一个不支持呼叫等待的业务中,如果主叫客户端发送视频呼叫相关的信令消息,被叫客户端已经处于忙碌状态,则SIP服务器会生成与被叫客户端服务状态对应的重要信令消息,该重要信令消息可以是:被叫客户端B正在通话或者被叫客户端B正在忙碌。如果在一个支持呼叫等待的业务中,如果主叫客户端发送视频呼叫相关的信令消息,被叫客户端已经处于忙碌状态,则SIP服务器会生成与被叫客户端服务状态对应的重要信令消息,该重要信令消息可以是:被叫客户端B正在通话请等待或者被叫客户端B正在忙碌请等待。
在本实施例中,被叫客户端接收SIP服务器发送的呼叫主题通知消息,被叫客户端已经知道呼叫主题,被叫客户端会根据自身的服务状态生成重要信令消息,并在自身产生的重要信令消息中添加呼叫主题,发送给MQTT服务器。被叫客户端将自身产生的用作心跳包的信令消息,作为非重要信令消息。被叫客户端挂断呼叫,接听呼叫及拒接呼叫的信令消息都可以理解为重要信令。
例如:被叫客户端接收SIP服务器发送的视频相关的信令消息,建立与主叫客户端的视频通信,如果被叫客户端挂断视频通信,但是被叫客户端正在忙碌,被叫客户端直接挂断视频通信,会产生挂断呼叫的重要信令消息,发送给MQTT服务器。如果被叫客户端接收SIP服务器发送的视频相关的信令消息,建立视频通信,被叫客户端会产生接听呼叫的重要信令消息发送给MQTT服务器。
本实施例中,主叫客户端向MQTT服务器发送分配呼叫主题请求,并接收到了呼叫主题,因此,主叫客户端只需向MQTT服务器发送订阅请求,就可以接收到MQTT服务器发送的SIP服务器自身产生的信令消息、被叫客户端自身产生的信令消息及SIP服务器发送的从被叫客户端收到的视频呼叫相关信令消息中的重要信令消息。
可选的,主叫客户端201,进一步对当前从MQTT服务器402或SIP服务器404接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
本实施例中,如果SIP服务器传输自身产生的信令消息丢失,主叫客户端收到了MQTT服务器发送SIP服务器自身产生的信令消息,以这样的方式预防SIP服务器自身产生的信令消息丢失。如果SIP服务器传输自身产生的信令消息未丢失,主叫客户端也收到了MQTT服务器发送的与SIP服务器自身产生的信令消息内容相同的信令消息,将丢弃当前从MQTT服务器接收到的SIP服务器自身产生的信令消息。如果,主叫客户端收到了MQTT服务器发送的SIP服务器自身产生的信令消息,SIP服务器传输自身产生的信令消息也未丢失,主叫客户端丢弃当前从SIP服务器接收到的SIP服务器自身产生的信令消息。
如图3所示,基于图2的一种多媒体网络通话的呼叫方法,包括以下步骤:
S301,主叫客户端,通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息,并将预设的视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器;
S302,MQTT服务器,接收并保存主叫客户端发送的重要信令消息,并将主叫客户端发送的重要信令消息发送至被叫客户端;
S303,被叫客户端,接收SIP服务器发送的视频呼叫相关信息和MQTT服务器发送的重要信令消息,建立与主叫客户端的视频通信。
在本实施例中,在主叫客户端向MQTT发送重要信令消息之前,根据预先的定义,在视频呼叫相关信令消息中区分重要信令消息与非重要信令消息。例如,发起呼叫,挂断呼叫,接听呼叫及拒接呼叫的信令消息都可以理解为重要信令消息;用作心跳包的信令消息,作为非重要信令消息。将视频呼叫相关信令消息发送给SIP服务器,将视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器,以便通过SIP服务器发送视频呼叫相关信令消息至被叫客户端,同样被叫客户端也可以通过SIP服务器发送视频呼叫相关信令消息至主叫客户端。
SIP服务器获知每一个客户端的状态及客户端的标识,从主叫客户端发送的视频呼叫相关信令消息携带主叫客户端及被叫客户端的标识。SIP服务器根据主叫客户端及被叫客户端的标识将视频呼叫相关信令消息发送至对应的被叫客户端。
在本实施例中,MQTT服务器在接收到主叫客户端发送的重要信令消息后,会将重要信令消息保存在自己的数据库中,以使得被叫客户端可以接收到相同呼叫主题下MQTT服务器发送的所有包含呼叫主题的重要信令消息。
在本实施例中,SIP服务器传输视频呼叫相关信令消息可能会丢失信令消息,因此,被叫客户端将会收到服务器发送的视频呼叫相关信令消息和MQTT服务器发送的重要信令消息,以防止重要信令消息的丢失,为建立可靠的视频通信。
通过本实施例的多媒体网络通话的呼叫***,可以解决现有技术通过基于UDP协议的SIP服务器建立视频通信,从而导致使用UDP协议传输信令消息不可靠的问题,提高传输信令消息的可靠性。
可选的,在图3所示的实施例中,在S303中被叫客户端,在通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息之前包括:
步骤一:主叫客户端,向MQTT服务器发送分配呼叫主题请求,并接收MQTT服务器返回的呼叫主题;并通过SIP服务器向被叫客户端发送主题通知消息;并在向MQTT服务器发送的各个重要信令消息中添加所述呼叫主题;
步骤二:MQTT服务器,接收主叫客户端发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
步骤三:被叫客户端,通过SIP服务器接收到主题通知消息后,从主题通知消息中获得呼叫主题;向MQTT服务器发送包含呼叫主题的订阅请求;接收MQTT服务器发送的包含呼叫主题的重要信令消息。
本实施例为了从MQTT服务器获得重要信令的呼叫主题,以便主叫客户端可以通过MQTT服务器将重要信令传输至被叫客户端。
可以理解的是,MQTT服务器接收发送信令消息使用主题订阅模式,在本实施例中主叫客户端向MQTT发送重要信令消息前,需要知道重要信令消息的呼叫主题,因此,主叫客户端会向MQTT服务器发送分配呼叫主题的请求,以便获得重要信令消息的呼叫主题。主叫客户端接收到MQTT服务器返回的呼叫主题,会在重要信令消息中添加呼叫主题,发送至MQTT服务器。
在本实施中,重要信令消息是否被传输到被叫客户端取决于被叫客户端是否根据自身的需求订阅包含呼叫主题的重要信令消息。被叫客户端获知呼叫主题的方式可以是SIP服务器发送呼叫主题通知消息,还可以使用现有技术中推送服务,IM协议的方式向被叫客户端推送主题通知消息,在此不作详述。被叫客户端需要向MQTT服务器发送呼叫主题的订阅请求,以使得MQTT服务器发送包含呼叫主题重要信令消息。
在本实施中,呼叫主题是一种标识视频呼叫的唯一识别码,呼叫主题可以用当前***时间戳与一个随机数实时生成。例如:当前***unix时间戳为1524792546,随机数为4,MQTT服务器生成的呼叫主题为W1,当前***unix时间戳为1524792532,随机数为1,MQTT服务器生成的呼叫主题为W2。W1及W2可以为unix时间戳、预设数量个任意字符与随机数的组合。呼叫主题可以是MQTT服务器根据客户端的标识及呼叫次数实时生成。例如:主叫客户端标识为A1,主叫客户端第一次向MQTT服务器发送分配呼叫主题请求,MQTT服务器生成的呼叫主题为Q1;主叫客户端标识为A1,主叫客户端第二次向MQTT服务器发送分配呼叫主题请求,MQTT服务器生成的呼叫主题为Q2;Q1及Q2可以为客户端的标识、预设数量个任意字符与呼叫次数的组合。
可选的,在S303中,被叫客户端,接收SIP服务器发送的视频呼叫相关信息和MQTT服务器发送的重要信令消息的步骤之后包括:进一步对当前从MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
本实施例中,如果SIP服务器传输信令消息丢失,被叫客户端收到了MQTT服务器发送的信令消息,以这样的方式防止重要信令消息丢失。如果SIP服务器传输信令消息未丢失,被叫客户端也收到了MQTT服务器发送的与SIP服务器传输的信令消息内容相同的信令消息,将丢弃当前从MQTT服务器接收到的信令消息。如果,被叫客户端收到了MQTT服务器发送的信令消息,SIP服务器传输与MQTT服务器发送的信令消息内容相同的信令消息也未丢失,丢弃当前从SIP服务器接收到的信令消息。
本实施例判断是否之前已经接收到相同内容的信令消息可以根据信令消息的内容或者信令消息内容的关键参数。信令消息内容的关键参数包括:发送信令消息的客户端标识、接收信令消息的客户端标识、信令消息的类型及记录一次视频呼叫的唯一标识。
可选的,如图4所示,在图3所示实施例中,主叫客户端获得SIP服务器产生的信令消息的交互过程,包括以下步骤:
S401,主叫客户端,进一步接收SIP服务器发送的SIP服务器自身产生的信令消息;
S402,SIP服务器,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加呼叫主题发送至所述MQTT服务器;
S403,被叫客户端,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加所述呼叫主题发送至MQTT服务器;
S404,主叫客户端,进一步向MQTT服务器发送订阅请求;
S405,MQTT服务器,进一步根据主叫客户端订阅请求,将SIP服务器自身产生的重要信令消息及被叫客户端自身产生的重要信令消息发送至主叫客户端。
本实施例中,SIP服务器会从接收到的主叫客户端发送的呼叫主题通知消息中获取呼叫主题并保存。SIP服务器会实时记录主叫客户端和被叫客户端的服务状态,并且根据业务需求做相应的处理。SIP服务器根据被叫客户端服务状态自身生成的信令消息,然后SIP服务器根据预先的定义,在自身生成的信令消息区分重要信令消息及非重要信令消息。SIP服务器将用作心跳包的信令消息及普通的ACK消息,作为非重要信令消息;SIP服务器将除心跳包和普通的ACK消息以外的信令消息,作为重要信令消息;SIP服务器将自身产生的信令消息发送给主叫客户端,还会将自身产生的重要信令消息添加呼叫主题发送给MQTT服务器。
例如:在一个不支持呼叫等待的业务中,如果主叫客户端发送视频呼叫相关的信令消息,被叫客户端已经处于忙碌状态,则SIP服务器会生成与被叫客户端服务状态对应的重要信令消息,该重要信令消息可以是:被叫客户端B正在通话或者被叫客户端B正在忙碌。如果在一个支持呼叫等待的业务中,如果主叫客户端发送视频呼叫相关的信令消息,被叫客户端已经处于忙碌状态,则SIP服务器会生成与被叫客户端服务状态对应的重要信令消息,该重要信令消息可以是:被叫客户端B正在通话请等待或者被叫客户端B正在忙碌请等待。
本实施例中,被叫客户端接收SIP服务器发送的呼叫主题通知消息,被叫客户端已经知道呼叫主题,被叫客户端会根据自身的服务状态生成重要信令消息,并在自身产生的重要信令消息中添加呼叫主题,发送给MQTT服务器。被叫客户端将自身产生的用作心跳包的信令消息,作为非重要信令消息。被叫客户端挂断呼叫,接听呼叫及拒接呼叫的信令消息都可以理解为重要信令。
例如:被叫客户端接收SIP服务器发送的视频相关的信令消息,建立与主叫客户端的视频通信,如果被叫客户端挂断视频通信,但是被叫客户端正在忙碌,被叫客户端直接挂断视频通信,会产生挂断呼叫的重要信令消息,发送给MQTT服务器。如果被叫客户端接收SIP服务器发送的视频相关的信令消息,建立视频通信,被叫客户端会产生接听呼叫的重要信令消息发送给MQTT服务器。
本实施例中,主叫客户端向MQTT服务器发送分配呼叫主题请求,并接收到了呼叫主题,因此,主叫客户端只需向MQTT服务器发送订阅请求,就可以接收到MQTT服务器发送的SIP服务器自身产生的信令消息、被叫客户端自身产生的信令消息及SIP服务器发送的从被叫客户端收到的视频呼叫相关信令消息中的重要信令消息。
可选的,在S404,MQTT服务器进一步根据主叫客户端订阅请求,将SIP服务器发送的自身产生的信令消息发送至主叫客户端的步骤之后,包括:主叫客户端,进一步对当前从MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
本实施例中,如果SIP服务器传输自身产生的信令消息丢失,主叫客户端收到了MQTT服务器发送SIP服务器自身产生的信令消息,以这样的方式预防SIP服务器自身产生的信令消息丢失。如果SIP服务器传输自身产生的信令消息未丢失,主叫客户端也收到了MQTT服务器发送的与SIP服务器自身产生的信令消息内容相同的信令消息,将丢弃当前从MQTT服务器接收到的SIP服务器自身产生的信令消息。如果,主叫客户端收到了MQTT服务器发送SIP服务器自身产生的信令消息,SIP服务器传输自身产生的信令消息也未丢失,主叫客户端丢弃当前从SIP服务器接收到的SIP服务器自身产生的信令消息。
如图5所示,本发明实施例提供了另一种多媒体网络通话的呼叫***包括:
主叫客户端501,通过SIP服务器504与被叫客户端503发送和接收视频呼叫相关信令消息;
SIP服务器504,将从主叫客户端501接收的视频呼叫相关信令消息发送至被叫客户端,并将预设的所述视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器502;
MQTT服务器502,接收并保存SIP服务器504发送的重要信令消息,并将SIP服务器504发送的重要信令消息发送至所述被叫客户端;
被叫客户端503,接收SIP服务器504发送的视频呼叫相关信息和MQTT服务器502发送的重要信令消息,建立与主叫客户端501的视频通信。
在本实施例中,在SIP服务器从主叫客户端接收的视频呼叫相关信令消息后,解析视频呼叫相关信令消息,从中获取信令消息的内容。再根据SIP服务器预先的定义,在视频呼叫相关信令消息中区分重要信令消息与非重要信令消息。例如,发起呼叫,挂断呼叫,接听呼叫及拒接呼叫的信令消息都可以理解为重要信令消息;用作心跳包的信令消息,作为非重要信令消息。SIP服务器将视频呼叫相关信令消息发送给被叫客户端,将视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器。同样被叫客户端也可以通过SIP服务器发送视频呼叫相关信令消息至主叫客户端。SIP服务器获知每一个客户端的状态及客户端的标识,从主叫客户端发送的视频呼叫相关信令消息携带主叫客户端及被叫客户端的标识。SIP服务器根据主叫客户端及被叫客户端的标识将视频呼叫相关信令消息发送至对应的被叫客户端。
在本实施例中,MQTT服务器在接收到SIP服务器发送的重要信令消息后,会将重要信令消息保存在自己的数据库中,以使得被叫客户端可以接收到相同呼叫主题下MQTT服务器发送的所有包含呼叫主题的重要信令消息。
在本实施例中,SIP服务器向被叫客户端传输视频呼叫相关信令消息可能会丢失信令消息,因此,被叫客户端将会收到SIP服务器发送的视频呼叫相关信令消息和MQTT服务器发送的重要信令消息,以防止重要信令消息的丢失,实现可靠的视频通信。
通过本实施例的多媒体网络通话的呼叫***,可以解决现有技术通过基于UDP协议的SIP服务器传输信令消息建立视频通信,从而导致使用UDP协议传输信令消息不可靠的问题,提高传输信令消息的可靠性。
可选的,图5所示的实施例中,SIP服务器504,向MQTT服务器502发送分配呼叫主题请求,并接收MQTT服务器502返回的呼叫主题;向被叫客户端503发送主题通知消息;并在向所述MQTT服务器502发送的各个重要信令消息中添加所述呼叫主题;
MQTT服务器502,接收SIP服务器504发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
被叫客户端503,接收所述SIP服务器504发送的主题通知消息后,从所述主题通知消息中获得所述呼叫主题;向所述MQTT服务器502发送包含所述呼叫主题的订阅请求;接收所述MQTT服务器502发送的包含所述呼叫主题的重要信令消息。
可以理解的是,MQTT服务器接收发送信令消息使用主题订阅模式,在SIP服务器向MQTT发送重要信令消息前,需要知道重要信令消息的呼叫主题,因此,SIP服务器会向MQTT服务器发送分配呼叫主题的请求,以便获得重要信令消息的呼叫主题。主叫客户端接收到MQTT服务器返回的呼叫主题,会在重要信令消息中添加呼叫主题,发送至MQTT服务器。
在本实施中,MQTT服务器会根据被叫客户端的订阅,向被叫客户端发送包含呼叫主题的重要信令消息。被叫客户端获知呼叫主题的方式可以是SIP服务器发送呼叫主题通知消息,还可以使用现有技术中推送服务,IM协议的方式向被叫客户端推送主题通知消息,在此不作详述。被叫客户端需要向MQTT服务器发送呼叫主题的订阅请求,以使得MQTT服务器发送包含呼叫主题的重要信令消息。
在本实施中,呼叫主题是一种标识视频呼叫的唯一识别码,呼叫主题可以用当前***时间戳与一个随机数实时生成。例如:当前***unix时间戳为1524792546,随机数为4,MQTT服务器生成的呼叫主题为W1,当前***unix时间戳为1524792532,随机数为1,MQTT服务器生成的呼叫主题为W2。W1及W2可以为unix时间戳、预设数量个任意字符与随机数的组合。呼叫主题可以是MQTT服务器根据客户端的标识及呼叫次数实时生成。例如:主叫客户端标识为A1,主叫客户端第一次向MQTT服务器发送分配呼叫主题请求,MQTT服务器生成的呼叫主题为Q1;主叫客户端标识为A1,主叫客户端第二次向MQTT服务器发送分配呼叫主题请求,MQTT服务器生成的呼叫主题为Q2;Q1及Q2可以为客户端的标识、预设数量个任意字符与呼叫次数的组合。
可选的,被叫客户端503,进一步对当前从MQTT服务器502或SIP服务器504接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
本实施例中,如果SIP服务器传输信令消息丢失,被叫客户端收到了MQTT服务器发送的信令消息,以这样的方式防止重要信令消息丢失。如果SIP服务器传输信令消息未丢失,被叫客户端也收到了MQTT服务器发送的与SIP服务器传输的信令消息内容相同的信令消息,将丢弃当前从MQTT服务器接收到的信令消息。如果,被叫客户端收到了MQTT服务器发送的信令消息,SIP服务器传输与MQTT服务器发送的信令消息内容相同的信令消息也未丢失,丢弃当前从SIP服务器接收到的信令消息。
本实施例判断是否之前已经接收到相同内容的信令消息可以根据信令消息的内容或者信令消息内容的关键参数。信令消息内容的关键参数包括:发送信令消息的客户端标识、接收信令消息的客户端标识、信令消息的类型及记录一次视频呼叫的唯一标识。
可选的,图5所示的实施例中的主叫客户端501,进一步接收SIP服务器504发送的SIP服务器504自身产生的信令消息;
SIP服务器504,进一步在自身产生的重要信令消息中添加呼叫主题发送至MQTT服务器502;
被叫客户端503,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加呼叫主题发送至MQTT服务器502;
主叫客户端501,进一步向MQTT服务器502发送订阅请求;
MQTT服务器502,进一步根据主叫客户端501订阅请求,将SIP服务器504自身产生的重要信令消息及被叫客户端503自身产生的重要信令消息发送至主叫客户端501。
在本实施例中,SIP服务器将从MQTT服务器接收到的呼叫主题保存。SIP服务器会实时记录主叫客户端和被叫客户端的服务状态,并且根据业务需求做相应的处理。SIP服务器根据被叫客户端服务状态自身生成的信令消息,然后SIP服务器根据预先的定义,在自身生成的信令消息区分重要信令消息及非重要信令消息。SIP服务器将用作心跳包的信令消息及普通的ACK消息,作为非重要信令消息;SIP服务器将除心跳包和普通的ACK消息以外的信令消息,作为重要信令消息;SIP服务器将自身产生的信令消息发送给主叫客户端,还会将自身产生的重要信令消息添加呼叫主题发送给MQTT服务器。
例如:在一个不支持呼叫等待的业务中,如果主叫客户端发送视频呼叫相关的信令消息,被叫客户端已经处于忙碌状态,则SIP服务器会生成与被叫客户端服务状态对应的重要信令消息,该重要信令消息可以是:被叫客户端B正在通话或者被叫客户端B正在忙碌。如果在一个支持呼叫等待的业务中,如果主叫客户端发送视频呼叫相关的信令消息,被叫客户端已经处于忙碌状态,则SIP服务器会生成与被叫客户端服务状态对应的重要信令消息,该重要信令消息可以是:被叫客户端B正在通话请等待或者被叫客户端B正在忙碌请等待。
本实施例中,被叫客户端接收SIP服务器发送的呼叫主题通知消息,被叫客户端已经知道呼叫主题,被叫客户端会根据自身的服务状态生成重要信令消息,并在自身产生的重要信令消息中添加呼叫主题,发送给MQTT服务器。被叫客户端将自身产生的用作心跳包的信令消息,作为非重要信令消息。被叫客户端挂断呼叫,接听呼叫及拒接呼叫的信令消息都可以理解为重要信令。
例如:被叫客户端接收SIP服务器发送的视频相关的信令消息,建立与主叫客户端的视频通信,如果被叫客户端挂断视频通信,但是被叫客户端正在忙碌,被叫客户端直接挂断视频通信,会产生挂断呼叫的重要信令消息,发送给MQTT服务器。如果被叫客户端接收SIP服务器发送的视频相关的信令消息,建立视频通信,被叫客户端会产生接听呼叫的重要信令消息发送给MQTT服务器。
本实施例中,SIP服务器已经向MQTT服务器发送分配呼叫主题请求,并接收到了呼叫主题。SIP服务器并将该呼叫主题通知主叫客户端。因此,主叫客户端只需向MQTT服务器发送订阅请求,就可以接收到MQTT服务器发送的SIP服务器自身产生的信令消息、被叫客户端自身产生的信令消息及SIP服务器发送的从被叫客户端收到的视频呼叫相关信令消息中的重要信令消息。
可选的,主叫客户端501,进一步对当前从MQTT服务器502或SIP服务器504接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
本实施例中,如果SIP服务器传输自身产生的信令消息丢失,主叫客户端收到了MQTT服务器发送SIP服务器自身产生的信令消息,以这样的方式预防SIP服务器自身产生的信令消息丢失。如果SIP服务器传输自身产生的信令消息未丢失,主叫客户端也收到了MQTT服务器发送的与SIP服务器自身产生的信令消息内容相同的信令消息,将丢弃当前从MQTT服务器接收到的SIP服务器自身产生的信令消息。如果,主叫客户端收到了MQTT服务器发送的SIP服务器自身产生的信令消息,SIP服务器传输自身产生的信令消息也未丢失,主叫客户端丢弃当前从SIP服务器接收到的SIP服务器自身产生的信令消息。
如图6所示,基于图5的一种多媒体网络通话的呼叫方法,包括以下步骤:
S601,主叫客户端,通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息;
S602,SIP服务器,将从主叫客户端接收的视频呼叫相关信令消息发送至被叫客户端,并将预设的所述视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器;
S603,MQTT服务器,接收并保存SIP服务器发送的重要信令消息,并将SIP服务器发送的重要信令消息发送至所述被叫客户端;
S604,被叫客户端,接收SIP服务器发送的视频呼叫相关信息和MQTT服务器发送的重要信令消息,建立与主叫客户端的视频通信。
在本实施例中,在SIP服务器从主叫客户端接收的视频呼叫相关信令消息后,解析视频呼叫相关信令消息,从中获取信令消息的内容。再根据SIP服务器预先的定义,在视频呼叫相关信令消息中区分重要信令消息与非重要信令消息。例如,发起呼叫,挂断呼叫,接听呼叫及拒接呼叫的信令消息都可以理解为重要信令消息;用作心跳包的信令消息,作为非重要信令消息。SIP服务器将视频呼叫相关信令消息发送给被叫客户端,将视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器。同样被叫客户端也可以通过SIP服务器发送视频呼叫相关信令消息至主叫客户端。SIP服务器获知每一个客户端的状态及客户端的标识,从主叫客户端发送的视频呼叫相关信令消息携带主叫客户端及被叫客户端的标识。SIP服务器根据主叫客户端及被叫客户端的标识将视频呼叫相关信令消息发送至对应的被叫客户端。
在本实施例中,MQTT服务器在接收到SIP服务器发送的重要信令消息后,会将重要信令消息保存在自己的数据库中,以使得被叫客户端可以接收到相同呼叫主题下MQTT服务器发送的所有包含呼叫主题的重要信令消息。
在本实施例中,SIP服务器向被叫客户端传输视频呼叫相关信令消息可能会丢失信令消息,因此,被叫客户端将会收到SIP服务器发送的视频呼叫相关信令消息和MQTT服务器发送的重要信令消息,以防止重要信令消息的丢失,实现可靠的视频通信。
通过本实施例的多媒体网络通话的呼叫***,可以解决现有技术通过基于UDP协议的SIP服务器建立视频通信,从而导致使用UDP协议传输信令消息不可靠的问题,提高传输信令消息的可靠性。
可选的,在图6所示的实施例中,在S602,SIP服务器,将预设的所述视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器的步骤之前包括:
步骤一:SIP服务器,向MQTT服务器发送分配呼叫主题请求,并接收MQTT服务器返回的呼叫主题;并通过SIP服务器向被叫客户端发送主题通知消息;并在向MQTT服务器发送的各个重要信令消息中添加所述呼叫主题;
步骤二:MQTT服务器,接收SIP服务器发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
步骤三:被叫客户端,接收所述SIP服务器发送的主题通知消息后,从主题通知消息中获得所述呼叫主题;向所述MQTT服务器发送包含所述呼叫主题的订阅请求;接收所述MQTT服务器发送的包含所述呼叫主题的重要信令消息。
可以理解的是,MQTT服务器接收和发送信令消息使用主题订阅模式,在SIP服务器向MQTT发送重要信令消息前,需要知道重要信令消息的呼叫主题,因此,SIP服务器会向MQTT服务器发送分配呼叫主题的请求,以便获得重要信令消息的呼叫主题。主叫客户端接收到MQTT服务器返回的呼叫主题,会在重要信令消息中添加呼叫主题,发送至MQTT服务器。
在本实施中,MQTT服务器会根据被叫客户端的订阅,向被叫客户端发送包含呼叫主题的重要信令消息。被叫客户端获知呼叫主题的方式可以是SIP服务器发送呼叫主题通知消息,还可以使用现有技术中推送服务,IM协议的方式向被叫客户端推送主题通知消息,在此不作详述。被叫客户端需要向MQTT服务器发送呼叫主题的订阅请求,以使得MQTT服务器发送包含呼叫主题的重要信令消息。
在本实施中,呼叫主题是一种标识视频呼叫的唯一识别码,呼叫主题可以用当前***时间戳与一个随机数实时生成。例如:当前***unix时间戳为1524792546,随机数为4,MQTT服务器生成的呼叫主题为W1,当前***unix时间戳为1524792532,随机数为1,MQTT服务器生成的呼叫主题为W2。W1及W2可以为unix时间戳、预设数量个任意字符与随机数的组合。呼叫主题可以是MQTT服务器根据客户端的标识及呼叫次数实时生成。例如:主叫客户端标识为A1,主叫客户端第一次向MQTT服务器发送分配呼叫主题请求,MQTT服务器生成的呼叫主题为Q1;主叫客户端标识为A1,主叫客户端第二次向MQTT服务器发送分配呼叫主题请求,MQTT服务器生成的呼叫主题为Q2;Q1及Q2可以为客户端的标识、预设数量个任意字符与呼叫次数的组合。
可选的,在S604被叫客户端,接收SIP服务器发送的视频呼叫相关信息和MQTT服务器发送的重要信令消息的步骤之后包括:被叫客户端,进一步对当前从MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
本实施例中,如果SIP服务器传输信令消息丢失,被叫客户端收到了MQTT服务器发送的信令消息,以这样的方式防止重要信令消息丢失。如果SIP服务器传输信令消息未丢失,被叫客户端也收到了MQTT服务器发送的与SIP服务器传输的信令消息内容相同的信令消息,将丢弃当前从MQTT服务器接收到的信令消息。如果,被叫客户端收到了MQTT服务器发送的信令消息,SIP服务器传输与MQTT服务器发送的信令消息内容相同的信令消息也未丢失,丢弃当前从SIP服务器接收到的信令消息。
本实施例判断是否之前已经接收到相同内容的信令消息可以根据信令消息的内容或者信令消息内容的关键参数。信令消息内容的关键参数包括:发送信令消息的客户端标识、接收信令消息的客户端标识、信令消息的类型及记录一次视频呼叫的唯一标识。
可选的,如图7所示,在图5所示实施例中,主叫客户端获得SIP服务器产生的信令消息的过程,包括如下步骤:
S701,主叫客户端,进一步接收SIP服务器发送的SIP服务器自身产生的信令消息;
S702,SIP服务器,进一步在自身产生的重要信令消息中添加呼叫主题发送至所述MQTT服务器;
S703,被叫客户端,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加呼叫主题发送至MQTT服务器;
S704,主叫客户端,进一步向MQTT服务器发送订阅请求;
S705,MQTT服务器,进一步根据主叫客户端订阅请求,将SIP服务器自身产生的重要信令消息及被叫客户端自身产生的重要信令消息发送至主叫客户端。
在本实施例中,SIP服务器将从MQTT服务器接收到的呼叫主题保存。SIP服务器会实时记录主叫客户端和被叫客户端的服务状态,并且根据业务需求做相应的处理。SIP服务器根据被叫客户端服务状态自身生成的信令消息,然后SIP服务器根据预先的定义,在自身生成的信令消息区分重要信令消息及非重要信令消息。SIP服务器将用作心跳包的信令消息及普通的ACK消息,作为非重要信令消息;SIP服务器将除心跳包和普通的ACK消息以外的信令消息,作为重要信令消息;SIP服务器将自身产生的信令消息发送给主叫客户端,还会将自身产生的重要信令消息添加呼叫主题发送给MQTT服务器。
例如:在一个不支持呼叫等待的业务中,如果主叫客户端发送视频呼叫相关的信令消息,被叫客户端已经处于忙碌状态,则SIP服务器会生成与被叫客户端服务状态对应的重要信令消息,该重要信令消息可以是:被叫客户端B正在通话或者被叫客户端B正在忙碌。如果在一个支持呼叫等待的业务中,如果主叫客户端发送视频呼叫相关的信令消息,被叫客户端已经处于忙碌状态,则SIP服务器会生成与被叫客户端服务状态对应的重要信令消息,该重要信令消息可以是:被叫客户端B正在通话请等待或者被叫客户端B正在忙碌请等待。
在本实施例中,被叫客户端接收SIP服务器发送的呼叫主题通知消息,被叫客户端已经知道呼叫主题,被叫客户端会根据自身的服务状态生成重要信令消息,并在自身产生的重要信令消息中添加呼叫主题,发送给MQTT服务器。被叫客户端将自身产生的用作心跳包的信令消息,作为非重要信令消息。被叫客户端挂断呼叫,接听呼叫及拒接呼叫的信令消息都可以理解为重要信令。
例如:被叫客户端接收SIP服务器发送的视频相关的信令消息,建立与主叫客户端的视频通信,如果被叫客户端挂断视频通信,但是被叫客户端正在忙碌,被叫客户端直接挂断视频通信,会产生挂断呼叫的重要信令消息,发送给MQTT服务器。如果被叫客户端接收SIP服务器发送的视频相关的信令消息,建立视频通信,被叫客户端会产生接听呼叫的重要信令消息发送给MQTT服务器。
本实施例中,SIP服务器已经向MQTT服务器发送分配呼叫主题请求,并接收到了呼叫主题。SIP服务器并将该呼叫主题通知主叫客户端。因此,主叫客户端只需向MQTT服务器发送订阅请求,就可以接收到MQTT服务器发送的SIP服务器自身产生的信令消息、被叫客户端自身产生的信令消息及SIP服务器发送的从被叫客户端收到的视频呼叫相关信令消息中的重要信令消息。
可选的,在S704,MQTT服务器进一步根据主叫客户端订阅请求,将SIP服务器发送的自身产生的信令消息发送至主叫客户端的步骤之后,包括:主叫客户端,进一步对当前从MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
本实施例中,如果SIP服务器传输自身产生的信令消息丢失,主叫客户端收到了MQTT服务器发送SIP服务器自身产生的信令消息,以这样的方式预防SIP服务器自身产生的信令消息丢失。如果SIP服务器传输自身产生的信令消息未丢失,主叫客户端也收到了MQTT服务器发送的与SIP服务器自身产生的信令消息内容相同的信令消息,将丢弃当前从MQTT服务器接收到的SIP服务器自身产生的信令消息。如果,主叫客户端收到了MQTT服务器发送的SIP服务器自身产生的信令消息,SIP服务器传输自身产生的信令消息也未丢失,主叫客户端丢弃当前从SIP服务器接收到的SIP服务器自身产生的信令消息。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的多媒体网络通话的呼叫方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的多媒体网络通话的呼叫方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (18)

1.一种多媒体网络通话的呼叫***,其特征在于,所述***包括:主叫客户端、被叫客户端、SIP服务器和MQTT服务器;
所述主叫客户端,通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息,并将预设的所述视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器;其中,所述重要信令消息为所述视频呼叫相关信令消息中除心跳包和普通的ACK消息以外的信令消息;
所述MQTT服务器,接收并保存主叫客户端发送的重要信令消息,并将主叫客户端发送的重要信令消息发送至所述被叫客户端;
所述被叫客户端,接收SIP服务器发送的视频呼叫相关信令消息和MQTT服务器发送的重要信令消息,建立与主叫客户端的视频通信;
所述主叫客户端,在通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息之前,向MQTT服务器发送分配呼叫主题请求,并接收MQTT服务器返回的呼叫主题;并通过所述SIP服务器向被叫客户端发送呼叫主题通知消息;并在向所述MQTT服务器发送的各个重要信令消息中添加所述呼叫主题;
所述MQTT服务器,接收主叫客户端发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
所述被叫客户端,通过所述SIP服务器接收到呼叫主题通知消息后,从所述呼叫主题通知消息中获得所述呼叫主题;向所述MQTT服务器发送包含所述呼叫主题的订阅请求;接收所述MQTT服务器发送的包含所述呼叫主题的重要信令消息。
2.根据权利要求1所述的***,其特征在于,
所述被叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
3.根据权利要求1所述的***,其特征在于,
所述主叫客户端,进一步接收SIP服务器发送的SIP服务器自身产生的信令消息;
所述SIP服务器,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加呼叫主题发送至所述MQTT服务器;
所述被叫客户端,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加所述呼叫主题发送至MQTT服务器;
所述主叫客户端,进一步向MQTT服务器发送订阅请求;
所述MQTT服务器,进一步根据主叫客户端订阅请求,将SIP服务器自身产生的重要信令消息及被叫客户端自身产生的重要信令消息发送至主叫客户端。
4.根据权利要求3所述的***,其特征在于,
所述主叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
5.一种多媒体网络通话的呼叫方法,其特征在于,应用于权利要求1所述的呼叫***中,所述方法包括:
主叫客户端,通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息,并将预设的所述视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器;其中,所述重要信令消息为所述视频呼叫相关信令消息中除心跳包和普通的ACK消息以外的信令消息;
MQTT服务器,接收并保存主叫客户端发送的重要信令消息,并将主叫客户端发送的重要信令消息发送至所述被叫客户端;
被叫客户端,接收SIP服务器发送的视频呼叫相关信息和MQTT服务器发送的重要信令消息,建立与主叫客户端的视频通信;
所述主叫客户端,在通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息之前,向MQTT服务器发送分配呼叫主题请求,并接收MQTT服务器返回的呼叫主题;并通过所述SIP服务器向被叫客户端发送主题通知消息;并在向所述MQTT服务器发送的各个重要信令消息中添加所述呼叫主题;
所述MQTT服务器,接收主叫客户端发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
所述被叫客户端,通过所述SIP服务器接收到主题通知消息后,从所述主题通知消息中获得所述呼叫主题;向所述MQTT服务器发送包含所述呼叫主题的订阅请求;接收所述MQTT服务器发送的包含所述呼叫主题的重要信令消息。
6.根据权利要求5所述的方法,其特征在于,
所述被叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
7.根据权利要求5所述的方法,其特征在于,
所述主叫客户端,进一步接收SIP服务器发送的SIP服务器自身产生的信令消息;
所述SIP服务器,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加呼叫主题发送至所述MQTT服务器;
所述被叫客户端,进一步保存所述呼叫主题,在自身产生重要信令消息中添加所述呼叫主题发送至MQTT服务器;
所述的主叫客户端,进一步向MQTT服务器发送订阅请求;
所述MQTT服务器,进一步根据主叫客户端订阅请求,将SIP服务器自身产生的重要信令消息及被叫客户端自身产生的重要信令消息发送至主叫客户端。
8.根据权利要求7所述的方法,其特征在于,
所述主叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
9.一种多媒体网络通话的呼叫***,其特征在于,所述***包括:主叫客户端、被叫客户端、SIP服务器和MQTT服务器;
所述主叫客户端,通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息;
所述SIP服务器,将从主叫客户端接收的视频呼叫相关信令消息发送至被叫客户端,并将预设的所述视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器;其中,所述重要信令消息为所述视频呼叫相关信令消息中除心跳包和普通的ACK消息以外的信令消息;
所述MQTT服务器,接收并保存SIP服务器发送的重要信令消息,并将SIP服务器发送的重要信令消息发送至所述被叫客户端;
所述被叫客户端,接收SIP服务器发送的视频呼叫相关信息和MQTT服务器发送的重要信令消息,建立与主叫客户端的视频通信。
10.根据权利要求9所述的***,其特征在于,
所述的SIP服务器,接收到主叫客户端发送的呼叫请求信令信息后,向MQTT服务器发送分配呼叫主题请求,并接收MQTT服务器返回的呼叫主题;向被叫客户端发送主题通知消息;并在向所述MQTT服务器发送的各个重要信令消息中添加所述呼叫主题;
所述MQTT服务器,接收SIP服务器发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
所述被叫客户端,接收所述SIP服务器发送的主题通知消息后,从所述主题通知消息中获得所述呼叫主题;向所述MQTT服务器发送包含所述呼叫主题的订阅请求;接收所述MQTT服务器发送的包含所述呼叫主题的重要信令消息。
11.根据权利要求9或10所述的***,其特征在于,
所述被叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
12.根据权利要求10所述的***,其特征在于,
所述主叫客户端,进一步接收SIP服务器发送的SIP服务器自身产生的信令消息;
所述SIP服务器,进一步在自身产生的重要信令消息中添加呼叫主题发送至所述MQTT服务器;
所述被叫客户端,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加所述呼叫主题发送至MQTT服务器;
所述主叫客户端,进一步向MQTT服务器发送订阅请求;
所述MQTT服务器,进一步根据主叫客户端订阅请求,将SIP服务器自身产生的重要信令消息及被叫客户端自身产生的重要信令消息发送至主叫客户端。
13.根据权利要求12所述的***,其特征在于,
所述主叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
14.一种多媒体网络通话的呼叫方法,其特征在于,应用于权利要求11所述的呼叫***中,
所述主叫客户端,通过SIP服务器与被叫客户端发送和接收视频呼叫相关信令消息;
所述SIP服务器,将从主叫客户端接收的视频呼叫相关信令消息发送至被叫客户端,并将预设的所述视频呼叫相关信令消息中的重要信令消息发送至MQTT服务器;其中,所述重要信令消息为所述视频呼叫相关信令消息中除心跳包和普通的ACK消息以外的信令消息;
所述MQTT服务器,接收并保存SIP服务器发送的重要信令消息,并将SIP服务器发送的重要信令消息发送至所述被叫客户端;
所述被叫客户端,接收SIP服务器发送的视频呼叫相关信息和MQTT服务器发送的重要信令消息,建立与主叫客户端的视频通信。
15.根据权利要求14所述的方法,其特征在于,
所述SIP服务器,接收到主叫客户端发送的呼叫请求信令信息后,向MQTT服务器发送分配呼叫主题请求,并接收MQTT服务器返回的呼叫主题;向被叫客户端发送主题通知消息;并在向所述MQTT服务器发送的各个重要信令消息中添加所述呼叫主题;
所述MQTT服务器,接收主叫客户端发送的分配呼叫主题请求,为本次呼叫分配呼叫主题;
所述被叫客户端,接收所述SIP服务器发送的主题通知消息后,从所述主题通知消息中获得所述呼叫主题;向所述MQTT服务器发送包含所述呼叫主题的订阅请求;接收所述MQTT服务器发送的包含所述呼叫主题的重要信令消息。
16.根据权利要求15所述的方法,其特征在于,
所述被叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
17.根据权利要求15所述的方法,其特征在于,
所述主叫客户端,进一步接收SIP服务器发送的SIP服务器自身产生的信令消息;
所述SIP服务器,进一步在自身产生的重要信令消息中添加呼叫主题发送至所述MQTT服务器;
所述被叫客户端,进一步保存所述呼叫主题,在自身产生的重要信令消息中添加所述呼叫主题发送至MQTT服务器;
所述主叫客户端,进一步向MQTT服务器发送订阅请求;
所述MQTT服务器,进一步根据主叫客户端订阅请求,将SIP服务器自身产生的重要信令消息及被叫客户端自身产生的重要信令消息发送至主叫客户端。
18.根据权利要求17所述的方法,其特征在于,
所述主叫客户端,进一步对当前从所述MQTT服务器或SIP服务器接收到的信令消息,判断是否之前已经接收到相同内容的信令消息;如果是,则丢弃当前接收到的信令消息。
CN201810432303.9A 2018-05-08 2018-05-08 多媒体网络通话的呼叫***及方法 Active CN108881774B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810432303.9A CN108881774B (zh) 2018-05-08 2018-05-08 多媒体网络通话的呼叫***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810432303.9A CN108881774B (zh) 2018-05-08 2018-05-08 多媒体网络通话的呼叫***及方法

Publications (2)

Publication Number Publication Date
CN108881774A CN108881774A (zh) 2018-11-23
CN108881774B true CN108881774B (zh) 2021-05-28

Family

ID=64326497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810432303.9A Active CN108881774B (zh) 2018-05-08 2018-05-08 多媒体网络通话的呼叫***及方法

Country Status (1)

Country Link
CN (1) CN108881774B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600749B (zh) * 2020-10-27 2023-02-17 百果园技术(新加坡)有限公司 一种过期通话的识别方法、装置、终端和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145401A1 (en) * 2014-03-28 2015-10-01 Aetonix Systems Simple video communication platform
CN105656847A (zh) * 2014-11-13 2016-06-08 中国科学院沈阳计算技术研究所有限公司 面向移动设备的sip/mqtt协议转换网关***及其控制方法
CN106817341A (zh) * 2015-11-27 2017-06-09 中国科学院沈阳计算技术研究所有限公司 一种面向移动互联网的sip协议节流传输***及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9660943B2 (en) * 2014-04-25 2017-05-23 International Business Machines Corporation Messaging based signaling for communications sessions
US10630731B2 (en) * 2015-10-08 2020-04-21 Verizon Patent And Licensing Inc. Establishing media sessions via MQTT and SIP

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145401A1 (en) * 2014-03-28 2015-10-01 Aetonix Systems Simple video communication platform
CN105656847A (zh) * 2014-11-13 2016-06-08 中国科学院沈阳计算技术研究所有限公司 面向移动设备的sip/mqtt协议转换网关***及其控制方法
CN106817341A (zh) * 2015-11-27 2017-06-09 中国科学院沈阳计算技术研究所有限公司 一种面向移动互联网的sip协议节流传输***及方法

Also Published As

Publication number Publication date
CN108881774A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
US9654519B2 (en) Notification of communication events
RU2316150C2 (ru) Устройство связи для присоединения абонента к групповому вызову в сети групповой связи
US8688822B2 (en) Push e-mail inferred network presence
EP2847979B1 (en) Multiple versions of call invites
JP5436571B2 (ja) 通信履歴を提供する方法及び装置
US7889854B2 (en) Systems, devices, and methods for handling connectivity loss
US9215195B2 (en) Method and apparatus for message synchronization in instant messaging applications
JP2008022584A (ja) ワイヤレスマルチメディア通信システム及び方法
EP3679713B1 (en) Call reconnection
US10320971B2 (en) Call log management for multiple communication devices using the same address of record
US20150116450A1 (en) Video Data Transmission Method and Apparatus, and Communications Device
US11991227B2 (en) Method and device for controlling video reception
WO2015172629A1 (zh) 一种消息传输的方法、装置及***
JP2008153782A (ja) 呼管理方法、呼管理システム、およびメッセージ処理サーバシステム
EP2068524A1 (en) A method and a system for acquiring the transmission path of the sip message
CN114979084A (zh) 一种呼叫方法、装置及***
CN108881774B (zh) 多媒体网络通话的呼叫***及方法
US8059809B1 (en) Systems and methods of establishing group calls
US20170142215A1 (en) Relaying mobile communications
US8868759B2 (en) Communication system and server
CN109889405B (zh) 一种网络电话的通信方法、相关装置及***
CN109120578B (zh) 一种实现链路连接处理的方法及装置
CN116346988A (zh) 接收来电的方法和装置
JP5512919B2 (ja) 異なるサービス間でのサービス利用状況の共有方式
CN111865874A (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