使用拨号>SIP TwiML 将显示名称添加到 SIP 请求中的"发件人"标头



我们希望入站呼叫在电话显示器上同时显示显示名称和电话号码。对于来自Twilio的呼叫,Dial动词有一个CallerID属性,但这不会导致SIP from报头被正确地形成。

我们的OnSIP托管PBX需要SIP报头看起来像这样:

From: "Display Name" <sip:+13605551212@sip.twilio.com>

如果我在callerId属性中输入一个电话号码,像这样:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Dial timeout="90" callerId="3605551212">
        <Sip>sip:address@generic.com</Sip>
    </Dial>
</Response>

则SIP From报头看起来像这样:

From: "+13605551212" <sip:+13605551212@sip.twilio.com>

我想用显示名称替换引号中的数字,从Twilio的来电显示查找的CallerName字段生成。

Twilio Dial动词或SIP名词是否提供了一种以这种方式形成SIP From标头的方法?

不幸的是,没有办法在From字段中包含主叫名称而在URI中包含主叫号码:

From: "Display Name" <sip:+13605551212@sip.twilio.com>

我们可以将cname添加到callerId字段中,这将覆盖这两个字段。

From: "gonzalo" <sip:+gonzalo@sip.twilio.com>

添加带有主叫号码/被叫姓名的自定义标题如何?

@app.route("/voice", methods=['GET', 'POST'])
def handle_incoming_call():
    from_number = request.values.get('From')
    cname = request.values.get('CallerName')
    cname = cname.strip()
    print from_number
    print cname
    try:
        resp = twilio.twiml.Response()
        d = resp.dial()
        d.sip('sip:2010@1.1.1.1?Twiml-cname=' +  cname)
        print resp
        return str(resp)
    except Exception as e:
        print str(e)

这将添加一个像这样的头,也许他们可以使用LUA脚本抓取它并将其放在From头中:

X-Twiml-cname: GASCA+GONZALO

最新更新