Not implemented
VoIP and SIP Integration
There are multiple ways to integrate with VoIP and or SIP. OpenMeetings does not provide out of the box a ready to run VoIP integration / integration to cell phone or usual land lane. The nature of such integrations is that it depends heavily on the infrastructure that you are using and where you would like to integrate OpenMeetings into.
It also depends on a number of factors of which OpenMeetings is impossible to set up for you, for example setting up your VoIP server or provide you with a range of telephone numbers reserved for conference calls in your national phone network. Such an integration project is likely to become a consulting job for a telecommunications consultant.
To get help on the integration you can contact the mailing lists or for example somebody from the list of commercial support.
SIP-Transport Integration
You need Apache OpenMeetings version 4.0+ to apply this guide!
You need Asterisk version 13+ to apply this guide!
Here is instruction how-to set up red5sip transport integration with OpenMeetings on Ubuntu 16.04.
Prerequisites
sudo apt update && sudo apt upgrade
Building and setting up Asterisk
sudo mkdir /usr/src/asterisk && cd /usr/src/asterisk sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-13.17.0.tar.gz sudo tar -xvzf asterisk-13.17.0.tar.gz cd ./asterisk-13.17.0 sudo make clean sudo contrib/scripts/install_prereq install sudo ./configure sudo make menuconfig
Add-ons -> res_config_mysql
, Press F12 to save
sudo make sudo make install sudo make samples sudo make config sudo service asterisk start
Configure Asterisk
Modify "[modules]" section of
/etc/asterisk/modules.conf
as follows:
Add/uncomment the following lines
preload => res_config_mysql.so
Set valid data for MySQL in
/etc/asterisk/res_config_mysql.conf
:
Example
[general] dbhost = 127.0.0.1 dbname = openmeetings dbuser = root dbpass = dbport = 3306 dbsock = /var/lib/mysql/mysql.sock dbcharset = utf8 requirements=warn
/etc/asterisk/sip.conf
Add/uncomment the following line:
videosupport=yes rtcachefriends=yes
maxexpiry=43200
[red5sip_user] type=friend secret=12345 disallow=all allow=ulaw allow=h263 host=dynamic nat=force_rport,comedia context=rooms-red5sip
/etc/asterisk/extconfig.conf
:
[settings] sippeers => mysql,general,sipusers
/etc/asterisk/extensions.conf
Add the following section:
; ***************************************************** ; The below dial plan is used to dial into a Openmeetings Conference room ; The first line DB_EXISTS(openmeetings/room/ does not belong to the openmeetings application but is the name of astDB containing the astDB family/key pair and values ; To Check if your astDB has been created do the following in a terminal window type the following: ; asterisk –rx “database show” ; If you do not receive an output with that resembles openmeetings/rooms/400## where “##” will equal the extension assigned when you created your room ; If you do not receive the above output check your parameters in /opt/om/webapps/openmeetings/WEB-INF/classes/applicationContext.xml ; Go back into the Administrator Panel and remove the PIN number in each room save the record with no PIN number and then re-enter the pin again resave the record. ; ***************************************************** [rooms] exten => _400X!,1,GotoIf($[${DB_EXISTS(openmeetings/rooms/${EXTEN})}]?ok:notavail) exten => _400X!,n(ok),SET(PIN=${DB(openmeetings/rooms/${EXTEN})}) exten => _400X!,n,Set(CONFBRIDGE(user,template)=sip_user) exten => _400X!,n,Set(CONFBRIDGE(user,pin)=${PIN}) exten => _400X!,n(ok),Confbridge(${EXTEN},default_bridge,) exten => _400X!,n,Hangup exten => _400X!,n(notavail),Answer() exten => _400X!,n,Playback(invalid) exten => _400X!,n,Hangup [rooms-originate] exten => _400X!,1,Confbridge(${EXTEN},default_bridge,sip_user) exten => _400X!,n,Hangup [rooms-out] ; ***************************************************** ; Extensions for outgoing calls from Openmeetings room. ; ***************************************************** [rooms-red5sip] exten => _400X!,1,GotoIf($[${DB_EXISTS(openmeetings/rooms/${EXTEN})}]?ok:notavail) exten => _400X!,n(ok),Confbridge(${EXTEN},default_bridge,red5sip_user) exten => _400X!,n(notavail),Hangup
/etc/asterisk/confbridge.conf
Add/Modify the following secions:
[general] [red5sip_user] type=user marked=yes dsp_drop_silence=yes denoise=true [sip_user] type=user end_marked=yes wait_marked=yes music_on_hold_when_empty=yes dsp_drop_silence=yes denoise=true [default_bridge] type=bridge video_mode=follow_talker
/etc/asterisk/manager.conf
Add/Modify the following sections:
[general] enabled = yes webenabled = no port = 5038 bindaddr = 127.0.0.1 [openmeetings] secret = 12345 deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/255.255.255.0 read = all write = all
/opt/om/webapps/openmeetings/WEB-INF/classes/applicationContext.xml
find <bean id="sipDao" class="org.apache.openmeetings.db.dao.room.SipDao"> uncomment its parameters and set it to your custom values.
set value for
uid
property to unique secret value (can be generated here
https://www.uuidgenerator.net) and sync it with
settings.properties
of red5sip (see below)
IMPORTANT: this step should be done BEFORE system install/restore otherwise all SIP related room information will be lost
service asterisk restart
Setup red5sip transport
- Download red5sip from
https://github.com/openmeetings/red5sip
git clone https://github.com/openmeetings/red5sip.git
- Build with Apache Maven
cd red5sip mvn clean package
- All necessary files will be available in
target
folder, copy/move it to /opt/red5sip/ - Insert proper values to the
/opt/red5sip/settings.properties
red5.host=127.0.0.1 # red5 server address om.context=openmeetings # Openmeetings context red5.codec=asao red5.codec.rate=22 # should correlate with mic setting in Admin->Config `flash.mic.rate` sip.obproxy=127.0.0.1 # asterisk adderss sip.phone=red5sip_user # sip phone number sip.authid=red5sip_user # sip auth id sip.secret=12345 # sip password sip.realm=asterisk # sip realm sip.proxy=127.0.0.1 # address of sip proxy rooms.forceStart=no # TBD uid=87dddad4-9ca5-475b-860f-2e0825d02b76 #can be generated here: https://www.uuidgenerator.net/ rooms=1 # TBD (not in use)
- Set correct permissions on red5sip files:
sudo chown -R nobody:nogroup /opt/red5sip
- Add red5sip to autostart:
sudo cp /opt/red5sip/red5sip /etc/init.d/ sudo chmod a+x /etc/init.d/red5sip sudo update-rc.d red5sip defaults
- Start openmeetings
service red5 start
- Enable
SIP
in openmeetings:
Administration->Configuration->red5sip.enable == yes
- Enable SIP for particular room(s):
Administration->Conference rooms->Room->Enable SIP transport in the room == checked
(SIP number will be assigned to room if everything is OK) - Start red5sip
service red5sip start