Page 1 of 1

Voice Broadcasting Sample AGI

PostPosted: Thu Dec 18, 2008 3:09 pm
by kolucoms6
I want to setup a campaign like this :

Hello this is Sally with the awards department …..Congratulations you have been chosen to receive $1100.00 dollars in Travel Dollars to be used towards your 12 Day… Disney, Daytona and Bahamas Cruise Vacation. Your claim number is 8764 push 1 to claim your $1100 dollars in Travel Dollars now. ….. If you do not want to be contacted again, please press 8

On pressing 1, call get tranfer to an Agent.

1) I have to Add Remote Agent. Lets presume 5 agents.

2) Entry exist in Extension.conf file as below .

Code: Select all
 exten => 8366,1,Playback(sip-silence)
exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log)
exten => 8366,3,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten => 8366,4,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten => 8366,5,Hangup()


3) Need to change Campaign VDAD exten from 8365 to 8366.

4) In agi-VDADtransferSURVEY.agi file ,

What changes are required to make it work ?

Can anyone help mewith One sample survey agi file ?

[/quote]

PostPosted: Thu Dec 18, 2008 3:17 pm
by kolucoms6
Currently reading :

http://www.eflo.net/VICIDIALforum/viewt ... light=8366

Code: Select all

#Hello this is Sally with the awards department …..Congratulations you have been chosen to receive $1100.00 dollars in Travel Dollars to be used towards your 12 Day… Disney, Daytona and Bahamas Cruise Vacation. Your claim number is 8764 push 1 to claim your $1100 dollars in Travel Dollars now. ….. If you do not want to be contacted again, please press 8



#

$interrupt_digit = $AGI->stream_file('hello','12');

   if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|";   &agi_output;}

$digits_being_entered=1;
$digit_loop_counter=0;
$totalDTMF='';
if ($interrupt_digit > 1)
   {
   if ($pin =~ /^1|^2/)
      {
      $voter='';
      if ($pin == "1") {$voter = 'AGENT';}
      if ($pin == "2") {$voter = 'HANGUP';}

   $AGI->stream_file('US_pol_survey_transfer');
   }


while ($digit_loop_counter < 1)
   {
   $digit = chr($AGI->wait_for_digit('2000'));  # wait 0.2 seconds for input or until the pound key is pressed
   if ($digit =~ /\d/)
      {
      $totalDTMF = "$totalDTMF$digit";
      if ($AGILOG) {$agi_string = "digit |$digit|     TotalDTMF |$totalDTMF|";   &agi_output;}
#      $AGI->say_digits("$digit");
      undef $digit;
      }
   else
      {
      $digit_loop_counter=1;
      }
   
   $digit_loop_counter++;
   }

$totalDTMF =~ s/\D//gi;
$pin = $totalDTMF;
if ($totalDTMF)
   {
   if ($AGILOG) {$agi_string = "digit |$digit|     TotalDTMF |$totalDTMF|";   &agi_output;}
   }
}




sub checkresult {
   my ($res) = @_;
   my $retval;
   $tests++;
   chomp $res;
   if ($res =~ /^200/) {
      $res =~ /result=(-?\d+)/;
      if (!length($1)) {
      #   print STDERR "FAIL ($res)\n";
         $fail++;
      } else {
      #   print STDERR "PASS ($1)\n";
         $pass++;
      }
   } else {
      print STDERR "FAIL (unexpected result '$res')\n";
      $fail++;
   }
}



### Hello, you've been chosen to receive a great deal on travel to Florida, if you are insterested please press one on your phone now,,,,,If you would not like to be contacted again please press 2



sub agi_output
{
if ($AGILOG >=2)
   {
   ### open the log file for writing ###
   open(Lout, ">>$AGILOGfile")
         || die "Can't open $AGILOGfile: $!\n";
   print Lout "$now_date|$script|$agi_string\n";
   close(Lout);
   }
   ### send to STDERR writing ###
if ( ($AGILOG == '1') || ($AGILOG == '3') )
   {print STDERR "$now_date|$script|$agi_string\n";}
$agi_string='';
}



Is above Code Ok?

Also, can call be transferred to some particular Number instead of any agent ?

PostPosted: Fri Dec 19, 2008 4:33 pm
by mflorell
It would probably be much easier to just use the SVN trunk version which gives you a lot more options without having to edit any code.

PostPosted: Fri Dec 19, 2008 4:36 pm
by kolucoms6
Sorry, but how to use SVN trunk version ?

PostPosted: Fri Dec 19, 2008 4:44 pm
by mflorell
http://www.eflo.net/VICIDIALwiki/tiki-i ... VN%3Ahowto

Also, the installation instructions tell you how to install the SVN trunk version.

PostPosted: Fri Dec 19, 2008 4:46 pm
by kolucoms6
Thanks a lot.

Let me study it.

PostPosted: Fri Dec 19, 2008 4:53 pm
by kolucoms6
Trying to study it but it DOESN'T look easy :-(

PostPosted: Thu Jan 29, 2009 7:50 pm
by kolucoms6
Here is what I have done :

1) Created One campaign
2) Changed Campaign VDAD exten to 8364
3) Created one Remote Agent and changed Extension to 8320.
4) Recorded one file and got ID as 85100001. Replayed it to checked whether it ok or not and FOUND it to be OK.
5) Below lines are there in Extension.conf file :


Code: Select all

exten => 8320,1,WaitForSilence(2000,2)
exten => 8320,2,Playback(85100001)
exten => 8320,3,AGI(VD_amd_post.agi,${EXTEN})
exten => 8320,4,Playback(85100001)
exten => 8320,5,Hangup()

exten => 8364,1,Playback(sip-silence)
exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log)
exten => 8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN})
exten => 8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN})
exten => 8364,5,Hangup()




6) Uploaded List with my own DID number , 10 records.
7) Logged in as Inbound Agent to take calls.
8) Made Remote Agent ACTIVE with 3 lines.


Status within list shows as

Code: Select all
STATUSES WITHIN THIS LIST:
STATUS   STATUS NAME   CALLED   NOT CALLED
DROP   Agent Not Available   2   0
PU      6   2
SUBTOTALS   8   2
TOTAL   10



Now, when I logged in I got calls, but it doesn't play the 8510001 and it only plays MUSIC.

Where I have gone wrong ?


Also, what PU stands for ?

[/code]