[AsteriskBrasil] Dialplan em Realtime

Julio Henrique Oliveira julioh1203 em gmail.com
Terça Dezembro 28 11:19:47 BRST 2010


Olá,

Segue um contexto que fiz para autenticar os usuários no momento da ligação.
Não fiz em AEL, mas no formato do extension.conf, veja se pode te ajudar:

[local]
exten => _352[1-6]XXXX,1,Playback(agent-user)
exten => _352[1-6]XXXX,n,MYSQL(Connect connid localhost usuario senha
bilhetador)
exten => _352[1-6]XXXX,n,Read(Login,,,,,5)
exten => _352[1-6]XXXX,n,MYSQL(Query resultid ${connid} SELECT
codigo_usuario FROM Usuarios WHERE codigo_usuario=${Login})
exten => _352[1-6]XXXX,n,MYSQL(Fetch fetchid ${resultid} Usuario)
exten => _352[1-6]XXXX,n,GotoIf($[${fetchid} = 1]?liga:desliga)
exten => _352[1-6]XXXX,n(liga),Set(CDR(userfield)=${Usuario})
exten => _352[1-6]XXXX,n,Dial(DAHDI/1/${EXTEN},,Ttr)
exten => _352[1-6]XXXX,n,MYSQL(Clear ${resultid})
exten => _352[1-6]XXXX,n,MYSQL(Disconnect ${connid})
exten => _352[1-6]XXXX,n(desliga),Hangup()

Att.,

Júlio Henrique

Em 27 de dezembro de 2010 18:14, dlpazinatto em gmail.com <
dlpazinatto em gmail.com> escreveu:

> Olá Pessoal,
>
> Tenho um cliente que o dialplan esta muito grande, estou migrando para
> Realtime com mysql, estou enfrentando dificuldade em alguns pontos, sendo:
>
> 1- Nas chamadas de saida dos ramais SIP, faço uma verificação da "senha",
> essa verificação é feita em uma tabela do mysql conforme segue:
> _3XXXX021X. => {
>                                 Set(SENHA=${EXTEN:1:4});
>                                 MYSQL (Connect connid localhost
> usuario senha realtime);
>                                 MYSQL (Query resultid ${connid} SELECT
> senha FROM senha WHERE senha = '${SENHA}');
>                                 MYSQL (Fetch foundRow ${resultid} ACHOU);
>                                 MYSQL (Disconnect ${connid});
>                                /* CLEAR no mysql.conf */
>                                 if ("${ACHOU}"=="${SENHA}") {
>                                         Noop(Senha Existe, Dial);
>                                         Noop(Resuldado de ACHOU =
> ${ACHOU});
>
> Dial(${SAIDAE1}/${PSTN}/${EXTEN:6},40,rTt);
>                                 }
>                                 else {
>                                         Noop(Senha NAO existe, HangUp);
>                                         Noop(Resultado de ACHOU =
> ${ACHOU});
>                                                 Answer();
>
> PlayBack(pt_BR/vm-invalidpassword);
>                                                 Hangup();
>                                  }
>                       }
>
> 2- Nas chamadas de saida, faço uma verificação no dialstatus, dependendo da
> situação, coloco um playback:
>
> _0X. => {
>                                 Dial(SIP/5122,10,TtrD(ww${EXTEN:5}));
>                                 Dial(SIP/5123,10,TtrD(ww${EXTEN:5}));
>                                         switch(${DIALSTATUS}) {
>                                                 case BUSY:
>                                                 PlayTones(busy);
>                                         Wait(5);
>                                         }
>                                 }
>
> Alguém pode me dar uma luz de como eu posso colocar isso em realtime?
>
> Outra coisa, nas chamadas de saida "chamo" uma macro via &nome-da-macro
> como eu chamo uma macro no realtime
>
> Grato por qquer ajuda
>
> --
> Dilceu Luiz Pazinatto
> Electronics technician
> Engineering students
>
> _______________________________________________
> KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
> - Hardware com alta disponibilidade de recursos e qualidade KHOMP
> - Suporte técnico local qualificado e gratuito
> Conheça a linha completa de produtos KHOMP em www.khomp.com.br
> _______________________________________________
> Headsets Plantronics com o melhor preço do Brasil.
> Acesse agora www.voipmania.com.br
> VOIPMANIA STORE
> ________
> Lista de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> ______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20101228/56c6fab6/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil