Início > Programação, Telecom > O Poder do FreeSwitch

O Poder do FreeSwitch

Ano passado descobri como o novo FreeSwtich é prático, simples e rasteiro, bem mais organizado que o Asterisk e o que é melhor forte como rocha!

Tarefas que antes eram complicadas de tratar foram simplificadas, Ura’s complexas podem ser feitas de maneira simples !

Em meus testes percebi o quando é fácil e agradável construir URAS com a linguagem LUA

Segue um Source na qual pode ser aplicado para qualquer finalidade:

–Estrutura
–URA que permite teclas de 1 a 5 “tres” tentativas em caso de teclas erradas (0, 6, 7, 8 ou 9) após isso hangup
–Digite 1 para falar com RH
–Digite 2 para falar com compras
–Digite 3 para falar com Diretoria
–Digite 4 para falar com Administração
–Digite 5 para falar com Eventos
–ou aguarde na linha para ser atendido

session:setAutoHangup(false)
digito = “Eng Eder de Souza”;
contador =0;
while (session:ready() == true) do

     while ((digito >= “6”) or (digito <= “0”)) do
        contador = contador + 1;
        freeswitch.consoleLog(“info”, “contando as entradas = “.. contador ..”\n”);
        if digito == “” then
           freeswitch.consoleLog(“info”, “vc nao digitou nada “.. digito ..”\n”);
           session:execute(“transfer”,”9000″);
           break;
        end
        if contador == 3 then
           session:hangup();
           break;
        end
        digito = session:playAndGetDigits(1, 1, 1, 10000, “#”, “/usr/local/freeswitch/sounds/URA_INICIO.wav”, “”, “\\d+”);
     end
     if (digito == “5”) then
         freeswitch.consoleLog(“info”, “tecla digitada: “.. digito ..”\n”);
         session:execute(“transfer”,”9000″);
     end
     if (digito == “4”) then
         freeswitch.consoleLog(“info”, “tecla digitada: “.. digito ..”\n”);
         session:execute(“transfer”,”4444″);
     end
     if (digito == “3”) then
         freeswitch.consoleLog(“info”, “tecla digitada: “.. digito ..”\n”);
         session:execute(“transfer”,”3333″);
     end
     if (digito == “2”) then
         freeswitch.consoleLog(“info”, “tecla digitada: “.. digito ..”\n”);
         session:execute(“transfer”,”2222″);
     end
     if (digito == “1”) then
         freeswitch.consoleLog(“info”, “tecla digitada: “.. digito ..”\n”);
         session:execute(“transfer”,”1111″);
     end

end

  1. j u n i o u
    junho 30, 2010 às 2:33 pm

    Hummmmm interessante…
    No asterisk acho que daria mais linhas de instrução, p fazer a mesma coisa.

  2. Marcelo
    outubro 16, 2013 às 1:58 pm

    Eder, gostaria de conversar com vc para tirar dúvidas sobre uma solução de pabx Ip com asterik
    Pode me passar o seu email?

  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: