diff --git a/UPGRADE b/UPGRADE
index c660ad44..d4bbaa2b 100644
--- a/UPGRADE
+++ b/UPGRADE
@@ -74,6 +74,8 @@ NOTE: Upgrading from 1.1.12-3 to 2.0.1 is at the bottom
18. Added the HIDE option for Disable Alter Customer Phone field to hide the
customer phone number from the agent interface
+19. Added dynamic route options to Call Menus and links to Call Menus and DIDs
+
diff --git a/bin/ADMIN_keepalive_ALL.pl b/bin/ADMIN_keepalive_ALL.pl
index 2ad8d7bf..bcb70610 100644
--- a/bin/ADMIN_keepalive_ALL.pl
+++ b/bin/ADMIN_keepalive_ALL.pl
@@ -989,10 +989,6 @@ if ( ($active_asterisk_server =~ /Y/) && ($generate_vicidial_conf =~ /Y/) && ($r
$i=0;
$call_menu_ext = '';
- $time_check_scheme = '';
- $time_check_route = '';
- $time_check_route_value = '';
- $time_check_route_context = '';
while ($sthArows > $i)
{
$stmtA = "SELECT option_value,option_description,option_route,option_route_value,option_route_value_context FROM vicidial_call_menu_options where menu_id='$menu_id[$i]' order by option_value;";
@@ -1001,6 +997,12 @@ if ( ($active_asterisk_server =~ /Y/) && ($generate_vicidial_conf =~ /Y/) && ($r
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArowsJ=$sthA->rows;
$j=0;
+ $time_check_scheme = '';
+ $time_check_route = '';
+ $time_check_route_value = '';
+ $time_check_route_context = '';
+ $call_menu_timeout_ext = '';
+ $call_menu_invalid_ext = '';
$call_menu_options_ext = '';
if ($DBX>0) {print "$sthArowsJ|$stmtA\n";}
while ($sthArowsJ > $j)
@@ -1019,6 +1021,8 @@ if ( ($active_asterisk_server =~ /Y/) && ($generate_vicidial_conf =~ /Y/) && ($r
$j=0;
while ($sthArowsJ > $j)
{
+ $PRI=1;
+ $call_menu_line='';
if ( ($option_value[$j] =~ /TIMECHECK/) && ($menu_time_check[$i] > 0) && (length($call_time_id[$i])>0) )
{
$time_check_scheme = $call_time_id[$i];
@@ -1030,39 +1034,57 @@ if ( ($active_asterisk_server =~ /Y/) && ($generate_vicidial_conf =~ /Y/) && ($r
{
if (length($option_description[$j])>0)
{
- $call_menu_options_ext .= "; $option_description[$j]\n";
+ $call_menu_line .= "; $option_description[$j]\n";
+ }
+ if ($option_value[$j] =~ /TIMEOUT/)
+ {
+ $option_value[$j] = 't';
+ if ( (length($menu_timeout_prompt[$i])>0) && ($menu_timeout_prompt[$i] !~ /NONE/) )
+ {
+ $call_menu_line .= "exten => t,1,Playback($menu_timeout_prompt[$i])\n";
+ $PRI++;
+ }
+ }
+ if ($option_value[$j] =~ /INVALID/)
+ {
+ if ( (length($menu_invalid_prompt[$i])>0) && ($menu_invalid_prompt[$i] !~ /NONE/) )
+ {
+ $call_menu_line .= "exten => i,1,Playback($menu_invalid_prompt[$i])\n";
+ $PRI++;
+ }
+ $option_value[$j] = 'i';
}
if ($option_route[$j] =~ /AGI/)
{
- $call_menu_options_ext .= "exten => $option_value[$j],1,AGI($option_route_value[$j])\n";
+ $call_menu_line .= "exten => $option_value[$j],$PRI,AGI($option_route_value[$j])\n";
}
if ($option_route[$j] =~ /CALLMENU/)
{
- $call_menu_options_ext .= "exten => $option_value[$j],1,Goto($option_route_value[$j],s,1)\n";
+ $call_menu_line .= "exten => $option_value[$j],$PRI,Goto($option_route_value[$j],s,1)\n";
}
if ($option_route[$j] =~ /DID/)
{
- $call_menu_options_ext .= "exten => $option_value[$j],1,Goto(trunkinbound,$option_route_value[$j],1)\n";
+ $call_menu_line .= "exten => $option_value[$j],$PRI,Goto(trunkinbound,$option_route_value[$j],1)\n";
}
if ($option_route[$j] =~ /EXTENSION/)
{
if (length($option_route_value_context[$j])>0) {$option_route_value_context[$j] = "$option_route_value_context[$j],";}
- $call_menu_options_ext .= "exten => $option_value[$j],1,Goto($option_route_value_context[$j]$option_route_value[$j],1)\n";
+ $call_menu_line .= "exten => $option_value[$j],$PRI,Goto($option_route_value_context[$j]$option_route_value[$j],1)\n";
}
if ($option_route[$j] =~ /VOICEMAIL/)
{
- $call_menu_options_ext .= "exten => $option_value[$j],1,Goto(default,85026666666666$option_route_value[$j],1)\n";
+ $call_menu_line .= "exten => $option_value[$j],$PRI,Goto(default,85026666666666$option_route_value[$j],1)\n";
}
if ($option_route[$j] =~ /HANGUP/)
{
if ( (length($option_route_value[$j])>0) && ($option_route_value[$j] !~ /NONE/) )
{
- $call_menu_options_ext .= "exten => $option_value[$j],1,Playback($option_route_value[$j])\n";
- $call_menu_options_ext .= "exten => $option_value[$j],n,Hangup\n";
+ $call_menu_line .= "exten => $option_value[$j],$PRI,Playback($option_route_value[$j])\n";
+ $call_menu_line .= "exten => $option_value[$j],n,Hangup\n";
}
else
{
- $call_menu_options_ext .= "exten => $option_value[$j],1,Hangup\n";
+ $call_menu_line .= "exten => $option_value[$j],$PRI,Hangup\n";
}
}
if ($option_route[$j] =~ /PHONE/)
@@ -1088,10 +1110,23 @@ if ( ($active_asterisk_server =~ /Y/) && ($generate_vicidial_conf =~ /Y/) && ($r
$d = leading_zero($4);
$DIALstring = "$a$S$b$S$c$S$d$S";
}
- $call_menu_options_ext .= "exten => $option_value[$j],1,Goto(default,$DIALstring$Pdialplan,1)\n";
+ $call_menu_line .= "exten => $option_value[$j],$PRI,Goto(default,$DIALstring$Pdialplan,1)\n";
}
$sthA->finish();
}
+
+ if ($option_value[$j] =~ /t/)
+ {
+ $call_menu_timeout_ext = "$call_menu_line";
+ }
+ if ($option_value[$j] =~ /i/)
+ {
+ $call_menu_invalid_ext = "$call_menu_line";
+ }
+ if ($option_value[$j] !~ /i|t/)
+ {
+ $call_menu_options_ext .= "$call_menu_line";
+ }
}
if ($DBX>0) {print "$i|$j| $menu_id[$i]|$option_value[$j]\n";}
$j++;
@@ -1112,30 +1147,45 @@ if ( ($active_asterisk_server =~ /Y/) && ($generate_vicidial_conf =~ /Y/) && ($r
$call_menu_ext .= "exten => s,n,WaitExten($menu_timeout[$i])\n";
$k++;
}
- $call_menu_ext .= "exten => s,n,Hangup\n";
+ # $call_menu_ext .= "exten => s,n,Hangup\n";
$call_menu_ext .= "\n";
$call_menu_ext .= "$call_menu_options_ext";
$call_menu_ext .= "\n";
- if ( (length($menu_timeout_prompt[$i])>0) && ($menu_timeout_prompt[$i] !~ /NONE/) )
+ if (length($call_menu_timeout_ext) < 1)
{
- $call_menu_ext .= "exten => t,1,Playback($menu_timeout_prompt[$i])\n";
- $call_menu_ext .= "exten => t,n,Goto(s,2)\n";
+ if ( (length($menu_timeout_prompt[$i])>0) && ($menu_timeout_prompt[$i] !~ /NONE/) )
+ {
+ $call_menu_ext .= "exten => t,1,Playback($menu_timeout_prompt[$i])\n";
+ $call_menu_ext .= "exten => t,n,Goto(s,2)\n";
+ }
+ else
+ {
+ $call_menu_ext .= "exten => t,1,Goto(s,2)\n";
+ }
}
else
{
- $call_menu_ext .= "exten => t,1,Goto(s,2)\n";
+ $call_menu_ext .= "$call_menu_timeout_ext";
}
- if ( (length($menu_invalid_prompt[$i])>0) && ($menu_invalid_prompt[$i] !~ /NONE/) )
+ if (length($call_menu_invalid_ext) < 1)
{
- $call_menu_ext .= "exten => i,1,Playback($menu_invalid_prompt[$i])\n";
- $call_menu_ext .= "exten => i,n,Goto(s,2)\n";
+ if ( (length($menu_invalid_prompt[$i])>0) && ($menu_invalid_prompt[$i] !~ /NONE/) )
+ {
+ $call_menu_ext .= "exten => i,1,Playback($menu_invalid_prompt[$i])\n";
+ $call_menu_ext .= "exten => i,n,Goto(s,2)\n";
+ }
+ else
+ {
+ $call_menu_ext .= "exten => i,1,Goto(s,2)\n";
+ }
}
else
{
- $call_menu_ext .= "exten => i,1,Goto(s,2)\n";
+ $call_menu_ext .= "$call_menu_invalid_ext";
}
+ $call_menu_ext .= "; hangup\n";
$call_menu_ext .= 'exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME})';
$call_menu_ext .= "\n\n";
diff --git a/www/agc/timeclock.php b/www/agc/timeclock.php
index 69abd93e..fc0e9afc 100644
--- a/www/agc/timeclock.php
+++ b/www/agc/timeclock.php
@@ -123,7 +123,7 @@ if ( ($stage == 'login') or ($stage == 'logout') )
$VDdisplayMESSAGE = "The user and password you entered are not active in the system
Please try again:";
echo"
\n";
- echo"VICIDIAL: Timeclock\n";
+ echo"Agent Timeclock\n";
echo"\n";
echo"\n";
echo "\n";
@@ -228,7 +228,7 @@ if ( ($stage == 'login') or ($stage == 'logout') )
$VDdisplayMESSAGE = "You cannot log in or out within 30 seconds of your last login or logout";
echo"\n";
- echo"VICIDIAL: Timeclock\n";
+ echo"Agent Timeclock\n";
echo"\n";
echo"\n";
echo "\n";
@@ -343,7 +343,7 @@ if ( ($stage == 'login') or ($stage == 'logout') )
{$BACKlink = "BACK to Welcome Screen";}
echo"\n";
- echo"VICIDIAL: Timeclock\n";
+ echo"Agent Timeclock\n";
echo"\n";
echo"\n";
echo "\n";
@@ -382,7 +382,7 @@ if ( ($stage == 'login') or ($stage == 'logout') )
}
echo"\n";
- echo"VICIDIAL: Timeclock\n";
+ echo"Agent Timeclock\n";
echo"\n";
echo"\n";
echo "\n";
@@ -421,7 +421,7 @@ if ( ($stage == 'login') or ($stage == 'logout') )
else
{
echo"\n";
- echo"VICIDIAL: Timeclock\n";
+ echo"Agent Timeclock\n";
echo"\n";
echo"\n";
echo "\n";
diff --git a/www/agc/vicidial.php b/www/agc/vicidial.php
index 7c035ddd..f5c42e39 100644
--- a/www/agc/vicidial.php
+++ b/www/agc/vicidial.php
@@ -592,7 +592,7 @@ if ($LogiNAJAX > 0)
if ($relogin == 'YES')
{
-echo "VICIDIAL web client: Re-Login\n";
+echo "Agent web client: Re-Login\n";
echo "\n";
echo "\n";
echo " Timeclock
\n";
@@ -630,7 +630,7 @@ if ($user_login_first == 1)
{
if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) )
{
- echo "VICIDIAL web client: Campaign Login\n";
+ echo "Agent web client: Campaign Login\n";
echo "\n";
echo "\n";
echo " Timeclock
\n";
@@ -674,7 +674,7 @@ if ($user_login_first == 1)
$phone_login=$row[0];
$phone_pass=$row[1];
- echo "VICIDIAL web client: Login\n";
+ echo "Agent web client: Login\n";
echo "\n";
echo "\n";
echo " Timeclock
\n";
@@ -713,7 +713,7 @@ if ($user_login_first == 1)
if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) )
{
-echo "VICIDIAL web client: Phone Login\n";
+echo "Agent web client: Phone Login\n";
echo "\n";
echo "\n";
echo " Timeclock
\n";
@@ -937,7 +937,7 @@ $VDloginDISPLAY=0;
if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) )
{
- echo "VICIDIAL web client: VICIDIAL Campaign Login\n";
+ echo "Agent web client: Campaign Login\n";
echo "\n";
echo "\n";
echo " Timeclock
\n";
@@ -1276,7 +1276,7 @@ $VDloginDISPLAY=0;
}
if ($VDloginDISPLAY)
{
- echo "VICIDIAL web client: Campaign Login\n";
+ echo "Agent web client: Campaign Login\n";
echo "\n";
echo "\n";
echo " Timeclock
\n";
@@ -1364,7 +1364,7 @@ $row=mysql_fetch_row($rslt);
$authphone=$row[0];
if (!$authphone)
{
- echo "VICIDIAL web client: Phone Login Error\n";
+ echo "Agent web client: Phone Login Error\n";
echo "\n";
echo "\n";
echo " Timeclock
\n";
@@ -1450,7 +1450,7 @@ else
}
echo "\n";
}
- echo "VICIDIAL web client\n";
+ echo "Agent web client\n";
$stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_query($stmt, $link);
@@ -1844,7 +1844,7 @@ else
}
else
{
- echo "VICIDIAL web client: VICIDIAL Campaign Login\n";
+ echo "Agent web client: Campaign Login\n";
echo "\n";
echo "\n";
echo " Timeclock
\n";
@@ -1868,7 +1868,7 @@ else
}
if (strlen($session_id) < 1)
{
- echo "VICIDIAL web client: VICIDIAL Campaign Login\n";
+ echo "Agent web client: Campaign Login\n";
echo "\n";
echo "\n";
echo " Timeclock
\n";
@@ -8059,7 +8059,7 @@ echo "\n";
height=30>
- |
+ |
 |
VALIGN=MIDDLE ALIGN=CENTER> LIVE session ID: |
 |
@@ -8069,7 +8069,7 @@ echo "\n";
-
+
@@ -8438,7 +8438,7 @@ Your Status:
Calls Dialing:
-
+
@@ -8448,7 +8448,7 @@ Your Status:
Calls Dialing: px;z-index:15;" id="MaiNfooterspan">
->VICIDIAL web-client version: BUILD: Server:
+>Agent web-client version: BUILD: Server:
Show conference call channel information
|
|
|
diff --git a/www/agc/vicidial_redirect.php b/www/agc/vicidial_redirect.php
index 43cdb449..6eded8cd 100644
--- a/www/agc/vicidial_redirect.php
+++ b/www/agc/vicidial_redirect.php
@@ -36,7 +36,7 @@ if (!isset($phone_pass))
$URL = "http://192.168.1.60/agc/vicidial.php?phone_login=$phone_login&phone_pass=$phone_pass&DB=$DB&VD_login=$VD_login&VD_pass=$VD_pass&VD_campaign=$VD_campaign&relogin=$relogin";
-echo"VICIDIAL\n";
+echo"Agent Redirect\n";
echo"\n";
echo"\n";
echo"\n";
diff --git a/www/vicidial/AST_CLOSER_service_level.php b/www/vicidial/AST_CLOSER_service_level.php
index 195ddfd0..145901e1 100644
--- a/www/vicidial/AST_CLOSER_service_level.php
+++ b/www/vicidial/AST_CLOSER_service_level.php
@@ -100,7 +100,7 @@ while ($i < $groups_to_print)
\n";
-echo "VICIDIAL: VDAD Closer Service Level Stats\n";
+echo "Inbound Service Level Report\n";
$short_header=1;
@@ -227,7 +227,7 @@ $DURATIONday = intval( ($DURATIONsec / 86400) + 1 );
$DURATIONday++;
}
-echo "VICIDIAL: Closer Service-Level Stats $NOW_TIME\n";
+echo "Inbound Service Level Report $NOW_TIME\n";
echo "\n";
echo "Time range $DURATIONday days: $query_date_BEGIN to $query_date_END\n\n";
#echo "Time range day sec: $SQsec - $EQsec Day range in epoch: $SQepoch - $EQepoch Start: $SQepochDAY\n";
diff --git a/www/vicidial/AST_CLOSERstats.php b/www/vicidial/AST_CLOSERstats.php
index cc33d79c..6edd63a2 100644
--- a/www/vicidial/AST_CLOSERstats.php
+++ b/www/vicidial/AST_CLOSERstats.php
@@ -166,7 +166,7 @@ while ($i < $statcats_to_print)
\n";
-echo "VICIDIAL: VDAD Closer Stats\n";
+echo "Inbound Stats\n";
$short_header=1;
@@ -268,7 +268,7 @@ $query_date_END = "$end_date $time_END";
-echo "VICIDIAL: Auto-dial Closer Stats: $group_string $NOW_TIME\n";
+echo "Inbound Call Stats: $group_string $NOW_TIME\n";
diff --git a/www/vicidial/AST_IVRstats.php b/www/vicidial/AST_IVRstats.php
index 1facf75f..76c62d31 100644
--- a/www/vicidial/AST_IVRstats.php
+++ b/www/vicidial/AST_IVRstats.php
@@ -177,7 +177,7 @@ else
}
echo "\n";
-echo "VICIDIAL: IVR Stats\n";
+echo "IVR Stats Report\n";
$short_header=1;
@@ -258,7 +258,7 @@ else
{
-echo "VICIDIAL: IVR Stats: $group_string $NOW_TIME\n";
+echo "IVR Stats Report: $group_string $NOW_TIME\n";
diff --git a/www/vicidial/AST_VDADstats.php b/www/vicidial/AST_VDADstats.php
index b1ea273d..0d2fab4b 100644
--- a/www/vicidial/AST_VDADstats.php
+++ b/www/vicidial/AST_VDADstats.php
@@ -149,7 +149,7 @@ while ($i < $statcats_to_print)
\n";
-echo "VICIDIAL: VDAD Stats\n";
+echo "Outbound Stats\n";
$short_header=1;
@@ -236,7 +236,7 @@ $query_date_END = "$end_date $time_END";
-echo "VICIDIAL: Auto-dial Stats $NOW_TIME\n";
+echo "Outbound Calling Stats $NOW_TIME\n";
echo "\n";
echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
diff --git a/www/vicidial/AST_VICIDIAL_hopperlist.php b/www/vicidial/AST_VICIDIAL_hopperlist.php
index 7965b617..67124511 100644
--- a/www/vicidial/AST_VICIDIAL_hopperlist.php
+++ b/www/vicidial/AST_VICIDIAL_hopperlist.php
@@ -76,7 +76,7 @@ while ($i < $campaigns_to_print)
\n";
-echo "VICIDIAL: Hopper List\n";
+echo "Hopper List Report\n";
echo " |