Olá! Quantas vezes o seu cliente lhe ligou para dizer que “só da aquela mensagem (Todas as linhas estão ocupadas no momento)”, isso se deve ao fato do Elastix tratar os HANGUPs CAUSES do Asterisk de uma forma muito genérica, ou seja ele não foi preparado para passar a informação exata do resultado do HANGUP informado pela operadora e isso pode ser uma dor de cabeça em links SIP e E1s.
Existe uma maneira de resolver esse problema que é forçando e sobrescrevendo a MACRO [macro-outisbusy] do Elastix, para isso vamos alterar o arquivo extensions_override_elastix.conf e inserir uma nova macro-outisbusy
Vá até o final do arquivo e cole o código abaixo.
[macro-outisbusy]
include => macro-outisbusy-custom
exten => s,1,Progress
exten => s,n,GotoIf($[“${EMERGENCYROUTE}” = “YES”]?emergency,1)
exten => s,n,GotoIf($[“${INTRACOMPANYROUTE}” = “YES”]?intracompany,1)
exten => s,n,GotoIf($[“${HANGUPCAUSE}” = “1”]?unallocated,1)
exten => s,n,GotoIf($[“${HANGUPCAUSE}” = “18”]?unallocated,1)
exten => s,n,GotoIf($[“${HANGUPCAUSE}” = “21”]?unallocated,1)
exten => s,n,GotoIf($[“${HANGUPCAUSE}” = “102”]?timeexpiry,1)
exten => unallocated,1,Playback(ss-noservice, noanswer)
exten => unallocated,n,Congestion(20)
exten => unallocated,n,Hangup
exten => timeexpiry,1,Playback(connection-timed-out, noanswer)
exten => timeexpiry,n,Congestion(20)
exten => timeexpiry,n,Hangup
exten => s,n,Playback(all-circuits-busy-now&pls-try-call-later, noanswer)
exten => s,n,Congestion(20)
exten => s,n,Hangup
exten => intracompany,1,Playback(all-circuits-busy-now&pls-try-call-later, noanswer)
exten => intracompany,n,Congestion(20)
exten => intracompany,n,Hangup
exten => emergency,1,Playback(all-circuits-busy-now&pls-try-call-later)
exten => emergency,n,Congestion(20)
exten => emergency,n,Hangup
Com este contexto e a macro sobrescrita você começa a tratar a “causa” de seus HANGUPs de uma maneira mais precisa e se for o caso pode personalizar conforme a sua necessidade. Veja que basicamente para inserir novos HANGUPs você terá que tratar os GotoIf e criar a chamada para os audios adequados.