WebSite X5Help Center

 
Danylo Fernandes
Danylo Fernandes
User

Click to Call  pt

Auteur : Danylo Fernandes
Visité 1046, Followers 2, Partagé 0  

Ola pessoal, estou a procura de uma solução para um "click to call",

tenho um servisor asterisk de telefonia voip, e sei que é possivel adicionar ou um widget ou html puro mesmo para ter essa opção para o visitante da minha pagina , inserir o numero dele e encaminhar um ligação para ele diretamente para mim, andei olhando na web e testando alguns html php porem ate agora não obtive sucesso, e pelo que vi muitos tem essa dificuldade, sera que alguem tem uma ideia ou a solução para compartilhar conosco..

Posté le
14 RéPONSES
U. Caetano
U. Caetano
Moderator

Bom dia Danylo,

Me envie um código para eu fazer um teste, ai lhe posto se tiver sucesso.

att,

Uilian

Lire plus
Posté le de U. Caetano
Danylo Fernandes
Danylo Fernandes
User
Auteur

então eu tenho esse html, configurei com meu servidor mas não tive sucesso

quem sabe alguem da uma luz, segue o html:

<html>
<head>
<title>Clique para Falar</title>
</head>
<body>
<?
#Click-To-Call

#----------------------------------------------------------------------------
-------------
#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="<? echo<br />$_SERVER['PHP_SELF'] ?>">Ligar novamente</a></font>
</td></tr>
</table>
</p>
<?
}
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="<? 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>
<?
}
?>
</body>
</html>

Lire plus
Posté le de Danylo Fernandes
U. Caetano
U. Caetano
Moderator

este código é PHP?

Lire plus
Posté le de U. Caetano
Danylo Fernandes
Danylo Fernandes
User
Auteur

positivo PHP

Lire plus
Posté le de Danylo Fernandes
U. Caetano
U. Caetano
Moderator

Ok, o arquivo que você colocou o HTML, está em formato PHP, e as tags de abertura do seu script está assim <? código ?>, tente usar assim <?php código?> pode ser este o problema.

Lire plus
Posté le de U. Caetano
U. Caetano
U. Caetano
Moderator

Danylo,

O código deverá ficar assim, somente este trecho no widget do HTML

<?php
#Click-To-Call

#----------------------------------------------------------------------------
-------------
#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<br />$_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>
<?
}
?>

Lire plus
Posté le de U. Caetano
Danylo Fernandes
Danylo Fernandes
User
Auteur

pior que não brown

volta o mesmo erro e ainda não funciona os botões

não sei se tem a vê mas estou executando ele no Note pade 6.8 para teste em script html PHP o pior que sei que funciona pois ja vi  gente trabalhando com os sockets em php para realizar tarefas pela AMI simples e funcional, e via web

porem é zero o material funcional que se acha na web e olha que já testei quase tudo,

seria muito bom compartilhar essa solução continuarei tentando,

ate o pessoal do website poderia bolar um widget ja pra rpdar com asterisk/elastix tendo em vista que algo muito funcional de codigo aberto que é interessante para qualquer empresa e de qualquer tamanho, acrescentaria muito ao programa.

Lire plus
Posté le de Danylo Fernandes
Danylo Fernandes
Danylo Fernandes
User
Auteur

so para constar segue os prints dos testes

Lire plus
Posté le de Danylo Fernandes
Danylo Fernandes
Danylo Fernandes
User
Auteur

alias não sei nem se isso é possivel mais a principip uma ideia

uma especie de softphone na web, onde eu coloco essa wiget no meu site,

sendo que nas configurações dela eu configuro um ramal ou tronco voip como uma softphone faz, fica visivel para meu cliente com os dizeres insira o seu numero para que possamos ligar para vc, ai widget liga para o solicitante e assim que ele atender ja transfere pro destino raml ou ura que eu configurar, pelo menos isso seria mais logico na minha cabeça mas sei la...

Lire plus
Posté le de Danylo Fernandes
Incomedia
Stefano G.
Incomedia

Hi Danylo.

Unfortunately the Staff cannot offer support on why a certain custom code isn't working, but only the way it can be implemented, meaning using the HTML Object.

If you're having issues with PHP code please check the usual parameters first and then wait for code experts to help you out, as for example, are you running a local web server or does your hosting provide PHP.

You might even open a public topic in english to try and recieve proper help from the community.

Hope I've been helpful

***** Google Translation:

OiDanylo.

Infelizmente, aequipe nãopode oferecerapoiosobre o porquê deum determinadocódigo personalizadonão está funcionando,mas apenasa forma comoele pode ser implementado, ou seja,usando oobjetoHTML.

Se você está tendoproblemas comcódigoPHPpor favor, verifiqueos parâmetroshabituaisprimeiroe depois esperar porespecialistasde códigopara ajudá-lo,como, por exemplo, você estáexecutando um servidorweb localouque a suahospedagemfornecemPHP.

Você pode até mesmoabrir um tópicopúblicoemInglêspara tentare receberajuda adequadada comunidade.

Espero que eu tenhasido útil

Lire plus
Posté le de Stefano G.
U. Caetano
U. Caetano
Moderator

Danylo, entendi sua colocação, irei pegar o seu código e fazer uns teste para saber se funciona, se puder liberar um voip teste sem crédito somente para fazer a conexão posso tentar fazer algo para ver se lhe ajuda.

abraços,

Uilian

Lire plus
Posté le de U. Caetano
Danylo Fernandes
Danylo Fernandes
User
Auteur

opa uilian desculpa a demora mas fim de ano é correria

qaunto a conta voip sem problemas

segue os dados

URL = massi.ddns.com.br

user = 8530

senha = maxbom2015

Lire plus
Posté le de Danylo Fernandes
U. Caetano
U. Caetano
Moderator

nem me fale, bom danylo,

Ire fazer todos os teste e se tiver algum exito, irei lhe mandar um link para analisar.

Feliz ano Novo, e até, mais.

Uilian

Lire plus
Posté le de U. Caetano
Danylo Fernandes
Danylo Fernandes
User
Auteur

Obrigado pela força Uilian,

Feliz ano novo Ai tb

Abraços

Lire plus
Posté le de Danylo Fernandes