[AsteriskBrasil] RES: RES: Discando pela WEB

Ciro ciro em sntbsb.com.br
Segunda Julho 17 14:24:12 BRT 2006


Só corrigindo:

Não é uma feature do softfone, pois você pode usar qq fone seja soft ou
não...
Vc tem que fazer uma insersão no Registro do windows, para que quando
tiver um número qq selecionado, ao clicar com o botão direito ele te
envie para uma página específica do asterisk.

Na verdade o script php secomunica com o manager do *, e ordena a
ligação!...
É bem simples. E pose ser feito para o Linux tb...

O caso no registro do Windows, é apenas para discar através do menu do
IE...
Um Exemplo: http://192.168.0.20/o.php?n=33334455%20&x=9051

Sacou? http://ip_do_asterisk/(Número a discar)(número do ramal)

É isso aí...

Ciro

-----Mensagem original-----
De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de
Bernardo Vieira
Enviada em: sexta-feira, 14 de julho de 2006 12:00
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] RES: Discando pela WEB


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ciro,
Esta solução não é exatamente boa, imagine só, esta shell extension que
faz a discagem para você não é nativa do windows, é uma feature do
softphone que você está usando. E quem não usa softphone? E quem não usa
Windows?

Ciro wrote:
> Pessoal,
> 
> Consegui ontem fazer funcionar de uma forma um pouco diferente, mas 
> acredito que vcs já fizeram assim também.
> 
> A idéia é que vc esteja em qualquer página da web, e marque um número 
> de telefone (como que fosse copiá-lo) Então vc clica no número marcado

> com o botão direito, e aparece em sua máquina uma opção "Discar para o

