[英]Retrieving dial number from calls list
我有一堆三个数字电话( X
电话Y
,然后X
电话Z
)。 它看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Number statusCallback="https://...">
{{Z}}
</Number>
</Dial>
</Response>
我想列出所有以Y
形式连接到Z
的调用(通过X
)。 而且我想仅基于Z
过滤这些调用(这意味着我想列出所有涉及Z
的调用,独立于Y
和X
)。 但我仍然想知道每个电话的数字Y
是多少。
总而言之, Z
是输入,但Y
不是。
现在我找不到比检索所有调用(根本没有过滤器)更好的解决方案,然后使用关系sid == parent_call_sid
将这些调用的两条腿匹配在一起。 然后,我可以使用该结果过滤掉最终不会拨打号码Z
的呼叫。
# Python example of both matching and filtering:
def match_call_pairs(calls_log, filter_Y, filter_Z):
call_pairs = defaultdict(dict)
for call in calls_log:
if call.parent_call_sid and (not filter_Z or call.to in filter_Z):
call_pairs[call.parent_call_sid]['Z'] = call
elif not filter_Y or call.to in filter_Y:
call_pairs[call.sid]['Y'] = call
return call_pairs
这个解决方案对我来说并不令人满意,因为我必须提出很多请求才能接听所有电话。 换句话说,我无法事先过滤呼叫,因为当我检索第一条腿X
到Y
时,我还不能确定它是否会拨打Z
(我需要将sid
与parent_call_sid
进行比较才能回答这个问题)。
我看到调用附加了一个annotation
字段,但似乎调用创建 API 没有提供向调用添加注释(或元数据)的方法。 这也是一个可行的解决方案,因为它允许在注释中添加数字Y
,我们可以直接从第二条腿读取它(我们不必让两条腿都获得两个数字)。
我没有看到任何这样做的方法,但我只使用了 Twilio 2 天,所以也许我在这里遗漏了一些东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.