From 0115f559b011c2e6b5f1133a4332a5e06aa20cff Mon Sep 17 00:00:00 2001 From: mattf Date: Mon, 15 Sep 2008 22:01:26 +0000 Subject: [PATCH] rewrote leave-3way call functionality in vicidial.php for external calls added more conferences and made some changes to the default extensions.conf files git-svn-id: svn://192.168.202.10@951 3d104415-ff17-0410-8863-d5cf3c621b8a --- UPGRADE | 3 + bin/AST_conf_update.pl | 73 +++- docs/conf_examples/extensions.conf.sample | 118 ++---- docs/conf_examples/extensions.conf.sample-1.4 | 118 ++---- extras/MySQL_AST_CREATE_tables.sql | 6 +- extras/first_server_install.sql | 399 +++++++++++------- extras/upgrade_2.0.5.sql | 5 + www/agc/manager_send.php | 61 ++- www/agc/vicidial.php | 171 +++++--- 9 files changed, 546 insertions(+), 408 deletions(-) diff --git a/UPGRADE b/UPGRADE index 5dd29615..1fa24813 100644 --- a/UPGRADE +++ b/UPGRADE @@ -159,6 +159,9 @@ NOTE: Upgrading from 1.1.12-3 to 2.0.1 is at the bottom service message for invalid phone numbers that cannot be dialing in North America +37. Rewrote Leave-3way function for external calling to work more reliably on + high load systems. + diff --git a/bin/AST_conf_update.pl b/bin/AST_conf_update.pl index 9a1b7a0d..71618553 100644 --- a/bin/AST_conf_update.pl +++ b/bin/AST_conf_update.pl @@ -11,6 +11,7 @@ # 60717-1135 - changed to DBI by Marin Blu # 60717-1536 - changed to use /etc/astguiclient.conf for configs # 80506-1055 - Added check for vicidial_conferences in 3WAY +# 80914-1533 - Added kickall for leave-3way calls after one hour # # constants @@ -138,11 +139,76 @@ if ($sthArows > 0) $sthA->finish(); +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +##### Find date-time one hour in the past +$secX = time(); +$TDtarget = ($secX - 3600); +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + $TDnum = "$Tyear$Tmon$Tmday$Thour$Tmin$Tsec"; + +###################################################################### +##### CLEAR vicidial_conferences ENTRIES IN LEAVE-3WAY FOR MORE THAN ONE HOUR +###################################################################### +@PTextensions=@MT; @PT_conf_extens=@MT; @PTmessages=@MT; @PTold_messages=@MT; @NEW_messages=@MT; @OLD_messages=@MT; +$stmtA = "SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and leave_3way='1' and leave_3way_datetime < \"$TDSQLdate\";"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $PT_conf_extens[$rec_count] = "$aryA[0]"; + if ($DB) {print "|$PT_conf_extens[$rec_count]|$PTextensions[$rec_count]|\n";} + $rec_count++; + } +$sthA->finish(); +$k=0; +while ($k < $rec_count) + { + $local_DEF = 'Local/5555'; + $local_AMP = '@'; + $kick_local_channel = "$local_DEF$PT_conf_extens[$k]$local_AMP$ext_context"; + $queryCID = "ULGC35$TDnum"; + + $stmtA="INSERT INTO vicidial_manager values('','','$now_date','NEW','N','$server_ip','','Originate','$queryCID','Channel: $kick_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','','');"; + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + + $stmtA = "UPDATE vicidial_conferences set extension='',leave_3way='0' where server_ip='$server_ip' and conf_exten='$PT_conf_extens[$k]';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + + $k++; + } + + + + ###################################################################### ##### CHECK vicidial_conferences TABLE ##### ###################################################################### @PTextensions=@MT; @PT_conf_extens=@MT; @PTmessages=@MT; @PTold_messages=@MT; @NEW_messages=@MT; @OLD_messages=@MT; -$stmtA = "SELECT extension,conf_exten from vicidial_conferences where server_ip='$server_ip' and extension LIKE \"3WAY%\";"; +$stmtA = "SELECT extension,conf_exten from vicidial_conferences where server_ip='$server_ip' and leave_3way='1';"; if ($DB) {print "|$stmtA|\n";} $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; @@ -217,13 +283,14 @@ foreach(@PTextensions) else { $NEWexten[$i] = $PTextensions[$i]; + $leave_3waySQL='1'; if ($PTextensions[$i] =~ /Xtimeout3$/i) {$NEWexten[$i] =~ s/Xtimeout3$/Xtimeout2/gi;} if ($PTextensions[$i] =~ /Xtimeout2$/i) {$NEWexten[$i] =~ s/Xtimeout2$/Xtimeout1/gi;} - if ($PTextensions[$i] =~ /Xtimeout1$/i) {$NEWexten[$i] = '';} + if ($PTextensions[$i] =~ /Xtimeout1$/i) {$NEWexten[$i] = ''; $leave_3waySQL='0';} if ( ($PTextensions[$i] !~ /Xtimeout\d$/i) and (length($PTextensions[$i])> 0) ) {$NEWexten[$i] .= 'Xtimeout3';} - $stmtA = "UPDATE vicidial_conferences set extension='$NEWexten[$i]' where server_ip='$server_ip' and conf_exten='$PT_conf_extens[$i]';"; + $stmtA = "UPDATE vicidial_conferences set extension='$NEWexten[$i]',leave_3way='$leave_3waySQL' where server_ip='$server_ip' and conf_exten='$PT_conf_extens[$i]';"; if($DB){print STDERR "\n|$stmtA|\n";} $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; } diff --git a/docs/conf_examples/extensions.conf.sample b/docs/conf_examples/extensions.conf.sample index eeb6f368..cf10b553 100644 --- a/docs/conf_examples/extensions.conf.sample +++ b/docs/conf_examples/extensions.conf.sample @@ -155,6 +155,15 @@ exten => _91NXXNXXXXXX,3,Hangup ; exten => _91XXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) ; exten => _91XXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) ; exten => _91XXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXXXX,3,Hangup ; parameters for call_inbound.agi (7 fields separated by five dashes "-----"): @@ -249,8 +258,7 @@ exten => 8300,1,Hangup exten => _86000[0-4]X,1,Meetme,${EXTEN}|q ; VICIDIAL conferences exten => _86000[5-9]X,1,Meetme,${EXTEN}|F -exten => _86001XX,1,Meetme,${EXTEN}|F -exten => _8600200,1,Meetme,${EXTEN}|F +exten => _8600[1-2]XX,1,Meetme,${EXTEN}|F ; quiet entry and leaving conferences for VICIDIAL (inbound announce and SendDTMF) exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq ; quiet monitor-only extensions for meetme rooms (for room managers) @@ -381,127 +389,65 @@ exten => 8500998,4,Hangup ; if the status is DNC it will also add them to the internal dnc table ; VICIDIAL_auto_dialer transfer script for no-agent campaigns: -exten => 8364,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8364,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8364,1,Playback(sip-silence) +exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8364,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8364,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8364,5,Hangup ; VICIDIAL_auto_dialer transfer script: -exten => 8365,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8365,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) +exten => 8365,1,Playback(sip-silence) +exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8365,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) exten => 8365,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) exten => 8365,5,Hangup ; VICIDIAL_auto_dialer transfer script SURVEY at beginning: -exten => 8366,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8366,2,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8366,1,Playback(sip-silence) +exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) exten => 8366,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) exten => 8366,5,Hangup ; VICIDIAL_auto_dialer transfer script Load Balance Overflow: -exten => 8367,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8367,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) +exten => 8367,1,Playback(sip-silence) +exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8367,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) exten => 8367,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) exten => 8367,5,Hangup ; VICIDIAL_auto_dialer transfer script Load Balanced: -exten => 8368,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8368,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8368,1,Playback(sip-silence) +exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8368,5,Hangup ; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: -exten => 8369,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8369,2,AMD(2000|2000|1000|5000|120|50|4|256) -exten => 8369,3,AGI(VD_amd.agi,${EXTEN}) -exten => 8369,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8369,1,Playback(sip-silence) +exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256) +exten => 8369,4,AGI(VD_amd.agi,${EXTEN}) exten => 8369,5,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8369,6,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8369,7,Hangup ; VICIDIAL auto-dial reminder script -exten => 8372,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8372,2,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +exten => 8372,1,Playback(sip-silence) +exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) exten => 8372,5,Hangup ; VICIDIAL SURVEY transfer script AMD with Load Balanced: -exten => 8373,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8373,2,AMD(2000|2000|1000|5000|120|50|4|256) -exten => 8373,3,AGI(VD_amd.agi,${EXTEN}) -exten => 8373,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8373,1,Playback(sip-silence) +exten => 8373,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8373,3,AMD(2000|2000|1000|5000|120|50|4|256) +exten => 8373,4,AGI(VD_amd.agi,${EXTEN}) exten => 8373,5,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) -exten => 8373,6,Hangup +exten => 8373,6,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8373,7,Hangup -;#### VDAD SIP UNREGISTERED TRANSFER ENTRIES #### -;#### Use these entries IN PLACE OF the entries above if you are using SIP trunks -;#### and are not registering your provider in sip.conf -;; VICIDIAL_auto_dialer transfer script for no-agent campaigns: -;exten => 8364,1,Playback(sip-silence) -;exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8364,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8364,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8364,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script: -;exten => 8365,1,Playback(sip-silence) -;exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8365,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) -;exten => 8365,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) -;exten => 8365,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script SURVEY at beginning: -;exten => 8366,1,Playback(sip-silence) -;exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) -;exten => 8366,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) -;exten => 8366,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script Load Balance Overflow: -;exten => 8367,1,Playback(sip-silence) -;exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8367,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) -;exten => 8367,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) -;exten => 8367,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script Load Balanced: -;exten => 8368,1,Playback(sip-silence) -;exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8368,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: -;exten => 8369,1,Playback(sip-silence) -;exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256) -;exten => 8369,4,AGI(VD_amd.agi,${EXTEN}) -;exten => 8369,5,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8369,6,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8369,7,Hangup -; -;; VICIDIAL auto-dial reminder script -;exten => 8372,1,Playback(sip-silence) -;exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) -;exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) -;exten => 8372,5,Hangup -; -;; VICIDIAL SURVEY transfer script AMD with Load Balanced: -;exten => 8373,1,Playback(sip-silence) -;exten => 8373,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8373,3,AMD(2000|2000|1000|5000|120|50|4|256) -;exten => 8373,4,AGI(VD_amd.agi,${EXTEN}) -;exten => 8373,5,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) -;exten => 8373,6,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) -;exten => 8373,7,Hangup -; diff --git a/docs/conf_examples/extensions.conf.sample-1.4 b/docs/conf_examples/extensions.conf.sample-1.4 index 06ea4a9d..5a65eb75 100644 --- a/docs/conf_examples/extensions.conf.sample-1.4 +++ b/docs/conf_examples/extensions.conf.sample-1.4 @@ -155,6 +155,15 @@ exten => _91NXXNXXXXXX,3,Hangup ; exten => _91XXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) ; exten => _91XXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) ; exten => _91XXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXXXX,3,Hangup ; parameters for call_inbound.agi (7 fields separated by five dashes "-----"): ; 1. the extension of the phone to ring as defined in the asterisk.phones table @@ -248,8 +257,7 @@ exten => 8300,1,Hangup exten => _86000[0-4]X,1,Meetme,${EXTEN}|q ; VICIDIAL conferences exten => _86000[5-9]X,1,Meetme,${EXTEN}|F -exten => _86001XX,1,Meetme,${EXTEN}|F -exten => _8600200,1,Meetme,${EXTEN}|F +exten => _8600[1-2]XX,1,Meetme,${EXTEN}|F ; quiet entry and leaving conferences for VICIDIAL exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq ; quiet monitor extensions for meetme rooms (for room managers) @@ -380,127 +388,65 @@ exten => 8500998,4,Hangup ; if the status is DNC it will also add them to the internal dnc table ; VICIDIAL_auto_dialer transfer script for no-agent campaigns: -exten => 8364,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8364,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8364,1,Playback(sip-silence) +exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8364,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8364,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8364,5,Hangup ; VICIDIAL_auto_dialer transfer script: -exten => 8365,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8365,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) +exten => 8365,1,Playback(sip-silence) +exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8365,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) exten => 8365,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) exten => 8365,5,Hangup ; VICIDIAL_auto_dialer transfer script SURVEY at beginning: -exten => 8366,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8366,2,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8366,1,Playback(sip-silence) +exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) exten => 8366,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) exten => 8366,5,Hangup ; VICIDIAL_auto_dialer transfer script Load Balance Overflow: -exten => 8367,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8367,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) +exten => 8367,1,Playback(sip-silence) +exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8367,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) exten => 8367,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) exten => 8367,5,Hangup ; VICIDIAL_auto_dialer transfer script Load Balanced: -exten => 8368,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8368,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8368,1,Playback(sip-silence) +exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8368,5,Hangup ; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: -exten => 8369,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8369,2,AMD(2000|2000|1000|5000|120|50|4|256) -exten => 8369,3,AGI(VD_amd.agi,${EXTEN}) -exten => 8369,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8369,1,Playback(sip-silence) +exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256) +exten => 8369,4,AGI(VD_amd.agi,${EXTEN}) exten => 8369,5,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8369,6,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) exten => 8369,7,Hangup ; VICIDIAL auto-dial reminder script -exten => 8372,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8372,2,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +exten => 8372,1,Playback(sip-silence) +exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) exten => 8372,5,Hangup ; VICIDIAL SURVEY transfer script AMD with Load Balanced: -exten => 8373,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8373,2,AMD(2000|2000|1000|5000|120|50|4|256) -exten => 8373,3,AGI(VD_amd.agi,${EXTEN}) -exten => 8373,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8373,1,Playback(sip-silence) +exten => 8373,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8373,3,AMD(2000|2000|1000|5000|120|50|4|256) +exten => 8373,4,AGI(VD_amd.agi,${EXTEN}) exten => 8373,5,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) -exten => 8373,6,Hangup +exten => 8373,6,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8373,7,Hangup -;#### VDAD SIP UNREGISTERED TRANSFER ENTRIES #### -;#### Use these entries IN PLACE OF the entries above if you are using SIP trunks -;#### and are not registering your provider in sip.conf -;; VICIDIAL_auto_dialer transfer script for no-agent campaigns: -;exten => 8364,1,Playback(sip-silence) -;exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8364,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8364,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8364,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script: -;exten => 8365,1,Playback(sip-silence) -;exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8365,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) -;exten => 8365,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) -;exten => 8365,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script SURVEY at beginning: -;exten => 8366,1,Playback(sip-silence) -;exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) -;exten => 8366,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) -;exten => 8366,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script Load Balance Overflow: -;exten => 8367,1,Playback(sip-silence) -;exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8367,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) -;exten => 8367,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) -;exten => 8367,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script Load Balanced: -;exten => 8368,1,Playback(sip-silence) -;exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8368,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: -;exten => 8369,1,Playback(sip-silence) -;exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256) -;exten => 8369,4,AGI(VD_amd.agi,${EXTEN}) -;exten => 8369,5,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8369,6,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) -;exten => 8369,7,Hangup -; -;; VICIDIAL auto-dial reminder script -;exten => 8372,1,Playback(sip-silence) -;exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) -;exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) -;exten => 8372,5,Hangup -; -;; VICIDIAL SURVEY transfer script AMD with Load Balanced: -;exten => 8373,1,Playback(sip-silence) -;exten => 8373,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8373,3,AMD(2000|2000|1000|5000|120|50|4|256) -;exten => 8373,4,AGI(VD_amd.agi,${EXTEN}) -;exten => 8373,5,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) -;exten => 8373,6,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) -;exten => 8373,7,Hangup -; diff --git a/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql index 68659653..4b00249a 100644 --- a/extras/MySQL_AST_CREATE_tables.sql +++ b/extras/MySQL_AST_CREATE_tables.sql @@ -628,7 +628,9 @@ index (campaign_id) CREATE TABLE vicidial_conferences ( conf_exten INT(7) UNSIGNED NOT NULL, server_ip VARCHAR(15) NOT NULL, -extension VARCHAR(100) +extension VARCHAR(100), +leave_3way ENUM('0','1') default '0', +leave_3way_datetime DATETIME ); CREATE TABLE vicidial_phone_codes ( @@ -1262,7 +1264,7 @@ INSERT INTO vicidial_shifts SET shift_id='24HRMIDNIGHT',shift_name='24 hours 7 d UPDATE system_settings SET qc_last_pull_time=NOW(); -UPDATE system_settings SET db_schema_version='1105'; +UPDATE system_settings SET db_schema_version='1106'; GRANT RELOAD ON *.* TO cron@'%'; GRANT RELOAD ON *.* TO cron@localhost; diff --git a/extras/first_server_install.sql b/extras/first_server_install.sql index 15713ab4..5b5687ec 100644 --- a/extras/first_server_install.sql +++ b/extras/first_server_install.sql @@ -56,156 +56,255 @@ INSERT INTO conferences values('8600047','10.10.10.15',''); INSERT INTO conferences values('8600048','10.10.10.15',''); INSERT INTO conferences values('8600049','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600051','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600052','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600053','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600054','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600055','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600056','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600057','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600058','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600059','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600060','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600061','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600062','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600063','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600064','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600065','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600066','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600067','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600068','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600069','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600070','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600071','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600072','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600073','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600074','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600075','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600076','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600077','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600078','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600079','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600080','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600081','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600082','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600083','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600084','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600085','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600086','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600087','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600088','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600089','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600090','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600091','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600092','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600093','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600094','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600095','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600096','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600097','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600098','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600099','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600100','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600101','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600102','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600103','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600104','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600105','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600106','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600107','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600108','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600109','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600110','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600111','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600112','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600113','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600114','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600115','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600116','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600117','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600118','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600119','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600120','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600121','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600122','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600123','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600124','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600125','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600126','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600127','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600128','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600129','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600130','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600131','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600132','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600133','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600134','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600135','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600136','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600137','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600138','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600139','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600140','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600141','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600142','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600143','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600144','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600145','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600146','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600147','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600148','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600149','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600150','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600151','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600152','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600153','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600154','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600155','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600156','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600157','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600158','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600159','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600160','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600161','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600162','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600163','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600164','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600165','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600166','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600167','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600168','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600169','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600170','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600171','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600172','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600173','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600174','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600175','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600176','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600177','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600178','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600179','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600180','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600181','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600182','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600183','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600184','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600185','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600186','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600187','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600188','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600189','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600190','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600191','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600192','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600193','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600194','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600195','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600196','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600197','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600198','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600199','10.10.10.15',''); -INSERT INTO vicidial_conferences values('8600200','10.10.10.15',''); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600051','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600052','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600053','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600054','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600055','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600056','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600057','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600058','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600059','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600060','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600061','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600062','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600063','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600064','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600065','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600066','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600067','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600068','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600069','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600070','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600071','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600072','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600073','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600074','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600075','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600076','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600077','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600078','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600079','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600080','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600081','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600082','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600083','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600084','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600085','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600086','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600087','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600088','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600089','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600090','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600091','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600092','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600093','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600094','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600095','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600096','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600097','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600098','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600099','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600100','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600101','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600102','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600103','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600104','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600105','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600106','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600107','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600108','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600109','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600110','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600111','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600112','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600113','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600114','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600115','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600116','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600117','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600118','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600119','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600120','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600121','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600122','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600123','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600124','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600125','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600126','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600127','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600128','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600129','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600130','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600131','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600132','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600133','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600134','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600135','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600136','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600137','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600138','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600139','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600140','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600141','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600142','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600143','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600144','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600145','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600146','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600147','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600148','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600149','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600150','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600151','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600152','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600153','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600154','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600155','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600156','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600157','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600158','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600159','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600160','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600161','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600162','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600163','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600164','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600165','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600166','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600167','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600168','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600169','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600170','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600171','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600172','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600173','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600174','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600175','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600176','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600177','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600178','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600179','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600180','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600181','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600182','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600183','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600184','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600185','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600186','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600187','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600188','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600189','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600190','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600191','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600192','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600193','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600194','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600195','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600196','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600197','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600198','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600199','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600200','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600201','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600202','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600203','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600204','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600205','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600206','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600207','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600208','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600209','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600210','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600211','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600212','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600213','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600214','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600215','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600216','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600217','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600218','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600219','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600220','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600221','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600222','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600223','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600224','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600225','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600226','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600227','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600228','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600229','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600230','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600231','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600232','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600233','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600234','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600235','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600236','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600237','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600238','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600239','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600240','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600241','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600242','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600243','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600244','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600245','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600246','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600247','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600248','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600249','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600250','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600251','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600252','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600253','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600254','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600255','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600256','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600257','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600258','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600259','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600260','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600261','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600262','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600263','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600264','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600265','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600266','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600267','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600268','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600269','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600270','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600271','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600272','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600273','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600274','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600275','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600276','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600277','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600278','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600279','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600280','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600281','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600282','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600283','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600284','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600285','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600286','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600287','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600288','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600289','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600290','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600291','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600292','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600293','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600294','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600295','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600296','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600297','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600298','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600299','10.10.10.15'); INSERT INTO vicidial_list values('','2004-01-06','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead01','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); INSERT INTO vicidial_list values('','2004-01-06','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead02','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); diff --git a/extras/upgrade_2.0.5.sql b/extras/upgrade_2.0.5.sql index 8f05fbb5..e61a2614 100644 --- a/extras/upgrade_2.0.5.sql +++ b/extras/upgrade_2.0.5.sql @@ -401,3 +401,8 @@ UNIQUE INDEX phonecamp (phone_number, campaign_id) ); UPDATE system_settings SET db_schema_version='1105'; + +ALTER TABLE vicidial_conferences ADD leave_3way ENUM('0','1') default '0'; +ALTER TABLE vicidial_conferences ADD leave_3way_datetime DATETIME; + +UPDATE system_settings SET db_schema_version='1106'; diff --git a/www/agc/manager_send.php b/www/agc/manager_send.php index 751f34b0..5ec0b6ae 100644 --- a/www/agc/manager_send.php +++ b/www/agc/manager_send.php @@ -35,6 +35,7 @@ # - $stage - ('UP','DOWN','2NDXfeR') # - $session_id - ('8600051') # - $FROMvdc - ('YES','NO') +# - $agentchannel - ('SIP/cc101-g7yr','Zap/1-1',...) # CHANGELOG: # 50401-1002 - First build of script, Hangup function only @@ -73,6 +74,7 @@ # 80402-0121 - Fixes for manual dial transfers on some systems # 80424-0442 - Added non_latin lookup from system_settings # 80707-2325 - Added vicidial_id to recording_log for tracking of vicidial or closer log to recording +# 80915-1755 - Rewrote leave-3way functions for external calling # require("dbconnect.php"); @@ -132,10 +134,10 @@ if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} if (isset($_GET["stage"])) {$stage=$_GET["stage"];} elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} -if (isset($_GET["extension"])) {$extension=$_GET["extension"];} - elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} -if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} - elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} @@ -143,9 +145,11 @@ if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["e if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} - elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} if (isset($_GET["FROMvdc"])) {$FROMvdc=$_GET["FROMvdc"];} elseif (isset($_POST["FROMvdc"])) {$FROMvdc=$_POST["FROMvdc"];} +if (isset($_GET["agentchannel"])) {$agentchannel=$_GET["agentchannel"];} + elseif (isset($_POST["agentchannel"])) {$agentchannel=$_POST["agentchannel"];} header ("Content-type: text/html; charset=utf-8"); header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 @@ -179,11 +183,12 @@ if (!isset($ACTION)) {$ACTION="Originate";} if (!isset($format)) {$format="alert";} if (!isset($ext_priority)) {$ext_priority="1";} -$version = '2.0.5-30'; -$build = '80402-0121'; +$version = '2.0.5-32'; +$build = '80915-1755'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); +$NOWnum = date("YmdHis"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; @@ -779,7 +784,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) or (strlen($session_id)<3) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and ($exten != "NEXTAVAILABLE") ) ) { $channel_liveX=0; $channel_liveY=0; @@ -802,30 +807,52 @@ if ($ACTION=="RedirectXtraNeW") } } } - else + else { - if ($exten == "NEXTAVAILABLE") + if ($exten == "NEXTAVAILABLE") { - $stmt="SELECT conf_exten FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if (strlen($row[0]) > 3) + if ($row[0] > 1) { - $stmt="UPDATE vicidial_conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + $stmt="UPDATE vicidial_conferences set extension='$protocol/$extension$NOWnum', leave_3way='0' where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); + + $stmt="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and extension='$protocol/$extension$NOWnum' and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); $exten = $row[0]; - $stmt="UPDATE vicidial_conferences set extension='3WAY_$user' where server_ip='$server_ip' and conf_exten='$session_id';"; + $stmt="UPDATE vicidial_conferences set extension='$protocol/$extension' where server_ip='$server_ip' and conf_exten='$exten' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - $exten = $row[0]; + + $stmt="UPDATE vicidial_conferences set leave_3way='1', leave_3way_datetime='$NOW_TIME', extension='3WAY_$user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $queryCID = "CXAR23$NOWnum"; + $stmtB="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $agentchannel','Context: $ext_context','Exten: $exten','Priority: 1','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtB, $link); + + $stmt="UPDATE vicidial_live_agents set conf_exten='$exten' where server_ip='$server_ip' and user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "NeWSessioN|$exten|\n"; + echo "|$stmtB|\n"; + + exit; } - else + else { $channel_liveX=0; - echo "Cannot find empty conference on $server_ip, Redirect command not inserted\n"; + echo "Cannot find empty vicidial_conference on $server_ip, Redirect command not inserted\n|$stmt|"; if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Cannot find empty conference on $server_ip";} } } diff --git a/www/agc/vicidial.php b/www/agc/vicidial.php index 54ba6862..6aac304d 100644 --- a/www/agc/vicidial.php +++ b/www/agc/vicidial.php @@ -189,10 +189,11 @@ # 80823-2123 - Fixed form scroll for IE, added copy to clipboard(IE-only feature) # 80831-0548 - Added Extended alt-dial-phone display information for non-manual calls # 80909-1717 - Added support for campaign-specific DNC lists +# 80915-1754 - Rewrote leave-3way functions for external calling # -$version = '2.0.5-167'; -$build = '80909-1717'; +$version = '2.0.5-168'; +$build = '80915-1754'; require("dbconnect.php"); @@ -1307,21 +1308,23 @@ else else { ##### grab the next available vicidial_conference room and reserve it - $stmt="SELECT conf_exten FROM vicidial_conferences where server_ip = '$server_ip' and ((extension='') or (extension is null)) LIMIT 1;"; - $rslt=mysql_query($stmt, $link); + $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null));"; if ($DB) {echo "$stmt\n";} - $free_conf_ct = mysql_num_rows($rslt); - $i=0; - while ($i < $free_conf_ct) - { - $row=mysql_fetch_row($rslt); - $session_id =$row[0]; - $i++; - } - $stmt="UPDATE vicidial_conferences set extension='$SIP_user' where server_ip='$server_ip' and conf_exten='$session_id';"; $rslt=mysql_query($stmt, $link); - print "\n"; + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_conferences set extension='$SIP_user', leave_3way='0' where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $stmt="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and extension='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $session_id = $row[0]; + } + print "\n"; } ### mark leads that were not dispositioned during previous calls as ERI @@ -1997,6 +2000,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var inOUT = 'OUT'; var useIE = ''; var random = ''; + var threeway_end = 0; + var agentphonelive = 0; var DiaLControl_auto_HTML = "\"Pause\"\"Resume\""; var DiaLControl_auto_HTML_ready = "\"Pause\"\"Resume\""; var DiaLControl_auto_HTML_OFF = "\"Pause\"\"Resume\""; @@ -2172,15 +2177,21 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} // place 3way and customer into other conference and fake-hangup the lines function leave_3way_call(tempvarattempt) { + threeway_end=0; + mainxfer_send_redirect('3WAY','','',tempvarattempt); - document.vicidial_form.callchannel.value = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - dialedcall_send_hangup(); + if (threeway_end == '0') + { + document.vicidial_form.callchannel.value = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + } + + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} } // ################################################################################ @@ -2296,10 +2307,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} else { var dialnum = tasknum; - if (protocol == 'EXTERNAL') + if ( (protocol == 'EXTERNAL') || (protocol == 'Local') ) { var protodial = 'Local'; - var extendial = extension + "@" + ext_context; + var extendial = extension; + // var extendial = extension + "@" + ext_context; } else { @@ -2321,7 +2333,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { - alert(xmlhttp.responseText); + // alert(xmlhttp.responseText); if ((taskdialvalue.length > 0) && (tasknowait != 'YES')) { @@ -2523,6 +2535,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var LMAalter=0; var LMAcontent_change=0; var LMAcontent_match=0; + agentphonelive=0; var conv_start=-1; var live_conf_HTML = "LIVE CALLS IN YOUR SESSION:
>"; if ( (LMAcount > live_conf_calls) || (LMAcount < live_conf_calls) || (LMAforce > 0)) @@ -2580,7 +2593,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (volumecontrol_active > 0) { - if (protocol != 'EXTERNAL') + if ( (protocol != 'EXTERNAL') && (protocol != 'Local') ) { var regAGNTchan = new RegExp(protocol + '/' + extension,"g"); if ( (channelfieldA.match(regAGNTchan)) && (agentchannel != channelfieldA) ) @@ -2590,7 +2603,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} document.getElementById("AgentMuteSpan").innerHTML = ""; } } - else + else { if (agentchannel.length < 3) { @@ -2599,6 +2612,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} document.getElementById("AgentMuteSpan").innerHTML = ""; } } + // document.getElementById("agentchannelSPAN").innerHTML = agentchannel; } // document.getElementById("debugbottomspan").innerHTML = debugspan + '
' + channelfieldA + '|' + lastcustchannel + '|' + custchannellive + '|' + LMAcontent_change + '|' + LMAalter; @@ -2617,11 +2631,15 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } if (LMAalter > 0) {LMAcount++;} + if (agentchannel == channelfieldA) {agentphonelive++;} + ARY_ct++; } // var debug_LMA = LMAcontent_match+"|"+LMAcontent_change+"|"+LMAcount+"|"+live_conf_calls+"|"+LMAe[0]+LMAe[1]+LMAe[2]+LMAe[3]+LMAe[4]+LMAe[5]; // document.getElementById("confdebug").innerHTML = debug_LMA + "
"; + if (agentphonelive < 1) {agentchannel='';} + live_conf_HTML = live_conf_HTML + "
#REMOTE CHANNELHANGUPVOLUME
"; if (LMAcontent_change > 0) @@ -2774,26 +2792,26 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote) { if (auto_dial_level == 0) {RedirecTxFEr = 1;} - var xmlhttp=false; + var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) // JScript gives us Conditional compilation, we can cope with old IE versions. // and security blocked creation of the objects. try { - xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { - xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { - xmlhttp = false; + xmlhttpXF = false; } } @end @*/ - if (!xmlhttp && typeof XMLHttpRequest!='undefined') + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') { - xmlhttp = new XMLHttpRequest(); + xmlhttpXF = new XMLHttpRequest(); } - if (xmlhttp) + if (xmlhttpXF) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; @@ -2898,15 +2916,15 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if ( (redirecttype_test.match(regRXFvars)) && (local_consult_xfers > 0) ) {var redirecttype = 'RedirectXtraCX';} else - {var redirecttype = 'RedirectXtra';} - // {var redirecttype = 'RedirectXtraNeW';} + // {var redirecttype = 'RedirectXtra';} + {var redirecttype = 'RedirectXtraNeW';} DispO3waychannel = redirectvalue; DispO3wayXtrAchannel = redirectXTRAvalue; DispO3wayCalLserverip = redirectserverip; DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; DispO3wayCalLcamptail = ''; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeRSelecT.value + "&session_id=" + session_id; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeRSelecT.value + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension; if (taskdebugnote == 'FIRST') { @@ -2946,60 +2964,78 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} customerparked=0; } - - xmlhttp.open('POST', 'manager_send.php'); - xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttp.send(xferredirect_query); - xmlhttp.onreadystatechange = function() + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() { - if (xmlhttp.readyState == 4 && xmlhttp.status == 200) + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { - Nactiveext = null; - Nactiveext = xmlhttp.responseText; - // alert(xmlhttp.responseText); + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.vicidial_form.callchannel.value = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } - delete xmlhttp; + delete xmlhttpXF; } // used to send second Redirect for manual dial calls if (auto_dial_level == 0) { RedirecTxFEr = 1; - var xmlhttp=false; + var xmlhttpXF2=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) // JScript gives us Conditional compilation, we can cope with old IE versions. // and security blocked creation of the objects. try { - xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { - xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { - xmlhttp = false; + xmlhttpXF2 = false; } } @end @*/ - if (!xmlhttp && typeof XMLHttpRequest!='undefined') + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') { - xmlhttp = new XMLHttpRequest(); + xmlhttpXF2 = new XMLHttpRequest(); } - if (xmlhttp) + if (xmlhttpXF2) { - xmlhttp.open('POST', 'manager_send.php'); - xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttp.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttp.onreadystatechange = function() + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() { - if (xmlhttp.readyState == 4 && xmlhttp.status == 200) + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) { Nactiveext = null; - Nactiveext = xmlhttp.responseText; - // alert(RedirecTxFEr + "|" + xmlhttp.responseText); + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); } } - delete xmlhttp; + delete xmlhttpXF2; } } @@ -5330,7 +5366,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} { manual_dial_finished(); } - document.getElementById("GENDERhideFORie").innerHTML = ''; + document.getElementById("GENDERhideFORieALT").innerHTML = ''; + document.getElementById("GENDERhideFORie").innerHTML = ''; hideDiv('DispoSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -5503,10 +5540,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} WaitingForNextStep=0; nochannelinsession=0; - if (protocol == 'EXTERNAL') + if ( (protocol == 'EXTERNAL') || (protocol == 'Local') ) { var protodial = 'Local'; - var extendial = extension + "@" + ext_context; + var extendial = extension; + // var extendial = extension + "@" + ext_context; } else { @@ -6456,6 +6494,7 @@ else } CustomerData_update(); document.getElementById("GENDERhideFORie").innerHTML = ''; + document.getElementById("GENDERhideFORieALT").innerHTML = ''; showDiv('DispoSelectBox'); DispoSelectContent_create('','ReSET'); WaitingForNextStep=1; @@ -7046,6 +7085,7 @@ echo "\n"; +     0) {echo "GROUPS     \n";} ?> LOGOUT\n"; ?> @@ -7327,6 +7367,9 @@ Your Status:
Calls Dialing: + + height=460>
Select a CallBack Date :
@@ -7420,7 +7463,7 @@ Your Status:
Calls Dialing: - +