將 Exotel SIP 中繼連接到 Wixzel Voice
若要在 Exotel 號碼上執行 AI 語音代理,請將 Exotel Virtual SIP Trunking (vSIP) 連接到 Wixzel Voice:將中繼回傳的 platform_ip 加入 ACL mapped to the trunk,讓外撥通話被接受,並將 Destination URI 設為 187.126.120.231:5091,讓來電能夠抵達。也就是平台的 TCP 連接埠,因為 Exotel 不會將 UDP 送到 origination_uri 中的連接埠。Exotel 會繼續以您的費率向您收取線路費用;Wixzel Voice 則從預付餘額中按秒收取語音引擎的費用。
最後更新於
發布於
Exotel 是電信業者;Wixzel Voice 是在其上執行代理的語音 AI API。兩者透過標準 SIP 協同運作。Exotel 是其所有者的商標,Wixzel Voice 與 Exotel 沒有關聯,也未獲得 Exotel 的背書。
開始之前需要準備什麼?
- 具備 Virtual SIP Trunking (vSIP) 的 Exotel 帳號,以及中繼的主機和憑證。
- 一個您在 Exotel 擁有的電話號碼,並已附加到該中繼。Wixzel Voice 不販售號碼,也不提供號碼移轉。
- 一把 Wixzel Voice API 金鑰和一些預付點數。最低儲值金額為 $5;沒有免費方案。
- Wixzel Voice 預設每個帳號可同時進行 5 通通話,可依需求提高;網頁和應用程式工作階段也計入同一個上限。
如何在 Wixzel Voice 中建立 Exotel 中繼?
Exotel 公布的 TCP 位址是 pstn.in4.exotel.com:5070。搭配 Wixzel Voice 時請使用 TCP:Exotel 不接受 UDP,而平台只透過 UDP 和 TCP 接收來電 SIP。
curl https://api.voice.wixzel.com/v1/sip-trunks \
-H "Authorization: Bearer $WIXZEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Exotel",
"host": "pstn.in4.exotel.com",
"port": 5070,
"transport": "tcp"
}'如果 Exotel 以憑證而非 IP 進行驗證,請在 body 中加入 username 和 password。密碼會加密儲存,API 之後也不會再回傳。回應中包含 platform_ip 和 origination_uri:下一步需要這兩個值。
要在 Exotel 設定什麼?
| 設定 | Exotel 的名稱 | 值 |
|---|---|---|
| 允許來自 Wixzel Voice 的通話 | ACL mapped to the trunk | 187.126.120.231 |
| 將來電送到 Wixzel Voice | Destination URI | 187.126.120.231:5091 透過 TCP |
尚未驗證。 透過 Exotel 的來電尚未經過端對端驗證。在將來電者導向您的 Exotel 號碼之前,請先自己撥打測試。
兩個值都以當下為準:請從 GET /v1/sip-trunks 讀取 platform_ip 和 origination_uri,不要從頁面上複製。接著用 POST /v1/phone-numbers 將每個號碼註冊到中繼,並設定 inbound_agent_id,讓代理接聽。 AI 電話通話 API 逐步說明中有這些請求,Exotel 的完整設定步驟則逐一說明主控台中的每個欄位。
在 Exotel 上會出什麼問題?
- Exotel vSIP 不接受 UDP,因此請讓中繼維持 TCP。傳輸協定不一致時,看起來就像電信業者不理您。
- Exotel 主要針對印度的號碼。在印度,尚未完成 KYC 的帳號(以及許多供應商要求的 DLT 註冊)即使餘額為正,每通外撥仍可能立即被掛斷。入口網站會顯示這些通話,但不一定會顯示原因。
為什麼透過 Exotel 的通話沒有接通?
在 Exotel 上最常見的失敗代碼:
| failure_code | 電信業者回報 | 意思 | 處理方式 |
|---|---|---|---|
| 102 | 408 | 電信業者未及時回應。 | 確認中繼的 host 和 port,以及電信業者是否接受來自 platform_ip 的 SIP。如果電信業者顯示通話已收到但從未接聽,請將 send_plus 設為 false。 |
被 Exotel 拒絕的通話會帶有 status: "failed"、failure_code(電信業者回傳的 Q.850 原因碼),以及說明該怎麼處理的 failure_reason,而且不會產生任何費用。 所有失敗代碼、所有拒絕原因,以及如何為中繼除錯都在電信業者頁面上。
透過 Exotel 的 AI 通話費用是多少?
Exotel 以您的費率向您收取線路費用;Wixzel Voice 只收取語音引擎的費用,依實際用量按秒計費,從 gemini-live 的每接通分鐘 $0.0491,到 deepgram-agent 的 $0.1851。 每個引擎的價格。
常見問題
為什麼我的 Exotel 中繼無法透過 UDP 連線?
transport: "tcp",並使用 pstn.in4.exotel.com 的連接埠 5070。Exotel 的 Destination URI 要指向哪裡?
187.126.120.231:5091。您中繼回傳的 origination_uri 指的是 UDP 連接埠 5090,而 Exotel 不會使用它;平台透過 5091 接收 TCP 上的 SIP。透過 Exotel 的來電尚未經過端對端驗證,因此在將來電者導向您的 Exotel 號碼之前,請先自己撥打測試。其他電信業者
Elastic SIP Trunking。將平台 IP 加入 Termination IP ACL 允許清單,並為來電設定 Origination SIP URI。
以 IP 驗證的 SIP Connection。將平台 IP 加入為授權位址、選擇來電區域,並讓傳輸協定一致。
Zentrunk。一個在 IP ACL 中加入平台 IP 的外撥中繼,以及一個 Primary URI 指向平台的獨立來電中繼。
Programmable SIP。在 SIP Dashboard 中將平台 IP 加入中繼的 ACL,並將來電送到 origination URI。
不支援 SIP REGISTER,因此必須使用固定 IP。將平台 IP 加入 location,分別設定 Termination 和 Origination,或使用 network bridge 憑證。
以每條中繼專屬的 SIP 網域作為主機,將平台 IP 加入中繼的 IP ACL,而「origination URI」的意思與 Twilio 上相反。
Saudi Arabia, ordered through Mobily Business sales and delivered over a private link. No one-step connect: your own SBC on the link relays calls, with G.711 A-law and a one-hour call cap.
各家的做法都相同:將平台 IP 加入允許清單、將來電目的地設為 origination URI,並讓號碼格式和傳輸協定一致。
中繼的兩個部分如何運作、所有失敗代碼,以及每份電信業者指南,都在同一頁。

