Jitsi视频会议部署(三):让电话打进来!

上一节说了Jitsi会议的基本安装,现在我们希望别人用手机打入会议,或者在会议里面去呼叫某个人的手机号码。

那么我们需要安装jigasi,这个东西相当于一个SIP的网关,先说一下我们的结构

JitsiMeet------Jigasi---------Freeswitch(IVR)---------(E1)---------ChinaTelecom

也就是服务器安装了Jigasi网关,网关注册到Freeswitch这个SIP服务器,而我们的SIP服务器有两个作用,一个是自动话务台的功能,如果输入特定的房间号码,才将外部呼叫转入相应的Jitsi会议。另一个功能是通过E1线路和中国电信的PSTN对接。

准备工作:

1,中国电信的线路和Freeswitch对接。(这个是Freeswtich相关的知识,这里先不说)

2,在Freeswitch上面建一个SIP账号: 1111@192.168.0.1   密码:1234  (192.168.0.1是Freeswitch的地址)

      其实在freeswitch的directory目录下面就有默认的账号,用里面的就好,最好改改密码。

3,  Freeswitch里面5060端口是针对注册用户,5080端口针对非注册用户。所以在dialplan的default.xml文件里面增加下面拨号计划

<extension name="Jitsi Meet">
   <condition field="destination_number" expression="^(36\d{8})$">
    <action application="export" data="dialed_extension=$1"/>
    <action application="set" data="ringback=${us-ring}"/>
    <action application="set" data="sip_h_Jitsi-Conference-Room=$1"/>
    <action application="set" data="call_timeout=30"/>
    <action application="set" data="hangup_after_bridge=true"/>
     <action application="bridge" data="{absolute_codec_string=OPUS}user/1111"/>
     </condition>
 </extension>

上面意思是说以36开头的10位数Jitsi会议, 比如会议名字为 3611111111,3612345678等。因为Jiasi网关是通过1111这个账号注册上来的,我们只需要呼叫1111就可以到达Jitsi。

但是多个Jitsi会议怎么区分,那就看    <action application="set" data="sip_h_Jitsi-Conference-Room=$1"/>  , 这里将Jitsi会议的名字写入了SDP当初,Jigasi根据SDP当中的sip_h_Jitsi-Conference-Room这个信息的变量,然后将呼叫转入不同的会议。(不需要疑虑多个不同会议的呼叫用一个账号,可以并发的)

4,上面的做法有两个问题,1就是不检查合法用户,也就是任何人拨打了会议的房间名字,就转入了相应的房间。2就是限制了会议使用数字名字,不能用字母。其实很好解决,就是房间名字用字母单词,设置一个识别用的PIN码。

例如房间名字是 “ATestMeeting” ,PIN码是“3612345678”。当然这个信息你要放到你自己的数据库里面,然后自己设计一个UI来预订会议(会议名字,会议PIN码,发起人,参与人,时间,发邮件通知等等),这些弄好后,在第三步当中使用lua脚本来控制,用户呼叫某个特定主机号码,然后送入LUA脚本,提示输入PIN码,然后根据用户的PIN码去查询对应的会议房间名字,然后向Jigasi发起呼叫的时候,将查询到的房间名放入sip_h_Jitsi-Conference-Room就可以了。

5,上面基本处理完了Freeswitch端的工作,然后安装Jigasi

apt-get -y install jigasi

安装过程当中要求填写账号密码 ,账号格式是1111@192.168.0.1   密码:1234

装完后再/etc/jitsi/jigasi/下面有两个文件,config更多负责呼出(如果Freeswitch给了1111这个用户权限),sip-communicator.properties更多负责呼入。

在sip-communicator.properties当中看下这几个地方是否设定,否则会有一些奇怪的问题。

org.jitsi.jigasi.ENABLE_SIP=true

net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true

6,上面的配置基本能让你的电话能打进打出了。

但Jigasi还负责实时的语音转文字的功能,还有实行Jwt验证后,Jigasi无法直接和服务器通讯,所以以后还有一些额外的设置。

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值