Este simulador servirá para estudar o funcionamento de configuração de entroncamentos SIP e IAX com seu servidor Asterisk. Ele dispõe 2 operadoras (uma SIP e outra IAX) que requerem autenticação e que possuem alguns números para teste retornando diferentes resultados (atendido, não atendido, não atendido, etc).
Recomendações
- O simulador pode ser instalado dentro da mesma máquina onde o seu Asterisk está hospedado, ou fora. Caso esteja em ambiente de produção, é recomendado instalá-lo fora, para não impactar nenhum serviço, porém em ambiente de testes/desenvolvimento recomenda-se instalá-lo na mesma máquina onde o asterisk se encontra para evitar problemas de firewall como bloqueio de portas.
Requisitos
- Docker >= 20.10.12
- Docker-compose >= 1.29.2
- Git >= 2.38.1
- Make >= 4.3
Debian/Ubuntu:
apt update ; apt install git make docker docker-compose -y
Centos 7/Fedora:
yum install git make docker docker-compose -y
systemctl enable --now docker
Arquitetura
Ambientes
Recursos
- É possível simular entroncamento com 2 operadoras Voip: uma SIP (operadora 1) e outra IAX (operadora 2).
- É possível simular discagem para números externos. 1 deles (999999991) pode ser utilizado através de um softphone autenticado.
- Status retornados por alguns números:
Número | Status |
---|---|
11987878787 | Toca por 15 segundos e não atende |
08007778080 | A chamada é atendida por uma URA |
12987878786 | Número que não existe |
12987878785 | Caixa postal |
999999991 | Ocupado (se discado pela operadora 1), ou chama na conta sip configurada (se discado pela operadora 2) |
8830348888 | Atende a chamada por 3 minutos |
18002446227 | Atende a chamada por 3 minutos (Chamada DDI - EUA) |
* | Demais números retornam como ocupado |
- Credenciais da operadora 1
Campos | Valores |
---|---|
Host | sip.operadora1.com.br |
Porta | 5080/UDP |
Usuário | operadora-1 |
Senha | dd22c3a768b356e974613b2ea3d93681 |
Codecs | G711a,G711u |
Número principal (bina) | 40013434 |
Faixa DDR | 3400-3499 |
- Credenciais da operadora 2
Campos | Valores |
---|---|
Host | iax.operadora2.com.br |
Porta | 4570/UDP |
Usuário | operadora-2 |
Senha | 99aa12e79ab46d65161c1fad83f4945a |
Codecs | G711a,G711u |
Número principal (bina) | 30014444 |
Faixa DDR | 4400-4499 |
- Credenciais da conta SIP 999999991
Campos | Valores |
---|---|
Porta | 5080/UDP |
Usuário | 999999991 |
Senha | 6198997e998d11edad18576bf62a8c66 |
Configuração do Voip Carrier Simulator
1 - Baixar o projeto:
git clone https://github.com/beneditomarques/voip-carrier-simulator.git
cd voip-carrier-simulator
2 - Configurar o arquivo /etc/hosts da máquina onde está instalado o servidor Asterisk:
- Caso o simulador esteja na mesma máquina que o Asterisk:
echo "127.0.0.1 sip.operadora1.com.br" >> /etc/hosts
echo "127.0.0.1 iax.operadora2.com.br" >> /etc/hosts
- Caso o simulador esteja em outra máquina (neste exemplo o IP 192.168.100.200 é o da outra máquina):
echo "192.168.100.200 sip.operadora1.com.br" >> /etc/hosts
echo "192.168.100.200 iax.operadora2.com.br" >> /etc/hosts
3 - Realizar o build da imagem:
make build ver=1.0.0
4 - Inicializar o container:
make up
Configuração no Asterisk
Configuração para diversos ambientes:
Obs: Ao terminar os testes basta parar o container com o comando make down
.
Teste com BINA
- Ao enviar uma chamada para o número 999999991, você deverá enviar a chamada somente pela OPERADORA 2 (IAX) e setar a bina de acordo com o ranga DDR da operadora. Caso a bina enviada seja diferente do range, o simulador irá setar a bina padrão da operadora (30014444):
Limitações
-
Simulador deve estar na mesma máquina onde o Asterisk está sendo executado ou em uma máquina que esteja dentro da mesma rede local.
-
Para que o container inicialize normalmente, é necessário que as portas abaixo não estejam em uso na máquina host:
- 50000-50008/UDP
- 5080/UDP
- 4570/UDP