Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 KB | None | 0 0
  1. <?
  2. /* ============================ */
  3. /* Takes Ext as var */
  4. /* ============================ */
  5.  
  6. /* Connection details */
  7. $manager_host = "127.0.0.1";
  8. $manager_user = "admin";
  9. $manager_pass = "*******";
  10.  
  11. /* Default Port */
  12. $manager_port = "5038";
  13.  
  14. /* Connection timeout */
  15. $manager_connection_timeout = 30;
  16.  
  17. /* The Asterisk peer you would like to check */
  18. $peer_name = $_GET["ext"];
  19.  
  20. /* The type of peer (i.e. iax2 or sip) */
  21. $peer_type = "sip";
  22.  
  23. /* Connect to the manager */
  24. $fp = fsockopen($manager_host, $manager_port, $errno, $errstr, $manager_connection_timeout);
  25. if (!$fp) {
  26. echo "There was an error connecting to the manager: $errstr (Error Number: $errno)\n";
  27. } else {
  28. echo "-- Connected to the Asterisk Manager\n";
  29. echo "-- About to log in\n";
  30.  
  31. $login = "Action: login\r\n";
  32. $login .= "Username: $manager_user\r\n";
  33. $login .= "Secret: $manager_pass\r\n";
  34. $login .= "Events: Off\r\n";
  35. $login .= "\r\n";
  36. fwrite($fp,$login);
  37.  
  38. $manager_version = fgets($fp);
  39.  
  40. $cmd_response = fgets($fp);
  41.  
  42. $response = fgets($fp);
  43.  
  44. $blank_line = fgets($fp);
  45.  
  46. if (substr($response,0,9) == "Message: ") {
  47. /* We have got a response */
  48. $loginresponse = trim(substr($response,9));
  49. if (!$loginresponse == "Authentication Accepted") {
  50. echo "-- Unable to log in: $loginresponse\n";
  51. fclose($fp);
  52. exit(0);
  53. } else {
  54. echo "-- Logged in Successfully\n";
  55. $checkpeer = "Action: Command\r\n";
  56. $checkpeer .= "Command: $peer_type show peer $peer_name\r\n";
  57. $checkpeer .= "\r\n";
  58. fwrite($fp,$checkpeer);
  59. $line = trim(fgets($fp));
  60. $found_entry = false;
  61. while ($line != "--END COMMAND--") {
  62. if (substr($line,0,6) == "Status") {
  63. $status = trim(substr(strstr($line, ":"),1));
  64. $found_entry = true;
  65. if (substr($status,0,2) == "OK") {
  66. $peer_ok = true;
  67. } else {
  68. $peer_ok = false;
  69. }
  70. }
  71. $line = trim(fgets($fp));
  72. }
  73. if ($found_entry == false) {
  74. echo "-- We didn't get the response we were looking for - is the peer name correct? Use ?ext=XXX after the URL\n";
  75. } else if ($peer_ok == true) {
  76. echo "-- Peer looks good at the moment: $status\n";
  77. } else {
  78.  
  79. echo "-- Peer not ok ($status) - running some code\n";
  80.  
  81. $originate = "Action: originate\r\n";
  82. $originate .= "Channel: Zap/g1/1234r\n";
  83. $originate .= "Application: Playback\r\n";
  84. $originate .= "Data: tt-monkeys\r\n";
  85. $originate .= "\r\n";
  86. fwrite($fp, $originate);
  87. }
  88. fclose($fp);
  89. exit(0);
  90. }
  91. } else {
  92. echo "Unexpected response: $response\n";
  93. fclose($fp);
  94. exit(0);
  95. }
  96. }
  97. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement