CN109995734A - 一种基于SIP协议的WebRTC的通信方法 - Google Patents
一种基于SIP协议的WebRTC的通信方法 Download PDFInfo
- Publication number
- CN109995734A CN109995734A CN201711492037.0A CN201711492037A CN109995734A CN 109995734 A CN109995734 A CN 109995734A CN 201711492037 A CN201711492037 A CN 201711492037A CN 109995734 A CN109995734 A CN 109995734A
- Authority
- CN
- China
- Prior art keywords
- sip
- webrtc
- signaling
- called end
- calling 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.)
- Withdrawn
Links
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
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种基于SIP协议的WebRTC的通信方法,包括主叫端和被叫端通过ICE代理收集候选地址,生成offer信令以及answer信令。主叫端和被叫端通过内置于客户端的SIPRTC本地网关实现WebRTC信令和SIP信令的相互转化,然后主叫端和被叫端通过SIP服务器转发SIP信令,最终主叫端和被叫端建立P2P或通过媒体中继服务器进行媒体流中转。本发明实现了WebRTC信令和SIP信令在客户端侧的相互转化,以及通过WebRTC的PeerConnection层对实时流媒体进行处理,实现了SIP协议和WebRTC高效率的融合。
Description
技术领域
本发明涉及WebRTC应用领域,尤其是一种基于SIP协议的WebRTC的通信方法。
背景技术
SIP(Session Initiation Protocol)是一个应用层的信令控制协议,是IMS的核心的、成熟的、已经得到广泛应用的技术,用于创建、修改和释放一个或多个参与者的会话。
Web实时通信(WebRTC)是一种构建在Web浏览器上的实时音视频通信技术。WebRTC提供了音视频采集、网络传输、音视频编解码、信号优化和处理等一整套的音视频通信解决方案。由于WebRTC强大的多媒体处理引擎,WebRTC已经在Chrome、Firefox、Opera、Android、iOS等浏览器和平台上得到了支持。
WebRTC提供的JSEP是一种弱信令,在企业级的融合通信应用中必须将WebRTC与实际的信令协议相结合。当下主要有两种SIP和WebRTC互通方案:一种是用JavaScript实现SIP协议,在此协议栈的基础上构建WebRTC应用。另一种是开发基于服务器的SIP/WebRTC转换网关。两种方案均是利用浏览器提供的JavaScript接口(WebRTC接口)开发应用,在一定程度上会降低应用的运行效率,其次由于WebRTC接口正处于标准制定中,所以利用JavaScript接口会有所不便,最后两种方案均需要服务器做不同程度针对兼容WebRTC的开发。
发明内容
本发明针对现有WebRTC和SIP协议融合方案的不足,提出了一种服务器不需要做兼容WebRTC开发且较高效率利用WebRTC和SIP协议开发音视频通信软件的通信方法。
本发明为实现上述目的所采用的技术方案是:一种基于SIP协议的WebRTC的通信方法,包括:
步骤1:主叫端收集候选地址和生成offer信令;主叫端将候选地址和offer信令转化成SIP请求消息,发送给SIP服务器;SIP服务器转发SIP请求消息给被叫端;
步骤2:被叫端接收SIP请求消息后,被叫端将SIP请求消息转化成WebRTC信令和候选地址;被叫端生成answer信令;被叫端再将候选地址和answer信令转化成SIP请求回应消息,发送给SIP服务器;SIP服务器转发SIP请求回应消息给主叫端;
步骤3:主叫端接收SIP请求回应消息后,向被叫端直接回复SIP传输消息后,两个客户端建立P2P或通过媒体中继服务器的多媒体会话;
步骤4:当其中一个客户端发送SIP终止消息给另一个客户端,另一个客户端接收SIP终止消息,并回复SIP终止回应消息给发起客户端,则终止两个客户端的会话。
所述步骤1中主叫端收集候选地址是通过ICE代理收集的;
所述步骤1中主叫端将候选地址和offer信令转化成SIP请求消息是通过SIPRTC本地网关实现的。
所述步骤2中被叫端将SIP请求消息转化成WebRTC信令和候选地址是通过SIPRTC本地网关实现的;
所述步骤2中被叫端生成answer信令是通过调用被叫端的WebRTCPeerConnection层接口实现的;
所述步骤2中被叫端再将候选地址和answer信令转化成SIP请求回应消息是通过调用SIPRTC本地网关实现的。
所述步骤4具体为:
当其中一个客户端调用WebRTC PeerConnection层接口并发送SIP终止消息给另一个客户端,另一个客户端接收SIP终止消息,并调用WebRTCPeerConnection层接口终止媒体传输,然后回复SIP终止回应消息给发起客户端,则终止两个客户端的会话。
所述主叫端、被叫端均通过所述SIPRTC本地网关用于SIP SDP和WebRTCSDP之间互相转化以及将SIP消息映射成WebRTC PeerConnection层的相应接口。
所述SIPRTC本地网关内嵌于客户端,所述客户端包括主叫端和被叫端。
所述SIPRTC本地网关采用基于WebRTC C++API的PeerConnection层接口和SIP协议。
本发明具有以下有益效果及优点:
1.本发明提出的基于SIP协议的WebRTC的通信方法适用于Windows、iOS和Android客户端平台,且对SIP协议的具体实现无要求。
2.本发明中SIP信令与WebRTC信令的转换对SIP服务器透明,无需SIP服务器干预。
3.本发明应用非Web应用,运行效率高。
4.本发明通过客户端SIPRTC本地网关实现了和传统的IMS网络的兼容。
附图说明
图1为本发明实施例一的WebRTC的PeerConnection层和SIP协议在客户端的融合方案架构图;
图2为本发明实施例二的WebRTC的PeerConnetion层接口和SIP信令映射流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
本发明的基本原理:基于SIPRTC本地网关实现WebRTC(网页实时通信)信令和SIP(会话初始协议)信令的转化,即WebRTC的PeerConnection(对等连接)层和SIP协议在客户端的融合。可以实现一种服务器不需要做兼容WebRTC开发且较高效率的利用WebRTC和SIP协议开发音视频通信应用,所述应用方案如下:
a)主叫端通过所述ICE代理收集候选地址和生成offer信令,然后主叫端通过所述SIPRTC本地网关转化成SIP消息,并发送给所述SIP服务器;
b)被叫端接收SIP消息后,被叫端通过所述SIPRTC本地网关转化后,调用WebRTCPeerConnection层接口来收集候选地址和生成answer信令,然后再调用所述SIPRTC本地网关转化成SIP消息发送给SIP服务器;
c)主叫端接收SIP消息后,向被叫端回复200OK消息,然后两个客户端建立P2P(点对点)或通过所述媒体中继服务器的多媒体会话;
d)其中一个客户端调用WebRTC PeerConnection层API接口并发送SIP消息给另一个客户端,另一个客户端接收SIP消息,回复SIP消息并调用WebRTCPeerConnection层接口终止两个客户端的会话。
主叫端、被叫端均需要通过所述SIPRTC的本地网关来用于SIP SDP(会话描述协议)和WebRTC SDP之间互相转化以及将SIP信令映射成WebRTCPeerConnection层的相应接口。
所述SIPRTC本地网关内嵌于客户端。
所述SIPRTC本地网关的开发基于WebRTC C++API和SIP协议开发。SIPRTC本地网关的开发基于WebRTC C++API开发,但不限于C++API,包括编译等手段产生的Objective-C、Java语言的WebRTC API。SIPRTC本地网关的开发基于SIP协议开发,但不限制SIP协议的具体实现方式。
主叫端、被叫端可以建立P2P或通过所述媒体中继服务器的多媒体会话。主叫端、被叫端可以通过所述ICE代理收集候选地址建立P2P多媒体会话,也可以建立通过所述媒体中继服务器的多媒体会话。所述ICE代理和所述媒体中继服务器在一次会话建立过程中并非一定需要同时存在。
主叫端、被叫端均需要通过所述SIP服务器交换SIP信令,但所述SIP服务器不需要做兼容WebRTC的开发。
为了更清楚的说明本发明实例的技术方案,下面将结合示例图对本发明的实施进行详细的介绍,下面的描述仅仅是本发明的一些实施例。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。对于本领域的技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些实施例获得本发明的其他实施例方式。
具体实施例一是WebRTC的PeerConnection层和SIP协议在客户端的融合方案整体架构的实施方案。图1为本发明WebRTC的PeerConnection层和SIP协议在客户端的融合方案架构图。参考图1,文中提及SIP服务器也就是我们的OpenSIPS服务器,文中提及的媒体中继服务器也就是我们的Asterisk服务器,文中提及的ICE代理也就是我们的STUN Server服务器。
SIP服务器仅仅中转SIP消息,所以SIP服务器不需要做针对兼容WebRTC的开发。
客户端首先会从ICE代理收集自己的候选地址信息,在后面SDP协商过程中会将候选地址信息一并发送出去。最终客户端会根据获取到的候选地址信息建立P2P多媒体会话,如果P2P多媒体会话建立失败,将会建立通过Asterisk服务器进行媒体中继。
具体实施例二是SIPRTC本地网关做WebRTC信令和SIP信令转化的实施方案。图2为本发明WebRTC PeerConnetion接口和SIP信令映射流程图。参考图2,可知此时方案主要包括以下以下实现操作:
主叫端调用PeerConnection层的createOffer接口,生成WebRTC SDP消息和通过ICE代理收集候选地址信息,然后主叫端调用SIPRTC本地网关转化成SIP消息(INVITE消息)发送给SIP服务器。
SIP服务器中转SIP消息给被叫端,被叫端接收该SIP消息后,调用SIPRTC本地网关,并转化成WebRTC信令,然后调用PeerConnection层的setRemoteDescription接口,接着调用PeerConnection层的createAnswer接口,最后调用SIPRTC本地网关将WebRTC SDP和候选地址消息转化成SIP消息(180、200OK消息)发送给SIP服务器。
SIP服务器中转SIP消息给主叫端,主叫端接收该SIP消息后,调用SIPRTC本地网关,并转化成WebRTC信令,然后调用PeerConnection层的setRemoteDescription接口。
主叫端回复SIP消息(ACK消息)给被叫端。此时两个客户端首先尝试建立P2P多媒体会话,如果失败将会建立通过Asterisk媒体中继服务器的多媒体会话。其中WebRTC的多媒体流均通过SRTP(安全实时传输协议)发送和接收。
其中一个客户端调用PeerConnection层的removeRemoteMedia接口,并发送SIP消息(BYE消息)给另一个客户端。
另一个客户端接收该SIP消息后,也调用PeerConnection层的removeRemoteMedia接口,并发送一个SIP消息(200OK消息)。此时就完整的完成了一次多媒体会话。
Claims (7)
1.一种基于SIP协议的WebRTC的通信方法,其特征在于,包括:
步骤1:主叫端收集候选地址和生成offer信令;主叫端将候选地址和offer信令转化成SIP请求消息,发送给SIP服务器;SIP服务器转发SIP请求消息给被叫端;
步骤2:被叫端接收SIP请求消息后,被叫端将SIP请求消息转化成WebRTC信令和候选地址;被叫端生成answer信令;被叫端再将候选地址和answer信令转化成SIP请求回应消息,发送给SIP服务器;SIP服务器转发SIP请求回应消息给主叫端;
步骤3:主叫端接收SIP请求回应消息后,向被叫端直接回复SIP传输消息后,两个客户端建立P2P或通过媒体中继服务器的多媒体会话;
步骤4:当其中一个客户端发送SIP终止消息给另一个客户端,另一个客户端接收SIP终止消息,并回复SIP终止回应消息给发起客户端,则终止两个客户端的会话。
2.按照权利要求1所述的一种基于SIP协议的WebRTC的通信方法,其特征在于:
所述步骤1中主叫端收集候选地址是通过ICE代理收集的;
所述步骤1中主叫端将候选地址和offer信令转化成SIP请求消息是通过SIPRTC本地网关实现的。
3.按照权利要求1所述的一种基于SIP协议的WebRTC的通信方法,其特征在于:
所述步骤2中被叫端将SIP请求消息转化成WebRTC信令和候选地址是通过SIPRTC本地网关实现的;
所述步骤2中被叫端生成answer信令是通过调用被叫端的WebRTCPeerConnection层接口实现的;
所述步骤2中被叫端再将候选地址和answer信令转化成SIP请求回应消息是通过调用SIPRTC本地网关实现的。
4.按照权利要求1所述的一种基于SIP协议的WebRTC的通信方法,其特征在于,所述步骤4具体为:
当其中一个客户端调用WebRTC PeerConnection层接口并发送SIP终止消息给另一个客户端,另一个客户端接收SIP终止消息,并调用WebRTCPeerConnection层接口终止媒体传输,然后回复SIP终止回应消息给发起客户端,则终止两个客户端的会话。
5.按照权利要求2-3任意一项所述的一种基于SIP协议的WebRTC的通信方法,其特征在于,所述主叫端、被叫端均通过所述SIPRTC本地网关用于SIP SDP和WebRTC SDP之间互相转化以及将SIP消息映射成WebRTC PeerConnection层的相应接口。
6.按照权利要求5所述一种基于SIP协议的WebRTC的通信方法,其特征在于,所述SIPRTC本地网关内嵌于客户端,所述客户端包括主叫端和被叫端。
7.按照权利要求6所述一种基于SIP协议的WebRTC的通信方法,其特征在于,所述SIPRTC本地网关采用基于WebRTC C++API的PeerConnection层接口和SIP协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711492037.0A CN109995734A (zh) | 2017-12-30 | 2017-12-30 | 一种基于SIP协议的WebRTC的通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711492037.0A CN109995734A (zh) | 2017-12-30 | 2017-12-30 | 一种基于SIP协议的WebRTC的通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109995734A true CN109995734A (zh) | 2019-07-09 |
Family
ID=67110157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711492037.0A Withdrawn CN109995734A (zh) | 2017-12-30 | 2017-12-30 | 一种基于SIP协议的WebRTC的通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109995734A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147506A (zh) * | 2019-12-30 | 2020-05-12 | 武汉兴图新科电子股份有限公司 | 一种基于html5播放流媒体数据的方法、***及存储设备 |
CN111447236A (zh) * | 2020-04-03 | 2020-07-24 | 安康鸿天科技股份有限公司 | 基于区块链的通信鉴权方法、装置、终端设备和存储介质 |
CN112769818A (zh) * | 2021-01-05 | 2021-05-07 | 武汉球之道科技有限公司 | 一种基于网页即时通讯及ip通信的视频处理方法 |
CN113114702A (zh) * | 2021-05-13 | 2021-07-13 | 上海井星信息科技有限公司 | 一种IOS端基于SIP协议交互的WebRTC通信方法和*** |
CN113746808A (zh) * | 2021-08-12 | 2021-12-03 | 杭州网易智企科技有限公司 | 线上会议的融合通信方法、网关、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297445A (zh) * | 2012-02-22 | 2013-09-11 | ***通信集团公司 | 一种基于IP多媒体网络的Web终端通信方法和*** |
CN103580986A (zh) * | 2012-07-30 | 2014-02-12 | 华为终端有限公司 | 一种实时通信方法、终端设备、实时通信服务器及*** |
CN103905380A (zh) * | 2012-12-25 | 2014-07-02 | ***通信集团公司 | 一种业务呼叫方法、设备和*** |
KR101617760B1 (ko) * | 2014-11-07 | 2016-05-09 | 주식회사 인프라웨어 | 시그널링 서버 및 시그널링 서버에서의 WebRTC 서비스 제공 방법 |
CN105634911A (zh) * | 2014-11-07 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 会话建立方法及装置 |
CN106850399A (zh) * | 2016-12-30 | 2017-06-13 | 深圳市潮流网络技术有限公司 | 一种基于WebRTC技术即时消息的通信方法 |
-
2017
- 2017-12-30 CN CN201711492037.0A patent/CN109995734A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297445A (zh) * | 2012-02-22 | 2013-09-11 | ***通信集团公司 | 一种基于IP多媒体网络的Web终端通信方法和*** |
CN103580986A (zh) * | 2012-07-30 | 2014-02-12 | 华为终端有限公司 | 一种实时通信方法、终端设备、实时通信服务器及*** |
CN103905380A (zh) * | 2012-12-25 | 2014-07-02 | ***通信集团公司 | 一种业务呼叫方法、设备和*** |
KR101617760B1 (ko) * | 2014-11-07 | 2016-05-09 | 주식회사 인프라웨어 | 시그널링 서버 및 시그널링 서버에서의 WebRTC 서비스 제공 방법 |
CN105634911A (zh) * | 2014-11-07 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 会话建立方法及装置 |
CN106850399A (zh) * | 2016-12-30 | 2017-06-13 | 深圳市潮流网络技术有限公司 | 一种基于WebRTC技术即时消息的通信方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147506A (zh) * | 2019-12-30 | 2020-05-12 | 武汉兴图新科电子股份有限公司 | 一种基于html5播放流媒体数据的方法、***及存储设备 |
CN111447236A (zh) * | 2020-04-03 | 2020-07-24 | 安康鸿天科技股份有限公司 | 基于区块链的通信鉴权方法、装置、终端设备和存储介质 |
CN112769818A (zh) * | 2021-01-05 | 2021-05-07 | 武汉球之道科技有限公司 | 一种基于网页即时通讯及ip通信的视频处理方法 |
CN113114702A (zh) * | 2021-05-13 | 2021-07-13 | 上海井星信息科技有限公司 | 一种IOS端基于SIP协议交互的WebRTC通信方法和*** |
CN113746808A (zh) * | 2021-08-12 | 2021-12-03 | 杭州网易智企科技有限公司 | 线上会议的融合通信方法、网关、电子设备及存储介质 |
CN113746808B (zh) * | 2021-08-12 | 2023-09-08 | 杭州网易智企科技有限公司 | 线上会议的融合通信方法、网关、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995734A (zh) | 一种基于SIP协议的WebRTC的通信方法 | |
CN103227788B (zh) | 实现网页应用程序与sip设备进行通信的方法和*** | |
CN106850399B (zh) | 一种基于WebRTC技术即时消息的通信方法 | |
CN104704795B (zh) | 通过使用具有webRTC功能的网络浏览器创建虚拟SIP用户代理的方法和*** | |
CN101437036B (zh) | 支持nat/防火墙穿越的文件传输方法和*** | |
US20150236905A1 (en) | System and method of processing media traffic for a hub-based system federating disparate unified communications systems | |
US20070156909A1 (en) | Proxy for extending IMS services to mobile terminals with SMS capabilities | |
US8767715B2 (en) | Dynamic federations for establishing IP telephony sessions between enterprises | |
WO2015000356A1 (zh) | 一种WebRTC通信方法、相关设备及*** | |
CN101414950B (zh) | 通过临时使用tcp传输协议实现sip信令消息的地址转换设备穿越的方法 | |
JP2004531110A (ja) | Sipのユーザエージェントの機能をプロキシにアウトソーシングするシステムおよび方法 | |
JP2006254402A (ja) | マルチメディア会議システム,それを用いた会議方法、およびコンピューターの判読可能メディア | |
CN102045537A (zh) | 连接视频会议***和视频监控***的方法和装置 | |
CN103107983B (zh) | 网络***的数据管理方法及其相关*** | |
WO2013097457A1 (zh) | 云计算环境中实现voip通话的方法、装置和*** | |
US20230353603A1 (en) | Call processing system and call processing method | |
CN103297445A (zh) | 一种基于IP多媒体网络的Web终端通信方法和*** | |
WO2020029954A1 (zh) | 业务请求、协商、响应方法、装置及网络设备、*** | |
JP2010516131A (ja) | 電話ベースのウェブサーバを発見する方法及び、当該方法に関連する電子機器とコンピュータプログラム | |
CN109120578B (zh) | 一种实现链路连接处理的方法及装置 | |
RU2555225C2 (ru) | Первоначальные мультимедиа-данные и разветвление при управлении вызовом третьей стороны (3рсс) | |
US8719424B2 (en) | Transmission method and system for converged IP messaging | |
CN101668092B (zh) | 一种网络多媒体终端实现补充业务拨号音的方法和装置 | |
US20060280180A1 (en) | Method of calling between terminals in packet-based multimedia communication system | |
Rosenberg | A Framework for Application Interaction in the Session Initiation Protocol (SIP) |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190709 |