將 Bandwidth SIP 中繼連接到 Wixzel Voice
若要在 Bandwidth 號碼上執行 AI 語音代理,請將您的 Bandwidth SIP 中繼連接到 Wixzel Voice:將中繼回傳的 platform_ip 加入 Voice IP addresses / DNS hosts on a location,讓外撥通話被接受,並將 Origination 設為 它的 origination_uri,讓來電能夠抵達。Bandwidth 會繼續以您的費率向您收取線路費用;Wixzel Voice 則從預付餘額中按秒收取語音引擎的費用。
最後更新於
發布於
Bandwidth 是電信業者;Wixzel Voice 是在其上執行代理的語音 AI API。兩者透過標準 SIP 協同運作。Bandwidth 是其所有者的商標,Wixzel Voice 與 Bandwidth 沒有關聯,也未獲得 Bandwidth 的背書。
開始之前需要準備什麼?
- Bandwidth 帳號,以及中繼的主機和憑證。
- 一個您在 Bandwidth 擁有的電話號碼,並已附加到該中繼。Wixzel Voice 不販售號碼,也不提供號碼移轉。
- 一把 Wixzel Voice API 金鑰和一些預付點數。最低儲值金額為 $5;沒有免費方案。
- Wixzel Voice 預設每個帳號可同時進行 5 通通話,可依需求提高;網頁和應用程式工作階段也計入同一個上限。
如何在 Wixzel Voice 中建立 Bandwidth 中繼?
Bandwidth 指派給您 location 的 termination 位址。設定指南沒有列出 Bandwidth 的主機,請從 Bandwidth App 複製。
curl https://api.voice.wixzel.com/v1/sip-trunks \
-H "Authorization: Bearer $WIXZEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Bandwidth",
"host": "<the SIP host Bandwidth gives you>",
"transport": "udp"
}'如果 Bandwidth 以憑證而非 IP 進行驗證,請在 body 中加入 username 和 password。密碼會加密儲存,API 之後也不會再回傳。回應中包含 platform_ip 和 origination_uri:下一步需要這兩個值。
要在 Bandwidth 設定什麼?
| 設定 | Bandwidth 的名稱 | 值 |
|---|---|---|
| 允許來自 Wixzel Voice 的通話 | Voice IP addresses / DNS hosts on a location | 187.126.120.231 |
| 將來電送到 Wixzel Voice | Origination | sip:187.126.120.231:5090 |
兩個值都以當下為準:請從 GET /v1/sip-trunks 讀取 platform_ip 和 origination_uri,不要從頁面上複製。接著用 POST /v1/phone-numbers 將每個號碼註冊到中繼,並設定 inbound_agent_id,讓代理接聽。 AI 電話通話 API 逐步說明中有這些請求,Bandwidth 的完整設定步驟則逐一說明主控台中的每個欄位。
在 Bandwidth 上會出什麼問題?
- Bandwidth 不支援 SIP REGISTER,因此在這裡固定 IP 不是選項而是必要:IP 驗證或上述的 network bridge 憑證,是中繼唯一能運作的方式。
- Bandwidth 會從多個 proxy 發送訊令。請允許它為您所在區域列出的每一個位址,而不只是第一個;否則從第二個 proxy 抵達的通話會間歇性地被拒絕,這比明確的失敗難診斷得多。
為什麼透過 Bandwidth 的通話沒有接通?
被 Bandwidth 拒絕的通話會帶有 status: "failed"、failure_code(電信業者回傳的 Q.850 原因碼),以及說明該怎麼處理的 failure_reason,而且不會產生任何費用。 所有失敗代碼、所有拒絕原因,以及如何為中繼除錯都在電信業者頁面上。
透過 Bandwidth 的 AI 通話費用是多少?
Bandwidth 以您的費率向您收取線路費用;Wixzel Voice 只收取語音引擎的費用,依實際用量按秒計費,從 gemini-live 的每接通分鐘 $0.0491,到 deepgram-agent 的 $0.1851。 每個引擎的價格。
常見問題
Bandwidth 搭配 Wixzel Voice 時支援 SIP 註冊嗎?
platform_ip 加入 location 的 Voice IP addresses。另一個做法是 Bandwidth 的 SIP Authentication(network bridge),將使用者名稱和密碼填入中繼,並將 auth_realm 設為 Bandwidth 提供的 realm。為什麼有些 Bandwidth 通話被拒絕,有些卻不會?
其他電信業者
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。
Virtual SIP Trunking (vSIP),適用於印度號碼,透過 TCP。將平台 IP 以 ACL 對應到中繼,並將 Destination URI 指向平台的 TCP 連接埠以接收來電。
以每條中繼專屬的 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,並讓號碼格式和傳輸協定一致。
中繼的兩個部分如何運作、所有失敗代碼,以及每份電信業者指南,都在同一頁。

