PARLA!

V5.0

 

manual do usuário

versão simplificada

 

 

 

 Introdução

PARLA! é um pacote que abre as portas do mundo da telefonia computadorizada (CTI-Computer-Telephony Integrated) para seus programas C, C++ e Clipper.

Agora, com PARLA! você passa a contar com um conjunto de funções de voz, fax e reconhecimento de dígitos, com as quais é possível criar softwares CTI bastante poderosos. Muito mais complexos, por exemplo, que os disponibilizados aos correntistas pelas operadoras de cartões de crédito ou (saldo por voz, extrato por fax).

Genericamente falando, um sistema de telefonia computadorizada (CTI) permite que seu computador passe a interagir com usuários através do telefone. Não apenas através de uma simples transmissão de dados, mas orientando através de mensagens por voz, apresentando opções que seus usuários farão através do teclado do aparelho telefônico, enviando e recebendo faxes (extratos de contas, lista de preços,etc), transferindo ligações telefônicas, etc.

PARLA! disponibiliza dezenas de funções para você transformar seus aplicativos em sistemas de telefonia computadorizada com grande facilidade, eis algumas características disponíveis:

· atender ligações;

· originar ligações e saber se houve atendimento, se está ocupado ou se não atende;

· transferir ligações caso haja um PABX;

· falar mensagens previamente digitalizadas no Winchester, inclusive números, datas, horários e valores;

· gravar mensagens faladas a partir do telefone;

· enviar ou receber faxes, mesmo durante uma ligação já em andamento;

· converter arquivos ASCII ou PCX para serem utilizados como faxes;

· concatenar diversos aquivos diferentes para compor novos arquivos de faxes;

· enviar comandos diretamente para o Modem permitindo assim transferir dados para outro computador.

 

PARLA! também simplifica dramaticamente seus aplicativos no envio/recepção de dados pela interface serial (COM). Enquanto seu programa está realizando outras tarefas, PARLA! recebe concorrentemente os dados que chegam pela COM e os disponibiliza quando seu programa solicitar. Da mesma forma na transmissão de dados, seu aplicativo entrega os dados para o envio e continua executando, enquanto isto, PARLA! transmitirá concorrentemente byte a byte seus dados, cuidando de todos os detalhes.

 

Conte sempre com o suporte técnico da SAAT para dirimir quaisquer dúvidas a respeito do uso do PARLA!

Componentes do PARLA!

PARLA! é composto dos seguintes ítens:

· Modem com recursos de Voz e Fax

· Dispositivo de proteção de software (Hardlock);

· Cabo de ligação modem - linha telefônica;

· Cabo saída de áudio - modem;

· Manual do Usuário PARLA! ;

· Manual do editor de voz EDITVOZ;

· Disquete contendo os softwares.

 

Funcionamento

PARLA! se baseia em um programa residente (TSR - Terminate and Stay Resident). A interface com os programas é feita através de Interrupções de Software descritas detalhadamente mais adiante. Para programas C, C++ e CLIPPER o pacote já traz bibliotecas que transformam esta interface em chamadas de funções próprias de cada linguagem. Além disto há a descrição dos parâmetros a serem passados nos registradores da CPU para que outras linguagens de programação possam também utilizar as funções de PARLA!.

As gravações de arquivos de voz podem ser feitas a partir de um poderoso editor de voz (EDITVOZ) que acompanha o produto. O EDITVOZ permite a gravação a partir de um aparelho telefônico comum conectado ao Modem e através de um poderoso conjunto de comandos, possibilita selecionar trechos da gravação, mover, remover, inserir, inserir silêncio, etc.

O pacote fornece ainda um driver de impressora para ambiente Windows. Com ele é possível capturar em arquivo a saída dos aplicativos para esta plataforma e usá-los posteriormente em seus aplicativos MS-DOS.

  informações a seguir são importantes e podem ajudá-lo a esclarecer dúvidas e economizar bastante tempo. Leia cuidadosamente cada ítem. 

NOMENCLATURA

Primeiramente alguns poucos nomes que são utilizados neste manual:

COM : indica a interface serial (RS-232) do PC. Em geral varia de COM1, COM2, COM3, COM4 ou mesmo um número maior, dependendo da presença de placas multiseriais.

Os PC’s possuem duas interfaces seriais (COM1 E COM2). Sendo que, em geral, o mouse fica ligado a uma delas e a outra fica disponível ao usuário. Um modem externo, uma impressora serial, uma balança eletrônica, um leitor de cartões ou código de barras, por exemplo, poderiam ser ligados a esta outra interface serial (COM).

Os modems internos que são instalados nos slots (conectores para placas) de seu PC comportam-se como uma outra COM. Ou seja, a cada modem interno, instalado em seu micro, você terá adicionado uma outra interface serial (COM) e que estará diretamente associada a este novo modem. Desta forma, os bytes que forem enviados à nova interface serial (COM), serão enviados ao modem.

 

LIGAÇÃO DE PARLA! AO PROGRAMA CLIPPER

O processo de ligação de um programa Clipper que utiliza o PARLA! é diferente caso se utilize o RTLINK, o EXOSPACE ou o BLINKER

No disquete de distribuição do software você encontrará dois arquivos MAKEFILE para a compilação e ligação do programa exemplo que acompanha o pacote.

SAAT.RMK

utiliza o RTLINK passando como script de ligação o arquivo SAAT.LNK;

SAATHI.RMK

utiliza o EXOSPACE e o BLINKER passando como script de ligação os arquivos SAATHI.LNK e SAATBLIN.LNK respectivamente.

 

RECONHECIMENTO DE TOM DE OCUPADO E SILÊNCIO

As funções que fazem reconhecimento dos dígitos MF discados podem também detectar ocorrência de tom de ocupado.

A deteção de silêncio no início da gravação (q) se caracterizará após 5 segundos de silêncio. Se durante este período houver qualquer atividade de áudio que fuja do padrão de silêncio, haverá um cancelamento da deteção de silêncio de início de gravação. Nesta situação somente a deteção de silêncio ao final da gravação (s) é que estará ativa.

 

