Advertisement
Guest User

das

a guest
Aug 15th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.08 KB | None | 0 0
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', 1);
  4.  
  5. $strUser = "redacted"; #specify the asterisk manager username you want to login with
  6. $strSecret = "redacted"; #specify the password for the above user
  7.  
  8.  
  9. $strHost = "127.0.0.1";
  10. //Clean up EXT
  11. $ext = $_GET['exten'];
  12. $ext = filter_var($ext, FILTER_SANITIZE_NUMBER_INT);
  13. $ext = preg_replace("/[^0-9,.]/", "", $ext);
  14.  
  15. $strChannel = "PJSIP/".$ext;
  16. $strContext = "from-internal";
  17. $strWaitTime = "30"; #Wait Time before hangin up
  18. $strPriority = "1";
  19. $strMaxRetry = "2"; #maximum amount of retries
  20.  
  21. if(isset($_GET['number'])){
  22. $number=strtolower($_GET['number']);}
  23. elseif(isset($_GET['phone'])){
  24. $number=strtolower($_GET['phone']);
  25. }
  26. //Clean up number
  27. $number = filter_var($number, FILTER_SANITIZE_NUMBER_INT);
  28. $number = preg_replace("/[^0-9,.]/", "", $number);
  29.  
  30.  
  31. //The following line adds a 1 before the number if its not there already... You can remove this if you already added this into your outbound route or you $
  32. //if(substr($number,0,1) != 1){$number = "1".$number;}
  33.  
  34. $pos=strpos ($number,"local");
  35. if ($number == null) :
  36. exit() ;
  37. endif ;
  38. if ($pos===false) :
  39. $errno=0 ;
  40. $errstr=0 ;
  41.  
  42. //OPEN CNAM LOOKUP
  43. $callerid = @file_get_contents("https://api.opencnam.com/v2/phone/".$number) or $callerid = "Web Call";
  44. $strCallerId = $callerid." <$number>";
  45.  
  46. $oSocket = fsockopen ("localhost", 5038, $errno, $errstr, 20);
  47. if (!$oSocket) {
  48. echo "$errstr ($errno)<br>\n";
  49. } else {
  50. fputs($oSocket, "Action: login\r\n");
  51. fputs($oSocket, "Events: off\r\n");
  52. fputs($oSocket, "Username: $strUser\r\n");
  53. fputs($oSocket, "Secret: $strSecret\r\n\r\n");
  54. fputs($oSocket, "Action: originate\r\n");
  55. fputs($oSocket, "Channel: $strChannel\r\n");
  56. fputs($oSocket, "WaitTime: $strWaitTime\r\n");
  57. fputs($oSocket, "CallerId: $strCallerId\r\n");
  58. fputs($oSocket, "Exten: $number\r\n");
  59. fputs($oSocket, "Context: $strContext\r\n");
  60. fputs($oSocket, "Priority: $strPriority\r\n\r\n");
  61. fputs($oSocket, "Action: Logoff\r\n\r\n");
  62. sleep(2);
  63. fclose($oSocket);
  64. }
  65. echo "Extension $strChannel should be calling $number." ;
  66. else :
  67. exit() ;
  68. endif ;
  69. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement