Como combinar números com base no fim do número?

2

Estou configurando um servidor VoIP Asterisk (usando o FreePBX) e preciso identificar todos os números que terminam com um padrão específico.

Isso é necessário para fins de roteamento, ou seja, para descobrir se eles vêm de um tronco de saída ou de um telefone interno.

Por exemplo, o número local 777777 pode aparecer como 777777, 01222777777, 441222777777, 00441222777777 ou +441222777777.

Algumas buscas não me ajudaram a descobrir. Como isso pode ser feito?

    
por Neil Townsend 19.04.2015 / 22:22

1 resposta

2

Se você trabalha com o FreePBX, provavelmente precisará entrar em segundo plano e adicionar um contexto como abaixo em /etc/asterisk/extensions_custom.conf

[check-ending]
exten => _!,1,GotoIf($[${EXTEN:-6} = 777777]?gotcha)
exten => _!,n,Goto(inbound)
exten => _!,n,Hangup()
exten => _!,n(gotcha),Goto(inbound-from-777777)
exten => _!,n,Hangup()
exten => h,1,Hangup()

Agora, se houver 6 setes no final, a chamada será direcionada para gotcha e será redirecionada para de entrada a partir de 777777 , caso contrário ela será enviada através do plano de discagem e será redirecionado para entrada .

Em seguida, execute asterisk -x "dialplan reload" para carregar a nova configuração no asterisco. Depois, na interface do usuário, você terá que definir o contexto check-ending como um receptor de chamadas para o tronco (como faz normalmente).

    
por 23.04.2015 / 06:26