FUNÇÕES PARA FALAR DÍGITOS, VALORES MONETÁRIOS, DATAS E HORÁRIOS

PARLA! disponibiliza uma série de funções para falar datas, horários, valores monetários etc.

No arquivo ‘DIGITOS’ estão gravadas cerca de 120 palavras que constituem o vocabulário básico que as funções acima se utilizam (como: novembro, real, dólar, centavos, domingo, milhão, horas, minutos etc). As mensagens e seus respectivos índices estão relacionados no arquivo ‘digitos.txt’. A ordem destas gravações é relevante.

 

AUMENTANDO O NÚMERO DE LINHAS TELEFÔNICAS TRATADAS NO MESMO MICROCOMPUTADOR

Atualmente é possível aumentar o número de linhas telefônicas tratadas simultaneamente no mesmo computador para até quatro no total.

Requisitos básicos: - número de slots ISA livres correspondente ao número de linhas telefônicas.

Consulte a SAAT para obter maiores detalhes sobre esta expansão.

 

 

DESCRIÇÕES DAS FUNÇÕES CLIPPER PARA ACESSO AO PARLA!

Funções para iniciação e terminação do Modem

AA_DriveON ( )

Nome: Driver On

Função: Testa a presença do PARLA!. Deve ser a primeira função a ser executada pelo programa Clipper para que não haja travamento da máquina caso as outras funções sejam chamadas sem que o driver esteja instalado.

AA_OpenMo ( COM )

Nome: Open Modem

Função: Indica ao driver para que aloque buffers e prepare a COM para trabalhar em funções de VOZ.

Este comando deve ser dado antes dos outros comandos de voz e apenas uma vez no decorrer do programa CLIPPER.

parâmetro:

COM : indica o número da interface serial onde o modem está conectado.

AA_CloseMo ( COM )

Nome: Close Modem

Função: Indica ao driver para encerrar a atividade na COM especificada, liberando buffers.

Este comando deve ser dado incondicionalmente antes do encerramento do programa CLIPPER. Após este comando as funções de voz não estarão mais disponíveis.

parâmetro:

COM : indica o número da interface serial onde o modem está conectado.

AA_SelHds ( COM )

Nome: Select Handset

Função: Esta função foi mantida nesta versão 5.0 do Parla! apenas por compatibilidade com as versões anteriores, permitindo que seus programas antigos funcionem sem nenhuma alteração.

Internamente, esta função é convertida para uma chamada à AA_SelLocal. Veja sua descrição abaixo.

 

AA_SelLoc ( COM )

Nome: Select Local Device

Função: Indica ao Parla! para trabalhar localmente, sendo que todas as funções de:

· reprodução de arquivo de voz (play) serão feitas nas caixas multimídia;

· gravação de arquivos de voz (record) utilizarão o sinal de áudio vindo do conector (MIC) microfone multimídia do modem;

· reconhecimento de dígitos (simulação do dígitos DTMF teclados) serão feitos através do teclado de seu micro.

Esta função é utilizada em contraposição à função SeLine () e apenas uma delas pode estar selecionada em determinado instante.

parâmetro:

COM : indica o número da interface serial onde o modem está conectado.

 

AA_SeLine ( COM )

Nome: Select Line

Função: Indica ao driver que todas as funções de voz (play e record de arquivo, reconhecimento de dígitos DTMF) serão realizadas através dos sinais presentes no conector LINE do modem. É utilizada em contraposição à função SelLocal (), e apenas uma delas pode estar selecionada em determinado instante.

parâmetro:

COM : indica o número da interface serial onde o modem está conectado.

AA_RstMode ( COM )

Nome: Reset Modem

Função: Reseta o modem repondo o fone no gancho. Deve ser utilizado para encerrar as chamadas.

parâmetro:

COM : indica o número da interface serial onde o modem está conectado.

AA_SpkOn ( COM )

Nome: Speaker ON

Função: Indica ao driver que todas as funções de voz em LINE serão audíveis também através das caixas multimídia, ou na sua ausência no alto-falante do modem. Utilize esta funcionalidade para acompanhar o andamento das chamadas, observando regras de ética e privacidade.

parâmetro:

COM : indica o número da interface serial onde o modem está conectado.

AA_SpkOff ( COM )

Nome: Speaker Off

Função: Indica ao driver que todas as funções de voz em LINE NÃO serão audíveis através do alto-falante do modem. É uma função complementar à SpkOn.

parâmetro:

COM : indica o número da interface serial onde o modem está conectado.

Funções para gravação de arquivos

AA_RecFDig ( nome, ndigitos, digitos, timeout, COM )

Nome: Record File until Digits

Função: Gravar um arquivo a partir da entrada previamente selecionada (LOCAL ou LINE) com SPEAKER (ON ou OFF, também previamente selecionado), até que vença uma temporização ou que seja reconhecido o número total de dígitos aguardados.

parâmetros:

nome: Nome do arquivo a ser gravado.

ndigitos: Número de dígitos que o usuário deve discar.

digitos: Indica quais são os dígitos válidos, ou seja quais serão aceitos. Além de 0 a 9 pode-se utilizar:

E - para a tecla * do telefone;

F - para a tecla #;

b - para sinal de ocupado na linha;

q - para silêncio no início da gravação durante mais de 5 segundos

s - para silêncio na linha ao final da gravação durante mais de 4 segundos

ex: digitos = "12378*#’ , indica que apenas os dígitos 1, 2, 3, 7 , 8, * e # serão reconhecidos, os demais serão descartados. Os dígitos * e # são representados em versões anteriores do Parla! como E e F respectivamente, neste parâmetro.

timeout: Tempo máximo para que o usuário disque todos os dígitos.

Este parâmetro é fornecido em centésimos de segundo. Ex: 3000 = 30 segundos.

COM : indica o número da interface serial onde o modem está conectado.

AA_RecFKey ( nome , timeout , COM)

Nome: Record File until KeyPressed

Função: Gravar um arquivo a partir da entrada previamente selecionada (LOCAL ou LINE) com SPEAKER (ON ou OFF, também previamente selecionado), até que vença uma temporização ou que uma tecla qualquer seja digitada.

parâmetros:

