pjsip設定でNAT越えしてスマホを接続しようとしています

488 views
Skip to first unread message

岩澤博照

unread,
May 9, 2023, 10:35:56 PM5/9/23
to 日本Asteriskユーザ会
申し訳ありません
某ちゃんねるにて質問してましたが、
書き込み不能となり、こちらに移ってきました

ラズパイにRasPBXを導入しました。
Current Asterisk Version: 20.2.1
FreePBX 16.0.40.2 'Raspberry Pi'

HGWにて、ひかり電話ホームを使用しており
Asteriskのトランク設定にてHGWと接続しました。
内線は2回線の設定を行っています。
端末はiPhone(softphone Or agephone)です
HGWはひかり電話の使用のみとしていて
HGW配下にルータを設置(RTX1210)しスマホを
NAT越え接続しようとしています。
IPOE接続、IPv4 over IPv6でのIPv4接続です。

現在は内線(LAN内接続端末2台)同士の会話確認が出来ていて
内線にLAN外から接続した(NAT越え)場合の動作確認中です。

内線をLAN内接続からインターネット(LAN外)接続に切り替えます
端末、Asterisk共に接続完了の状態になります

まずLAN外端末で*43しますが何も聞こえない状態です。

LAN内の端末とLAN外の端末で内線接続すると
LAN外端末からLAN内端末へ声は届きますが
LAN内端末からLAN外端末への声が届きません

RTPデバッグにてLAN内外端末の内線会話を確認すると
Got  RTP packet from 49.104.4.139:25368 (type 03, seq 000714, ts 4229191239, len 000033)
Sent RTP packet to   192.168.88.20:4000 (type 00, seq 029292, ts 4229191232, len 000160)
Got  RTP packet from 192.168.88.20:4000 (type 00, seq 015030, ts 202400, len 000160)
Sent RTP packet to   49.104.4.139:25368 (type 03, seq 023270, ts 202400, len 000033)

LAN内192.168.88.20からLAN外49.104.4.139(IP確認済)へ送信出来ているように見えます。
ルータ(RTX1210)の出力フィルタは全ポートPASSとしているので
なぜ、音声がLAN外端末に伝わらないのか?わかりません。

端末側の問題でしょうか?
恐れ入りますが、ご教示いただけると助かります。

pjsip.confを添付いたします。よろしくお願いいたします。
pjsip.conf

mac....@gmail.com

unread,
May 11, 2023, 3:07:21 AM5/11/23
to 日本Asteriskユーザ会
問題はネットワークです。
IPoE接続をしている時点で、RTXの上段にNATがいます。
キャリアグレードNAT(CGN)と呼ばれるISPが保有しているNATや、HGWに内蔵されているCEルーターです。
つまり、現状の状態で2重NATになっています。

IPoEの方式はDS-LiteとMAP-Eがあり契約ISPによって変わります。
DS-Liteだとポート開放ができないため、何をやっても無駄です。


もしも、幸運にもMAP-EのISPだったら、HGWのCEルーター機能を無効化し、

次にRTXからMAP-Eトンネルを掘ってやり、

さらにRTXでSIP-NATを設定してやればなんとかなるかも知れません。

あと、MAP-Eは256ユーザーで共有するので240ポートしか使えませんし、ポートも連続してないです。
このため、SIPポート5060やRTPポートもずらす必要が出てきます。

書いている本人も、かなり茨の道だと思っています。
頑張ってください。

2023年5月10日水曜日 11:35:56 UTC+9 岩澤博照:

りょうつ

unread,
Jul 12, 2023, 10:08:01 PM7/12/23
to 日本Asteriskユーザ会
私は HGW+RTX830+Asterisk 13 の環境ですが、OCN光 で IPv6 は IPoE、IPv4 は MAP-E と PPPoE(動的IP)を併用しています。
スマホのデータ通信も OCNモバイルONE で IPv4 のみの対応であるため、SIP 関係を PPPoE 側に条件ルーティングしてやることで、IPv4 接続で上手く動作しています。音声・ビデオ通話ともに、です。
ISP によっては、1契約で IPv4 IPoE(OCN光の場合はMAP-E方式)と PPPoE の同時使用ができますし、必要なら別途PPPoE契約を結べば、RTX1210 で同時利用の設定ができます。
前の方も仰っていたように、全ポートが開放される契約でもない限り、IPv4 over IPv6 経由で SIP/RTP を利用するのは、勧めできません。
RTX 側で LUA を使って、ルーティング条件や DNAT設定を動的に生成することはできると思いますが、動作が安定するまでには、かなりの試行錯誤を要すると思います。 
せっかく RTX のようなまぁまぁ高機能なルータをお持ちなのですから、さっさと PPPoE を使って試されることを推奨します。
外部からは IPv6 で繋ぐという手もあります。
あと、SIP の外部解放はやめた方が良いです。Let's Encrypt などのサーバ証明書発行サービスを使って SIP-TLS/sRTP 化すれば良いだけです。 

RTX の 静的DNS登録機能を利用すれば、DDNS(RTX なら Netvolante DNS をお使いかと)で登録するSIPサーバ名に対して、LAN内からは AsteriskサーバのIPアドレスを返すようにできるので、SIPフォンの設定を変えずに(またはプロファイル切替をせずに)、自宅内でも外出先でも意識せずに自宅の内線電話としてSIPフォンが使えるようになりますよ。

IPv4 PPPoE や IPv6  に変えたとしても、Asterisk 側での RTPソースポートの範囲指定、RTX 側での Filter や NAT 設定など、いろいろと設定が必要になりますので、頑張ってください。

2023年5月11日木曜日 16:07:21 UTC+9 mac....@gmail.com:

岩澤博照

unread,
Oct 25, 2023, 9:49:30 AM10/25/23
to 日本Asteriskユーザ会
返信いただいた皆様へ

返信、遅くなり申し訳ありません。
皆様からのアドバイスを元に考えを改めました(笑)

CEルーター機能を無効にしたHGW(PR-400KI)の
IPv4 PPPoEを使用しインターネット接続
ras-pbxをHGWのLANポートに接続し各VOIP設定を行いました。

結果、りょうつ様のように自宅・外出先にて
自宅の内線電話としてSIPフォンが使えるようになりました。
ありがとうございました。

まずは御礼まで

2023年7月13日木曜日 11:08:01 UTC+9 りょうつ:
Reply all
Reply to author
Forward
0 new messages