Issabel PBX supports a websocket and WebRTC. Within a few steps you can connect the WebRTC client to Issabel.
Requirements
- Asterisk 11 or higher
- SSL certificates
- Open and forward TCP port 8089 to your Issabel instance.
Enable HTTPS for Issabel
Open Security–>Advanced Settings and set Enable direct access to ‘On’ and click ‘Save’;
Then, open PBX –> PBX Configuration –>Option –> Unembedded IssabelPBX
Select your certifcate and set the options like the screenshot above.
If you don’t see the HTTPS options, you need to enter them manually in the database. You can use the script below (change values when required, on your responsibility)
mysql -u root -p asterisk -e "INSERT INTO issabelpbx_settings VALUES ('HTTPSBINDADDRESS','0.0.0.0:8089','HTTPS Bind Address/Port',2,'Address and port to bind to for HTTPS. Default is 127.0.0.1:8089','text','','127.0.0.1:8089',0,0,'Asterisk Builtin mini-HTTP server','',0,0),('HTTPSCERTFILE','/etc/asterisk/keys/cert.pem','Certificate file',2,'Full path to certificate file for HTTPS.','text','','/var/lib/asterisk/keys/localhost.crt',0,0,'Asterisk Builtin mini-HTTP server','',0,0),('HTTPSENABLED','1','Enable HTTPS support for the mini-HTTP Server',1,'Whether to enable HTTPS support for the Asterisk HTTP interface. Default is no.','bool','','0',0,0,'Asterisk Builtin mini-HTTP server','',0,0),('HTTPSPRIVATEKEY','/etc/asterisk/keys/priv.pem','Private key file',2,'Full path to private key file for HTTPS. If empty, default is to look into certificate file for private key.','text','','/var/lib/asterisk/keys/localhost.key',0,0,'Asterisk Builtin mini-HTTP server','',1,0);"
Configuring an extension with WebRTC support
To use WebRTC, you have to make dedicated extensions and enable WebRTC support for them.
Open PBX-> PBX configuration -> Extensions.
Click on the right extension and make sure the values are set as the screenshot below.
Behind NAT?
Is your PBX behind NAT? Then you need to enable ICE as well and set a STUN server. See the list of STUN servers here
Edit /etc/asterisk/rtp_custom.conf and set
icesupport=true stunaddr=stun.stunprotocol.org:3478
Map extensions
Login to the management interface and set the WebRTC settings and map the extensions.