freeSWITCH + WebRTC 音视频会议

想把 freeSWITCHWebRTC 组合起来做音视频会议,网站找到的资料都比较老了,自己试验了下,把过程记录下来,有需要的人可以参考。

基本的设想是:

  • JsSIP 用于网页端(Chrome),采用 WebRTC 和 SIP 协议与 freeSWITCH 通信,作为音视频会议客户端
  • freeSWITCH 作为服务端,支持音频、视频会议
  • Node.js 构建一个 https 服务器,存放客户端需要的html、js、css文件

用到的软件包:

  • freeSWITCH, 采用 1.6.17 版本,1.6 版本之后支持视频 MCU 。
  • WebRTC ,Chrome 浏览器自带,Chrome 版本 58.0.3029.110 (64-bit)
  • JsSIP ,使用 3.0.13 版本
  • Node.js ,使用 LTS 版本 v6.11.0

接下来会一步一步来,记录过程。


相关阅读:

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: SIP.js 是一个用于浏览器中实现实时通信的开源 JavaScript 库。它支持与 SIP 服务器进行呼入和呼出通话,并且还支持呼叫转移和保持功能。 通过 Sip.js,我们可以通过浏览器进行 WebRTC 电话呼入和呼出。这意味着我们可以使用浏览器作为我们的电话终端,并通过互联网连接进行语音通话。我们只需要一个支持 WebRTC 的浏览器,如 Google Chrome 或 Mozilla Firefox,以及一个配置良好的 FreeSWITCH 服务器。 首先,我们可以使用 Sip.js 建立与 FreeSWITCH 服务器的连接,并注册一个用户。通过这个用户,我们可以发送一个呼出请求来拨打电话到另一个用户,或者接收一个呼入请求来接听电话。 当我们接听了电话后,我们可以选择将电话转移到另一个用户或者电话号码。这可以通过 Sip.js 中提供的呼叫转移功能来实现。我们可以指定转移的目标用户或电话号码,并且可以选择在转移时将呼叫保持或取消保持。 另外一个非常有用的功能是呼叫保持。当我们在通话过程中需要暂时中断通话时,我们可以使用 Sip.js 提供的呼叫保持功能。这个功能允许我们将通话保持在后台,并在需要时重新恢复通话。这对于需要处理多个呼叫或需要暂时离开的用户非常有用。 总之,使用 Sip.js 和 FreeSWITCH,我们可以实现 WebRTC 电话的呼入、呼出、转移和保持功能。这使得我们可以通过浏览器进行实时语音通话,并且可以灵活地控制电话的转移和保持状态。 ### 回答2: SIP.js是一个基于WebRTC技术的开源JavaScript库,用于在网页端实现电话呼入、呼出、转移和保持等功能。它与FreeSWITCH一起使用,可以创建一个强大的Web电话应用。 呼入功能指的是当有电话呼叫进入系统时,SIP.js与FreeSWITCH配合使用,可以在网页端接受并处理这些呼叫。用户可以通过网页界面接听和拒绝呼叫,并可以显示来电号码等相关信息。 呼出功能允许用户通过网页端发起呼叫。用户可以在网页中输入电话号码,并点击拨号按钮,SIP.js将与FreeSWITCH建立连接并将呼叫发出。用户可以直接在网页上进行语音通话,无需使用传统的电话设备。 转移功能指的是将呼叫从一个用户转移至另一个用户。使用SIP.js和FreeSWITCH,用户可以在网页上进行呼叫转移操作。例如,当用户接听电话后,可以选择将呼叫转移到其他用户或号码。 保持功能允许用户在进行通话时暂停通话并将其保持。使用SIP.js和FreeSWITCH,用户可以通过网页界面上的按钮实现保持和取消保持操作。当通话暂停时,用户之间的语音通信将被暂停,但通话仍然保持连接。取消保持后,通话将恢复正常。 总而言之,SIP.js与FreeSWITCH结合使用可实现在网页端创建强大的Web电话应用,包括呼入、呼出、转移和保持等功能。这使得用户可以方便地通过网页进行语音通话,提高了通信的灵活性和便利性。 ### 回答3: SIP.js是一个用于实现SIP(Session Initiation Protocol,会话初始化协议)通信的JavaScript库,而FreeSWITCH是一个开源的电话交换软件平台。它们结合使用可以实现WebRTC电话的呼入、呼出、转移和保持等功能。 WebRTC是一种实时通信的标准,可以在支持WebRTC的浏览器中实现点对点的音视频通话。而SIP是一种常用的语音和多媒体会话协议,用于建立、修改和终止多媒体会话。 使用SIP.js和FreeSWITCH,可以在网页端实现电话呼入功能,即用户可以通过在网页上输入电话号码并发起呼叫,FreeSWITCH将收到的呼叫转发到SIP.js,并通过WebRTC建立与目标号码的通信。 同样地,可以实现电话呼出功能。用户在网页上选择拨打的目标号码,SIP.js将呼叫请求发送给FreeSWITCHFreeSWITCH通过拨号规则将呼叫转发到外部电话网络,从而实现电话呼出功能。 此外,SIP.js和FreeSWITCH还可以实现电话转移功能。用户可以在通话中将电话转移到其他电话号码,通过SIP.js向FreeSWITCH发送转移请求,FreeSWITCH将通话转移到指定的目标电话。 另外,还可以通过SIP.js和FreeSWITCH实现电话保持功能。当用户需要将通话暂时保持时,SIP.js可以向FreeSWITCH发送保持请求,FreeSWITCH将通话暂停,并播放保持音乐。当用户想要恢复通话时,再次调用SIP.js的相应函数,FreeSWITCH将取消保持,恢复通话。 总结来说,SIP.js结合FreeSWITCH可以方便地实现WebRTC电话的呼入、呼出、转移和保持等功能。这些功能使得在网页端进行实时语音通信变得简单和便捷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

foruok

你可以选择打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值