将呼叫从SIP中继转移到Twiml应用程序

时间:2019-08-19 17:11:23

标签: twilio sip twilio-twiml

我在Twilio中注册了一个电话号码,我想同时用于Twiml应用程序和Elastic SIP Trunk(连接到Asterisk)。这个想法是,入站呼叫首先打到Twiml应用程序上,然后可以根据需要转发到Asterisk服务器,而出站呼叫只通过SIP中继。 (之所以需要它是SIP中继,而不是简单地使用带有可编程语音的SIP注册,是因为这是使E911支持呼出电话的唯一方法。)

Twilio支持人员告诉我,不能同时使用相同的数字。

由于这个限制,我目前的计划是使用两个Twilio电话号码。我发布的电话号码将转到Twiml应用程序,第二个我不会透露的电话号码将转到SIP中继。 (Twilio允许您帐户中其他号码的号码欺骗,因此我将让Asterisk服务器假装使用我的主号码进行拨出电话,而不是使用第二个私人号码。)

为了使其正常工作,我需要能够将呼叫从我的Twiml应用程序转移到Asterisk,再从Asterisk服务器转移回Twiml应用程序。前者很简单:只需将<Dial>与指向中继的SIP URL一起使用。后者是我需要帮助的。 (我也想这样做,以防有人设法拨打第二个电话号码-我希望将他们重定向到Twiml应用程序。)

据我所知,将呼叫转移回Twiml应用程序的唯一方法是将呼叫从Asterisk服务器转发回我的公用号码。问题在于,我认为这看起来像是去电+来电,而我在这几分钟内将被开双账单。我已经在为另一个号码付费,而且我真的不想也不必为通话时间多付钱。

是否有更好的(或“官方”)方式将呼叫转移回Twiml应用程序?还是Twilio看到这两个电话(并向其收费)我错了吗?

1 个答案:

答案 0 :(得分:0)

目前尚不清楚为什么不能同时为Twiml应用程序和Elastic SIP Trunk(连接到Asterisk)使用Twilio号码。他们表明原因了吗?

只需不要将该特定号码分配给您的Elastic SIP Trunk,您就应该能够将其分配给TwiML应用程序以进行入站呼叫,并在要将呼叫转发到Asterisk PBX时使用a。

对于出站呼叫,您可以让Asterisk PBX将具有该号码作为CallerID的呼叫发送到您的Elastic SIP中继终端URI。

对于来自Twilio Elastic SIP Trunk的E911呼叫,您应该具有与您的Elastic SIP Trunk关联的号码,并启用了紧急呼叫功能,因此在拨打911呼叫时,该号码的CallerID将用于呼出电话,并且呼叫可以如果连接断开,则返回该号码。

如果确实走了您提到的第二条路线,则可以让Asterisk服务器将呼叫发送到Twilio可编程语音SIP域,还是可以定义拨号计划,以便Asterisk前缀数字可以从该不同的中继线发送呼叫。不确定这是否会起作用(因为以这种方式将Elastic SIP中继与可编程语音混合在一起)只是一个想法。您的Asterisk服务器将保留在呼叫路径中。