2014-09-23 47 views
1

當SIP呼叫結束時,發送到我的應用的最後一個請求會再次發送,稍有修改,但Twilio文檔將指示的參數將包含在內在調用StatusCallback POST。這是非常奇怪的,因爲我沒有配置StatusCallback URL!即使沒有配置StatusCallback URL,通話結束時SIP呼叫POSTing StatusCallback

所以...一個例子。環境(所有網址都HTTPS):

  • Twilio SIP端點:test-myaccount.sip.twilio.com
  • 語音URL(POST):myapp.myserver.com/twilioapp
  • 後備網址(GET):s3.amazonaws.com/somebucket/twilioerror.xml(無法想象這是相關的,但我提到它的情況下,它提示任何人關閉以奇怪的副作用)
  • StatusCallback URL(POST):空白

調用流程:

1a。打電話給SIP終端製造 - Twilio發送請求TwiML應用服務器:

POST myapp.myserver.com/twilioapp 

1B。 TwiML應用響應:

<?xml version="1.0" encoding="UTF-8"?> 
<Response> 
    <Say language="en-US" voice="alice">May the fourth be with you!</Say> 
    <Redirect>myapp.myserver.com/twilioapp/secondstep?actualdate=20140503</Redirect> 
</Response> 

2A。 Twilio播放TTS語音,然後回發到應用服務器(每個重定向動詞):

POST myapp.myserver.com/twilioapp/secondstep?actualdate=20140503 

2b中。該應用程序服務器響應:

<?xml version="1.0" encoding="UTF-8"?> 
<Response> 
    <Say language="en-US" voice="alice">Whoops, wrong date. Goodbye!</Say> 
    <Hangup /> 
</Response> 

3A。下面是我看到的funkiness - 然後Twilio正在發佈另一個請求:

POST myapp.myserver.com/twilioapp/secondstep/?actualdate=20140503 

注(a)該POST是到Twilio發佈到和(b)尾隨斜線贏得最後的網址在querystring params之前被添加到URL中。

PARAMS了與該最後POST發送:

AccountSid: <MyAccountSid> 
Caller: sip:[email protected] 
CallStatus: completed 
Duration: 1 
Called: sip:test-myaccount.sip.twilio.com 
To: sip:test-myaccount.sip.twilio.com 
CallDuration: 22 
CallSid: <TheCallSid> 
From: sip:[email protected] 
Direction: inbound 
ApiVersion: 2010-04-01 

更奇怪的:期限與CallDuration包括在post數據 - 持續時間在(四捨五入)分鐘,CallDuration在幾秒鐘。

所以 - 我不知道發生了什麼。我有一張支持票,但幾天沒有收到回覆;當我在等待Twilio代碼spelunkers工作的時候想到了他的魔法,我會平住社區,看看其他人是否也注意到了這種行爲。

回答

0

Twilo這裏的福音傳教士。

我剛剛與我們的一位客戶支持團隊成員進行了交談,看起來我們有針對此行爲報告的問題。她應該儘快與您聯繫,爲您提供更詳細的更新。

如果我們確定瞭解決辦法,我們將確保使用這些詳細信息更新此SO帖子。

希望有所幫助。

+0

有沒有更新?我與twilio的最後一次對話讓他們告訴我只需要爲StatusCallback URL添加一些內容,以便虛幻的StatusCallback POSTs不會打到我自己的服務器上:/不完全理想...... – 2014-12-17 22:07:25

+0

嘿羅伯特。您是否收到了我們客戶支持團隊的某封電子郵件?如果你這樣做,我會建議回到他們身邊,他們可以給你一個更新。 – 2014-12-18 17:57:30