Skip to main content

Asterisk Random callerid setting

 

Why Random callerid setting required

           In call centers sometimes they need to show random callerids for each call, which are generated by autodiallers or predictive diallers ,so customers wont see that call is from same center.
in this blog i will show two methods to set random callerid  in asterisk or vicidial or goautodial based diallers, pbx.

Option 1 : using  RAND function in asterisk 

       RAND Function can be used in a scenario , if you have a range of DID's  like  40004001 to 40004999
pick any one number randomly within this range and set it has callerid.

Before entering the dialplan , let me explain little bit about RAND function

Asterisk Function RAND

Synopsis:

Choose a random number within a range

Description:

RAND(min,max)

choose a random number between min and max , min default to 0 if not specified,  while max may be upto 2147483647

Lets get in to dialplan

For eg:  consider the DID range as 40004001 to 40004999

those who use plain asterisk setup use the below dialplan

exten => _9X.,1,Set(Callerid(num)=${RAND(40004001,40004999)})
exten => _9X.,2,Dial(SIP/VOIPTRUNK/${EXTEN:1})
exten => _9X.,3,Hangup()

Note:
for vicidail /goautodial you have to use below dialplan

exten => _9X.,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _9X.,2,Set(Callerid(num)=${RAND(40004001,40004999)})
exten => _9X.,3,Dial(SIP/VOIPTRUNK/${EXTEN:1},,Tto)
exten => _9X.,4,Hangup()


Option 2 :  Using php AGI script 

            This method can be used were you have  numbers ie: not in range,  numbers are placed in a txt file, from which a  random number will be filtered and set as callerid.

note: you must have PHPAgi  installed in your pbx server under agi directory
phpagi download link clickhere


1. create a file named randomcid.php  under  /var/lib/asterisk/agi-bin
   
  cd /var/lib/asterisk/agi-bin
 vi randomcid.php

2. copy the below script and paste in randomcid.php
  
 #!/usr/bin/php
<?php
    include 'phpagi-2.20/phpagi.php';
    $agi = new AGI();
    $numbers = file('/var/lib/asterisk/agi-bin/cids-list.txt');
    $cid = array_rand($numbers, 1);
     //return trim($numbers[$cid[0]]);
    $newCID = trim($numbers[$cid]);
    //echo $newCID;
    $agi->set_variable("CALLERID(num)", $newCID);

?>

3. create a file named cids-list.txt    under /var/lib/asteisk/agi-bin
    and fill you numbers in a single column 
    vi /var/lib/asterisk/agi-bin/cids-list.txt

4. now we will write a dialplan with AGI function 

     for plain asterisk
     exten => _9X.,1,AGI(randomcid.php)
  exten => _9X.,2,Dial(SIP/VOIPTRUNK/${EXTEN:1})
  exten => _9X.,3,Hangup

     for Vicidial or goautodial 

     exten => _9X.,1,AGI(agi://127.0.0.1:4577/call_log)
  exten => _9X.,2,AGI(randomcid.php)
  exten => _9X.,3,Dial(SIP/VOIPTRUNK/${EXTEN:1},,tTo)
  exten => _9X.,4,Hangup

Comments

Popular posts from this blog

voice broadcast in vicidial Step by Step Guide

 Follow all below mention steps:- 1.  Open https://ttsmp3.com/   2.  Select Voice Indian English 3.  Type whatever you want to convert into voice.   4.  Read and confirm and then download as a MP3.   5.  Open downloaded file with wavepad and convert into 16bit Mono 8k PCM WAV. or you can use online audio converter from below mention link. site support .wav file only so you need to convert MP3 file to wav using below mention site. https://g711.org/   6.  Upload file to vicidial audio store.   7.  Manual copy file into /var/lib/asterisk/sound/ folder using winscp software. https://winscp.net/download/WinSCP-5.21.6-Portable.zip   8.  Copy campaign from existing Broadcast camp.   9.  Click on created camp and select details view then click on survey     select Survey First Audio File:- as audio file which we created in step 1 and submit.   10. Create list and select campaign as Newly created campaign broadcast, and change routing extensions.   11. Create user with same name of remote agent

Debian 11 Vicidial scratch install dynamic portal

  Step by step guide to scratch install the vidial dynamic portal in Debian 11 or ubuntu based vicidial scratch installations. If you have installed vicidial using scratch installation instead of using the default vicibox iso then you need to manually install and configure the dynamic portal , follow this blog tutorial to scratch install the vicidial dynamic portal . Here's the steps to install and configure the vicidial dynamic portal in scratch installations. Steps to install vicidial dynamic portal cd /usr/src git clone https://github.com/manish23k/vicidial-dynamicportal.git cd vicidial-dynamicportal chmod +x vici_dynportal.sh ./vici_dynportal.sh or you can install manually. Follow the below steps to install and configure the vicidial dynamic portal in your scratch installations, Step 1: Install the firewalld and ipset apt install firewalld apt  install ipset Step 2: Download the Dynamic portal files from my Github cd /usr/src/ mkdir dynamicportal cd dynamicportal wget ht

Vicidial Scratch installation Debian 11 with Asterisk 16, WebRTC and Dynamic Portal

  Vicidial Scratch installation Debian 11  Asterisk 16, WebRTC and Dynamic Portal apt update apt upgrade apt-get install git nano wget cd /usr/src/ git clone https://github.com/manish23k/Vici_Install_Scripts_Deb_11.git cd Vici_Install_Scripts_Deb_11/ chmod +x *.sh Run ./vici_install_deb_ast16.sh Install WebRTC ./vicidial-install-webrtc.sh Once Done with Configuration Secure Server with Vici Dynamic Portal Run ./vici_dynportal.sh