首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Freeswitch和Jitsi设置SIP会议呼叫

Freeswitch和Jitsi是两个常用的开源软件,用于设置SIP会议呼叫。下面是使用Freeswitch和Jitsi设置SIP会议呼叫的步骤:

  1. 安装和配置Freeswitch:
    • 下载并安装Freeswitch,可以从官方网站(https://freeswitch.org/)获取安装包和安装指南。
    • 配置Freeswitch的基本设置,如IP地址、端口等。
    • 配置Freeswitch的SIP模块,确保SIP协议能够正常工作。
    • 配置Freeswitch的音频编解码器,以支持音频通话。
  • 安装和配置Jitsi Meet:
    • 下载并安装Jitsi Meet,可以从官方网站(https://jitsi.org/jitsi-meet/)获取安装包和安装指南。
    • 配置Jitsi Meet的基本设置,如域名、SSL证书等。
    • 配置Jitsi Meet的视频编解码器,以支持视频通话。
    • 配置Jitsi Meet的录制和共享功能,以满足会议需求。
  • 配置Freeswitch和Jitsi Meet的集成:
    • 在Freeswitch中创建一个SIP呼叫路由,将呼叫转发到Jitsi Meet服务器。
    • 配置Freeswitch和Jitsi Meet之间的音频和视频传输参数,确保通话质量。
    • 配置Freeswitch和Jitsi Meet之间的会议控制协议,以支持会议管理功能。
  • 测试和调试:
    • 使用SIP软电话或硬件电话向Freeswitch发起呼叫,验证呼叫是否能够成功转发到Jitsi Meet。
    • 在Jitsi Meet上创建一个会议,并邀请其他人加入会议,测试音频和视频通话的质量。
    • 检查日志和错误信息,解决任何可能出现的问题。

Freeswitch和Jitsi的组合可以提供强大的SIP会议呼叫功能,适用于各种场景,如在线会议、远程教育、医疗协作等。腾讯云提供了一系列与云通信相关的产品和服务,可以帮助您构建和扩展基于Freeswitch和Jitsi的SIP会议呼叫系统。具体推荐的产品和产品介绍链接地址可以参考腾讯云官方网站。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • mod_sofia

    今天来说说mod_soifa,它就是FreeSWITCH中的SIP模块。 FreeSWITCH并没有自己开发新的SIP协议栈,而是使用了比较成熟的开源SIP协议栈Sofia-SIP,以避免“重复发明轮子”。Sofia-SIP是由诺基亚公司开发的SIP 协议栈,它以开源的许可证LGPL发布。参见 http://sofia-sip.sourceforge.net/ 。 在FreeSWITCH中,实现一些互联协议接口的模块称为Endpoint。FreeSWITH支持很多类型的Endpoint,如SIP、H232等。这些不同的Endpoint主要是使用不同的控制协议跟其他的Endpoint通话。所以说,Endpoint一般是跟通话相关的。 有的读者可能会问,那么实现SIP的模块为什么不支持叫mod_sip呢?这是由于 FreeSWITCH的Endpoint是一个抽象的概念,你可以用任何的技术来实现。实际上mod_sofia只是对Sofia-SIP库的一个粘合和封装。除Sofia-SIP外,还有很多开源的SIP协议栈,如pjsip、osip等。最初选型的时候,FreeSWITCH 的开发团队也对比过许多不同的SIP协议栈,最终选用了Sofia-SIP。FreeSWITCH 是一个高度模块化的结构,如果你喜欢其他协议栈,可以自己实现如mod_pjsip或mod_osip等,它们是互不影响的。这也正是FreeSWITCH架构设计的精巧之处。 mod_sofia实现了SIP中的注册服务器,重定向服务器,媒体服务器、呈现服务器、SBC等各种功能。它的定位是一个B2BUA,它不能实现SIP代理服务器的功能。实现SIP代理服务器的开源软件有OpenSIPS、Kamailio等。它们可以很好的与FreeSWITCH配合工作。 在mod_sofia中,有一个概念是SIP Profile,它相当于一个SIP UA,通过各种不同的配置参数可以配置一个UA的行为。一个系统中可以有多个Profile,每个Profile都可以监听不同的IP地址和端口对。 一个Profile中有多个Gateway,Gateway可以直译为网关,它主要用于定义一个远端的SIP服务器,使FreeSWITCH可以与其他服务器通信。FreeSWITCH可以作为一个SIP客户端(UAC)向远端的网关进行“注册”;当然也可以不注册,而是使用与远端服务器对等的方式(俗称SIP Trunk,即SIP中继)相互通信(我们将在第14章讲到FreeSWITCH与与它系统相连的各种拓扑结构)。 FreeSWITCH可以作为注册服务器,这时候,其他的SIP客户端就可以向它注册。FreeSWITCH将通过用户目录(Directory)中的配置信息对注册用户进行鉴权。这些SIP客户端所代表的用户就称为本地SIP用户、简称本地用户。 牢记FreeSWITCH是一个B2BUA。如果Alice通过FreeSWITCH给Bob打电话,Alice首先向FreeSWITCH发起呼叫,对FreeSWITCH而言,这路通话就称为来话(Inbound Call);然后FreeSWITCH再去呼叫B,这路通话称为去话(Oubtound Call)。如果来、去话都是在与本地用户之间的,又称为本地来话和本地去话。 如果来、去话的发起者和目的地不是本的用户。而是以中继方式进行的,就称为中继来话或中继去话。但是,中继的叫法只是沿用传统的PSTN网络中的概念,在SIP术语中,本来是没有中继的概念的。 FreeSWITCH默认配置了internal和external以及internal-ipv6等三个Profile。其中internal主要用于本地用户的注册,它与external的区别除了使用的端口号不同外,它们之间最大的区别就是发送到internal这个Profile上的呼叫(INVITE请求)是需要鉴权的,但发送到external上的INVITE请求却不需要鉴权。这一点,用户在使用中可以慢慢体会。只要不被它们的名字所迷惑,知道所有的Profile其实都是一样的,这两个Profile只是FreeSWITCH默认提供的两个例子而已,它们之间的不同在于使用了不同的配置参数。 该模块是FreeSWITCH中最大的一个模块,也是最主要的一个模块,它的功能和配置都很多,留待我们日后慢慢讲。点击左下角的「查看原文」也可以看到更多的信息。 ---------------------------------------- 题图:Sofia 来自wikipedia Sofia是保加利亚的首都和最大城市,跟我们的mod_sofia可没有半毛钱关系啊。 ---------------------------------------- FreeSWITCH-CN是什么? FreeSWITCH-CN是FreeSWITCH中文社区,

    04

    mod_portaudio

    前几天,儿子由于顽皮以及我的疏忽碰破了头,去医院缝了3针,所以,这两天心神有点不宁,如果写得不好,抱歉了。 好在我们家附近有一家新开的医院,环境看起来都很新,人也不多,服务也不错。包扎好了就没事了,大家也不用担心。只是这几天我得在家里陪着他。 在医院时,看到医院到处都是易拉宝,墙上也贴着宣传牌。不过,上面的英语都翻译的很搞笑,当时没顾得拍照,但记得有一项“亲民医院”之类的词翻译成了kiss。当然,见怪不怪,这种神翻译随处可见,网友也有诸多吐嘈。相信大部分都是用机器翻译的,甚至有的还有不伦不类的“Service not available”。 不明白,为什么这些制作标牌的广告公司这么没修养(没文化有情可原,你告诉人家啊)。当然,出现这些问题主要的原因也不能太怪广告公司,还是在于花钱做这些广告牌子的人。即使自己不认识英语,找个大学生帮忙看看花不了几个钱吧?要不,就直接回归拼音吧,我记得小时间的标志牌都是中文和拼音并排的,如“新华书店”上面就挂着“XIN HUA SHU DIAN”。 好了,不扯这些了,今天说说mod_portaudio。

    03

    小尾巴

    昨天讲了将SIP Trace放入日志文件的方法。有读者回复说正好用上,这也算是一点功德吧。 当然,昨天还留了一个小尾巴。将SIP Trace放入日志文件不止一种方法,其实还有更简单的方法,那就是,可以不用修改任何文件直接在控制台上修改SIP Trace日志的级别,如 sofia tracelevel info 将Sofia调试级别设为info以后,Trace出来的日志就自然都到日志文件中去了。另外,在FreeSWITCH控制台上也将看到绿色的输出(info级别的日志默认是绿色显示的)。 该命令极其简单,但还是有好多人不知道。不过,读者群中也有知道这一招的,他给我发来了正确的命令。虽然我已经知道了,但还是要感谢他一下。 当然,你也可以尝试其它颜色,如: sofia tracelevel err 使用如下命令改回原来的级别 sofia tracelevel console 当然,你也可以打完 sofia tracelevel 后按一下Tab键看看会出现什么。 需要指出,该命令不仅对于SIP Trace有效,而是对于所有的Sofia调试信息有效,如,你可以使用如下命令打开Sofia-SIP底层协议栈的调试: sofia loglevel all 9 然后,所有的调试信息不仅在控制台上输出,也会同时输出到日志里。 下面,再说一点Windows命令行窗口的一点小技巧。 有时候还是要从命令行窗口里复制文字信息(再强调一遍,我不喜欢看抓屏)。在命令行窗口标题栏上可以点击右键,选择标记,然后就可以在窗口中选择文字了。选择好以后,再次右击标题栏,点击复制就可以将标记的文字复制到剪贴板了。 当然,命令行窗口默认的缓冲区比较小,能回滚的行数有限,因此,需要看或者复制更多文本的话首先要调整回滚缓冲区,这个,可以右击标题栏选择属性,找一找相关的行数设置(具体的我忘了,一般我也不用Windows)。当然,现在大家都用大屏大分辨率了,顺便改一改窗口的尺寸也起来也不错… Windows烂归烂,但还是有办法让它稍微表现好一点的。据说微软对XP的结束支持进入倒计时了,对你有影响吗? ---------------------------------------- 题图:Tail 来自 Google图片 ---------------------------------------- FreeSWITCH-CN是什么? FreeSWITCH-CN是FreeSWITCH中文社区,我们的官方网站是 http://www.freeswitch.org.cn 。FreeSWITCH-CN同时也是一个微信公共账号,可以通过点击本页最顶端的“FreeSWITCH中文社... ”,或在通迅录->订阅号中搜索“FreeSWITCH-CN”来订阅,也可以到官方网站上扫描二维码。当然,不管是新用户还是老用户,随时都可以输入m或1显示本账号的主菜单。 FreeSWITCH-CN的账号维护者是Seven Du,在此,他会分享多年的FreeSWITCH使用经验,分享一些对开源VoIP软件以及软件社区的思考,并隔三差五的解答一些粉丝关心的问题。Seven Du于2007年听说、2008年开始使用FreeSWITCH,2009年创办FreeSWITCH-CN中文社区,2011~2013连续三年参加了在美国芝加哥举办的ClueCon全球VoIP开发者大会,该会议是由FreeSWITCH核心团队主办的。 如果你在学习和使用FreeSWITCH的过程中,有什么有趣的故事,也欢迎与我分享。移动设备上打字不方便,如果想写长的留言可以发邮件到 wechat@freeswitch.org.cn 。

    01

    将SIP Trace放入日志文件(mod_logfile)

    今天,看大家在QQ群中聊到不知道如何在FreeSWITCH中将SIP Trace的结果放入日志文件中。我便答应大家我今晚研究一下。 事情的起因是这样的。FreeSWITCH内置了SIP Trace,可以很方便的在控制台或fs_cli中抓到SIP消息,配合日志调试起来非常方便。以前我应该也讲过,在FreeSWITCH中开启SIP Trace的命令是: sofia global sip trace on 当然,也可以单独针对某个Profile开启或关闭日志,如: sofia profile internal siptrace on sofia profile internal siptrace off 问题时,开启日志后SIP消息只能在控制台上显示,但不会同时进入日志文件中,显然,如果想从日志文件中同时看到SIP就比较麻烦了。因而,便出现了今天的主题:如何将SIP Trace放入日志? 首先,我想,提到该问题的人可能一般的是Windows用户吧。因为一般来说,我在Mac上(或Linux)上,Shell足够好用,因而,可以毫不费力的在Shell窗口(即FreeSWITCH控制台上)中将带有SIP消息的日志一块Copy出来粘贴到其它文件中。但在Windows上就没有那么方便了,因为Windows的命令行窗口出奇的烂,从里面Copy个文字特别麻烦。而且,有很多人根本不知道如何Copy(虽然确实有办法可以做到)。因而,常见的做法是直接用QQ抓屏,但很显然,抓屏是有限制的,那就是,一屏能显示的信息实在是太短了,如果要抓到SIP消息,那简直是个累死人的活。 而且,在此我也想插一句,我在帮人看日志时是非常讨厌抓屏的。因为看起来其实不直观,而且,没法搜索,没法Copy,没法引用…,总之,不爽。可能光说不爽有人觉得我矫情,那就说一下为什么不爽吧。比如有人在QQ群中问了个问题,我问他打的是什么命令,它将他打的命令抓了个图片发到QQ群中,我一眼就发现他的命令该怎么改成正确的方式,只要我将它的命令复制一遍,改几个字即可,但是,由于他是抓屏,因此我没法修改... 言归正传,所以,特别是Windows用户,一般是到日志文件中去找到相应的日志再复制出来,并且,有时候他们也希望SIP Trace出来的消息也同时在日志文件里面。 当然,既然我答应大家研究,就一定要出结果的(为什么要研究呢?因为我一直不用,所以没试过)。通过研究我发现,写日志文件的功能是在mod_logfile中实现的。里面有这么一行配置: <map name="all" value="debug,info,notice,warning,err,crit,alert"/> 到这里科普一下。在FreeSWITCH中,日志是有级别的,一般来说就是上面列的一些级别。当然,上面没有包括一个特殊的级别,那就是 console 级别。而SIP Trace的消息正是在 console 级别的,因而,它只有控制台上显示,而不会在日志文件中显示。明白了这个道理,想办法将console级别的日志放入日志文件就简单了,修改配置如下: <map name="all" value="console,debug,info,notice,warning,err,crit,alert"/> 然后,重新加载模块即可: reload mod_logfile 再看SIP Trace的结果,都写到日志文件中去了,Bingo! 当然,任何事情并不只有一种办法,第二种办法是什么呢?留点引子,明天再讲。 既然今天说到mod_logfile,就索性把这一模块也讲了吧。其实,有了上面的,也没什么好讲的。mod_logfile的作用就是将系统日志写到日志文件中去,并有相应的参数配置文件的路径以及文件的最大长度。如果文件写到一定的大小,则会自动发生轮转(rotate),以防止在长期运行过程中产生巨大无比的日志文件。 ---------------------------------------- 题图:Log 来自 Google Log本来是「圆木」的意思,但我们这些程序员们都将Log译为「日志」。 ---------------------------------------- FreeSWITCH-CN是什么? FreeSWITCH-CN是FreeSWITCH中文社区,我们的官方网站是 http://www.freeswitch.org.cn 。FreeSWITCH-CN同时也是一个微信公共账号,可以通过点击本页最顶端的“FreeSWITCH中文社... ”,或在通迅录->订阅号中搜索“FreeSWITCH-CN”来订阅,也可以到官方网站上扫描二维码。当然,不管是新用户还是老用户,随时都可以输入m或1显示本账号的主菜单。 FreeSWITCH-

    01

    mod_skypopen

    mod_skypeopen是一个有意思的模块,它提供FreeSWITCH与Skype的互通。 Skype是世界上广泛使用的VoIP软件,不过,在被微软收购后表现不怎么样,最近又传出Skype将停止提供第三方API接口,也就是说FreeSWITCH将无法与新版的Skype互通。 不过,旧版的Skype好像不受影响,而且,不管以后FreeSWITCH是否能与Skype互通,mod_skypopen对我们都有借鉴意义。 mod_skypopen的前身是mod_skypiax,后来才改为此名。该模块实现的很有意思。Skype不是提供API吗?也就是说它允许外部的程序通过一定的API控制Skype(相当于通信信令)。所以,理论上讲,就可以将控制Skype的部分代码放到FreeSWITCH中,而仍然需要启动一个Skype实例登录到实际的Skype网络中与其它Skype进行通信。在Linux中,通过使用内核中的虚拟声卡,可以指定不同的Skype实例使用不同的虚拟声卡,而在FreeSWITCH中通过访问这些虚拟声卡读写音频数据(相当于媒体流),进而完成信令和媒体的交互。 最初的Skype一个Skype账号在一台主机上只允许登录一次,所以我们最初使用时,注册了20个Skype账号,在一台Linux服务器上启动了20个Skype实例,并分别用不同的账号注册上去。对于FreeSWITCH而言,这20个实例就相当于20条外线,我们的SIP账号就可以通过这20条“Skype”外线打电话到其它的Skype账号上。 有什么用呢?当初我们在做在线一对一英语口语教学的,美国的老师使用SIP客户端,而学员一般使用手机(SIP客户端在我国不怎么稳定)与老师对话。但问题是,有的学员手机信号不好,有的呢,千里迢迢漫游到北京去上学习班(但却买我们的网络口语教学课程),无法支付高昂的漫游费。而使用Skype就解决了这一问题。 后来,Skype允许在一台主机上用同一账号多次登录,所以,我们就用同一个Skype账号登录20个Skype实例,实现了类似模块中继线的功能——打出去对外显示一个号。 当然,该模块是跨平台的,在Windows上也可以使用,也支持多账号。当前闲着没事的时候,我也实现了Mac来台上的支持,只不过后来没有继续开发,也没有合并到主分支里去。 mod_skypopen也是一个Endpoint。 ---------------------------------------- 题图:Before I die 来自 Google ---------------------------------------- FreeSWITCH-CN是什么? FreeSWITCH-CN是FreeSWITCH中文社区,我们的官方网站是 http://www.freeswitch.org.cn 。FreeSWITCH-CN同时也是一个微信公共账号,可以通过点击本页最顶端的“FreeSWITCH中文社... ”,或在通迅录->订阅号中搜索“FreeSWITCH-CN”来订阅,也可以到官方网站上扫描二维码。当然,不管是新用户还是老用户,随时都可以输入m或1显示本账号的主菜单。 FreeSWITCH-CN的账号维护者是Seven Du,在此,他会分享多年的FreeSWITCH使用经验,分享一些对开源VoIP软件以及软件社区的思考,并隔三差五的解答一些粉丝关心的问题。Seven Du于2007年听说、2008年开始使用FreeSWITCH,2009年创办FreeSWITCH-CN中文社区,2011~2013连续三年参加了在美国芝加哥举办的ClueCon全球VoIP开发者大会,该会议是由FreeSWITCH核心团队主办的。 如果你在学习和使用FreeSWITCH的过程中,有什么有趣的故事,也欢迎与我分享。移动设备上打字不方便,如果想写长的留言可以发邮件到 wechat@freeswitch.org.cn 。

    02

    mod_enum

    今天,说说mod_enum。说起enum,千万不要跟C语言里的枚举类型(enum)混了。ENUM是E.164 Number to URI Mapping的综合,即E.164号码到URI的映射关系。如果说到这里你还不理解的话,想象一下域名到IP地址的映射关系吧。当你在Internet上访问一个域名(网址)时,如www.freeeswitch.org.cn,将先由DNS服务器将该域名翻译成一个IP地址,进而,你的注册品会访问该IP地址以获取它想要的网页内容。ENUM也是一样,它只不过是使用了类似DNS的技术,将一个E.164的电话号码(也就是我们常用的电话号码)映射为一个相应的VoIP地址(可以是SIP、H323或Jabber的地址),这样,我们就可以通过拨打一个普通的电话号码来访问一个VoIP地址。提供这个号码映射关系的网站有e164.org和freenum.org,有兴趣读者可以试一下。如果读者比较仔细的话,可以看到在FreeSWITCH默认的Dialplan中有如下的设置: <extension name="enum"> <condition field="

    01
    领券