首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >webrtc与SIP通信,如何获取流、冰?

webrtc与SIP通信,如何获取流、冰?
EN

Stack Overflow用户
提问于 2014-04-30 06:52:54
回答 1查看 1.9K关注 0票数 3

现在我正在做webrtc信号服务器,使用SIP。我有大问题。如何从远程SIP客户端获取流和ICE候选。?

  1. 在webrtc客户端,调用getusermedia -> peerconnection -> create均可提供->接收流。
  2. webrtc客户端向信号服务器发送会话描述(SDP)。
  3. 信号服务器创建SIP邀请消息,使用webrtc客户端会话描述(SDP)
  4. 信号服务器与SIP客户端(如jitsi)通信SIP消息
  5. webrtc客户端需要接收ICE候选人和流。怎么弄到? 我可以从远程SDP消息中生成ICE候选和流吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-02 13:18:48

SDP是它自己的协议,由SIP和WebRTC使用。您可以在SDP交换中发送大量信息。

SIP绝对可以通过SDP发送连接信息。您必须确保连接信息在SIP端是健全的(让它与眩晕/转向服务器进行协商),一旦它有了良好的信息,您就可以使用该信息编写SDP并发送它。

至于媒体,您必须处理双方之间的DTLS密钥交换过程,以便SRTP媒体可以在双方被加密/解密(两者都有主密钥)。

一旦双方都有主密钥、连接信息(ips/端口)和媒体协商(相同的编解码器),那么您就可以简单地在协商后的ips/端口上流商定的编解码器。

您可以在SIP客户端与Ice服务器通信时创建自己的冰滴流和创建冰候选对象,并将其发送到另一侧,但等待所有Ice协商完成后再尝试协商连接本身可能会更容易。您必须知道谈判何时在您的SIP端完成,但是RTCPeerConnection为这个已经设置了一个信号。

您可能需要查看sipML5。你将不得不做一些类似于他们正在做的事情来使所有这些移动的部分工作。

TL;DR注意到:

  1. 您可以独立地与ICE (眩晕或转向)服务器进行谈判,从中获取良好的连接信息,并将其写入SDP (您可以解析SIP侧的ICE候选服务器以获得良好的连接,并与所有候选人聚集在SIP侧一起写入SDP)。
  2. 注意RTP/RTCP的修改。确保您的媒体端能够解出这些数据包(如果与铬通信)。
  3. 您应该阅读DTLS-SRTP 林奇 Linky2 Linky3
  4. 阅读SDP

编辑:有一个网关,它吹嘘说,它已经可以这样做。Janus-网关也可能是一个很好的资源,您可以了解如何做到这一点。SIP插件似乎能够与SIP设备通信。而且IMHO这个源代码比SIPML5 5的更容易理解。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23381499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档