CN117596231A - 通信方法、终端设备、系统及介质 - Google Patents
通信方法、终端设备、系统及介质 Download PDFInfo
- Publication number
- CN117596231A CN117596231A CN202410071975.7A CN202410071975A CN117596231A CN 117596231 A CN117596231 A CN 117596231A CN 202410071975 A CN202410071975 A CN 202410071975A CN 117596231 A CN117596231 A CN 117596231A
- Authority
- CN
- China
- Prior art keywords
- sip
- cluster
- terminal equipment
- stream
- terminal
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 102
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000015654 memory Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002085 persistent 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/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—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/1101—Session protocols
- H04L65/1108—Web based protocols, e.g. webRTC
-
- 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/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- 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/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
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)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种通信方法、终端设备、系统及介质,属于通信技术领域。该方法包括接收第一终端设备发送的第一呼叫信息;其中,第一呼叫信息由用户对第一终端设备的网络通话页面进行操作生成,第一呼叫信息包括第二终端设备的用户账号,第二终端设备为具备SIP电话功能的终端,第一终端设备和服务器之间通过WebSocket通信协议建立通信连接;发送第一呼叫信息至SIP集群,以使SIP集群基于第一呼叫信息呼叫对应的第二终端设备,并接收第二终端设备的音频流和/或视频流;接收SIP集群返回的第二终端设备的应答信息;发送应答信息至所述第一终端设备。本申请可以提供一种灵活性较高的网络通信方法。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法、终端设备、系统及介质。
背景技术
近年来VoIP通信技术(Voice over Internet Protocol,基于IP的语音传输技术)飞速发展。在相关技术中,一般是使用PSTN(Public Switched Telephone Network,公共交换电话网络)的网络体系进行通信传输,但通过PSTN网络通话需要预先配置和建立专用线路,即时通讯的灵活性较差,故需要寻求一种灵活性较高的网络通信方法。
发明内容
本申请的主要目的在于提供一种通信方法、终端设备、系统及介质,旨在提供一种灵活性较高的网络通信方法。
为实现上述目的,本申请提供一种通信方法,所述通信方法包括以下步骤:
接收第一终端设备发送的第一呼叫信息;其中,第一呼叫信息由用户对第一终端设备的网络通话页面进行操作生成,第一呼叫信息包括第二终端设备的用户账号,第二终端设备为具备SIP电话功能的终端,第一终端设备和服务器之间通过WebSocket通信协议建立通信连接;
发送第一呼叫信息至SIP集群,以使SIP集群基于第一呼叫信息呼叫对应的第二终端设备,并接收第二终端设备的音频流和/或视频流;
接收SIP集群返回的第二终端设备的应答信息;
发送应答信息至第一终端设备。
可选地,接收第一终端设备发送的第一呼叫信息之前,所述方法还包括:
接收第一终端设备的登录注册信息;其中,登录注册信息包括用户账号、用户密码和保活周期;
基于登录注册信息进行登录验证,获得验证结果;
若验证通过,则发送注册请求至SIP集群,以使SIP集群向SIP服务器进行注册,并接收SIP服务器返回的对应的注册状态信息;
接收注册状态信息,并发送注册状态信息至第一终端设备。
可选地,若验证通过,则发送注册请求至SIP集群,以使SIP集群向SIP服务器进行注册,并接收SIP服务器返回的对应的注册状态信息之后,方法还包括:
通过第一编解码器集群接收SIP集群返回的拉流通知信息;
发送拉流通知信息至RTC流集群,以使RTC流集群基于RTC方式拉取第一终端的音频流和/或视频流。
可选地,发送拉流通知信息至RTC流集群,以使RTC流集群基于RTC方式获取第一终端的音频流和/或视频流之后,方法还包括:
通过第一编解码器集群获取第一终端的音频流和/或视频流;其中,第一终端的音频流和/或视频流为RTC流集群基于RTC方式拉取的第一终端的音频流和/或视频流;
对第一终端的音频流和/或视频流依次进行转码和解码操作,获得转编码数据流;
将转编码数据流推送至SIP集群,以使SIP集群发送转编码数据流至对应的第二终端设备。
可选地,接收第一终端设备发送的第一呼叫信息之后,方法还包括:
解析第二终端设备的用户账号,判断第二终端设备的用户账号是否存在;
若存在,则判断第二终端设备的用户账号是否处于在线状态;
若在线,则发送第一呼叫信息至SIP集群。
可选地,该方法还包括:
接收SIP集群转发的第二终端设备的第二呼叫信息和第二终端设备的音频流和/或视频流;其中,第二呼叫信息包括第一终端设备的用户账号;
发送第二呼叫信息至第一终端设备;
通过第二编解码器集群对第二终端设备的音频流和/或视频流依次进行编码和解码操作,获得编解码数据流;
基于RTMP方式,发送编解码数据流至第二呼叫信息对应的第一终端设备。
此外,为实现上述目的,本申请还提出一种第一终端设备,该第一终端设备包括具备网页实时通信WebRTC功能的移动手机、平板或者计算机;
第一终端设备用于响应于用户对第一终端设备的网络通话页面进行操作,生成第一呼叫信息,发送第一呼叫信息至服务器,第一呼叫信息包括第二终端设备的用户账号;第一终端设备和服务器之间通过WebSocket通信协议建立通信连接;服务器发送第一呼叫信息至SIP集群,以使SIP集群基于第一呼叫信息呼叫对应的第二终端设备,并接收第二终端设备的音频流和/或视频流;接收服务器转发的SIP集群返回的第二终端设备的应答信息。
此外,为实现上述目的,本申请还提出一种通信系统,所述通信系统包括:
服务器,该服务器包括处理器,存储器以及存储在存储器中的计算机程序,该计算机程序被处理器运行时实现如上述通信方法的步骤;
如上所述的第一终端设备以及第二终端设备。
可选地,第二终端设备包括具备SIP电话功能的一体化视频会议终端或者SIP话机。
此外,为实现上述目的,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的通信方法。
本申请提供的通信方法中,可以接收第一终端设备发送的第一呼叫信息;其中,第一呼叫信息由用户对第一终端设备的网络通话页面进行操作生成,第一呼叫信息包括第二终端设备的用户账号,第二终端设备为具备SIP电话功能的终端,第一终端设备和所述服务器之间通过WebSocket通信协议建立通信连接;并发送第一呼叫信息至SIP集群,以使SIP集群可以基于第一呼叫信息呼叫对应的第二终端设备,并接收第二终端设备的音频流和/或视频流;从而可以接收SIP集群返回的第二终端设备的应答信息;并发送应答信息至第一终端设备。本申请的通信方法结合了网页通话页面和SIP电话的技术优势,能够更方便地实现跨越多种终端设备的通信,更加适合互联网环境下的通信要求,与PSTN电话线路的通信方式相比更具灵活性。
附图说明
图1为本申请实施例方案涉及的通信系统示意图;
图2为本申请实施例方案涉及的硬件运行环境的服务器的结构示意图;
图3为本申请实施例提供的通信方法的信令图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
近年来VoIP(Voice over Internet Protocol,基于IP的语音传输)通信技术迅速发展,其中,SIP(Session initialization Protocol,会话初始协议)一直是最为活跃和受欢迎的传输协议,其具有灵活性高、可扩展性强、成本低、易于管理等优势,不仅仅可以用于处理电话呼叫,而且还可以被应用到传输摄像头、视频展板、媒体会议中。
SIP电话是基于SIP的网络通话软件应用,电话客户端通过多种网络,例如局域网、互联网等,与其他电话端点进行通信。SIP软电话客户端提供了多种功能,例如呼叫管理、多方通话、语音邮件等。在相关技术中,一般是使用PSTN的网络体系进行通信传输,但通过PSTN网络通话需要预先配置和建立专用线路,即时通讯的灵活性较差,故需要寻求一种灵活性较高的网络通信方法。
为了解决这一问题,提出本申请的通信方法,使用通信方法可以接收第一终端设备发送的第一呼叫信息;其中,第一呼叫信息由用户对第一终端设备的网络通话页面进行操作生成,第一呼叫信息包括第二终端设备的用户账号,第二终端设备为具备SIP电话功能的终端,第一终端设备和所述服务器之间通过WebSocket通信协议建立通信连接;并发送第一呼叫信息至SIP集群,以使SIP集群可以基于第一呼叫信息呼叫对应的第二终端设备,并接收第二终端设备的音频流和/或视频流;从而可以接收SIP集群返回的第二终端设备的应答信息;并发送应答信息至第一终端设备。本申请的通信方法结合了网页通话页面和SIP电话的技术优势,能够更方便地实现跨越多种终端设备的通信,更加适合互联网环境下的通信要求,与PSTN电话线路的通信方式相比更具灵活性。
以下将通过多个实施例进行展开说明和介绍。
参照图1,图1为本申请实施例方案涉及的通信系统示意图。
如图1所示,该通信系统包括第一终端设备、第二终端设备和服务器。
其中,第一终端设备为WebRTC电话终端,即具备WebRTC(Web Real-TimeCommunications,网页实时通信)功能的移动手机、平板或者计算机,WebRTC电话是一种基于WebRTC技术的网络电话,可以直接在Web浏览器上进行音视频通信,WebRTC电话终端响应于用户对网络通话页面进行的操作,可以生成第一呼叫信息,并发送第一呼叫信息至服务器。
其中,第二终端设备为SIP电话终端,即具备SIP电话功能的一体化视频会议终端、电脑端程序或者SIP话机。SIP电话是一种基于SIP协议的网络电话,用户可以通过IP网络进行语音和视频通话。
其中,服务器用于控制和管理第一终端设备以及第二终端设备之间的通信。参照图2,图2为本申请实施例方案涉及的硬件运行环境的服务器的结构示意图。
如图2所示,该服务器可以包括:处理器1001,例如CPU,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括语音拾取模块,如麦克风阵列等,可选用户接口1003还可以是显示屏(Display)、输入单元比如键盘(Keyboard)等。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可以理解的是,所述服务器还可以包括网络接口1004,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图2中示出的服务器的结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图2所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及通信程序。
在图2所示的服务器中,网络接口1004主要用于进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请服务器中的处理器1001、存储器1005可以设置在服务器中,服务器通过处理器1001调用存储器1005中存储的通信程序,并执行本申请实施例提供的通信方法。
基于上述服务器的硬件结构但不限于上述硬件结构,本申请提供一种通信方法的第一实施例。参照图3,图3示出了本申请通信方法的信令图。
在本实施例中,实施通信方法包括以下步骤:
步骤一,接收第一终端设备发送的第一呼叫信息。
其中,第一呼叫信息由用户对第一终端设备的网络通话页面进行操作生成,第一呼叫信息包括第二终端设备的用户账号,第二终端设备为具备SIP电话功能的终端,第一终端设备和服务器之间通过WebSocket通信协议建立通信连接。
具体而言,服务器与第一终端设备(即WebRTC电话)之间可以通过WebSocket通信协议建立通信连接,以便于进行后续交互。WebSocket是一种全双工通信的协议,可以用于在和服务器之间建立持久连接,且允许服务器向WebRTC电话主动推送数据,可以是实现二者的实时双向通信。
用户在WebRTC电话的网络通话页面进行呼叫操作(如在通话页面输入第二终端设备的用户手机号等),可以生成用于呼叫第二终端设备(即SIP电话)的第一呼叫信息。第一呼叫信息中可以包括第二终端设备的用户账号,也即是被呼叫方的身份信息(如用户手机号、SIP账号等),第一呼叫信息还可以包括第一终端设备发出的具体呼叫方式(如视频呼叫、音频呼叫或者是音视频呼叫),服务器通过WebSocket通信协议可以接收WebRTC电话发送的第一呼叫信息。
步骤二,发送第一呼叫信息至SIP集群,以使SIP集群基于第一呼叫信息呼叫对应的第二终端设备,并接收第二终端设备的音频流和/或视频流。
步骤三,接收SIP集群返回的第二终端设备的应答信息。
步骤四,发送应答信息至第一终端设备。
具体而言,服务器接收到WebRTC电话发出的第一呼叫信息后,可以解析第二终端设备的用户账号,判断第二终端设备的用户账号是否存在;若存在,则判断第二终端设备的用户账号是否处于在线状态;若在线,则发送第一呼叫信息至SIP集群。
服务器在接收到第一呼叫信息后可以访问用户账号数据库或者其他的用户存储系统,解析用户账号,若用户账号为手机号,还可以将手机号转换为对应的SIP账号,进行后续判断。服务器可以查询用户账号数据库或者其他存储系统,以验证第二终端设备的用户账号是否存在;若账号存在,则可以进一步检查用户账号的当前状态,确定用户账号是否在线,若用户账号处于在线状态,则表明对应的SIP电话端可以进行网络通信,由此可以将第一呼叫信息发送至SIP集群,SIP集群根据第一呼叫信息中的用户账号可以呼叫对应SIP电话。如SIP集群可以根据第一呼叫信息中的用户账号呼叫对应的SIP账号至SIP服务器,由此SIP服务器可以转发对应的第一呼叫信息至SIP电话端,SIP电话端接收第一呼叫信息后可以返回应答信息至SIP服务器,其中,应答信息可以包括SIP电话端的应答方式。SIP服务器将对应的应答信息以及SIP电话端的音频流、视频流或者音视频流转发至SIP集群。服务器通过与SIP集群之间的连接,可以获取SIP电话端发送至SIP集群的应答信息,并通过WebSocket通信协议将应答信息反馈至WebRTC电话,完成WebRTC电话端对SIP电话端的呼叫操作。
此外,在WebRTC电话发出第一呼叫信息之前,WebRTC电话可以基于预设的网络协议(如HTTP或HTTPS协议发送GET或POST请求等)向对应的Web服务器发送页面请求,Web服务器接收到WebRTC电话终端的请求后,会处理该请求并返回相应内容(如与编解码器集群Codec Cluster的通信方式、地址、端口;默认通话设置参数;加密参数,秘钥和向量等),WebRTC电话端设备还可以进行自检操作。如,检测麦克风和摄像头等设备是否允许使用,以保证后续通信的正常进行,若麦克风和摄像头等设备可以正常使用,则可以继续进行音视频通信的后续操作;若检测到麦克风和摄像头等设备均处于禁用状态,则可以直接停止对SIP电话端呼叫的后续操作。
不难理解的,本实施例的通信方法可以接收第一终端设备发送的第一呼叫信息;其中,第一呼叫信息由用户对第一终端设备的网络通话页面进行操作生成,第一呼叫信息包括第二终端设备的用户账号,第二终端设备为具备SIP电话功能的终端,第一终端设备和所述服务器之间通过WebSocket通信协议建立通信连接;并发送第一呼叫信息至SIP集群,以使SIP集群可以基于第一呼叫信息呼叫对应的第二终端设备,并接收第二终端设备的音频流和/或视频流;从而可以接收SIP集群返回的第二终端设备的应答信息;并发送应答信息至第一终端设备。本申请的通信方法结合了网页通话页面和SIP电话的技术优势,能够更方便地实现跨越多种终端设备的通信,更加适合互联网环境下的通信要求,与PSTN电话线路的通信方式相比更具灵活性。
此外,在接收第一终端设备发送的第一呼叫信息之前,还可以接收第一终端设备的登录注册信息;其中,登录注册信息包括用户账号、用户密码和保活周期;基于登录注册信息进行登录验证,获得验证结果;若验证通过,则发送注册请求至SIP集群,以使SIP集群向SIP服务器进行注册,并接收SIP服务器返回的对应的注册状态信息;接收注册状态信息,并发送注册状态信息至第一终端设备。
具体而言,第一终端设备的用户发起呼叫前需要进行用户认证,以保障系统的安全性。用户在WebRTC电话端请求登录并进行注册,其登录注册信息(如用户账号、用户密码和保活周期等)可以实时发送至服务器,服务器根据接收到的登录注册信息可以进行登录验证,并分配剩余的可用SIP集群资源。若验证通过,服务器则可以向SIP集群发送注册请求,以便于SIP集群向SIP服务器发送注册请求进行注册,其中,注册请求包括用户账号、用户,密码、IP地址、端口号以及保活周期等信息,SIP服务器相应注册请求后可以返回注册状态信息至SIP集群,SIP集群将对应的注册状态信息返回至服务器,服务器可以实时返回注册状态信息至WebRTC电话端,以使用户知晓注册情况。如在一示例中,服务器编码为2721,若WebRTC电话端接收到返回的code!=27210000,则表明登录并注册失败,同时还可以在WebRTC电话端网页提示失败原因码,便于用户知晓失败原因并及时处理;若接收到的返回消息为code==27210000,则表明登录并注册成功,此时的返回内容如下:实例编号、SIP账号;通信支持的输出画面或者帧率;Push地址、端口、通话使用的app;验证的Token(用于验证身份或者访问权限的字符串)、Token有效期以及保活周期等信息。
另外,在SIP集群向SIP服务器进行注册,并接收SIP服务器返回的对应的注册状态信息之后,服务器可以通过第一编解码器集群接收SIP集群返回的拉流通知信息;发送拉流通知信息至RTC流集群,以使RTC流集群基于RTC方式拉取第一终端的音频流和/或视频流。
具体而言,SIP集群接收到SIP服务器返回的注册状态信息,确认注册成功后可以发送拉流通知信息至第一编解码器集群,以使第一解编码器集群可以通过和RTC流集群(RTC Stream Cluster)之间的连接,从RTC流集群中进行拉流。其中,RTC流集群可以通过RTC(Real-Time Communication,实时通信)的方式实时获取WebRTC电话端推流的音频流、视频流或者音视频流,从而可以实现实时的音视频通信和流媒体传输。
另外,发送拉流通知信息至RTC流集群,以使RTC流集群基于RTC方式获取第一终端的音频流和/或视频流之后,还可以通过第一编解码器集群获取第一终端的音频流和/或视频流;其中,第一终端的音频流和/或视频流为RTC流集群基于RTC方式拉取的第一终端的音频流和/或视频流;对第一终端的音频流和/或视频流依次进行转码和编码操作,获得转编码数据流;将转编码数据流推送至SIP集群,以使SIP集群发送转编码数据流至对应的第二终端设备。
具体而言,第一编解码器集群可以从RTC流集群中进行拉流,可以选取合适的协议进行拉流操作,如RTMP(Real-Time Messaging Protocol,实时音视频传输协议)等,获取的音视频流经过第一解编码器集群中的解码器和编码器的转码编码等操作,可以获得对应的转编码数据流,并将转编码数据流推送至SIP集群中的RTSP流(Real Time StreamingProtocol,实时流传输协议),RTSP流可以绑定到SIP集群中的音视频流发送端,由此SIP集群可以发送对应的转编码数据流至SIP电话端。通过RTC的拉流方式,可以将流数据同步推送至客户端,可以便于用户在客户端实时监控或者录制通信内容。
进一步的,基于上述实施例,提出申请通信方法的第二实施例,本实施例中,实施通信方法的步骤包括:接收SIP集群转发的第二终端设备的第二呼叫信息和第二终端设备的音频流和/或视频流;其中,第二呼叫信息包括第一终端设备的用户账号;发送第二呼叫信息至第一终端设备;通过第二编解码器集群对第二终端设备的音频流和/或视频流依次进行编码和解码操作,获得编解码数据流;基于RTMP方式,发送编解码数据流至第二呼叫信息对应的第一终端设备。
具体而言,当第二终端设备(即SIP电话端)向第一终端设备(即WebRTC电话端)发出呼叫时,SIP电话可以呼出第二呼叫信息至对应的SIP服务器,第二呼叫信息中包括有第一终端设备的用户账号和SIP电话当前的呼叫方式(音频呼叫、视频呼叫或者音视频呼叫)。SIP服务器可以将请求信息转发至SIP集群,同时SIP电话端的音视频流也可以同步转发至SIP集群,SIP集群中的音视频流接收端可以将获得的音视频流数据通过WebSocket的方式发送至第二编解码器集群,并利用编码器和解码器等对上述第二终端设备的音视频流数据依次进行编码和解码等操作,可以获得处理后的编解码数据流,编解码操作可以对音频流和视频流数据进行优化和压缩,能够减少数据流传输的带宽和延迟。再通过RTMP方式可以将编解码数据流推流至WebRTC电话端,可以使得WebRTC电话端实时接收到SIP电话的音视频流数据,提供更好的用户体验。同时,SIP集群可以将第二终端设备的呼叫请求发送至服务器,服务器在接收到来自SIP电话端的呼叫请求后,可以及时更新服务器中记录的相关状态信息,同时转发第二终端设备的呼叫请求至WebRTC电话端,WebRTC电话端用户可以在网页界面操作选择应答或者拒绝请求,由此完成SIP电话端到WebRTC电话端的呼叫操作。
不难理解的,通过接收第二终端设备的呼叫信息和音视频流数据,并对音视频流数据进行编解码操作,获得编解码数据流,再通过RTMP方式将处理后的编解码数据流推流至WebRTC电话端,可以实现音视频通信和终端的实时呼叫功能,提供了更好的用户体验。
此外,本申请实施例还提出一种计算机存储介质,存储介质上存储有通信程序,通信程序被处理器执行时实现如上文的通信方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种通信方法,其特征在于,用于服务器,所述方法包括:
接收第一终端设备发送的第一呼叫信息;其中,所述第一呼叫信息由用户对所述第一终端设备的网络通话页面进行操作生成,所述第一呼叫信息包括第二终端设备的用户账号,所述第二终端设备为具备SIP电话功能的终端,所述第一终端设备和所述服务器之间通过WebSocket通信协议建立通信连接;
发送所述第一呼叫信息至SIP集群,以使所述SIP集群基于所述第一呼叫信息呼叫对应的第二终端设备,并接收所述第二终端设备的音频流和/或视频流;
接收所述SIP集群返回的所述第二终端设备的应答信息;
发送所述应答信息至所述第一终端设备。
2.根据权利要求1所述的通信方法,其特征在于,所述接收第一终端设备发送的第一呼叫信息之前,所述方法还包括:
接收第一终端设备的登录注册信息;其中,所述登录注册信息包括用户账号、用户密码和保活周期;
基于所述登录注册信息进行登录验证,获得验证结果;
若验证通过,则发送注册请求至所述SIP集群,以使所述SIP集群向SIP服务器进行注册,并接收所述SIP服务器返回的对应的注册状态信息;
接收所述注册状态信息,并发送所述注册状态信息至所述第一终端设备。
3.根据权利要求2所述的通信方法,其特征在于,所述若验证通过,则发送注册请求至所述SIP集群,以使所述SIP集群向SIP服务器进行注册,并接收所述SIP服务器返回的对应的注册状态信息之后,所述方法还包括:
通过第一编解码器集群接收所述SIP集群返回的拉流通知信息;
发送所述拉流通知信息至RTC流集群,以使所述RTC流集群基于RTC方式拉取所述第一终端的音频流和/或视频流。
4.根据权利要求3所述的通信方法,其特征在于,所述发送所述拉流通知信息至RTC流集群,以使所述RTC流集群基于RTC方式获取所述第一终端的音频流和/或视频流之后,所述方法还包括:
通过所述第一编解码器集群获取所述第一终端的音频流和/或视频流;其中,所述第一终端的音频流和/或视频流为所述RTC流集群基于RTC方式拉取的所述第一终端的音频流和/或视频流;
对所述第一终端的音频流和/或视频流依次进行转码和解码操作,获得转编码数据流;
将所述转编码数据流推送至所述SIP集群,以使所述SIP集群发送所述转编码数据流至对应的第二终端设备。
5.根据权利要求1所述的通信方法,其特征在于,所述接收第一终端设备发送的第一呼叫信息之后,所述方法还包括:
解析所述第二终端设备的用户账号,判断所述第二终端设备的用户账号是否存在;
若存在,则判断所述第二终端设备的用户账号是否处于在线状态;
若在线,则发送所述第一呼叫信息至所述SIP集群。
6.根据权利要求1所述的通信方法,其特征在于,所述方法还包括:
接收所述SIP集群转发的第二终端设备的第二呼叫信息和所述第二终端设备的音频流和/或视频流;其中,所述第二呼叫信息包括第一终端设备的用户账号;
发送所述第二呼叫信息至所述第一终端设备;
通过第二编解码器集群对所述第二终端设备的音频流和/或视频流依次进行编码和解码操作,获得编解码数据流;
基于RTMP方式,发送所述编解码数据流至所述第二呼叫信息对应的第一终端设备。
7.一种第一终端设备,其特征在于,所述第一终端设备包括具备网页实时通信WebRTC功能的移动手机、平板或者计算机;
所述第一终端设备用于响应于用户对所述第一终端设备的网络通话页面进行操作,生成第一呼叫信息,发送所述第一呼叫信息至服务器,所述第一呼叫信息包括第二终端设备的用户账号;所述第一终端设备和所述服务器之间通过WebSocket通信协议建立通信连接;所述服务器发送所述第一呼叫信息至SIP集群,以使所述SIP集群基于所述第一呼叫信息呼叫对应的第二终端设备,并接收所述第二终端设备的音频流和/或视频流;接收所述服务器转发的所述SIP集群返回的所述第二终端设备的应答信息。
8.一种通信系统,其特征在于,所述通信系统包括:
服务器,所述服务器包括处理器,存储器以及存储在所述存储器中的计算机程序,所述计算机程序被所述处理器运行时实现如权利要求1至6中任一项所述通信方法的步骤;
如权利要求7所述的第一终端设备以及第二终端设备。
9.根据权利要求8所述的通信系统,其特征在于,所述第二终端设备包括具备SIP电话功能的一体化视频会议终端或者SIP话机。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410071975.7A CN117596231B (zh) | 2024-01-18 | 2024-01-18 | 通信方法、终端设备、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410071975.7A CN117596231B (zh) | 2024-01-18 | 2024-01-18 | 通信方法、终端设备、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117596231A true CN117596231A (zh) | 2024-02-23 |
CN117596231B CN117596231B (zh) | 2024-05-28 |
Family
ID=89922311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410071975.7A Active CN117596231B (zh) | 2024-01-18 | 2024-01-18 | 通信方法、终端设备、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117596231B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3030958A1 (fr) * | 2014-12-19 | 2016-06-24 | Orange | Procede et dispositif de communication entre un terminal sip et un serveur web |
KR20180035312A (ko) * | 2016-09-29 | 2018-04-06 | 주식회사 욱성미디어 | WebRTC를 이용한 하드웨어 영상 코덱 장치 및 영상 통화 방법 |
US10085124B2 (en) * | 2014-10-29 | 2018-09-25 | Kodiak Networks Inc. | System and method to leverage web real-time communication for implementing push-to-talk solutions |
CN114710473A (zh) * | 2022-03-15 | 2022-07-05 | 上海井星信息科技有限公司 | 一种实现小程序与sip联络中心音视频交互的方法及系统 |
CN116016459A (zh) * | 2022-12-28 | 2023-04-25 | 中国联合网络通信集团有限公司 | 音视频会议通话方法、系统及存储介质 |
CN117097702A (zh) * | 2022-05-13 | 2023-11-21 | 深圳联友科技有限公司 | 一种基于SIP协议的高并发WebRTC网关处理方法、网关系统、电子装置及存储介质 |
-
2024
- 2024-01-18 CN CN202410071975.7A patent/CN117596231B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10085124B2 (en) * | 2014-10-29 | 2018-09-25 | Kodiak Networks Inc. | System and method to leverage web real-time communication for implementing push-to-talk solutions |
FR3030958A1 (fr) * | 2014-12-19 | 2016-06-24 | Orange | Procede et dispositif de communication entre un terminal sip et un serveur web |
KR20180035312A (ko) * | 2016-09-29 | 2018-04-06 | 주식회사 욱성미디어 | WebRTC를 이용한 하드웨어 영상 코덱 장치 및 영상 통화 방법 |
CN114710473A (zh) * | 2022-03-15 | 2022-07-05 | 上海井星信息科技有限公司 | 一种实现小程序与sip联络中心音视频交互的方法及系统 |
CN117097702A (zh) * | 2022-05-13 | 2023-11-21 | 深圳联友科技有限公司 | 一种基于SIP协议的高并发WebRTC网关处理方法、网关系统、电子装置及存储介质 |
CN116016459A (zh) * | 2022-12-28 | 2023-04-25 | 中国联合网络通信集团有限公司 | 音视频会议通话方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117596231B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935443B (zh) | 一种视频会议实时直播分享到即时通讯工具的方法和装置 | |
US10009389B2 (en) | Scalable conference bridge | |
EP2863632B1 (en) | System and method for real-time adaptation of a conferencing system to current conditions of a conference session | |
US8281369B2 (en) | Method and apparatus for creating secure write-enabled web pages that are associated with active telephone calls | |
CN113746808B (zh) | 线上会议的融合通信方法、网关、电子设备及存储介质 | |
US8631069B2 (en) | Web and multi-media conference | |
US11601583B2 (en) | System and method for controlling surveillance cameras | |
CN112738140B (zh) | 一种基于WebRTC的视频流传输方法、装置、存储介质和设备 | |
US20130282820A1 (en) | Method and System for an Optimized Multimedia Communications System | |
NO325064B1 (no) | Kommunikasjonsklient | |
Dutton | WebRTC in the real world: STUN, TURN and signaling | |
US8719434B2 (en) | Agnostic peripheral control for media communication appliances | |
Amirante et al. | Performance analysis of the Janus WebRTC gateway | |
US20170359187A1 (en) | Scalable real-time videoconferencing over WebRTC | |
WO2011109972A1 (zh) | 一种多媒体会议的实现方法和系统 | |
WO2018006678A1 (zh) | 语音通话方法及装置 | |
CN113905023B (zh) | 基于网页即时通信技术的外呼系统及方法 | |
WO2015176432A1 (zh) | 一种视频会议的接入方法、系统及存储介质 | |
CN117596231B (zh) | 通信方法、终端设备、系统及介质 | |
US11800017B1 (en) | Encoding a subset of audio input for broadcasting conferenced communications | |
TWI597985B (zh) | 基於網路協議的視頻會議控制系統及方法 | |
WO2022134928A1 (zh) | 云桌面共享到会议电视系统的方法、云桌面终端及云桌面 | |
CN102594784B (zh) | 基于ip的电话会议服务方法和系统 | |
CN110719435B (zh) | 一种进行终端会议的方法和系统 | |
US10412124B2 (en) | Initiating a server-directed communication session |
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 |