2016-04-27 98 views
1

我們的一位用戶(可能是偶然而非惡意地)將Lyft的SMS服務號碼作爲她的電話號碼。因此,我們的短信文本服務與Lyft的SMS文本服務進行循環交互。見下面的日誌: enter image description here檢測Twilio服務號碼以防止SMS響應循環

我不知道是否有一種方法來檢測這種機器對機器的SMS循環,並防止它發生。我們使用Twilio API爲我們的短信自動回覆系統和so does Lyft供電。

回答

3

只需對應用程序邏輯進行更改即可在一定數量的相同消息(在memcache中存儲每條消息的散列幾分鐘或類似內容)之後停止回覆。沒有可用於SMS消息的元數據允許您確定發件人是另一項自動化服務。

+0

謝謝pilsetnieks。正如Twilio提供的@ megan-speir所述,TwiML已經有一個內置的速率限制,超過該速率限制會導致API錯誤代碼14107. – Devy

2

您遇到以下:https://www.twilio.com/docs/api/errors/14107

計數器設置爲在對話中的每個傳出TwiML回覆(兩個數字之間)。當第一個答覆發生時,計數器從1開始。如果下一個答覆在先前答覆之後少於15秒發送,則計數器將變爲2.如果每個答覆少於15秒,則計數器將繼續,直到計數器超過20,其中Twilio將對發送的任何消息持續30秒並拋出此錯誤。

您可能會考慮使用Lookup API來嘗試檢測服務號碼,根據標準您可能會也可能不會成功。

我建議您嘗試一個this page示例請求和響應與問題的數量,並看看返回的參數,以決定是否可以在這種情況下有所幫助。

+1

號碼查找不會有幫助 - 它們會給實際的操作員帶來號碼屬於。即使Twilio自願提供他們實際使用該號碼的信息,也不會阻止Nexmo等其他消息服務的相同問題。但是,14107錯誤可能會有所幫助,但不是100%的結論。 – pilsetnieks

+0

@pilsetnieks 14107絕對比沒有好。很確定,如果它不受速率限制,它將被用作拒絕服務攻擊。這也讓我想知道爲什麼Neustar(又名NANPA管理員)不能提供服務號碼註冊表,就像他們對短代碼所做的一樣。 – Devy