nome: arquivo a ser gravado

timeout: tempo máximo de gravação caso nenhuma tecla seja pressionada.

Este parâmetro é fornecido em centésimos de segundo. Ex: 3000 = 30 segundos.

COM : indica o número da interface serial onde o modem está conectado.

 

Funções para reprodução de arquivos gravados

Tocam arquivos de mensagens previamente gravados através do programa EDITVOZ ou das funções de gravação descritas neste manual.

A reprodução pode ser feita através do modo LOCAL ou LINE e opcionalmente acompanhada em paralelo no SPEAKER.

Há uma função onde o tempo de reprodução da mensagem pode ser limitado independentemente de sua duração total. Em outra, a mensagem pode ser interrompida com o reconhecimento do primeiro dígito multifrequêncial (MF) discado.

AA_PlayFi (nome, timeout , COM);

Nome: Play File

Função: Toca um arquivo na saída previamente selecionada (LOCAL ou LINE) até que vença uma temporização ou o arquivo tenha sido tocado em sua totalidade (independente da saída utilizada, o SPEAKER pode estar ativo ou não). O timeout é mandatório em relação à duração da mensagem contida no arquivo.

Caso o valor de timeout seja zero (0) a mensagem será tocada até o final, não importando seu tempo de duração.

parâmetros:

nome: arquivo a ser reproduzido

timeout: tempo máximo de play. Este parâmetro é fornecido em centésimos de segundo. Ex: 3000 = 30 segundos.

COM : indica o número da interface serial onde o modem está conectado.

AA_PlayFDi ( nome do arquivo, timeout, COM, digitos, ndigitos )

Nome: Play File until Digits

Função: Toca um arquivo na saída previamente selecionada (LOCAL ou LINE) com SPEAKER (ON ou OFF, também previamente selecionado). Após o término da mensagem, inicia-se a temporização para que sejam discados todos os dígitos válidos aguardados.

Se durante a mensagem um dígito MF válido for reconhecido, a mensagem será interrompida e se iniciará a temporização aguardando-se pelos demais dígitos MF válidos.

A função retorna os dígitos que foram reconhecidos.

Esta função é utilizada para orientar o usuário explicando as opções disponíveis e aguardando a discagem.

Retorno: string de dígitos discada. Se não for discado nada, volta string vazia.

parâmetros:

nome do arquivo: driver:\subdiretorios\...\file name

timeout: tempo máximo para que sejam reconhecidos todos os dígitos válidos aguardados. Este parâmetro é fornecido em centésimos de segundo. Ex: 3000 = 30 segundos.

COM : indica o número da interface serial onde o modem está conectado.

digitos: string contendo os dígitos válidos para discagem, ou seja, apenas estes serão aceitos e todos os outros ignorados;

b habilita o reconhecimento de tom de ocupado, presente por 8 segundos no mínimo.

ex: digitos = "12378EF" , indica que apenas os dígitos 1, 2, 3, 7 , 8, * e # serão reconhecidos, os demais serão descartados. Os dígitos * e # são representados como E e F respectivamente.

ndigitos: número de dígitos esperados na discagem.

 

 AA_PlayFPI (nome do arquivo, timeout, COM, digitos, ndigitos, feed, primdig, interdig)

Nome: Play Arquivo com Pausa Interdigital

Esta função é uma evolução da AA_PlayFDi e incorpora mais dois controles relacionados à temporização. Foi especialmente projetada para situações onde o usuário deve digitar seguidamente uma grande quantidade de dígitos. Estas temporizações adicionais permitem que seu aplicativo retome o controle com maior rapidez caso o usuário não disque, não saiba a sequência toda ou esteja discando muito lentamente.

Em seguida uma descrição das temporizações adicionais e quando são ativadas:

· temporização de primeiro dígito: após o arquivo de mensagem ter sido tocado integralmente, inicia-se a temporização de primeiro dígito. Caso não seja reconhecido nenhum dígito até o término desta temporização (em geral cerca de 5 segundos) a função retornará para o aplicativo, com string de retorno vazio; independentemente do tempo transcorrido da temporização do tempo total de discagem (especificado para que todos os dígitos sejam discados).

· temporização entre dígitos (interdigital): após o reconhecimento do primeiro dígito, será disparada uma nova temporização para cada novo dígito discado. Se esta temporização vencer sem que um novo dígito tenha sido reconhecido, a função retornará o controle ao aplicativo, com string de retorno contendo os dígitos reconhecidos; independentemente do tempo transcorrido da temporização do tempo total de discagem (especificado para que todos os dígitos sejam discados).

Descrição do funcionamento da função:

Toca um arquivo na saída previamente selecionada (LOCAL ou LINE) com SPEAKER ON ou OFF (previamente selecionado). Após o término da mensagem, inicia-se a temporização para que sejam discados todos os dígitos válidos aguardados, bem como a temporização de primeiro dígito. A função retornará ao aplicativo por vencimento de temporização de primeiro dígito caso não haja reconhecimento de nenhum dígito válido.

Se durante a mensagem um dígito MF válido for reconhecido, a mensagem será interrompida e se iniciará a temporização total aguardando-se pelos demais dígitos MF válidos; adicionalmente a esta temporização também se iniciará a temporização interdigital, neste caso e a cada novo dígito reconhecido. A função retornará ao aplicativo se a temporização interdigital vencer sem dígito reconhecido durante sua duração.

O string de retorno sempre contém os dígitos válidos que foram reconhecidos, independentemente do motivo do retorno ao aplicativo.

Opcionalmente pode-se habilitar o feedback dos dígitos (a medida que o usuário disca, ele ouve o número discado).

Situação dos temporizadores ao se tocar um arquivo reconhecendo dígitos

 

temporização total

temporização de primeiro dígito

temporização de pausa interdigital

fim da mensagem foi tocado, nenhum dígito foi reconhecido

ligar

ligar

desligar

mensagem interrompida pelo reconhecimento de um dígito

ligar

desligar

ligar

primeiro dígito reconhecido após término da mensagem

manter
ligada

desligar

ligar

segundo dígito

(ou posterior) reconhecido

manter
ligada

desligar

religar

 

Utilizando esta função é possível orientar o usuário que não sabe de antemão o que deve discar ou ainda responder rapidamente àquele que não quer ficar ouvindo a mensagem e sabe o que deve ser discado.

Retorno: string de dígitos discada. Se não for discado nada, volta string vazia.

parâmetros:

nome: nome do arquivo a ser reproduzido;

timeout: tempo máximo para que sejam reconhecidos todos os dígitos válidos aguardados. Este parâmetro é fornecido em centésimos de segundo. Ex: 3000 = 30 segundos.

COM : indica o número da interface serial onde o modem está conectado.

digitos: string contendo os dígitos válidos para discagem, ou seja, apenas estes serão aceitos e todos os outros ignorados. b habilita o reconhecimento de tom de ocupado, presente por 8 segundos no mínimo.

ex: digitos = "12378*#" , indica que apenas os dígitos 1, 2, 3, 7 , 8, * e # serão reconhecidos, os demais serão descartados. Os dígitos * e # são representados como E e F respectivamente em versões anteriores do Parla!

ndigitos: número de dígitos esperados na discagem.

feed: 0 ou 1 indica se deve haver ou não feedback dos dígitos reconhecidos,

primdig: tempo máximo para reconhecimento do primeiro dígito após o término da mensagem

interdig: (tempo interdigital) tempo máximo para reconhecimento do próximo dígito após o anterior ter sido reconhecido.

 

Funções para reconhecimento de dígitos discados

Permitem reconhecer quais os dígitos DTMF discados no aparelho telefônico, quando LINE está selecionado, ou do teclado do micro, quando o modo LOCAL está selecionado. Além do reconhecimento enquanto reproduz e grava arquivos, é possível simplesmente ficar aguardando até que o número de dígitos esperados seja discado ou vença o tempo reservado para isto.

Associado ao processo de reconhecimento de dígitos, existe um mecanismo que permite ao usuário que discou ouvir uma confirmação a cada dígito discado.

AA_ReadN(feed, ndig, digitos, tout_disc, COM)

Nome: Lê dígitos discados pelo usuário,

Função: Retorna os dígitos reconhecidos na COM indicada, a partir da entrada previamente selecionada (LOCAL-teclado do micro- ou LINE - teclado do telefone remoto) com SPEAKER ON ou OFF, também previamente selecionado, até que vença uma temporização ou o número máximo de dígitos tenha sido reconhecido. Opcionalmente pode-se habilitar o feedback dos dígitos (a medida que o usuário disca, ele ouve o número discado).

parâmetros:

feed: 0 ou 1 indica se deve haver ou não feedback dos dígitos reconhecidos, respectivamente. Feedback é a confirmação por áudio do dígito discado. A mensagem correspondente a cada dígito está gravada no arquivo DIGITOS no diretório de origem do PARLA!.

ndig: indica o máximo de dígitos que devem ser reconhecidos.

digitos: indica quais são os dígitos válidos para serem retornados pela função.

b habilita o reconhecimento de tom de ocupado, presente por 8 segundos no mínimo.

Por exemplo: digitos = "12378*#" , indica que apenas os dígitos 1, 2, 3, 7 , 8, * e # serão reconhecidos, os demais serão descartados. Os dígitos * e # são representados como E e F, em versões anteriores do Parla!, respectivamente.