> número" O seu telefone voip irá tocar, e ao atender, o * discará para 
> o número selecionado.
> 
> Vantagens: vc pode usar qq aplicativo web sem alteração do codigo.
> Desvantagem: para cada fone voip, vc alterará o registro do windows 
> para adicionar a extenção voip correta da pessoa.
> 
> Estarei usando o Vtiger CRM para controlar as ligações saintes, 
> portanto para mim o conjunto micro-softfone, são inseparáveis, então 
> fica tranquilo alterar o registro em definitivo.
> 
> Ciro A. Toscano
> 
> -----Mensagem original-----
> De: asteriskbrasil-bounces em listas.asteriskbrasil.org
> [mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de 
> Bernardo Vieira Enviada em: quarta-feira, 12 de julho de 2006 15:43
> Para: asteriskbrasil em listas.asteriskbrasil.org
> Assunto: Re: [AsteriskBrasil] Discando pela WEB
> 
> 
> Não, ele não é um cliente SIP ele é só um proxy para a interface 
> manager do asterisk.
> 
> 
> Pablo Weyne wrote:
>>> Não dá p/ usar esse script sem que necessite depender do Asterisk? 
>>> Por
> 
>>> exemplo, eu coloco os dados de uma conta SIP, e ele faz a discagem.
>>>  
>>>
>>>     ----- Original Message -----
>>>     *From:* Diogo Cosito <mailto:diogocosito66 em hotmail.com>
>>>     *To:* asteriskbrasil em listas.asteriskbrasil.org
>>>     <mailto:asteriskbrasil em listas.asteriskbrasil.org>
>>>     *Sent:* Tuesday, July 11, 2006 10:43 PM
>>>     *Subject:* Re: [AsteriskBrasil] Discando pela WEB
>>>
>>>     Bernardo, tudo bem?
>>>     Obrigado pela sua aula, hehehe eu estou iniciando agora e vejo
que
>>>     pessoas
>>>     como você são bem atenciosas, muito obrigado.
>>>     Na realidade eu estou usando o asterisk-1.0.9 e gostaria de
>>>     implementar isso
>>>     no site de minha empresa, na intranet para hep-desk, mas acho 
>>> que
> no
>>>     meu
>>>     caso seria interessante o php, né? O que acha?
>>>     Não entendi muito bem o código pearl que você fez, tipo posso
>>>     utilizar ele
>>>     no asterisk-1.0.9? Precisarei de pearl instalado no server, né?
>>>     Mas é que ainda não estou conseguindo visualizar o código
>>>     funcionando...
>>>     desculpe a ignorância, mas espero um dia poder colaborar com
vocês
>>>     no que
>>>     puder.
>>>
>>>     Muito obrigado e um abraço
>>>
>>>     Att
>>>
>>>     Diogo.
>>>
>>>
>>>     >From: Bernardo Vieira <bernardo.vieira em terra.com.br
>>>     <mailto:bernardo.vieira em terra.com.br>>
>>>     >Reply-To: asteriskbrasil em listas.asteriskbrasil.org
>>>     <mailto:asteriskbrasil em listas.asteriskbrasil.org>
>>>     >To: asteriskbrasil em listas.asteriskbrasil.org
>>>     <mailto:asteriskbrasil em listas.asteriskbrasil.org>
>>>     >Subject: Re: [AsteriskBrasil] Discando pela WEB
>>>     >Date: Mon, 10 Jul 2006 11:14:13 -0300
>>>     >
>>> Diogo,
>>> Acho que o que está acontecendo é que o script de php está tentando
>>> inicializar a ligação no contexto 'default' e se eu não me engano o 
>>> AAH não permite muita coisa nesse contexto. Tente alterar o contexto

>>> para 'from-internal'. Outra coisa que você pode fazer é, ao invés de

>>> acompanhar a ligação via CLI, conecte via telnet na porta do
manager, 
>>> ele é muito mais detalhado.
>>>
>>> Bom, de toda forma, depois que você mandou sua primeira pergunta, eu
>>> resolvi dar uma olhada no script perl que eu tinha te passado e
gostei
> 
>>> do negócio. Então resolvi brincar com o script e acabei fazendo as
>>> seguintes alterações:
>>> 1) O script original desenhava o form com os campos para fazer a
>>>>     ligação
>>> e passava os parâmetros por POST, ou seja, você não poderia colocar 
>>> a
>>> linha de discagem em um link <a href> por exemplo. O script que eu
fiz
> 
>>> funciona com o método GET para que você usar uma url simples para
>>>>     discar.
>>> 2) O script original produzia html, ou seja, para alterar sua
>>> aparência você teria que modificar o script. A minha versão não
produz
> 
>>> html nenhum, você simplesmente coloca a url em um link e o script te
>>> redireciona de volta para a mesma página com o status da chamada, ou

