forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.9 KiB
98 lines
3.9 KiB
<html> |
|
<head> |
|
<title>Clique para Falar - NGN Soluções WebCall</title> |
|
</head> |
|
<body> |
|
<?php |
|
#Click-To-Call script NGN-Billing |
|
#------------------------------------------------------------------------------------------ |
|
#edite as variáveis para refletir com o seu sistema |
|
#------------------------------------------------------------------------------------------ |
|
#informe o endereço ip do seu asterisk |
|
|
|
$strHost = "127.0.0.1"; |
|
|
|
#especifique o usuario que ira conectar ao CLI (deve estar definido |
|
//em /etc/asterisk/manager.conf) |
|
$strUser = "admin"; |
|
|
|
#senha para o usuario acima |
|
$strSecret = "adminpass"; |
|
|
|
#especifique o canal (extension) que vc deseja receber estas ligações |
|
#exemplo: SIP/XXX, IAX2/XXXX, ZAP/XXXX, |
|
$strChannel = "SIP/" . $_POST['txtOrigem']; |
|
|
|
#informe o contexto que irá processar a ligação para PSTN |
|
$strContext = "web-to-pstn"; |
|
|
|
#especifique a prioridade do contexto acima |
|
$strPriority = "1"; |
|
|
|
#especifique a quantidade de tentativas |
|
$strMaxRetry = "2"; |
|
|
|
|
|
#-------------------------------------------------------------------------------------------- |
|
#Não precisa editar mais nada a partir daqui para fazer esse script funfar |
|
#-------------------------------------------------------------------------------------------- |
|
#obtem o número a ser discado |
|
$strExten = $_POST['txtDestino']; |
|
|
|
#especifica um callerid para a ligação |
|
$strCallerId = "WebCall de <" . $_POST['txtOrigem'] . ">"; |
|
|
|
$length = len($strExten); |
|
|
|
if ($length == 11 && id_number($_POST['txtDestino'])) { |
|
$oSocket = fsockopen($strHost, 5038, $errnum, $errdesc) or die("Erro na |
|
conexão com o Servidor!"); |
|
fputs($oSocket, "Action: login\r\n"); |
|
fputs($oSocket, "Events: off\r\n"); |
|
fputs($oSocket, "Username: $strUser\r\n"); |
|
fputs($oSocket, "Secret: $strSecret\r\n\r\n"); |
|
fputs($oSocket, "Action: originate\r\n"); |
|
fputs($oSocket, "Channel: $strChannel\r\n"); |
|
fputs($oSocket, "CallerId: $strCallerId\r\n"); |
|
fputs($oSocket, "Exten: $strExten\r\n"); |
|
fputs($oSocket, "Context: $strContext\r\n"); |
|
fputs($oSocket, "Priority: $strPriority\r\n\r\n"); |
|
fputs($oSocket, "Action: Logoff\r\n\r\n"); |
|
$wrtes = fgets($oSocket, 2048); |
|
echo $wrtes . "<br />"; |
|
fclose($oSocket); |
|
?> |
|
<p> |
|
<table width="300" border="1" bordercolor="#630000" cellpadding="3" |
|
cellspacing="0"> |
|
<tr><td> |
|
<font size="2" face="verdana,georgia" color="#630000">Estamos tentando |
|
fazer a ligação.<br>Aguarde alguns instantes...<br><a href="<?php |
|
echo |
|
$_SERVER['PHP_SELF'] |
|
?>">Ligar novamente</a></font> |
|
</td></tr> |
|
</table> |
|
</p> |
|
<?php |
|
} else { |
|
?> |
|
<p> |
|
<table width="300" border="1" bordercolor="#630000" cellpadding="3" |
|
cellspacing="0"> |
|
<tr><td> |
|
<font size="2" face="verdana,arial,georgia" color="#630000">Número de |
|
telefone a ser discado (0(XX)XXXX-XXXX)!</font> |
|
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"> |
|
Ramal<input type="text" size="20" name="txtOrigem"><br> |
|
Destino<input type="text" size="20" name="txtDestino"><br> |
|
<input type="submit" value="Iniciar ligação"> |
|
</form> |
|
</td></tr> |
|
</table> |
|
</p> |
|
<?php |
|
} |
|
?> |
|
</body> |
|
</html>
|
|
|