Skip to main content

Posts

BSNL Incoming DID Dialplan

  [from-trunk] ; Try to capture DID if provided directly exten => _X.,1,NoOp(Incoming call with DID: ${EXTEN} and Caller ID: ${CALLERID(num)})  same => n,Set(realDID=${EXTEN})  same => n,Set(CALLERID_INFO=${CALLERID(num)})  same => n,NoOp(Direct DID: ${realDID}, Caller ID: ${CALLERID_INFO})  same => n,Dial(SIP/GATEWAY/${EXTEN})  same => n,Hangup() ; Fallback if no DID is provided (calls to 's' extension) exten => s,1,NoOp(Fallback - No DID provided, attempting header extraction)  same => n,Set(CALLERID_INFO=${CALLERID(num)})  ; Extract the DID from the To header and strip any additional information  same => n,Set(PJSIP_HEADER=${SIP_HEADER(To)})  same => n,Set(realDID=${CUT(CUT(PJSIP_HEADER,@,1),:,2)})  same => n,ExecIf($["${realDID}" = ""]?Set(realDID=UNKNOWN))  same => n,NoOp(Extracted DID: ${realDID}, Caller ID: ${CALLERID_INFO})  same => n,Dial(SIP/GATEWAY/${realDID})  same => n,Hangup() [GATEWAY] exten => _X.,
Recent posts

Upgrade OpenSuSE from Leap 15.5 to 15.6

  Step 1 – Change existing repo’s  files="$(zypper lr -u | awk -F'|' '$4 ~ /Yes/ { gsub (" ", "", $2); r=" / etc / zypp / repos.d / "$2".repo"; print r }')" for f in $files do echo "Backup of $f saved to /root/ before patching it up ..." cp -f "$f" / root / sed -i 's+/leap/15.5+/leap/$releasever+' "$f" sed -i 's+15.5+15.6+' "$f" sed -i 's+15.5+15.6+' "$f" done Step 2 – Update and reboot zypper --releasever=15.6 ref "May be get error in vicidial repo so rollback perticular repo to old one. zypper --releasever=15.6 dup reboot Make backup of  mod_php7.conf to php7.conf or the dynportal and audiostore conf files will cause apache to have errors. You can do so with the following command: cp /etc/apache2/conf.d/mod_php7.conf /etc/apache2/conf.d/php7.conf  varify.:- cat /etc/os-release NAME="openSUSE Leap" VERSION=&qu

VC APP Installation

  Run Below steps for VC installation cd /usr/src/ https://github.com/manish23k/Voicelogger-App-With-Ast-1.8-.git #install php-intl required for CI 4.3 yum install php-intl cd /usr/src/ Voicelogger-App-With-Ast-1.8 unzip  Voicelogger_NEW.zip cd  Voicelogger_NEW mysql create database voicecatch; use voicecatch; source voicecatch_14-08-2024.sql; ADD CRON ACCESS TO VOICECATCH mysql GRANT SELECT,CREATE,ALTER,INSERT,UPDATE,DELETE,LOCK TABLES on voicecatch.* TO cron@'%' IDENTIFIED BY '1234';  GRANT SELECT,CREATE,ALTER,INSERT,UPDATE,DELETE,LOCK TABLES on voicecatch.* TO cron@localhost IDENTIFIED BY '1234';  GRANT RELOAD ON  .  TO cron@'%'; GRANT RELOAD ON  .  TO cron@localhost;  flush privileges; SET GLOBAL connect_timeout=60; exit; #Copy Voicelogger App to html cd /usr/src/ Voicelogger-App-With-Ast-1.8 mv  Voicelogger_NEW voicelogger mv voicelogger /var/www/html #Copy test.php to /var/www/html Add below line into cron if not there #Process miss and NA calls *

Vicidial Scratch installation Alma -9

Step 1 – Download the dependencies   hostnamectl set-hostname xxxxxx.xxxxx.xxx ### Use YOUR SubDomain vi /etc/hosts ##Change domain name for actual server ip (xxx.xxx.xxx.xxx   complete domain name    subdomain only) timedatectl set-timezone Asia/Kolkata yum check-update yum update -y yum -y install epel-release yum update -y yum install git -y yum install -y kernel* #Disable SELINUX sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config     reboot Step 2 – Run the Script cd /usr/src/ git clone https://github.com/manish23k/vicidial-install-scripts cd vicidial-install-scripts chmod +x alma-rocky9-ast16.sh ./alma-rocky9-ast16.sh Or the Asterisk 18 version: chmod +x alma-rocky9-ast18.sh ./alma-rocky9-ast18.sh

Vicidial Access forbidden! on recording links

 nano  /etc/apache2/confid/vicirecord.conf Alias /RECORDINGS/ "/var/spool/asterisk/monitorDONE/" <Directory "/var/spool/asterisk/monitorDONE">     Options Indexes MultiViews     AllowOverride None     Order allow,deny     Allow from all         <files *.mp3>                 Forcetype application/forcedownload         </files> </Directory> chmod 755 /var/spool/asterisk systemctl restart apache2 Check its working or not. http://SERVERIP/RECORDINGS

MariaDB 10 configuration for ViciBox /etc/my.cnf

Here is my.cnf config example. # MariaDB 10 configuration for ViciBox # HW Spec: 8-Core 2+Ghz, 24-GB RAM, RAID-1 SSD under /srv/mysql/data #Here data mounted on seprate SSD drive which have Higher IO # The following options will be passed to all MariaDB clients [client] # password = your_password # port = 3306 # socket = /var/run/mysql/mysql.sock [mysqld] log_bin=/var/lib/mysql/mysql-bin relay_log=/var/lib/mysql/mysql-relay-bin binlog_format=mixed binlog_direct_non_transactional_updates=1 datadir = /srv/mysql/data server-id = 1 slave-skip-errors = 1032,1690,1062 slave_parallel_threads=20 slave-parallel-mode=optimistic slave_parallel_max_queued=5242880 port = 3306 socket = /var/run/mysql/mysql.sock sql_mode=NO_ENGINE_SUBSTITUTION skip-external-locking skip-name-resolve #no-auto-rehash connect_timeout=60 long_query_time=3 slow-query-log=1 slow-query-log-file=/var/lib/mysql/mysqld-slow.log log-slow-verbosity=query_plan,explain max_connections=2000 key_buffer_size = 8G max_all

How to configure Airtel SIP trunk

register => +917949031XXX@gj.ims.airtel.in:XXXXXne#1:+917949031XXX@gj.ims.airtel.in@10.5.110.101/+917949031XXX [AirtelSIP] disallow=all allow=all type=friend dtmfmode=rfc2833 qualify=yes nat=force_rport,comedia insecure=invite,port host=gj.ims.airtel.in username=+917949031XXX@gj.ims.airtel.in secret=XXXXX#1 fromdomain=gj.ims.airtel.in defaultexpirey=120 canreinvite=no context=trunkinbound maxexpiry=600 progressinband=yes exten => _65X.,1,AGI(agi://127.0.0.1:4577/call_log) exten => _65X.,n,SipAddHeader(P-Preferred-Identity: <sip:+917949031XXX@gj.ims.airtel.in>) exten => _65X.,n,Progress() exten => _65X.,n,Dial(SIP/${EXTEN:2}@AirtelSIP,,tTo) exten => _65X.,n,Hangup() for custom callerid  ;;;;USE CALLER IN HEADER as AIRTEL REQUIRED CID IN HEADER exten => _67X.,1,AGI(agi://127.0.0.1:4577/call_log) exten => _67X.,n,Set(CALLERID(num)=+${CALLERID(num)}) exten => _67X.,n,SipAddHeader(P-Preferred-Identity:<sip:+${CALLERID(num)}@mu.ims.airtel.in>) exten =&g

How to install HAProxy Load Balancer

https://www.linkedin.com/pulse/how-setup-high-availability-load-balancer-haproxy-web-ali-bin-akhtar https://docs.rockylinux.org/guides/proxies/haproxy_apache_lxd/ https://www.redswitches.com/blog/haproxy-configuration/  https://www.digitalocean.com/community/tutorials/how-to-use-haproxy-to-set-up-http-load-balancing-on-an-ubuntu-vps https://docs.severalnines.com/docs/clustercontrol/user-guide-gui/ ################################################################### Only Haproxy install no need apache and other services. apt update -y apt upgrade -t apt upgrade -y hostnamectl hostnamectl set-hostname loadbalancer.server.com hostnamectl apt show haproxy apt install software-properties-common add-apt-repository ppa:vbernat/haproxy-2.8 apt install gnupg gnupg-agent -y add-apt-repository ppa:vbernat/haproxy-2.8 apt update -y apt install haproxy haproxy -v cp -a /etc/haproxy/haproxy.cfg{,.orig} nano /etc/haproxy/haproxy.cfg #######START###### global log /dev/log local0 log /dev/log lo

Vicidial Webform as iframe

  vicidial webform as iframe 1) Modify Campaign (Detail view). Put  https://example.com/erp/newsale  in "Web Form" or 2) Modify Campaign (Detail view). Put  https://example.com/erp/newsale  in "Web Form Two" (be sure to activate web form two's button on the agent screen, read the manual) or 3) Create a Script and put <iframe src="https://example.com/erp/newsale" style="background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="--A--script_width--B--" height="--A--script_height--B--" STYLE="z-index:17"></iframe> Then you can decide if you want to open this automatically at the start of a call (using the campaign "get call launch" setting) or allow the agent to click on Web Form or the Script Tab at the opportune moment. http://www.eflo.net/VICIDIALforum/viewtopic.php?f=4&am