SSHトンネル経由でIAX2 VoIPをトンネリング
ちょうど蹴りのために、私はBOX1からBOX2にIAX2を経由して暗号化されたコールを発信するためにSSHトンネルを介して2つのアスタリスクのサーバーを接続しようとしました。 それはうまくいったが、音質は醜いとのTCPトラフィックにUDP -変換するトラフィックのFIFOの性質は、いくつかの奇妙な結果を与えた。 しかし結局、私はそれをやって多くのことを学びました....
我々は必要なもの:
- 2アスタリスク箱
- BOX2上ルート
- SSH
- socatの
私は何でした:
インターネットを介してコールを取得するためにSSHポートフォワーディングで両方のボックスを接続します。 UDPは、SSHトンネリングをサポートしていないため、socatのTCPとAsteriskのBox1sに入って来るからIAX2のUDPトラフィックを変換する。 TCPトンネルを経由してデータを送信する。 socatのと反対側でそれを拾うとUDPに戻ってそれを変換する。 ターゲットのアスタリスクにUDPのデータをフィード。
どのように私はそれをやった。
BOX1:
私たちのsocatのコンバータにアウトバウンドコールを餌にするためのコンテキスト:
exten => 3,1、ダイヤル(IAX2/user:pass@127.0.0.1:10000 / 1)
socatのを設定:
socatのudp4リスト:10000、reuseaddr、フォークTCP:127.0.0.1:10001
私たちのSSHトンネルを設定:
sshの- Lルート@ BOX2 10001:127.0.0.1:10000
BOX2:
トンネルからのTCPストリームをピックアップし、アスタリスクにそれを渡すためにsocatの設定:
socatの-を聞くtcp4:10000、reuseaddr、フォークUDP:127.0.0.1:4569
iax.conf:
[一般]
bindport = 4569
bindAddrに= 0.0.0.0
禁止する=すべて
= ULAWを許可する
= ALAWを許可する
[BOX1]
タイプ=ピア
ユーザ名=ユーザ
秘密=パス
AUTH =平文
コンテキスト= IAX -トンネル
ピアコンテキスト= IAX -トンネル
はい=を修飾する
トランク=はい
ただビープ音を再生するトンネルのIAXコンテキスト:
; IAXテスト
[IAX -トンネル]
exten => 1,1、回答()
exten => 1,2、再生(ビープ音)
exten => 1,3、回線切断()
楽しむ...

