sudo aptitude install unixodbc unixodbc-dev libmyodbc
vim /etc/asterisk/modules.conf load => res_odbc.so ;; [modules]
[MySQL] Description = MySQL driver Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so CPTimeout = CPReuse =
[asterisk-barrier] Driver = MySQL Description = Connector/ODBC 3.51 Driver DSN Server = localhost Port = 3306 User = root Password = VeryStrongPassword Database = barrier Socket = /var/run/mysqld/mysqld.sock Charset = utf8
[asterisk-barrier] enabled => yes dsn => asterisk-barrier username => root password => VeryStrongPassword pooling => no limit => 1 pre-connect => yes
default_charset = "UTF-8"
mysql -uroot -pVeryStrongPassword
create database barrier; use barrier; CREATE TABLE `numbers` ( `id` int(11) NOT NULL AUTO_INCREMENT, `phone` varchar(30) NOT NULL, `name` varchar(30) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ;
INSERT INTO `numbers` (`phone`, `name`) VALUES ('79260000000',' '), ('79261111111',' ');
/etc/init.d/asterisk restart
odbc show all
;; , register => login:password@sip.provider.com/74990000000 register => login:password@sip.provider.com/74991111111 [prov1] accept_outofcall_messages=no host=sip.provider.com type=peer secret=YourPass defaultuser=YourLogin fromdomain=sip.provider.com fromuser=YourLogin canreinvite=no jbenable=no faxdetect=yes t38pt_udptl=yes,fec,maxdatagram=400 context=from-trunk dtmfmode=auto port=5060 disallow=all allow=g722 allow=ulaw allow=alaw insecure=port,invite qualify=yes sendrpid=yes [prov2] accept_outofcall_messages=no host=sip.provider.com type=peer secret=YourPass defaultuser=YourLogin fromdomain=sip.provider.com fromuser=YourLogin canreinvite=no jbenable=no faxdetect=yes t38pt_udptl=yes,fec,maxdatagram=400 context=from-trunk dtmfmode=auto port=5060 disallow=all allow=g722 allow=ulaw allow=alaw insecure=port,invite qualify=yes sendrpid=yes
[MOBILE] dsn=asterisk-barrier readsql=SELECT name FROM numbers WHERE phone = '${CALLER}'
[from-trunk] ;; exten => 74990000000,1,NoOp(Incoming call from ${CALLERID(num)} to prov1) same => n,Set(CALLER=${CALLERID(num)}) ;; CALLER, func_odbc same => n,Set(result=${ODBC_MOBILE()}) ;; sql-, same => n,Set(foo=${ISNULL(${result})}) ;; , ISNULL 0, - 1 same => n,GotoIf($["${foo}" = "0"]?6:7) ;; , 0 - 6, 1 - 7 same => n,GoTo(barrier1,s,1) ;; - same =>n,Hangup() ;; , ;; exten => 74991111111,1,NoOp(Incoming call from ${CALLERID(num)} to prov2) same => n,Set(CALLER=${CALLERID(num)}) same => n,Set(result=${ODBC_MOBILE()}) same => n,Set(foo=${ISNULL(${result})}) same => n,GotoIf($["${foo}" = "0"]?6:7) same => n,GoTo(barrier2,s,1) same => n,Hangup() exten => h,1,System(echo " ${CALLERID(NUM)} ${STRFTIME(${EPOCH},,%d.%m.%Y %H:%M)}" >> /tmp/FAIL.txt) ;; , , , [barrier1] exten => s,1,Dial(SIP/prov1/79150000000) ;; , - same => n,Hangup() exten => h,1,System(echo " ${CALLERID(NUM)} ${result} ${STRFTIME(${EPOCH},,%d.%m.%Y %H:%M)}" >> /tmp/SUCCESS.txt) ;; , [barrier2] ;; - exten => s,1,Dial(SIP/prov2/7915111111) same => n,Hangup() exten => h,1,System(echo " ${CALLERID(NUM)} ${result} ${STRFTIME(${EPOCH},,%d.%m.%Y %H:%M)}" >> /tmp/SUCCESS.txt)
sudo aptitude install mutt
sudo crontab -e 0 9 * * * echo "C. " | mutt -a "/tmp/FAIL.txt" -s " " -e "set from="asterisk@domen.ru"" -e "set realname='Asterisk'" -- recipient@client.ru 1 9 * * * rm -rf /tmp/FAIL.txt 0 9 * * * echo ". " | mutt -a "/tmp/SUCCESS.txt" -s " " -e "set from="asterisk@domen.ru"" -e "set realname='Asterisk'" -- recipient@client.ru 1 9 * * * rm -rf /tmp/SUCCESS.txt
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> </title> </head> <body> <p><a href="add_form.php"> </a></p> <p><a href="remove_form.php"> </a></p> <p><a href="show.php"> </a></p> </body> </html>
<p> <table width="300" border="1" bordercolor="#630000" cellpadding="3" cellspacing="0"> <tr><td> <font size="2" face="verdana,arial,georgia" color="#630000"> .</font> <form action="insert.php" method="post"> <input type="text" placeholder=". " name="phonee" value="" /> <input type="text" placeholder=". 79261234567" name="namee" value="" /> <input type="submit" name="send" value="" /> </form> </td></tr> </table> </p> <p><a href="index.php"> </a></p>
<?PHP $host = "localhost"; $user = "root"; $database = "barrier"; $pass = "mahapharata"; $name = $_POST["namee"]; $phone = $_POST["phonee"]; // $connect = mysql_connect($host, $user, $pass); mysql_select_db($database); mysql_set_charset( 'utf8' ); mysql_query("INSERT INTO `numbers` (`phone`, `name`) VALUES ('".$name."','".$phone."')"); mysql_close($connect); ?> <input type="button" value="" onclick="history.back()">
<p> <table width="300" border="1" bordercolor="#630000" cellpadding="3" cellspacing="0"> <tr><td> <font size="2" face="verdana,arial,georgia" color="#630000"> , .</font> <form action="delete.php" method="post"> <input type="text" placeholder=". 79261234567" name="phonedel" value="" /> <input type="submit" name="send" value="" /> </form> </td></tr> </table> </p> <p><a href="index.php"> </a></p>
<?php $servername = "localhost"; $username = "root"; $password = "mahapharata"; $dbname = "barrier"; $phone = $_POST["phonedel"]; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // sql to delete a record $sql = "DELETE FROM numbers WHERE phone='".$phone."'"; if ($conn->query($sql) === TRUE) { echo " \r\n"; } else { echo " : " . $conn->error; } $conn->close(); ?> <input type="button" value="" onclick="history.back()">
<?php $servername = "localhost"; $username = "root"; $password = "mahapharata"; $dbname = "barrier"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); $conn->set_charset("utf8"); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }. $sql = "SELECT id, phone, name FROM numbers"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo " " . $row["name"]. " " . $row["phone"]. "<br>"; } } else { echo " "; } $conn->close(); ?> <p><a href="index.php"> </a></p>
htpasswd -c passwordfile username
Source: https://habr.com/ru/post/261391/
All Articles