Thought I'd share our recent learnings on webphone setup on a new cluster. Hopefully this helps someone.
(Forewarning Note; I KNOW that the Vicidial group are trialling their Vicidial webphone as well - Michael Cargile from Vicidial is a great guy and got back to me almost immediately. We had just overcome most of the hurdles at this point and this was more a labour of love than common sense. These instructions may not be necessary pretty soon. For the purposes of this exercise we installed the project from https://github.com/chornyitaras/PBXWebPhone. )
Used ViciBox_v.7.x86_64-7.0.4.iso for the installation. Supermicro servers. Configuration of 1 x DB, 2 x Diallers, 1 x web. Used the ViciBox_v7-Install.pdf manual. We still have the Amfeltec timing cards in the machines as well, not sure if this will even be needed.
General:
0. Started with the database first, then web server, lastly diallers.
1. Use the manual and followed steps under "Phase 1 – OS Installation" to point 9. Then ran yast lan to set up the network (did this because the usb keyboard was unresponsive after rebooting later- the network configuration is saved after the reboot)
2. Proceeded with the rest of the steps up until "Phase 1.5 – Install Updates Recommended" - Step 2. We did not run the zypper up -y command as it yielded some headaches with asterisk modules.
3. Ran the following on the server we are setting up:
- Code: Select all
vicibox-install
reboot
cd /usr/src/astguiclient/trunk
svn up
perl ./install.pl
(we chose to have the sample asterisk configuration files copied across to the server in this step, since the updated asterisk configurations are no use to us. For some strange reason the /etc/astguiclient.conf file wasn't generated by vicibox-install and this was necessary)
Database: We didn't encounter any issues with this install so nothing to add to this.
Web and dialler servers:
- Code: Select all
crontab -e (insert a valid vicidial crontab set from another server into here if it's blank)
chkconfig vicidial on
Copy your ssl cert (.pem) to /etc/apache2/ssl.crt/
Copy bundle.pem to /etc/apache2/ssl.crt/
Copy your private key (.pem) to /etc/apache2/ssl.key/
Web servers:
Configure apache according to https://github.com/chornyitaras/PBXWebPhone/wiki/Apache-configuration
Point 2 from the URL above proved challenging for people like us, so our completed config file turned out to be:
- Code: Select all
<VirtualHost *:80>
ServerName machinename.yourdomain
DocumentRoot /srv/www/htdocs
Redirect permanent / https://machinename.yourdomain/
</VirtualHost>
DocumentRoot "/srv/www/htdocs"
<VirtualHost _default_:443>
ServerName machinename.yourdomain
DocumentRoot "/srv/www/htdocs"
SSLEngine On
</VirtualHost>
Replace machinename.yourdomain with your webserver name and your domain. So if the machine name is webby101 and your domain is diallers.com then you're substituting with webby101.diallers.com. At this point we realised that you do not need asterisk on the web server, and that your agent is creating the https to the web-server and not the dialler per se.
Dialler servers:
- Code: Select all
chkconfig asterisk on
Go to web interface and select Admin - Servers - [Your new server], Rebuild conf files = Y
(wait 5 minutes to see if /etc/asterisk/sip-vicidial.conf is populated with actual data)
Install your g729 codecs if needed by copying the appropriate file to /usr/lib64/asterisk/modules/ folder
Configure asterisk according to instructions at https://github.com/chornyitaras/PBXWebPhone/wiki/Asterisk-configuration
If a new dialler in cluster: configure Vicidial according to https://github.com/chornyitaras/PBXWebPhone/wiki/Vicidial-configuration
edit /etc/init.d/after.local and add the following two lines at the end of the file:
- Code: Select all
sleep 10
service asterisk restart
Save the file
- Code: Select all
reboot
asterisk -rv
http show status
you should see HTTPS Server Enabled and Bound to XXX.XXX.XXX.XXX:8089
- Code: Select all
sip show peers
you should yield results with some extensions or a carrier entry, otherwise configure in web console and see if it appears in a few minutes
Now, the actual learnings for idiots like me:
1) You do not need apache running on your dialler servers for this to work.
2) Wildcard SSL certs work fine for this. You do not need a named cert per server. Get a cert once and get on with installing.
3) The notes about adding entries to /etc/init.d/after.local are necessary - if you don't add them, asterisk starts up fine, but the HTTP server inside asterisk does not.
4) We used RapidSSL, ymmv with other providers.
5) Don't skip on any of the steps from https://github.com/chornyitaras/PBXWebPhone/wiki/Vicidial-configuration either.
6) You can test your setup with https://machinename.yourdomain/agc/PBXWebPhone/test.php once you have your web and first dialler configured without having to log in as an agent through the usual Vicidial frontend for agents.
7) Vicidial is an amazing project and you should support it.
The above must be read in conjunction with the instructions from https://github.com/chornyitaras/PBXWebPhone/wiki. The notes above are just extras picked up by a real-world install.