繁体   English   中英

从呼叫列表中检索拨号号码

[英]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的调用,独立于YX )。 但我仍然想知道每个电话的数字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

这个解决方案对我来说并不令人满意,因为我必须提出很多请求才能接听所有电话。 换句话说,我无法事先过滤呼叫,因为当我检索第一条腿XY时,我还不能确定它是否会拨打Z (我需要将sidparent_call_sid进行比较才能回答这个问题)。

我看到调用附加了一个annotation字段,但似乎调用创建 API 没有提供向调用添加注释(或元数据)的方法。 这也是一个可行的解决方案,因为它允许在注释中添加数字Y ,我们可以直接从第二条腿读取它(我们不必让两条腿都获得两个数字)。

我没有看到任何这样做的方法,但我只使用了 Twilio 2 天,所以也许我在这里遗漏了一些东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM