terça-feira, 25 de janeiro de 2011

Asterisk - controle de horário de atendimento

Existe uma situação relacionada a telefonia que me incomoda bastante: você liga para uma empresa e o telefone chama sem parar até a ligação cair. Às vezes (e isso já aconteceu comigo) você acaba sendo atendido pelo vigia, que lhe informa que o expediente já terminou. Na minha opinião (considerando-se o porte da empresa, é claro) isso transmite uma sensação de amadorismo e descaso com o cliente.

Nessas horas eu sempre me pergunto: custava colocar uma mensagem informando o horário de funcionamento?

Temos sempre de lembrar que muitas empresas (principalmente as menores) ainda utilizam pequenas centrais telefônicas que dificultam (ou em alguns casos impossibilitam) que essa mensagem seja disponibilizada, mas se você utiliza o Asterisk isso pode ser configurado facilmente.

Para implementar o controle de horário no Asterisk vamos utilizar a aplicação GotoIfTime.

Com o GotoIfTime é possível realizar controles de fluxo no plano de discagem com base no horário atual (é SEMPRE MUITO IMPORTANTE manter o relógio de seu servidor atualizado - saiba mais sobre NTP).

Segue um exemplo que redireciona as chamadas de entrada com base no horário:

/etc/asterisk/extensions.conf

[from-pstn]
; contexto de chamadas recebidas da pstn

; inclui o contexto de controle de horário
include => horario

[horario]
; contexto de controle de horário

; Se a ligação foi recebida das 9 às 14:59 horas de segunda a sexta-feira
; segue para o contexto de ramais
exten => _XXXX,1,GotoIfTime(9:00-14:59|mon-fri|*|*?ramais,${EXTEN},1)

; Se a ligação foi recebida das 15 às 18 horas de segunda a sexta-feira
; segue para o contexto de fax
exten => _XXXX,1,GotoIfTime(15:00-18:00|mon-fri|*|*?ramais,${EXTEN},1)

; Nas ligações recebidas nos demais horários é executada a mensagem
; de horário de atendimento e a chamada é desligada
exten => _XXXX,n,Answer
exten => _XXXX,n,Wait(1)
exten => _XXXX,n,Playback(horario_de_atendimento)
exten => _XXXX,n,HungUp

[ramais]
; contexto de discagem para os ramais

exten => _XXXX,1,Answer
exten => _XXXX,n,Wait(1)
exten => _XXXX,n,Dial(SIP/${EXTEN},30)

[fax]
; contexto de discagem para o fax

exten => _XXXX,1,Answer
exten => _XXXX,n,Wait(1)
exten => _XXXX,n,Dial(DAHDI/g2/${EXTEN},30)

A aplicação, como pode-se perceber, abre um grande leque de possibilidades permitindo um controle minuscioso de horário para o tratamento das chamadas.

Adapte-a para seu ambiente e você certamente agregará muito valor a sua telefonia IP.

Nenhum comentário:

Postar um comentário