[AsteriskBrasil] Call files / Como usar o Set no arquivo.call

Pablo Câmara pscamara em gmail.com
Terça Outubro 14 00:18:24 BRST 2008


Olá pessoal,

Tenho um programa em java que gera uma série de arquivos dentro do diretorio
/var/spool/asterisk/outgoing.
O interesse desse método é gerar mensagems para uma série de usuários
selecionados.
Porem para cada grupo selecionado, gostaria de passar a mensagem
personalizada.

Gostaria se saber como utilizar esse o comando set, dentro do arquivo .call.
E como a variavel pode ser lida no extension.conf.

Abaixo, segue o código que estou usando para gerar os arquivos.
O arquivo gerado e o extension.conf.



código java

    public void createCallFiles() {

        String[] txt = getSelectedOptions();
        Writer output = null;
        for (int i = 0; i < getSelectedOptions().length; i++) {
            try {

                File file = new File(txt[i] + ".call");
                output = new BufferedWriter(new FileWriter(file));
                output.write("Channel: SIP/" + txt[i] + "\n");
                output.write("MaxRetries: " + getMaxretries().getText() +
"\n");
                output.write("RetryTime: " + getRetrytimes().getText() +
"\n");
                output.write("WaitTime: " + getWaittime().getText() + "\n");
                output.write("Context: "+ getDdcontext().getSelected() +
"\n");
                output.write("Extension: " + getExtension().getText() +
"\n");
                output.write("Priority: " + getPriority().getText() + "\n");
                output.write("Set: " + getDdMensagem().getSelected() +
"\n");
                output.close();

               FileInputStream fis = new FileInputStream(file);
               byte[] byt = new byte[(int)file.length()];
               int tn = fis.read(byt);

               // gera arquivos dentro do diretorio via scp
               spc.scpAsterisk(byt, txt[i] + ".call");

            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
 Logger.getLogger(ScheduleCall.class.getName()).log(Level.SEVERE, null, ex);

        }
    }

Arquivo criado: 800.call

Channel: SIP/8000
MaxRetries: 3
RetryTime: 60
WaitTime: 30
Context: CALLME
Extension: 1
Priority: 1
Set: var_arquivo=mensagem.gsm

extension.conf

[CALLME]exten => s,1, Wait(1)
exten => s,n, NoOP(Chamada realizada via web)
exten => s,n, Playback,${var_arquivo}
exten => s,n, HangUp
exten => h,1, HangUp

Qualquer ajuda apreciada.

Pablo Câmara (71) 88440818
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20081013/2e552ace/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil