how to configure vicibox webphone with self-signed ssl
Vicibox webpone with Self-signed SSL certificate
Topic: how to configure vicibox webphone with self-signed ssl
Overview:
In this blog , i am going to provide step by step guide to integrate, enable and configure the viciphone(a webrtc phone) in vicibox (also applicable to any vicidial based system) using the Self Signed SSL Certificate ,ie without a public-ip and FQDN or accessing the vicidial with internal LAN IP.
But same steps can also used with FQDN .
As part of this Tutorial i am using vicibox 9,
Prerequisites
Steps : Vicidial webphone Configuration
1. Generate Self Signed Certificate in linux
2. address the self signed certificate and key in apache
3. Asterisk configuration to support webrtc
4. download the viciphone to the agent web directory
5. Vicidial configuration to enable the viciphone as webphone.
6. Final workaround to support webrtc with selfsigned certificate.
STEP 1: Generate Self Signed Certificate using openssl
Login to your linux console as root and run the below command to generate the selfsigned SSL certificate and key. check this link
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl.key/viciphone.key -out /etc/apache2/ssl.crt/viciphone.crt
Note: the default path of ssl in vicibox is /etc/apache2/ssl.crt and /etc/apache2/ssl.key
I used viciphone name, you can use your own specific name.
If you have Trusted certificate, you can place the certificate in /etc/apache2/ssl.crt/ and key in /etc/apache2/ssl.key/
STEP 2 : Apache configuration.
edit the vicibox vhost file.
vi /etc/apache2/vhost.d/1111-default-ssl.conf
edit the below line with your certificate name
SSLEngine onSSLCertificateFile /etc/apache2/ssl.crt/viciphone.crtSSLCertificateKeyFile /etc/apache2/ssl.key/viciphone.key
Edit the below mentioned file
vi /etc/apache2/vhost.d/1111.default.conf
DocumentRoot /srv/www/htdocsRedirect permanent / https://yourserverip/
Restart apachesystemctl restart apache2
STEP 3: Asterisk configuration to support webrtc
vi /etc/asterisk/http.conf
enabled=yesbindaddr=0.0.0.0bindport=8088tlsenable=yestlsbindaddr=0.0.0.0:8089tlscertfile=/etc/apache2/ssl.crt/viciphone.crttlsprivatekey=/etc/apache2/ssl.key/viciphone.key
vi /etc/asterisk/modules.conf
add the below entry if not enabled before.
load => res_http_websocket.so
Reboot the server once, so the asterisk startup with http_websocket loaded,
to confirm websocket is loaded, run the below command
asterisk -rx 'http show status'
“HTTPS Server Enabled and Bound to 0.0.0.0:8089”
STEP 4: Downloading the viciphone
SSH to your vicibox and run below commands
cd /var/tmp
git clone https://github.com/vicimikec/ViciPhone.git
cd Viciphonecp -r src /srv/www/htdocs/agc/viciphonechmod -R 755 /srv/www/htdocs/agc/viciphone
Step 5 : Vicidial configuration
Make sure the vicidial admin interface is accessible via https
https://192.168.29.99/vicidial/admin.php
Wephone URL: https://192.168.29.99/agc/viciphone/viciphone.php
Web Socket URL : wss://192.168.29.99:8089/ws
Step 5.3 :vicidial websocket template.
type=friendhost=dynamicencryption=yesavpf=yesicesupport=yesdirectmedia=notransport=wssforce_avp=yesdtlsenable=yesdtlsverify=nodtlscertfile=/etc/apache2/ssl.crt/viciphone.crtdtlsprivatekey=/etc/apache2/ssl.key/viciphone.keydtlssetup=actpassrtcp_mux=yes
Step 5.4 : Creating Phone as webphone.
1. Set As Webphone: Y2. Webphone Auto-Answer: Y3. Use External Server IP : N
4. Template : select the template created in Step 5.3 above
STEP 6: Browser workaround
https://serverip/ie : https://192.168.29.99/https://serverip:8089/ie : https://192.168.29.99:8089
once the certificate accepted
login to agent portal with username and passwords.
https://serverip/agc/vicidial.php
Note: you need to press Call Agent Webphone to get connected.
Also you need Press Allow for Mic and Speaker permission .
Hello! This post couldn't be written any better! Reading this post reminds me of my old room mate! He always kept talking about this. I will forward this post to him. Pretty sure he will have a good read. Thank you for sharing! Cloud contact centre solutions
Is it Necessary to do a zypper ref & zypper up in vicibox 9.0.3
yes must, to have latest software.
i think vicibox 9.0 is using old opensusue ,
soon vicibox will releasing vicibox 10 with latest opesuse.
This Tutorial work like charm.
I see that webrtc has 27 ms delay vs sip app (1ms)
I found some one bug sync and may be script about sync doesn't work after that.
(synchronizes audio between audio store and this server (asterisk folder).
Is anybody have the same problem and how do you resolve it.
I read some forum post that may be is because we change the port or something form 80 (like https use 443).
Now I sync both directory manual :)
I'm having this issue too i can make a script to copy but rather just know how to fix this properly
my https://serverip:8089 wasn't open accessible , all mention step successful executed
Any firewall configured which is blocking port 8089
in asterisk cli typ http show status
sir there are 4 lines missing in the sip.conf wich allows protcol
#include this 4 lines in sip.conf in the beginning
nano /etc/asterisk/sip.conf
[general]
transport=udp,ws,wss
avpf=yes
srvlookup=yes
udpbindaddr=0.0.0.0:5060
cd ViciPhone
cp -r Source /srv/www/htdocs/agc/viciphone
chmod -R 755 /srv/www/htdocs/agc/viciphone
When I run this it says cp: cannot stat 'source': No such directory
thanks its updated now, - it cp src
Viciphone showing only initialising
Great tutorial as usual , I did everything , is working but when the 1st login call asterisk responded : the number you have dialed is not in service , good bye , then call agent again and is fine , the only issue i have now !
nice post, works like a charm