何のために必要か
日本のIP電話番号(050や03)は多くの場合、「SIP REGISTER(クライアント登録方式)」で動作します。一方、海外の音声AIプラットフォーム「Retell AI」は、「SIP Trunking(静的IP/ドメイン接続方式)」を要求します。
このプロトコルのギャップを仲介し、日本番号宛ての着信をAIエージェントに繋ぎ、逆にAIからの発信要求を国内の電話回線網へ送る「ブリッジ役」として、オープンソースPBXである Asterisk が不可欠になります。
どのような企業に向くか
- 自社で既にブラステルなどの050番号を保有しており、これを変えずにAI電話化したい店舗・企業。
- 複数の050番号を管理しており、ダッシュボードから柔軟に音声AIエージェントに紐づけたい開発会社。
- クラウド上にセキュアでスケーラブルな自社専用の音声AI接続ゲートウェイを構築したい事業者。
直接接続との違い
直接接続は、通信回線キャリアが最初から「Elastic SIP Trunking」を提供している場合にのみ可能です。しかし、国内キャリアとの直接Trunk接続は、高額な専用回線契約や固定IPアドレスの縛りがあり、導入の障壁が高いです。
Asteriskを中継させることで、月額数百円から維持できる一般的な050回線アカウントを利用して、最先端の海外音声AIに安全にブリッジすることができます。
導入時に何を確認するか
- トランスポートの設定: Retell AIとの接続にはパケットサイズ制限を避けるため TCPトランスポート を使用します。国内回線側は一般的に UDPトランスポート が使用されます。
- NAT越え(クラウド環境): AWS EC2などの環境にAsteriskを置く場合、RTP(音声データ)が迷子にならないよう、グローバルElastic IPアドレスを
external_media_addressやexternal_signaling_addressに必ずマッピングします。 - セキュリティ設計: 不正発信やポートスキャン攻撃を防ぐため、RTP/SIPポートに対するIPアドレス制限(ACL)や認証設定を施します。
よくあるトラブルと解決策
1) 電話は応答するが「無音」または「片通話」になる
通話の開始制御(SIP)は成功しているが、音声波形データ(RTP)のルーティングが失敗しています。Asteriskがパケット内にプライベートIPアドレスを埋め込んで送ってしまっているのが典型的な原因です。pjsip.conf でNAT設定と対称RTP(rtp_symmetric=yes)を有効にし、AWSセキュリティグループでRTP用UDPポート(10000-20000)を開放します。
2) SIP/2.0 513 Message Too Large で切断される
接続時のコーデック候補やヘッダーが多すぎて、パケットがUDPの最大制限を超えて破棄されているエラーです。Retell AI用のエンドポイントトランスポートを TCPに変更する ことで完全に解決します。
3) 相手の電話に発信者番号が表示されない
AIからの発信時に「非通知」や別番号になる場合、国内キャリアに発信要求を送る際、Fromヘッダーに契約済みの正しいユーザーID/電話番号が設定されているかをダイアプラン(extensions.conf)で検証・上書きします。