SIP-Transport Integration
You need Apache OpenMeetings version 3.1+ 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 12.10.
Prerequisites
Run the commands
sudo apt-get update && sudo apt-get upgrade
Building and setting up Asterisk
Run the commands
Make sure you have selected
Add-ons -> res_config_mysql, Press F12 to save
sudo mkdir /usr/src/asterisk && cd /usr/src/asterisk sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-13.9.0.tar.gz sudo tar -xvzf asterisk-13.9.0.tar.gz cd ./asterisk-13.9.0 sudo make clean sudo contrib/scripts/install_prereq install sudo ./configure sudo make menuconfig
sudo make sudo make install sudo make samples sudo make config sudo service asterisk start
Configure Asterisk
Enable asterisk MySQL module:
Modify "[modules]" section of /etc/asterisk/modules.conf as follows:
Add/uncomment the following lines
Modify "[modules]" section of /etc/asterisk/modules.conf as follows:
Add/uncomment the following lines
preload => res_config_mysql.so
Configure MySQL module:
Set valid data for MySQL in /etc/asterisk/res_config_mysql.conf :
Example
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
Modify
/etc/asterisk/sip.conf
Add/uncomment the following line:
Increase maxexpiry value to 43200:
Add user for the "SIP Transport":
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
Add next lines into the
/etc/asterisk/extconfig.conf:
[settings] sippeers => mysql,general,sipusers
Modify
/etc/asterisk/extensions.conf
Add the following section:
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/red5/webapps/openmeetings/WEB-INF/classes/openmeetings-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
Modify
/etc/asterisk/confbridge.conf
Add/Modify the following secions:
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
To enable Asterisk Manager API modify
/etc/asterisk/manager.conf
Add/Modify the following sections:
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
Update OpenMeetings with credentials for Asterisk manager. Modify
/opt/red5/webapps/openmeetings/WEB-INF/classes/openmeetings-applicationContext.xml
find <bean id="sipDao" class="org.apache.openmeetings.db.dao.room.SipDao"> uncomment its parameters and set it to your custom values.
find <bean id="sipDao" class="org.apache.openmeetings.db.dao.room.SipDao"> uncomment its parameters and set it to your custom values.
IMPORTANT: this step should be done BEFORE system install/restore otherwise all SIP related room information will be lost
Restart asterisk:
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 settings in public/config.xml 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 rooms=1 # TBD (not in use)
- 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
- Start red5sip
service red5sip start