Tunneling IAX2 VoIP através de um túnel SSH
Apenas para os chutes, eu tentei ligar dois servidores Asterisk através de um túnel SSH para fazer chamadas criptografadas através de IAX2 box1 para box2. Funcionou, mas a qualidade do som é feio ea natureza FIFO de UDP-converter tráfego em tráfego TCP deu alguns resultados estranhos. Mas depois de tudo o que eu aprendi muito fazendo isso ....
O que nós precisamos:
- 2 caixas de Asterisk
- Root em box2
- Ssh
- Socat
O que eu fiz:
Conectar as duas caixas com um port-forwarding SSH para obter as chamadas através da internet. Converter o tráfego UDP IAX2 entrem em Box1s Asterisk com socat TCP, UDP, porque não suporta SSH tunneling. Enviar os dados através do túnel TCP. Buscá-lo no outro lado com socat e convertê-lo de volta para UDP. Alimentar os dados UDP para o asterisco alvo.
Como eu fiz:
Box1:
contexto para se alimentar de chamadas outbound em nosso conversor socat:
exten => 3,1, Dial (IAX2/user: pass@127.0.0.1: 10000 / 1)
criação socat:
socat udp4 listas: 10000, reuseaddr, garfo tcp: 127.0.0.1:10001
criação de nosso túnel ssh:
ssh-l root @ box2 10001:127.0.0.1:10000
Box2:
Criação socat para pegar o fluxo TCP do túnel e passá-lo para asterisco:
socat tcp4-listen: 10000, reuseaddr, garfo UDP: 127.0.0.1:4569
iax.conf:
[General]
bindport = 4569
bindaddr = 0.0.0.0
disallow = all
allow = ulaw
allow = alaw
[Box1]
type = peer
username = usuário
secret = pass
auth = plaintext
context = iax túnel
contexto de pares = iax túnel
qualificar = yes
trunk = yes
O contexto iax túnel jogando apenas um bip:
; IAX testes
[IAX túnel]
exten => 1,1 Resposta, ()
exten => 1,2, Playback (beep)
exten => 1,3, Hangup ()
Enjoy ...

