Tunneling IAX2 VoIP à travers un tunnel SSH
Juste pour les coups de pied, j'ai essayé de connecter deux serveurs Asterisk à travers un tunnel SSH pour passer des appels cryptés via IAX2 partir BOX1 d'BOX2. Il a travaillé, mais la qualité sonore est laide et la nature de l'UDP-FIFO convertir le trafic en trafic TCP a donné des résultats étranges. Mais, après tout j'ai beaucoup appris à le faire ....
Ce que nous devons:
- 2 boîtes Asterisk
- Racine sur BOX2
- Chut
- Socat
Ce que j'ai fait:
Connectez les deux boîtes avec un SSH port-forwarding pour obtenir les appels via Internet. Convertir le trafic UDP IAX2 d'entrer en Box1s Asterisk avec socat TCP, UDP, car ne supporte pas le tunnel SSH. Envoyez les données à travers le tunnel TCP. Ramassez de l'autre côté avec socat et la reconvertir en UDP. Flux des données UDP en l'astérisque cible.
Comment j'ai fait:
Encadré 1:
contexte pour se nourrir d'appels sortants dans notre convertisseur de socat:
exten => 3,1, Dial (IAX2/user: pass@127.0.0.1: 10000 / 1)
mise en place socat:
socat udp4 listes: 10000, reuseaddr, fourche tcp: 127.0.0.1:10001
mise en place de notre tunnel ssh:
ssh-l root @ box2 10001:127.0.0.1:10000
Box2:
Mise en place socat de ramasser les flux TCP du tunnel et de le transmettre à asterisk:
socat TCP4-écouter: 10000, reuseaddr, fourchette UDP: 127.0.0.1:4569
iax.conf:
[Général]
bindport = 4569
bindaddr = 0.0.0.0
disallow = all
allow = ulaw
allow = alaw
[Encadré 1]
type = peer
username = utilisateur
secret = passage
auth = plaintext
context = IAX-tunnel
contexte des pairs = IAX-tunnel
admissible = oui
du tronc = oui
Le contexte IAX tunnel juste jouer un bip:
; IAX tests
[IAX-tunnel]
exten => 1,1, la réponse ()
exten => 1,2, Lecture (bip)
exten => 1,3, Raccrocher ()
Régalez-vous ...