tout_disc: indica o tempo máximo (em centésimos de segundo, (ex: 3000 = 30 segundos) que o driver aguardará para que sejam discados os ndig dígitos esperados, após este tempo a funcão retorna o número de dígitos reconhecidos (0..ndig).

COM : indica o número da interface serial onde o modem está conectado.

AA_RdNPI (feed, ndig, digitos, tout_disc, primdig, interdig,COM)

Nome: Lê dígitos teclados pelo usuário com pausa interdigital

Esta função é uma evolução da função AA_ReadN e incorpora mais dois controles relacionados à temporização. Foi especialmente projetada para situações onde o usuário deve digitar seguidamente uma grande quantidade de dígitos. Estas temporizações adicionais permitem que seu aplicativo retome o controle com maior rapidez caso o usuário não disque, não saiba a sequência toda ou esteja discando muito lentamente.

Função: Retorna os dígitos reconhecidos na COM indicada, a partir da entrada previamente selecionada (LOCAL-teclado do micro- ou LINE-teclado do telefone remoto) com SPEAKER ON ou OFF, também previamente selecionado, até que ocorra uma das seguintes condições:

· vença a temporização total ou

· o número máximo de dígitos tenha sido reconhecido ou

· vença a temporização para reconhecimento do primeiro dígito (usuário não discou) ou

· vença a temporização entre dígitos (usuário discou um ou mais dígitos e não discou mais)

 

Opcionalmente pode-se habilitar o feedback dos dígitos (a medida que o usuário disca, ele ouve o número discado).

parâmetros:

feed: 0 ou 1 indica se deve haver ou não feedback dos dígitos reconhecidos, respectivamente. Feedback é a confirmação por áudio do dígito discado. A mensagem correspondente a cada dígito está gravada no arquivo DIGITOS no diretório de origem do PARLA!.

ndig: indica o máximo de dígitos que devem ser reconhecidos.

digitos: indica quais são os dígitos válidos para serem retornados pela função.

b habilita o reconhecimento de tom de ocupado, presente por 8 segundos no mínimo.

ex: digitos = "12378*#" , indica que apenas os dígitos 1, 2, 3, 7 , 8, * e # serão reconhecidos, os demais serão descartados. Os dígitos * e #, podem ser representados como E e F, como em versões anteriores do Parla!.

tout_disc: indica o tempo máximo que o driver aguardará para que sejam discados os ndig dígitos esperados, após este tempo a funcão retorna o número de dígitos reconhecidos (0..ndig).

COM : indica o número da interface serial onde o modem está conectado.

primdig: tempo máximo para reconhecimento do primeiro dígito (em centésimos de segundo, ex: 3000 = 30 seg).

interdig: (tempo interdigital) tempo máximo para reconhecimento do próximo dígito após o anterior ter sido reconhecido.

 

Funções para falar dados

AA_Talk (num_falar, COM)

Função: Fala na saída selecionada previamente (LOCAL ou LINE) os dígitos indicados no parâmetro.

parâmetros:

num_falar: indica a sequência de números a ser dita, por exemplo:

num_falar = "1284" fará com que seja dito: um dois oito quatro

COM : indica o número da interface serial onde o modem está conectado.

AA_TalkDat ( data, COM )

Nome: Talk Date

Função: Falar uma data (dia, mes, ano e dia da semana)

Parâmetro:

data: string no formato DD/MM/AA contendo a data a ser falada.

COM : indica o número da interface serial onde o modem está conectado.

AA_TalkMon ( valor, moeda, COM )

Nome: Talk Money

Função: Falar um valor de uma determinada moeda.

Parâmetro:

valor: String contendo o valor a ser falado, com "," e duas casas decimais.

moeda: indica qual a moeda que deve ser falada. Os valores válidos são:

53 - Reais

55 - Dolares

57, 59 e 61 estão disponíveis para novas moedas no arquivo DIGITOS.

COM : indica o número da interface serial onde o modem está conectado.

AA_TalkTim ( hora, COM )

Nome: Talk Time

Função: Falar uma hora no formato HH:MM.

Parâmetro:

hora: string no formato HH:MM contendo a hora a ser falada.

COM : indica o número da interface serial onde o modem está conectado.

 

Funções para controle de chamadas telefônicas

AA_CallNum ( numero, timeout, COM )

Função: Origina uma chamada para um número telefônico, reconhecendo caso esteja ocupado, não atenda após um determinado tempo ou haja o atendimento do outro lado.

numero: indica o número telefônico que deve ser chamado. Esta cadeia de caracteres também pode conter modificadores de discagem, por ex:

, : pausa de 2 segundos durante a discagem

por exemplo: 0,011987654 _> disca 9, aguarda 2 segundos e disca 011987654

W : aguarda por tom de discar antes de iniciar a discagem

por exemplo: 0w0119876543 --> disca primeiro 0, aguardando tom de discar e em segui disca 0119876543.

Para maiores detalhes veja a relação de comandos AT no manual do usuário de seu modem.

timeout: tempo em centésimos de segundo que a função espera para que haja atendimento logo após terminar de discar (por ex: 2000 =20 seg).

COM : indica o número da interface serial onde o modem está conectado.

Retornos da função:

0 - SEM_DEFINICAO_DO_STATUS

O sistema foi interrompido antes do envio do comando de discagem.

1 - TOM_DE_OCUPADO

O número chamado está ocupado

3 - VOZ

Segundo os critérios do PARLA!, houve atendimento e foi detectado VOZ

4 - TIMEOUT_TCC

Houve vencimento de temporização e o número chamado não atendeu.

5 - TIMEOUT_PREFIXO_NAO_ECOADO

O modem não realizou a discagem

6 - SEM_TOM_DE_DISCAR

O modem não detectou tom de discar e não realizou a discagem. (Se houver necessidade, usar a funcao AA_SetPref com Parâmetro: ATX3DP ou ATX3DT para que o modem disque mesmo que não esteja reconhecendo o tom de discar (ou esteja de fato ausente).

7 - TIMEOUT_SEM_RESPOSTA_A_DISCAGEM

O modem não realizou a discagem ou esta foi incompleta, a chamada não deve prosseguir.

8 - FAX

O número chamado foi atendido por um aparelho de fax.

9 - TOM DE 1000 Hertz

O numero chamado foi atendido por um aparelho que inseriu um tom de 1000 Hertz na linha telefônica (com duração mínima de 0,5 segundos). Em geral, este tom é inserido por equipamentos de pager privados (utilizados em indústrias e hospitais), ligados a um pager número. Desta forma seu programa poderá acionar um pager, através da discagem por tons DTMF dos respectivos códigos.

 

AA_Transf ( ramal, timeout, COM )

Função: Transfere uma chamada para um ramal telefônico, reconhecendo caso esteja ocupado, não atenda após um determinado tempo ou haja o atendimento do outro lado.

ramal: indica o número do ramal telefônico que deve ser chamado.

timeout: tempo em centésimos de segundo que a função espera para que haja atendimento logo após terminar de discar. (por ex: 2000 = 20 seg).

COM : indica o número da interface serial onde o modem está conectado.

Retornos da função:

0 - SEM_DEFINICAO_DO_STATUS

O sistema foi interrompido antes do envio do comando de discagem.

1 - TOM_DE_OCUPADO

O número chamado está ocupado. Vide AA_Flash.

3 - VOZ

Segundo os critérios do PARLA!, houve atendimento e foi detectado VOZ

4 - TIMEOUT_TCC

Houve vencimento de temporização e o número chamado não atendeu.

5 - TIMEOUT_PREFIXO_NAO_ECOADO

O modem não realizou a discagem

6 - SEM_TOM_DE_DISCAR

O modem não detectou tom de discar e não realizou a discagem. (Se houver necessidade, usar a funcao AA_SetPref com Parâmetro: ATX3DP ou ATX3DT para que o modem disque mesmo que não esteja reconhecendo o tom de discar (ou esteja de fato ausente).

7 - TIMEOUT_SEM_RESPOSTA_A_DISCAGEM

O modem não realizou a discagem ou esta foi incompleta, a chamada não deve prosseguir.

8 - FAX

O número chamado foi atendido por um aparelho de fax.

9 - TOM DE 1000 Hertz

O numero chamado foi atendido por um aparelho que inseriu um tom de 1000 Hertz na linha telefônica (com duração mínima de 0,5 segundos). Em geral, este tom é inserido por equipamentos de pager privados (utilizados em indústrias e hospitais), ligados a um telefone. Desta forma seu programa poderá acionar um pager, através da discagem por tons DTMF dos respectivos códigos.

 

AA_Flash ( COM )

Nome: Flash

Função: Gerar um pulso na linha.

Esta função é utilizada em geral para informar ao PABX ou à central telefônica* que se deseja fazer uma nova chamada telefônica mantendo a atual em espera, ou chavear para a chamada anterior já estabelecida.

Esta função também é utilizada nas transferências de ramais caso o ramal de destino esteja ocupado ou não atenda, para retormar a ligação original.

Por exemplo, a função AA_Transf executa um Flash implícito seguido da discagem do ramal solicitado. Caso este ramal esteja ocupado, é necessário executar um novo flash (desta vez utilizando a função AA_Flash) para se retomar a ligação inicial.

A duração do pulso (flash) é de 0,75 s . Alguns PABX consideram o pulso com esta duração como desligamento, se isto ocorrer, há duas maneiras de resolver o problema:

· veja o parâmetro /FLASH no início deste manual OU

· consulte o manual de seu PABX e reprograme o tempo de flash

* depende da central telefônica pública oferecer este serviço, consulte sua companhia telefônica.

 

AA_DDCBlock ( COM )

Nome: DDC blocker

Função: Atender uma ligação bloqueando chamadas DDC através de um duplo atendimento.

Esta função apenas retira o fone do gancho, o programa usuário deve executar em seguida funções de PLAY ou RECORD para tocar ou gravar mensagens.

Observação: Alguns modelos de PABX não interpretam o duplo atendimento vindo de um ramal e o interpretam como função flash, para executar alguma funcão especial do PABX. Esta é uma limitação de alguns PABX, não do PARLA! que gera neste caso um duplo atendimento padrão para a rede pública de telefonia. Se houver algum problema com esta função quando se estiver ligado a um ramal, o fabricante do PABX deve ser contatado para que foneça informações de como bloquear chamadas de discagem direta a cobrar (DDC).

Em geral isto se resolve através da reprogramação do tempo de FLASH do PABX.

Parâmetro:

COM : indica o número da interface serial onde o modem está conectado.

AA_RingCount ( COM )

Função: Devolve o número de corrente de toque (toques) detectado pelo modem na COM indicada. Valores de retorno desta funcão são válidos entre 0..100, valores diferentes desta faixa devem ser desconsiderados. Notar que pelas normas brasileiras (práticas Telebrás) para a rede pública de telefonia, o tempo de corrente de toque é de 90 segundos. Considerando que um Ring ocorre a cada 5 segundos, tem-se no máximo 18 toques antes que a ligação falhe (na rede de telefonia pública). Já os PABX não sofrem restrições com relação ao número de Ring’s e dependendo do modelo, o número de Ring’s pode ser muito maior que 18.

parâmetro:

COM: indica o número da interface serial onde o modem está conectado.

AA_SetPref ( comandosAT, COM )

Função: Inicia a string de comandos enviados ao modem antes da discagem.

comandosAT: Valor default: 'ATDP' (indica para o modem fazer a discagem por pulsos (pulse, em alguns telefones).

Outros valores Outros valores possiveis:

'ATX3DP' discagem por pulso, independentemente da presença de tom de discar.

ATX3DP0 discagem independente de presença de tom de discar (ATX3). Em seguida, disca-se por pulso (decádico) um dígito 0.

Obs: O comando AT é obrigatorio.

COM: indica o número da interface serial onde o modem está conectado.

Funções para acesso direto ao Modem

Parla! simplifica dramaticamente seus aplicativos quando é necessário enviar/ receber dados pela interface serial (COM). Enquanto seu programa está realizando outras tarefas, Parla! recebe automaticamente os dados que chegam pela COM e os disponibiliza quando seu programa pedir. Da mesma forma na transmissão de dados, seu aplicativo entrega os dados para o envio e continua executando, enquanto isto, Parla! transmitirá byte a byte seus dados, cuidando de todos os detalhes.

AA_CmdMode ( comandos, COM )

Nome: Command to modem

Função: Passa uma string de dados diretamente para o modem, em geral comandos AT's ou dados. O retorno desta função é imediato. Os dados são transferidos, internamente, para uma fila.

O Parla! se encarregará de enviar byte a byte ao modem/rs232 associado na fila, a medida que o modem aceite tais dados.

Parâmetros:

comandos : string de comando que deve ser passada para o modem/RS232.

COM : indica o número da interface serial onde o modem está conectado.

 

AA_Connect ( COM )

Nome: Test Connected

Função: Retorna um número indicando se uma ligação de dados está estabelecida. É utilizada ao fazer comunicação de dados (por exemplo uma consulta a uma base de dados via modem) para saber se a ligação de dados está estabelecida (conectado) ou se caiu.

parâmetro da função:

COM : indica o número da interface serial onde o modem está conectado.

Valores de retorno da função:

· 0 - Não há ligação de dados estabelecida no momento

· diferente de 0 - Existe uma conexão de dados ativa no momento.

AA_FlushRX ( COM )

Nome: Flush RX buffer

Função: Esvaziar o buffer de recepção do modem, apagando todos os bytes já recebidos.

Esta função pode ser utilizada para se dados recebidos do modem/RS232, reconhecidos pelo modem mas que ainda não foram lidos pelo programa até o momento, ou outros dados que não sejam de interesse.

COM : indica o número da interface serial onde o modem está conectado.

 

AA_ModemAn ( COM )

Nome: Modem Answer

Função: Devolve a string de dados recebidos da COM por Parla!, eventualmente a resposta de um comando enviado.

Deve ser usada para verificar o resultado da função AA_CmdMode.

Retorno: A string contendo os dados recebidos e armazenados da COM. Retorna no máximo 255 caracteres. Chame sucessivamente esta função para esvaziar o buffer de bytes recebidos.

COM : indica o número da interface serial onde o modem está conectado.

AA_InpQRdy ( COM )

Nome: Input Queue Ready

Função: Devolve o número de bytes presentes e disponiveis para leitura na fila de recepção de Parla!, que é de 5000 bytes para recepção. Obs: se a fila de recepção estiver cheia, Parla! passará a atuar nos sinais de controle da RS-232 para inibir a transmissão de mais dados pelo equipamento remoto acoplado.

Parâmetros:

COM : indica o número da interface serial onde o modem está conectado.

AA_SetSer ( parametro, valor, COM )

Nome: Set Serial Parameters

Função: Configurar os parâmetros da interface serial relacionados à transferência de dados.

Parâmetros:

Parâmetro: indica qual característica será configurada. Veja tabela abaixo.

valor: valor para o qual o parâmetro deve ser alterado. Veja tabela abaixo.

COM : indica o número da interface serial onde o modem está conectado.

 

possíveis valores para os parâmetros da função e seus relacionamentos:

PARÂMETRO

OBSERVAÇÃO

VALOR

 

 

 

 

 

 

 

Baud_rate_option

= 1

 

 

 

 

 

 

 

Ajusta velocidade de

modulação

baud_110 = 0

baud_150 = 1

baud_300 = 2

baud_600 = 3

baud_1200 = 4

baud_2400 = 5

baud_4800 = 6

baud_9600 = 7

baud_19200 = 8

baud_38400 = 9

baud_57600 = 10

baud_115200 = 11

 

Parity_Option

= 2

 

 

 

Ajusta paridade

Sem_paridade = 0

Paridade_impar = 1

Paridade_par = 2

Paridade_mark = 3

Paridade_espaço = 4

 

 

 

 

 

Data_bits_Option

= 3

Ajusta tamanho da palavra.

Quanto maior o tamanho da palavra, maior a quantidade de bits transferidos em uma só vez. Causa influência diretamente na capacidade final de transferência de informações.

 

Data_bits_5 = 5

Data_bits_6 = 6

Data_bits_7 = 7

Data_bits_8 = 8

 

Stop_bits_Option

= 4

 

 

 

 

Número de Stop Bits

 

Stop_bit_1 = 1

Stop_bit_2 = 2

 

 

PARÂMETROS DE RETORNO DA FUNÇÃO:

0 - Opção aceita com sucesso

Diferente de 0 - Erro! - em geral parâmetro inválido

AA_OutQRdy ( COM )

Nome: Output Queue Ready

Função: Devolve o número de bytes presentes na fila de transmissão do modem e que ainda não foram transmitidos. A capacidade desta fila de transmissão é de 5000 bytes.

Parâmetros:

COM : indica o número da interface serial onde o modem está conectado.

Funções para manipulação de Faxes

Os arquivos utilizados para a transmissão/recepção de fax possuem uma estrutura própria, bastante semelhante a um arquivo bitmap.

O conteúdo destes arquivos é uma imagem digitalizada da informação a ser transmitida/recebida. Cada bit do arquivo indica um ponto em branco ou preto que no conjunto compõe a imagem final.

Para que arquivos com conteúdo ASCII ou PCX (Paintbrush) possam ser enviados através das rotinas de transmissão, eles devem ser previamente convertidos/decompostos para o formato de imagem (APF), através das rotinas AA_ConvTXT, AA_ConvPCX ou AA_MPFAppend. Após isto pode-se então enviar o arquivo através da rotina AA_TxFax.

 

DOBRANDO A ALTURA DOS CARACTERES

Há uma maneira de dobrar a altura dos caracteres, fazendo-os maiores e mais legíveis, tanto os de 80 como os de 144 colunas.

Isto é possível dizendo ao aparelho receptor de fax que o fax será de BAIXA resolução, em seguida concatena-se todos os demais faxes em alta resolução.

 

AA_TxFax ( timeout, arquivo, telefone, COM)

Nome: Transmit Fax

Função: Transmite um arquivo de fax previamente convertido para o formato APF.

Após o retorno desta rotina o fone estará fora do gancho e o usuário poderá eventualmente executar outras rotinas como um play ou record, por exemplo. Para encerrar a chamada, repondo o fone no gancho, utilize a função AA_RstMode.

Parâmetros:

timeout: Tempo máximo aguardado após a discagem para que haja atendimento e se inicie a transferência do FAX. Este parâmetro é fornecido em centésimos de segundo. Ex: 3000 = 30 segundos. O tempo sugerido para início em uma chamada em curso é de 15 segundos (1500).

arquivo: Nome do arquivo que deve ser transmitido;

telefone: Número do telefone que deve ser chamado para passar o FAX. Caso seja vazio, assume-se que a ligação em curso deve ser utilizada e o FAX é passado imediatamente;

COM : indica o número da interface serial onde o modem está conectado.

Retornos da função:

0 Transmissao Ok

2 Arquivo de transmissao não encontrado

4 Muitos arquivos abertos

8 Memória insuficiente

2926 Abortado pelo usuario

2923 Timeout aguardando por dados: não houve conexão ou o protocolo de fax aguardava por alguma informação que não foi recebida (erro mais comum).

9800 Segundo critérios do modem, a chamada foi atendida por voz Obs: Os modems são ajustados para trabalhar em qualquer rede telefonica. Muitas vezes seu critério de reconhecimento de voz não é adequado e raramente ocorre este resultado. Utilize o codigo 2923 (timeout) como criterio principal para falha no protocolo/conexao.

9801 Modem chamado utilizou protocolo no modo dados

9802 Linha ocupada

9805 Resposta inesperada na iniciacao do modem

9806 Falha no treinamento com o fax remoto. O protocolo de fax inclui literalmente um "treinamento" dos modems no reconhecimento de certos padroes, tentando se adequar `a ligacao telefonica.

9807 Erro durante a sessao (outras fases que nao a iniciacao)

9808 Sem conexao apos a discagem (semelhante a 2923)

9809 Falha no envio da pagina apos tentativa de recuperacao do envio.

AA_RxFax ( timeout, arquivo, com)

Nome: Receive Fax

Função: Recebe um arquivo de fax no formato APF.

Se já houver uma chamada em curso, a recepcão do fax será imediata.

Se nenhuma chamada estiver em curso no momento da chamada desta função, a rotina retirará o fone no gancho e enviará o sinal de recepção de fax. Utilize a função AA_RingCount para realizar a recepção de fax após um certo número de toques de campainha.

Após a recepção do fax, a placa de fax/modem/voice reporá o fone no gancho incondicionalmente, encerrando a chamada.

Parâmetros:

timeout: Tempo máximo para que haja conexão e inicie a recepção do FAX;

arquivo: Nome do arquivo em que será armazenado o FAX;

COM : indica o número da interface serial onde o modem está conectado.

Retornos da função:

0 - Recepção OK;

Diferente de 0 - Falha na recepção.

 

 

AA_FontSize ( num_chars )

Nome: Font Size

Função: Seleciona o número de caracteres possíveis por linha de texto do arquivo de fax.

Parâmetros:

numchars: seleciona 80 ou 144 caracteres por linha.

exemplos:

AA_FontSize(80) --> seleciona o tamanho de letra para 80 caracteres por linha.

AA_FontSize(144) --> seleciona o tamanho de letra para 144 caracteres por linha.

O valor default é 80 caracteres por linha.

Sugere-se que sejam utilizados no máximo 135 caracteres por linha (no modo 144

colunas) pois alguns aparelhos de fax colocam automaticamente uma margem

em branco à esquerda da página, tomando algum espaço útil do papel.

Entretanto não há restrição quanto ao uso de 144 colunas em seu arquivo

texto a ser utilizado na conversao.

Pode-se alternadamente concatenar arquivos txt de 80 ou 144 colunas,

simplesmente chamando a funcao:

AA_FontSize(80) ou AA_FontSize(144) entre cada conversao

(ou concatenação via AA_MPFApp)

Parametro da funcao: 80 ou 144

Valores de retorno da função:

· 0 se o numero foi aceito (80 ou 144 colunas) e

· 1 se não foi aceito

 

 

AA_ConvPCX ( arquivo)

Nome: Convert PCX to APF.

Função: Converter um arquivo do formato PCX (Paintbrush) para o formato APF.

Parâmetros:

arquivo: Nome do arquivo a ser convertido. Será gerado um novo arquivo de mesmo nome e extensão .APF;

Retornos da função:

0 - Conversão OK;

Diferente de 0 - Falha na conversão.

AA_ConvTXT ( arquivo)

Nome: Convert TXT to APF.

Função: Converter um arquivo do formato ASCII para o formato APF.

Parâmetros:

arquivo: Nome do arquivo a ser convertido. Será gerado um novo arquivo de mesmo nome e extensão .APF;

Retornos da função:

0 - Conversão OK;

Diferente de 0 - Falha na conversão.

 

AA_MPFStup ( arquivo )

Nome: Multi Page Fax Setup

Função: Preparar a geração de um arquivo composto da concatenação de vários outros, para ser enviado por Fax. Esta função limpa o arquivo para que os novos arquivos sejam adicionados através da função AA_MPFAppend.

Parâmetros:

arquivo: Nome do arquivo onde os faxes serão gerados. Sua extensão deve ser APF.

AA_MPFApp ( arquivo_resultado, arquivo, quebra, alta_resolucao )

Nome: Multi Page Fax Append.

Função: Concatenar arquivos para serem enviados por Fax. A cada nova chamada desta função um novo arquivo é adicionado ao final do arquivo_resultado. A conversão de arquivos não APF é automática de acordo com a extensão do parâmetro arquivo (PCX - Paint Brush, TXT - ASCII ou APF). Para iniciar (reset) um novo arquivo_resultado é necessário executar a função AA_MPFSetup.

Importante: Não utilize o mesmo nome (independente da extensão) para os parâmetros arquivo_resultado e arquivo.

Ex.: AAMPFApp ( "teste.apf", "teste.txt", 1, 1) -> INVÁLIDO!

Parâmetros:

arquivo_resultado: Nome do arquivo final que contém a adição de todos os outros. Sua extensão deve ser APF.

arquivo: Nome do arquivo a ser adicionado.

quebra: Indica se deve haver quebra de página antes do início deste arquivo (1) ou não (0).

alta_resolucao: Indica se o fax deve ser passado em alta resolução (1) ou não (0). Se for passado em alta resolução necessariamente ocorrerá uma quebra de página antes.

Retornos da função:

0 - Concatenação OK;

Diferente de 0 - Falha na concatenação.

 

AA_PrtFax ( FaxFile, OutputFile, PrinterType )

Nome: Print Fax File

Função: Imprimir arquivo de fax (.APF) em impressora/redirecionar para um arquivo.

Parâmetros:

FaxFile: arquivo do tipo .APF a ser impresso.

OutputFile: nome da impressora ("LPT1", "LPT2" ...) ou nome do arquivo onde serão enviados os dados a serem impressos, para posterior impressão.

PrinterType: indica o tipo de impressora:

· 0 - Impressora padrão, identificada na linha de comando quando da ativação do Parla!

· 1 - Impressora matricial padrão Epson, 9 agulhas

· 2 - Impressora matricial padrão Epson, 24 agulhas

· 3 - Impressora padrão HP (PCL4), com resolução de 150x150 pontos

· 4 - Impressora padrão HP (PCL4), com resolução de 300x300 pontos

· 5 - Impressora padrão HP (PCL5), com resolução de 150x150 pontos

· 6 - Impressora padrão HP (PCL5), com resolução de 300x300 pontos

Ex.: AA_PrintFax ( "teste.apf", "lpt2",0) --> imprimirá o arquivo teste.apf, em lpt2, utilizando o formato de dados definido na linha de comando de ativação do Parla!

Veja abaixo alguns exemplos de definição da impressora padrão, quando da ativação do Parla!

 

 

 

 

Linha de ativacao do Parla!

tipo de impressora padrão a ser utilizado

Observações:

Parla /vplay:7 /EPSON9

impressora padrão Epson, de 9 agulhas

 

Parla /Epson24

impressora padrão Epson, de 24 agulhas

 

Parla /PCL5

impressora padrão HP, utilizando formato PCL5 e resolução de 300x300 por polegada

 

Parla /PCL5 /300x300

impressora padrão HP, utilizando formato PCL5 e resolução de 300x300 por polegada . Notar que o nome da impressora foi omitido da linha de comandos, desta forma assume-se que é uma impressora HP.

obs: poderá haver demora demasiada na impressão do fax, dependendo da velocidade da impressora. Prefira a resolução 150x150.

 

Ex.: AA_PrintFax ( "teste.apf", "saida.prn",5)

; enviará ao arquivo "saida.prn", o conteudo do fax contido em "teste.apf", utilizando o formato PCL5, com resolução de 300x300 pontos por polegada.