From 4e57575c8912ba9bdfb52ed8e1f3446c72bbdafb Mon Sep 17 00:00:00 2001 From: sleepy Date: Wed, 29 Apr 2020 00:50:07 +1000 Subject: [PATCH] =?utf8?q?=D0=9A=D0=BE=D1=81=D0=BC=D0=B5=D1=82=D0=B8=D1=87?= =?utf8?q?=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?utf8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- check_code.php | 79 ++++++++++++++++++---------- {dvblastmaster/lib => lib}/mplib.php | 5 +- {dvblastmaster/lib => lib}/sts.php | 0 {dvblastmaster/lib => lib}/timer.php | 0 4 files changed, 54 insertions(+), 30 deletions(-) rename {dvblastmaster/lib => lib}/mplib.php (93%) rename {dvblastmaster/lib => lib}/sts.php (100%) rename {dvblastmaster/lib => lib}/timer.php (100%) diff --git a/check_code.php b/check_code.php index 8ec6b1b..be7c519 100644 --- a/check_code.php +++ b/check_code.php @@ -1,50 +1,75 @@ '; +$CALLWAITFORANSWER = 30; +$CALLFROM = '"verify code sytem" <3505>'; $RETRYCALL = 3; $INTERVAL = 5; +$CALLCONEXT = 'c-2'; +$AMIHOST ="127.0.0.1"; +$AMIUSER = "monast"; +$AMIPASS = "blabla"; // //test data -echo "
\n";
-$_GET['phone'] = '3400';
-var_dump($_GET);
+//$_GET['phone'] = '3400';
+//var_dump($_GET);
 
-if (!isset($_GET['phone']))
+if (php_sapi_name() != 'cli')
 {
+    $ADDR=$_SERVER["REMOTE_ADDR"];
+//    var_dump($ADDR);    
+//if ($ADDR=="192.168.10.225" || $ADDR=="10.20.2.120" || $ADDR=="217.74.116.10")
+//exit;
+    if (!isset($_GET['phone']))
+    {
+	exit();
+    }
+    if(preg_match('/^7\d{10}$/', $_GET['phone']) != 1)
+    {
+	echo 'BADPHONE'.PHP_EOL;
+	 exit();
+    }
+    $CALLEDPHONENUM = '8'.substr($_GET['phone'], 1);
+    //generate random pin
+    $PIN = [];
+    for ($cnt = 0; $cnt < $PINLEN;$cnt++)
+    {
+	mt_srand(str_replace('.', '', (string)array_product(sys_getloadavg())) * crc32(microtime()));
+	$cnte = mt_rand(0,30);
+	$cntr = 0;
+	do
+	{
+	    $rnd = mt_rand(0,9);
+	    $cntr++;
+	}
+	while($cntr < $cnte);
+	$PIN[] = $rnd;
+	usleep(mt_rand(1,250000));
+    }
+
+    echo implode('', $PIN),PHP_EOL;
+    system('php -f '.basename(__FILE__).' '.$CALLEDPHONENUM.' '.implode('-', $PIN));
     exit();
 }
-if(preg_match('/^7\d{10}$/', $_GET['phone']) != 1)
-{
-    //exit();
-}
-//generate random pin
-$PIN = [];
-for ($cnt = 0; $cnt < $PINLEN;$cnt++)
+if (!isset($argv[1]) || !isset($argv[2]))
 {
-    mt_srand(str_replace('.', '', (string)array_product(sys_getloadavg())) * crc32(microtime()));
-    $cnte = mt_rand(0,30);
-    $cntr = 0;
-    do
-    {
-	$rnd = mt_rand(0,9);
-	$cntr++;
-    }
-    while($cntr < $cnte);
-    $PIN[] = $rnd;
-    usleep(mt_rand(1,250000));
+    exit();
 }
 
-echo implode('', $PIN),PHP_EOL;
+$CALLEDPHONENUM = $argv[1];
+$PIN = explode('-', $argv[2]);
 
 //fork point
+$D = new Daemon();
+$D->daemonize();
 
 $AMI = new AMI(array('autorefresh' => TRUE, 'logverbose' => 3));
-$is_connected = $AMI->connect("127.0.0.1", "monast", "blabla");
+$is_connected = $AMI->connect($AMIHOST, $AMIUSER, $AMIPASS);
 
 if (!$is_connected)
 {
@@ -53,7 +78,7 @@ if (!$is_connected)
 
 for ($tryno = 0; $tryno < $RETRYCALL;$tryno++)
 {
-    $OriginateResponce = $AMI->Originate("Local/{$_GET['phone']}@c-2", NULL, NULL, NULL, 'AGI', 'agi:async', 30, $CALLFROM, ['CALLERID(ANI-num)' => '3505'], NULL, NULL, NULL);
+    $OriginateResponce = $AMI->Originate("Local/{$CALLEDPHONENUM}@{$CALLCONEXT}", NULL, NULL, NULL, 'AGI', 'agi:async', $CALLWAITFORANSWER, $CALLFROM);
     $OriginateResponce->WaitUntilReady();
     if ($OriginateResponce->Response == 'Success')
     {
@@ -67,7 +92,7 @@ if ($OriginateResponce->Response != 'Success')
 }
 $channel = $OriginateResponce->Channel;
 $AGI = $AMI->GetAsyncAGIInstance($channel);
-
+sleep(1);
 for ($tryno = 0; $tryno < $REPEATNO;$tryno++)
 {
     $AGI->StreamFile('your');
diff --git a/dvblastmaster/lib/mplib.php b/lib/mplib.php
similarity index 93%
rename from dvblastmaster/lib/mplib.php
rename to lib/mplib.php
index 871965c..a756d6a 100644
--- a/dvblastmaster/lib/mplib.php
+++ b/lib/mplib.php
@@ -1,7 +1,7 @@