Fórum URA - Delphi - Linux #327346
12/08/2006
0
Alguem teria sugestões a respeito?
Aerreira
Curtir tópico
+ 0Posts
19/08/2006
Aerreira
Gostei + 0
19/08/2006
Thomaz_prg
Gostei + 0
19/08/2006
Aerreira
Gostei + 0
20/08/2006
Bon Jovi
Gostei + 0
20/08/2006
Dmalta
Gostei do tópico. :) Dê mais informações pra gente poder pensar juntos numa solução Qual é o fabricante, marca e modelo do equipamento de URA? E o software? Tens um website do produtor do sw?
Um abraço,
Gostei + 0
21/08/2006
Aerreira
DMALTA, obrigado pelo interesse... vamos lá:
O software (ainda em análise) é [url]www.asterisk.org[/url], um Open-Source, com versões para Linux, MacOSX ou BSD. O objetivo é fazer um atendimento como aqueles de cartão de crédito ou bancos para auto-atendimento eletrônico (disque 1 para saldo, 2 para extrato...) porém voltado para agendamento de consultas médicas.
Já encontrei diversas informações a respeito ([url]http://www.google.com.br/search?hl=pt-BR&q=URA[/url]), mas normalmente são soluções proprietárias ($$$), gostaria de fugir disso, então preciso criar uma solução para lidar com esse open-source de modo a se encaixar ao meu software.
Basicamente há um micro dedicado ao serviço URA (em ingles é IVR - Interactive Voice Response), uma combinação de software e hardware, pois nessa máquina Linux haverá uma placa capaz de atender à diversas ligações simultaneamente, conforme o número de linhas telefônicas disponíveis e a capacidade de canais da placa.
Com a URA em funcionamento, o software Asterisk faz o atendimento das ligações conforme programação prévia dos menus e suas diversas opções, dando retorno por voz a quem iniciou a ligação. Porém as respostas que a URA irá enviar para a pessoa ao telefone serão provenientes do meu banco de dados que é em Firebird. Assim como a pessoa também poderá fazer pequenas entradas de dados pelo telefone que também cairão dentro do mesmo banco de dados que estará on-line com a clínica funcionando.
Com isso, preciso de uma aplicação que:
- acesse o banco firebird
- rode em Linux
- permita um interfaceamento com o software Asterisk
Já cogitamos: Kylix, Lazarus, Script-Bash / ISQL, Rexx / ISQL.
Gostei + 0
21/08/2006
Dmalta
A AGI funciona do mesmo jeito que um CGI. Você configura o seu ´dial plan´ para usar AGI e ele gera um arquivinho texto com instruções e depois chama o seu programa. O seu programa então deve ler esse texto e gravar a resposta usando comandos específicos para a interface AGI.
Esse programa pode ser feito em [url=http://www.freepascal.org/]Free Pascal[/url] ou Kylix.
Espero que funcione pra você. Depois me conte seus progressos.
Um grande abraço,
Gostei + 0
21/08/2006
Dmalta
Outro link útil que eu deixe de citar é esse:
http://www.voip-info.org/wiki-Asterisk+AGI
Gostei + 0
21/08/2006
Aerreira
Certo, o interfaceamento seria feito justamente pela AGI, o problema era justamente rodar a aplicação em linux... Por isso pensamos em Rexx, que é um tipo de script que funciona tanto em linux quanto windows, e o rexx chamando o ISQL do firebird, ambos gerando TXT com as queries e as respostas... Porém, provavelmente, isso poderia ficar lento..
Uma boa coisa que ví naquele seu link ali é justamente um exemplo de acesso a AGI usando FreePascal... Eu até poderia fazer o programa em C, porém como não sou dos mais entendidos em C, ainda, não saberia como me conectar ao Firebird via C ou C++, alguem sabe como?
Como desenvolvedor, isso pra mim seria o ideal, mas acho para ganho de performance, o ideal seria que a aplicação ficasse rodando em linux na mesma máquina da URA.... Vou pensar mais a respeito e tentar alguns testes...
DMALTA, ótima troca de ideias...
Gostei + 0
21/08/2006
Dmalta
Se o volume de chamadas for intenso, talvez seja até mais rápido distribuir a carga de processamento com outra máquina, de forma que o servidor Asterisk cuide das chamadas e o servidor de BD cuide das transações com o banco. Aí é uma questão de planejamento do seu domínio de negócio e de fazer benchmarks para avaliar a e melhor solução.
Em todo caso, um programa Linux em modo console eu faria com Free Pascal na boa. O Free Pascal é hoje bem estável. Pode usar sem medo. :)
Um abraço,
Gostei + 0
21/08/2006
Aerreira
Beleza... vou avaliar todas as questões tratadas aqui no tópico, e ainda aguardando o cliente dar um OK para dar prosseguimento no trabalho.
Quando ao volume, o cliente teve no ano passado 55.968 entradas na agenda, o que dá uma média de 178 apontamentos diários (descontados os domingos). Se considerarmos que uns 80¬ das marcações são por telefone, teríamos 142 registros diários ou 17 por hora (uma ligação a cada 3,5 minutos). Não é muito.
Mas se considerarmos que hoje, no atendimento pelas secretárias, o paciente do outro lado da linha nunca sabe direito o que quer, pergunta uma coisa, fala outra, confirma depois cancela tudo e começa tudo de novo, cada ligação acaba tomando mais tempo que os 3,5 minutos, e já tem outra recepcionista com outro paciente na outra linha, e assim fica o dia todo. No atendimento eletrônico, infelizmente o que poderá ocorrer é que a maioria acabaria teclando ´9 - para falar com nossos atendentes!!!´ :cry:
Gostei + 0
22/08/2006
Thomaz_prg
Também não manjo de C/C++, mas na pasta do firebird, tem alguns exemplos feitos em C/C++ que fazem conexão, inserção, etc...
Tipo C:\Arquivos de programas\Firebird\Firebird_X_X\examples\api
Não sei se irá ajudar, mas taí.
Gostei + 0
22/08/2006
Aerreira
Nunca tinha parado prá olhar. (20 minutos depois...) Acabei de dar uma olhada geral e, pra quem não entende muito, não é exatamente um exemplo de simplicidade... rsrsrs. O Dev-C++ nem compila, são apenas funções para serem inseridas num projeto, as funções sozinhas não funcionam, mas certamente há como usá-las. Se o objetivo for realmente performance, certamente o C seria uma boa solução.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)