В связке asterisk+ami+php возножно слушать уведомления или выполнять, какие либо действия.
Ниже мы приведем пример php скрипта, для постоянного соединения с ami.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?php error_reporting(E_ALL); $service_port = "5038"; $address = "127.0.0.1"; $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket < 0) { echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n"; } else { echo "OK.\n"; } echo "Attempting to connect to '$address' on port '$service_port'..."; $result = socket_connect($socket, $address, $service_port); if ($result < 0) { echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n"; } else { echo "OK.\n"; } $in = "Action: Login\r\n"; $in .= "Username: Юзер_ами\r\n"; $in .= "Secret: Пароль_ами\r\n\r\n"; $out = ''; socket_write($socket, $in, strlen($in)); while($out = socket_read($socket, 128)) { echo "$out"; }; ?> |
Вывод в консоли будет выглядеть так: