跳到主要內容
Twilio 整合

將 Twilio SIP 中繼連接到 Wixzel Voice

若要在 Twilio 號碼上執行 AI 語音代理,請將 Twilio Elastic SIP Trunking 連接到 Wixzel Voice:將中繼回傳的 platform_ip 加入 IP Access Control List,讓外撥通話被接受,並將 Origination SIP URI 設為 它的 origination_uri,讓來電能夠抵達。Twilio 會繼續以您的費率向您收取線路費用;Wixzel Voice 則從預付餘額中按秒收取語音引擎的費用。

最後更新於

發布於

Twilio 是電信業者;Wixzel Voice 是在其上執行代理的語音 AI API。兩者透過標準 SIP 協同運作。Twilio 是其所有者的商標,Wixzel Voice 與 Twilio 沒有關聯,也未獲得 Twilio 的背書。

Twilio
Wixzel Voice
您的代理

開始之前需要準備什麼?

  • 具備 Elastic SIP Trunking 的 Twilio 帳號,以及中繼的主機和憑證。
  • 一個您在 Twilio 擁有的電話號碼,並已附加到該中繼。Wixzel Voice 不販售號碼,也不提供號碼移轉。 如果您從主控台連接 Twilio 帳號,也可以從「電話號碼」頁面在該帳號上購買號碼。Twilio 會以其價格計費。
  • 一把 Wixzel Voice API 金鑰和一些預付點數。最低儲值金額為 $5;沒有免費方案。
  • Wixzel Voice 預設每個帳號可同時進行 5 通通話,可依需求提高;網頁和應用程式工作階段也計入同一個上限。

如何在 Wixzel Voice 中建立 Twilio 中繼?

Twilio 在中繼上顯示的 Termination SIP URI,也就是主控台中同一個 your-domain.pstn.twilio.com。

cURL
curl https://api.voice.wixzel.com/v1/sip-trunks \
  -H "Authorization: Bearer $WIXZEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Twilio",
    "host": "your-domain.pstn.twilio.com",
    "transport": "udp"
  }'

如果 Twilio 以憑證而非 IP 進行驗證,請在 body 中加入 username 和 password。密碼會加密儲存,API 之後也不會再回傳。回應中包含 platform_ip 和 origination_uri:下一步需要這兩個值。

要在 Twilio 設定什麼?

設定Twilio 的名稱值
允許來自 Wixzel Voice 的通話IP Access Control List187.126.120.231
將來電送到 Wixzel VoiceOrigination SIP URIsip:187.126.120.231:5090

兩個值都以當下為準:請從 GET /v1/sip-trunks 讀取 platform_ip 和 origination_uri,不要從頁面上複製。接著用 POST /v1/phone-numbers 將每個號碼註冊到中繼,並設定 inbound_agent_id,讓代理接聽。 AI 電話通話 API 逐步說明中有這些請求,Twilio 的完整設定步驟則逐一說明主控台中的每個欄位。

在 Twilio 上會出什麼問題?

  • Twilio 依來源 IP 授權外撥通話,其他來源一律立即拒絕。IP ACL 缺少項目時,會在撥出後約一秒立即被拒絕,failure_code 為 21(通話被拒絕)。不會響鈴,也不會逾時。
  • 沒有 Origination URI 時外撥仍可運作;來電則不行,而且不會有任何錯誤訊息。號碼已附加、代理已指派,但電話就是永遠不會轉到代理。
  • Twilio 要求撥打的號碼前面有 +,因此請將 send_plus 保持預設值 true。

為什麼透過 Twilio 的通話沒有接通?

在 Twilio 上最常見的失敗代碼:

failure_code電信業者回報意思處理方式
21403 / 407電信業者在嘗試撥打號碼之前就直接拒絕了通話。依可能性排序:電信業者帳號已停權、已關閉或餘額不足;中繼的使用者名稱或密碼錯誤;platform_ip 未加入允許清單;或來電顯示號碼未在帳號上授權。請先檢查電信業者的 Dashboard。

被 Twilio 拒絕的通話會帶有 status: "failed"、failure_code(電信業者回傳的 Q.850 原因碼),以及說明該怎麼處理的 failure_reason,而且不會產生任何費用。 所有失敗代碼、所有拒絕原因,以及如何為中繼除錯都在電信業者頁面上。

透過 Twilio 的 AI 通話費用是多少?

Twilio 以您的費率向您收取線路費用;Wixzel Voice 只收取語音引擎的費用,依實際用量按秒計費,從 gemini-live 的每接通分鐘 $0.0491,到 deepgram-agent 的 $0.1851。 每個引擎的價格。

常見問題

為什麼我的 Twilio 通話在一秒內就被拒絕?

通話在約一秒內失敗、failure_code 為 21 且沒有響鈴,表示 Twilio 在路由之前就拒絕了它。在 Twilio 上,這幾乎都是 Termination IP Access Control List 的問題:將 187.126.120.231(您的中繼回傳的 platform_ip)加入其中。若通話被接受、幾秒後才失敗,則是另一個問題:路由、號碼格式或帳號權限。

可以用 Twilio Credential List 取代 IP ACL 嗎?

可以。將 Credential List 的使用者名稱和密碼填入 Wixzel Voice 中繼的 username 和 password 欄位,它們就會取代 IP 驗證。密碼會加密儲存,API 也不會再回傳它。

其他電信業者

建立您的第一個語音代理