[AsteriskBrasil] RES: Desenvolvendo um painel para telefonistas

j u n i o u junior em dssnet.com.br
Terça Janeiro 2 19:03:35 BRST 2007


Amigo..

Vou te dar uma luz..

Faz o seguinte:

 

1 – passo.

No seu asterisk. Habilite o manager.conf com o usuário “mark” e senha
“mysecret”.. para liberar este usuário e conectar com ele no CallManager.

Libera também no manager.conf o ip da sua máquina windows com o delphi... =]
reinicia o o bicho...

 

2 – passo.

No Windows que vc liberou para acessar o Callmanager do asterisk faz o
seguinte:

Abre o prompt do DOS (isso a telinha preta dos anos 80 e tárá’ra)

 

Dê um telnet 192.168.1.XX  5038   (onde XX eh o ip do seu asterisk e 5038 é
a porta “listening”do Callmanager)

Vai aparecer:

Asterisk Call Manager/1.0

Pronto agora vc tem uma maquina Windows “ interfaceando” com o seu PBX.. (eu
sei que lindo!!!, mas e agora?)

 

Agora vc vai no voip-info.org e procura as “ACTIONs” do CallManager\API
Manager... entre elas .. originate, hangup, command... e por ai vai...

Exemplo: com o action “command”:

 

Assim que aparecer o texto digite o seguinte (não vai retornar nada,,, mas
tenha fé...):

 

Asterisk Call Manager/1.0

 

Action: Login <enter>        

Username: mark <enter>

Secret: mysecret <enter>

<enter> (este último enter significa que vc terminou o lote de instruções e
quer ver a resposta dos comandos acima…)

 

Pronto!!! Vc está dentro do bichão!!!

 

Por padrão ele vem com o parâmetro  Events On ( ou seja fica mostrando tudo
que acontece no asterisk, vc pode colocar em off se não quiser ver os
eventos )...

 

“... que maravilha eu to dentro mas e daí o que eu faço?...”

 

O Caminho das pedras ... com o ACTION -> Command

 

Após fazer o login no Callmanager continue digitando:

 

Action: Command <enter> 

Command: SIP SHOW PEERS <enter>

<enter> ( já expliquei o porque desse ultimo enter… =] )…

 

Name/username              Host            Dyn Nat ACL Port     Status

1                          (Unspecified)    D          0        Unmonitored

0                          (Unspecified)    D          0        Unmonitored

1000                       (Unspecified)    D          0        Unmonitored

3 sip peers [3 online , 0 offline]

 

Ele vai retornar o commando SIP SHOW PEERS p/ voce… como se estivesse no
console do asterisk...

 

Ta Junior, vc falou falou... é lindo ver isso na telinha preta do DOS.. mas
e o Delphi onde entra na história...

 

Agora você viu que pode “falar” com o asterisk via Manager API com o
protocolo TCP/IP... certo!

 

No Delphi vc consegue muuuuuito código fonte de “clientes telnet” certo!!!?
Então o que vc faz..

 

- Altera ele p conectar na API do Asterisk e ficar escutando a conexão em
uma “thread” (eu usei o idTCPClient da paleta Indy Clients no Delphi 7)

- A partir daí vc envia os comandos que quiser a analisa o retorno que vem
nas thread`s... (analisa a string mesmo que ele retorna
“AnsiCompareText”)...

- Monta sua tela de painel operador...

- Coloca os fontes online (GPL hehe)

- Solicita ajuda na lista se precisar..

 

Faz tempo estou querendo fazer o mesmo que voce mas não sobra tempo...

Se você começar posso ajudar.

 

Att:

Rosilto Junior.

 

 

 

 

 

 

 

  _____  

De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Yurik
Leão
Enviada em: sexta-feira, 29 de dezembro de 2006 14:17
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: [AsteriskBrasil] Desenvolvendo um painel para telefonistas

 

Boa tarde caros colegas,


Estou iniciando um projeto de desenvolvimento de um painel para
telefonistas, desta forma pretendo desenvolver na linguagem Delphi por já
programar na mesma, mas estou precisando de dicas de como eu devo proceder
para obter informações junto ao servidor com Asterisk sobre os eventos que
deve ser apresentados no painel. Para isto desejo gostaria de ver se os
colegas poderiam me ajudar nas seguintes perguntas: 

1) Como receber os eventos do Asterisk? (Creio pela minha experiência que
devo fazer uma conexão via socket utilizando o manager)

2) Através da conexão junto ao asterisk como identificar os Status dos
canais quando se inicia o programa(leia-se o painel)? 

3) Como identificar que um canal saiu do status de ocioso para tocando,
atendido ou discando?

4) Como identificar uma transferência?

Acho que por enquanto estas perguntas se forem algumas respondidas já me
abre um caminho, se alguem puder me dar uma luz agradeceria imensamente. 

Yurik Leão 

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20070102/e4a91da6/attachment-0001.html


Mais detalhes sobre a lista de discussão AsteriskBrasil