当SIP呼叫结束时,发布到我的应用程序的最后一个请求再次进行POST,略微修改,但Twilio文档指示的参数将包含在调用StatusCallback POST中。这非常奇怪,因为我没有配置StatusCallback URL!
所以...一个例子。环境(所有URL都是https):
test-myaccount.sip.twilio.com
myapp.myserver.com/twilioapp
s3.amazonaws.com/somebucket/twilioerror.xml
(无法想象这是相关的,但我提到它以防止任何人发现奇怪的副作用) 呼叫流程:
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回应用服务器(根据Redirect动词):
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。这是我所看到的嗜好 - 然后Twilio发布了另一个请求:
POST myapp.myserver.com/twilioapp/secondstep/?actualdate=20140503
注意(a)POST是Twilio发布到的最后一个URL,(b)在查询字符串参数之前已经在URL中添加了一个尾部斜杠。
与最终POST一起发送的参数:
AccountSid: <MyAccountSid>
Caller: sip:55512345678@169.0.0.0
CallStatus: completed
Duration: 1
Called: sip:test-myaccount.sip.twilio.com
To: sip:test-myaccount.sip.twilio.com
CallDuration: 22
CallSid: <TheCallSid>
From: sip:55512345678@169.0.0.0
Direction: inbound
ApiVersion: 2010-04-01
更奇怪:持续时间和呼叫持续时间都包含在POST参数中 - 持续时间(四舍五入)分钟,呼叫持续时间(秒)。
所以 - 我不知道发生了什么事。我有一张支持票,但几天没有回复;当我在等待Twilio代码探险者工作他们的魔法时,我想ping社区,看看是否有其他人也注意到了这种行为。
答案 0 :(得分:0)
Twilo Evangelist在这里。
我刚刚与我们的一位客户支持团队成员进行了交谈,看起来我们针对此行为报告了一个问题。她应该很快联系你,给你一个更详细的更新。
如果我们确定了解决方法,我们会确保使用这些详细信息更新此SO帖子。
希望有所帮助。