ブログ一覧
← ブログ一覧に戻る

AsteriskとRetell AIを接続する方法|日本番号を音声AIへ中継する構成

何のために必要か

日本の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に安全にブリッジすることができます。

導入時に何を確認するか

  1. トランスポートの設定: Retell AIとの接続にはパケットサイズ制限を避けるため TCPトランスポート を使用します。国内回線側は一般的に UDPトランスポート が使用されます。
  2. NAT越え(クラウド環境): AWS EC2などの環境にAsteriskを置く場合、RTP(音声データ)が迷子にならないよう、グローバルElastic IPアドレスを external_media_addressexternal_signaling_address に必ずマッピングします。
  3. セキュリティ設計: 不正発信やポートスキャン攻撃を防ぐため、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)で検証・上書きします。

日本番号の接続可否を相談する

現在利用している電話番号やSIPアカウントを、Retell AIへ接続できるか無料で接続適合性を診断します。

日本番号の接続可否を相談する