IssabelWebphone
Issabel 4, Call Center Module and SipML5 Integration Asterisk 11-13-16-18
Install / Use
/learn @mahirgul/IssabelWebphoneREADME
Issabel 4, Call Center Module and SipML5 Integration
(Note:$onlyCallback=1; Module working with only callback mode agents)
Thanks:
https://github.com/DoubangoTelecom/sipml5
https://www.issabel.org/
Firstly you have install Issabel 4 with Asterisk 11-13-16-18 and Call Center module.
After, you need to update with this command.
yum update
We will need a domain name and we should make a secure certificate with letsencrypt.
Copy the cert.pem and privkey.pem files created with letsencrypt to the etc/asterisk/keys folder.
cp /etc/letsencrypt/live/yourdomain.com/cert.pem /etc/asterisk/keys
cp /etc/letsencrypt/live/yourdomain.com/privkey.pem /etc/asterisk/keys
cd /etc/asterisk/keys
chown asterisk:asterisk cert.pem
chown asterisk:asterisk privkey.pem
Let's set the Asterisk settings.


Download webphone folder and copy /var/www/html/ inside.
We need to make some changes in the /var/www/html/index.php file.
Edit index.php and find this on estimated 340th line
themeSetup($smarty, $selectedMenu, $pdbACL, $pACL, $idUser);
Add the following lines after this line.
if(strpos($_SERVER[REQUEST_URI], 'agent_console') == true || strpos($_SERVER[REQUEST_URI], 'myex_config') == true)
{
$webPhoneExtension = $pACL->getUserExtension($_SESSION['issabel_user']);
$dsn1 = generarDSNSistema('asteriskuser', 'asterisk');
$pdbACL1 = new paloDB($dsn1);
$webphonePassword = $pdbACL1->fetchTable("SELECT data from sip WHERE id = '$webPhoneExtension' AND keyword = 'secret'; ")[0];
if($webPhoneExtension>0)
{
echo '<script type="text/javascript">';
echo "localStorage.setItem('mhrgl.com.identity.display_name', $webPhoneExtension);";
echo "localStorage.setItem('mhrgl.com.identity.impi', $webPhoneExtension);";
echo "localStorage.setItem('mhrgl.com.identity.impu', 'sip:'+ $webPhoneExtension+'@'+ window.location.hostname);";
echo "localStorage.setItem('mhrgl.com.identity.password', $webphonePassword[0]);";
echo "localStorage.setItem('mhrgl.com.identity.realm', window.location.hostname);";
echo "localStorage.setItem('mhrgl.com.expert.disable_video', 'true');";
echo "localStorage.setItem('mhrgl.com.expert.disable_callbtn_options', 'true');";
echo "localStorage.setItem('mhrgl.com.expert.websocket_server_url', 'wss://' + window.location.hostname + ':8089/ws');";
//echo "localStorage.setItem('mhrgl.com.expert.ice_servers', '[]');";
echo "localStorage.setItem('mhrgl.com.expert.ice_servers', '[{ url: \'stun:stun.a.google.com:19302\'}]');";
echo "</script>";
include("webphone/webphone.php");
}
}
After adding it should look something like this.

Add Webrtc Extension


Assing extension for user

Finally edit /var/www/html/modules/agent_console/index.php file.
Find $onlyCallback=0; on line 52 and change like this $onlyCallback=1;

That's all we're going to do. When we enter agent_console and myex_config pages, the softphone becomes active.

Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
