转发到SIP URI时的Twilio SRV查找

转发到SIP URI时的Twilio SRV查找,twilio,twilio-functions,Twilio,Twilio Functions,我正在尝试从我的twilio号码将呼叫转发到我的sip设备。但是,由于Twilio不喜欢使用负载平衡url的SIP提供程序,因此这项功能目前无法正常工作。在我的例子中,SIPURI以@In.callcentric.com结尾,它依次向三台服务器发送请求。如果我直接使用其中一台服务器,即@alpha11.callcentric.com:5070,而不是@in.callcentric.com,它会工作。然而,这在国际海事组织并不理想 我发现了一个节点模块,可以进行SRV查找。我可以用twilio函数

我正在尝试从我的twilio号码将呼叫转发到我的sip设备。但是,由于Twilio不喜欢使用负载平衡url的SIP提供程序,因此这项功能目前无法正常工作。在我的例子中,SIPURI以@In.callcentric.com结尾,它依次向三台服务器发送请求。如果我直接使用其中一台服务器,即@alpha11.callcentric.com:5070,而不是@in.callcentric.com,它会工作。然而,这在国际海事组织并不理想

我发现了一个节点模块,可以进行SRV查找。我可以用twilio函数来解决这个问题吗

有没有办法强制twilio查找SRV记录并自动使用该记录转发呼叫

使用NPM的内置软件,我可以让事情正常进行。这就是我的函数现在的样子。看起来很好用

const dns=需要“dns”; 让西普里来吧1777xxxxxxxxxx@in.callcentric.com'; 让协议='udp'; 设region='us2'; exports.handler=函数上下文、事件、回调{ var user=sipUri.split'@'[0]; var host=sipUri.split'@'[1]; //生成TwiML以告诉Twilio如何转发此呼叫 设twiml=new Twilio.twiml.VoiceResponse; 常量拨号=twiml.dial; dns.resolveSrv''u sip.'+协议+'..+主机,错误,地址=>{ var resolvedhost=地址[0]。名称+':'+地址[0]。端口; 拨号.sip'sip:'+user+'@'+resolvedhost+';region='+region; console.logtwiml.toString; //返回TwiML callbacknull,twiml; }; }; 这将手动查询主机名中的SRV记录,然后使用返回的第一个结果。不考虑权重和优先级


使用节点模块进行查找,并将真实的服务器地址返回给Twilio,因为TwiML听起来是个好主意。你自己试过吗?没有,我还没试过。不确定在twilio功能中如何加载模块。请查看此处的说明:谢谢!如果我能让它工作的话,我会在这里添加一个解决方案。SRV查找似乎是一个奇怪的功能,因为twilio实际上在它自己的SIP域上使用它来错过出站呼叫。是否有与此相关的问题我可以跟踪?