As formas de se fazer o bloqueio de chamadas a cobrar são completamente diferentes nas sinalizações ISDN e MFCR2. Isso ocorre pelo fato que cada sinalização indica tal tipo de chamadas de uma forma. Em sinalização MFCR2, o bloqueio pode ser realizado pela categoria da chamada ou ainda, utilizando a variante BR da sinalização, pelo duplo atendimento. Já em sinalização ISDN o parâmetro utilizado dentro da mensagem é o IE 74 (Information Element 74). No entanto, quando se utiliza ISDN, nem sempre a operadora tem suporte ao fornecimento de sinalização indicativa de chamada a cobrar.


Neste artigo vamos estudar as formas de prover o bloqueio deste tipo de chamada a partir de gateways SIP E1, AG800 e nas placas AP400 da Aligera.


Em MFCR2 pela categoria da chamada no arquivo /etc/asterisk/chan_dahdi.conf:


Você deve incluir o parâmetro mfcr2_allow_collect_calls=no antes da linha que começa com channel, se houver mais de uma linha channel, verifique a que corresponde ao link em que você quer realizar o bloqueio.


Nos gateways SIP/E1 o parâmetro correspondente é o Allow collect calls e deve ser definido como No.


Em MFCR2 pelo duplo atendimento no arquivo /etc/asterisk/chan_dahdi.conf:


Em uma chamada a cobrar, se for gerada para o link a combinação de tons answer->clear back->answer a chamada é desconectada, isso é o que se chama de duplo atendimento. Para realizar o bloqueio desta forma, inclua o parâmetro mfcr2_double_answer=yes antes da linha que começa com channel, se houver mais de uma linha channel, verifique a que corresponde ao link em que você quer realizar o bloqueio.


Nos gateways SIP/E1 o parâmetro correspondente é o Double answer e deve ser definido como Yes.


ATENÇÃO: Só recomendamos a utilização deste tipo de bloqueio se as outras formas não surtirem efeito, tendo em vista que o funcionamento deste depende de temporizadores que não serão abordados aqui.


Em MFCR2 pela categoria da chamada no dialplan (/etc/asterisk/extensions.conf):


Você deve alterar o contexto de entrada das chamadas do E1 da seguinte forma:

[from-e1]
exten => _X.,1,GotoIf($["${MFCR2_CATEGORY}" == "Collect Call"]?reject:accept)
exten => _X.,n(accept),Dial(SIP/${EXTEN}@User1)
exten => _X.,n(reject),Hangup


Nos gateways E1 o procedimento é o mesmo, você deve localizar o contexto de entrada das chamadas (from-e1, from-e1-1, from-e1-2) e alterar o mesmo conforme o exemplo acima. Não esqueça de salvar as configurações na memória flash:

cp /etc/asterisk/extensions.conf /mnt/config/asterisk/


Em ISDN no dialplan (/etc/asterisk/extensions.conf):


Quando se utiliza sinalização ISDN a única forma de se realizar o bloqueio da chamada é através do Information Element Reverse Charge. No Asterisk o valor deste parâmetro é recuperado através da variável CHANNEL(reversecharge). Para efetuar o bloqueio, localize o contexto de entrada das chamadas do E1 e configure-o da seguinte forma:

[from-e1]
exten => _X.,1,GotoIf($["${CHANNEL(reversecharge)}" = "-1"]?accept:reject)
exten => _X.,n(accept),Dial(SIP/${EXTEN}@User1)
exten => _X.,n(reject),Hangup()


Nos gateways E1 o procedimento é o mesmo, você deve localizar o contexto de entrada das chamadas (from-e1, from-e1-1, from-e1-2) e alterar o mesmo conforme o exemplo acima. Não esqueça de salvar as configurações na memória flash:

cp /etc/asterisk/extensions.conf /mnt/config/asterisk/

Caso não funcione, habilite o debug

pri set debug on span 1

e verifique se aparece o seguinte:

IE 74: Reverse Charging Indication

Se não aparecer, a operadora não está enviando a informação de que a chamada é a cobrar. Fato que pode ocorrer em MFCR2 também, onde a operadora eventualmente não envia a categoria da chamada corretamente ou os temporizadores configurados no link da mesma inviabilizam a utilização do duplo atendimento. Nestes caso, não há o que fazer no Asterisk.