>>> seja, você põe a cara que você quiser na página.
>>>
>>> Bom, é isso aí, o script ainda está meio toscão, mas dá para usar, 
>>> se
>>> você, ou qualquer um quiser me ajudar no desenvolvimento dele, eu 
>>> ficaria feliz.
>>>
>>>
>>> Diogo Cosito wrote:
>>>  > Bernando, boa noite.
>>>  > Eu baixei o código php, para discagem pela web, mas não entendi
>>>>     muito
>>> bem o
>>>  > que devo fazer, tipo instalei o código dentro de um servidor web,
>>> externo ao  > asterisk e liberei no manager.conf para acesso
externo, 
>>> mas não
>>>>     inicia a
>>>  > discagem..
>>>  > Fiz desta maneira:
>>>  > specify the channel (extension) you want to receive the call
>>>>     requests
>>> with
>>>  > #e.g. SIP/XXX, IAX2/XXXX, ZAP/XXXX, etc
>>>  > $strChannel = "sip/1000";
>>>
>>>  > #specify the context to make the outgoing call from.  By
>>>>     default, AAH
>>> uses
>>>  > from-internal
>>>  > #Using from-internal will make you outgoing dialing rules apply  
>>> >
>>> $strContext = "default";
>>>
>>>  > #specify the amount of time you want to try calling the specified
>>> channel  > before hangin up
>>>  > $strWaitTime = "30";
>>>
>>>  > #specify the priority you wish to place on making this call  >
>>> $strPriority = "1";
>>>
>>>  > #specify the maximum amount of retries
>>>  > $strMaxRetry = "2"
>>>
>>>  > Mas na CLI do asterisk, não reporta nada.
>>>  > Poderia me ajudar?
>>>
>>>  > Muito obrigado
>>>
>>>  > Att
>>>
>>>  > Diogo
>>>  >> From: Bernardo Vieira <bernardo.vieira em terra.com.br
>>>>     <mailto:bernardo.vieira em terra.com.br>>
>>>  >> Reply-To: asteriskbrasil em listas.asteriskbrasil.org
>>>>     <mailto:asteriskbrasil em listas.asteriskbrasil.org>
>>>  >> To: wellingtoncs em gmail.com <mailto:wellingtoncs em gmail.com>,
>>>>     asteriskbrasil em listas.asteriskbrasil.org
>>>>     <mailto:asteriskbrasil em listas.asteriskbrasil.org>
>>>  >> Subject: Re: [AsteriskBrasil] Discando pela WEB
>>>  >> Date: Fri, 07 Jul 2006 19:18:57 -0300
>>>  >>
>>>  > Solução em php (você vai ter que mexer no código para alocar  >
>>> dinamicamente os dois lados da ligação):
>>>
>>> http://www.voipjots.com/2006/02/click-to-call-with-your-asteriskhome
>>> .h
>>> tml
>>>
>>>  > Solução em perl (não mexi com esse aí porque eu prefiro php que
>>>>     perl,
>>>  > sim eu sou preguiçoso :P):
>>>  > http://www.azxws.com/asterisk/
>>>
>>>  > Wellington Sampaio wrote:
>>>  >>>>  Olá Pessoa,
>>>  >>>>
>>>  >>>>             Gostaria de saber se você sabem, já configuraram
uma
>>> regra
>>>  >>>> como esta:
>>>  >>>>
>>>  >>>>             Eu acesso uma página, digamos que
>>>>     www.asterisk.com.br <http://www.asterisk.com.br>
>>>  >>>> <http://www.asterisk.com.br/>, lá eu entro com o número
>>>>     destinatário
>>> e
>>>  >>>> número destino. O sistema faz uma ligação para o número
>>>>     destinatário
>>> e
>>>  >>>> em seguida liga para o destino. Ele gera uma chamada para os
>>> dois  >>>> números, assim colocando eles ativos.  >>>>
>>>  >>>>             Se alguém tiver alguma idéia de como faço isso,
por
>>> favor,
>>>  >>>> me ajudem.
>>>  >>>>
>>>  >>>>             Att
>>>  >>>>
>>>  >>>>
>>>  >>>>
>>>  >>>> Wellington Sampaio
>>>  >>>>
>>>  >>>> wellingtoncs em gmail.com <mailto:wellingtoncs em gmail.com>
>>>  >>>>
>>>  >>>>
>>>  >>>>
>>>
> ----------------------------------------------------------------------
> --
>>>  >>>>
>>>  >>>> _______________________________________________
>>>  >>>> LIsta de discussões AsteriskBrasil.org
>>>  >>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>     <mailto:AsteriskBrasil em listas.asteriskbrasil.org>
>>>  >>>> 
>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>  >>>>
>>>  >>>> _______________________________________________
>>>  >>>> Acesse o  wiki AsteriskBrasil.org:
>>>  >>>> http://www.asteriskbrasil.org 
>>> _______________________________________________
>>> LIsta de discussões AsteriskBrasil.org 
>>> AsteriskBrasil em listas.asteriskbrasil.org
>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>  >>
>>> _______________________________________________
>>> Acesse o  wiki AsteriskBrasil.org: http://www.asteriskbrasil.org
>>>
>>>  > _________________________________________________________________
>>>  > DOWNLOAD: Emoticons animados 'Copa 2006' para usar no MSN  >
>>> http://copa.br.msn.com/extra/emoticons/
>>>
>>>  > _______________________________________________
>>>  > LIsta de discussões AsteriskBrasil.org
>>>  > AsteriskBrasil em listas.asteriskbrasil.org
>>>>     <mailto:AsteriskBrasil em listas.asteriskbrasil.org>
>>>  > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>
>>>  > _______________________________________________
>>>  > Acesse o  wiki AsteriskBrasil.org:
>>>  > http://www.asteriskbrasil.org
>>>
>>>
> 
> #!/usr/bin/perl -w
> # getdial.pl
> # Copyright (C) 2006 Bernardo Vieira bernardo.vieira em terra.com.br
>>>     <mailto:bernardo.vieira em terra.com.br>
> #
> # Script para iniciar uma chamda no Asterisk através de uma # URL. 
> Recebe parâmetros atraves do metodo get, permitindo # que seja 
> utilizado em uma tag <a href...>Discar</a>. #
> # Baseado no script TACI - Trivial Asterisk Call Interface v.02 # de
> Tony Wasson wasson em azxws.com <mailto:wasson em azxws.com> # #
Certifique-se
> que ha um handler para extensões inválidas no # contexto [default]
do
> extensions.conf:
> #       exten => s,1,Playback(invalid)
> use Net::Telnet ();
> use Net::Netmask();
> use CGI qw(:standard);
> use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
> 
> #
> # Configuracoes:
> #
> 
> $managerHost='127.0.0.1'; # endereco do servidor rodando o Asterisk 
> $managerPort=5038; # porta da interface de gerenciamento do Asterisk
> 
> $managerUser='ususario'; # nome do usuario manager do Asterisk
> 
> # TODO: proteger esta senha
> $managerSecret='senha'; # senha do manager
> 
> $defaultContext='from-internal'; # contexto padrao para a ligacao,
>>>     pode
> ser especificado
>  # na query string, senao este valor e utilizado
> 
> $defaultCID='callerid'; # Caller Id padrao pode ser especificado na
>>>     query
> string
> 
> @allowedNetworks= ('192.168.1.0/24'); # lista de redes (clientes)
>>>     que podem
> usar este script
> 
> @allwedReferers=('http://192.168.1.1/teste/teste.html'); # lista de
>>>     paginas
> que podem usar este script
> 
> 
> #
> # Prototipos
> #
> sub isInNetwork;
> sub testIp;
> sub testReferer;
> 
> # verifica se o cliente esta na lista de clientes autorizados
> &testReferer($ENV{HTTP_REFERER}, em allwedReferers) or die "Pagina nao 
> autorizada a user este script: ", $ENV{HTTP_REFERER};
> &testIp($ENV{REMOTE_ADDR}, em allowedNetworks) or die "Cliente nao
>>>     autorizado
> a usar este script: ", $ENV{REMOTE_ADDR};
> 
> #
> # Parametros
> #
> my $phonetype = param('type') ||  "" ;
> my $account = param('account') || "";
> my $callerid = param('callerid') || $defaultCID;
> my $context = param('context') || $defaultContext;
> my $exten = param('exten') || "";
> my $callid = param('callid') || 0;
> 
> 
> # Limpar parametros
> if ($exten)   {$exten =~   s/([^A-Z0-9a-z\/@\.])//g;}
> else {$exten="";}
> 
> if ($context) {$context =~   s/([^A-Z0-9a-z\-])//g;}
> else {$context="";}
> 
> if ($account) {$account =~  s/([^A-Z0-9a-z])//g;}
> else {$account="";}
> 
> # Testa se a extensao e valida (mais de dois digitos)
> # TODO: melhorar o teste
> 
> if (not $exten =~ /[0-9][0-9]/) { die "Destino invalido, deve
>>>     conter pelo
> menos 2 numeros!"; };
> 
> #print header;
> 
> # Abre a conexao ao asterisk...
> $tn = new Net::Telnet ( Port => $managerPort,
>  Prompt => '/.*[\$%#>] $/',
>  Output_record_separator => '',
>  Errmode    => 'return'
>  );
> 
> $tn->open("$managerHost");
> $tn->waitfor('/0\n$/');
> $tn->print("ACTION: LOGIN\nUSERNAME: $managerUser\nSECRET: 
> $managerSecret\n\n"); $tn->waitfor('/Authentication accept*/')
>      or die "Nao foi possivel conectar ao asterisk: ", $tn->lastline;
> 
> # Abre a chamada
> $tn->print("ACTION: ORIGINATE\nExten: $exten\nContext:
>>>     $context\nChannel:
> $phonetype/$account\nPriority: 1\nCallerid: $callerid\n\n");
> $tn->waitfor('/Event: Newchannel.*/') or die "Nao foi possivel
>>>     deteminar o
> status da chamada: ", $tn>lastline;
> $tn->print("Action: LOGOFF\n\n");
> 
> # Chamada aceita
> # TODO: monitorar melhor a ligacao, mesmo que o numero for invalido o 
> programa chega aqui. print "Location: 
> $ENV{HTTP_REFERER}?callid=$callid&status=0\n\n";
> exit 0;
> 
> 
> 
> sub isInNetwork {
>  my ($cidr,$ipaddress) = @_;
>  local $network = new Net::Netmask($cidr);
>  return $network->match($ipaddress);
> }
> 
> sub testIp {
>  my($ip, em allowedNetworks) = @_;
>  my($matchFound) = 0;
>  foreach my $network (@allowedNetworks) {
>      $matchFound = isInNetwork($network,$ip);
>      if ($matchFound) {
>  last;
>              }
>  }
>  return $matchFound;
> }
> 
> sub testReferer{
>  my($referer, em allowedReferers) = @_;
>  return scalar(grep(/$referrer/, em allowedReferers));
> }
> 
> 
> 
> 
> 
> 
>  teste
> 
> 
> 
> _______________________________________________
> LIsta de discussões AsteriskBrasil.org 
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> 
> _______________________________________________
> Acesse o  wiki AsteriskBrasil.org: http://www.asteriskbrasil.org
> 
>>>
_________________________________________________________________
>>>     Descubra aqui como mandar Torpedos Messenger!
>>>     http://www.msn.com.br/artigos/maguire/default.asp
>>>     http://www.msn.com.br/artigos/maguire/default.asp
> 
>>>     _______________________________________________
>>>     LIsta de discussões AsteriskBrasil.org
>>>     AsteriskBrasil em listas.asteriskbrasil.org
>>>     <mailto:AsteriskBrasil em listas.asteriskbrasil.org>
>>>     http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> 
>>>     _______________________________________________
>>>     Acesse o  wiki AsteriskBrasil.org:
>>>     http://www.asteriskbrasil.org
> 
> 
>>>     __________ NOD32 1.1655 (20060712) Information __________
> 
>>>     This message was checked by NOD32 antivirus system.
>>>     http://www.eset.com
> 
> 
>>> --------------------------------------------------------------------
>>> --
>>> --
> 
>>> _______________________________________________
>>> LIsta de discussões AsteriskBrasil.org
>>> AsteriskBrasil em listas.asteriskbrasil.org
>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> 
>>> _______________________________________________
>>> Acesse o  wiki AsteriskBrasil.org: http://www.asteriskbrasil.org
_______________________________________________
LIsta de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

_______________________________________________
Acesse o  wiki AsteriskBrasil.org: http://www.asteriskbrasil.org



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEt7GJ2QVs8jsa1mQRAp2rAJ9Zf8Yzt2dJZj9BSjCn5XSFG/5/cQCfRLK0
C1WDmO8Y09tSlgQnHVb9YlA=
=wStl
-----END PGP SIGNATURE-----
_______________________________________________
LIsta de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

_______________________________________________
Acesse o  wiki AsteriskBrasil.org: http://www.asteriskbrasil.org



-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.10.1/389 - Release Date:
14/7/2006


-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.10.1/389 - Release Date:
14/7/2006
 



Mais detalhes sobre a lista de discussão AsteriskBrasil