Tunelowanie IAX2 VoIP thru tunelu SSH
Tylko dla kopnięć, starałem się połączyć dwa Asterisk serwery thru tunel SSH aby umieścić zaszyfrowane rozmowy przez IAX2 z box1 do Box2. Udało się, ale jakość dźwięku jest brzydki i natura FIFO konwersji ruchu UDP na ruch TCP dał jakieś dziwne wyniki. Ale przecież wiele się nauczyłem to robi ....
Co potrzebujemy:
- 2 Asterisk pudełka
- Root na Box2
- Ssh
- Socat
Co zrobiłem:
Połączyć oba pola z SSH port-spedycyjnej w celu uzyskania połączenia thru Internetu. Konwersja IAX2 ruch UDP pochodzący z Box1s do Asterisk z socat TCP, UDP, ponieważ nie obsługuje SSH tunelowania. Wyślij TCP danych thru tunelu. Podnieś ją na drugiej stronie socat i przekonwertować go do UDP. Nakarm dane UDP do gwiazdką docelowej.
Jak to zrobiłem:
Box1:
kontekst karmić na połączenia wychodzącego do naszego konwertera socat:
exten => 3,1, Dial (IAX2/user: pass@127.0.0.1: 10000/1)
utworzenie socat:
socat udp4 Posłuchaj: 10000, reuseaddr, widelec tcp: 127.0.0.1:10001
konfigurowania naszego tunelu SSH:
ssh-L root @ Box2 10001:127.0.0.1:10000
Box2:
Konfigurowanie socat odebrać strumień TCP z tunelu i przekazać go do gwiazdką:
socat tcp4-listen: 10000, reuseaddr, widelec UDP: 127.0.0.1:4569
iax.conf:
[General]
bindport = 4569
bindaddr = 0.0.0.0
disallow = all
allow = ulaw
allow = alaw
[Box1]
type = wzajemnej
username = user
secret = hasło
auth = plaintext
kontekst = IAX-tunel
kontekst wzajemnej = IAX-tunel
zakwalifikować = Tak
tułów = yes
Kontekst IAX tunel po prostu grać sygnał dźwiękowy:
; Badania IAX
[IAX-tunel]
exten => 1,1, Odpowiedź ()
exten => 1,2, Odtwarzanie (dźwięk)
exten => 1,3, Hangup ()
Ciesz się ...

