使用 JSSIP 从标头传入 PSTN 的呼叫者 ID



我正在使用JsSIP连接到FreeSwitch,然后连接到PSTN。我希望在发件人标头中传递呼叫者 ID。我的代码设置有点像这样:

var TheCallerIDTest = '+33...number in E164 format';
var TheSipClient = new JsSIP.UA({....}); //works fine
var TheHandlers = {
'sending': function (e) {
var TheSipURI = new JsSIP.URI('sip', TheCallerIDTest, 'MyFreeswitchServerUrl', 5060, null, null);
var TheHeader = new JsSIP.NameAddrHeader(TheSipURI, '', null);
//displays the correct From header just fine
console.log(TheHeader);
//here's where I want to modify the INVITE request
e.from = TheHeader; 
},
}
var TheCallOptions = {
'eventHandlers': TheHandlers,
'mediaConstraints': { 'audio': true, 'video': false }
};
function TestCall() {
TheSipClient.start();
TheSipClient.call("+33...E164 number", TheCallOptions);
}

https://jssip.net/documentation/3.3.x/api/session/#event_sending,查看文档,我希望在JsSIP.OutgoingRequest INVITE请求的"from"标头中添加一个JsSIP.NameAddrHeader。控制台输出记录我要添加的正确 From 标头。

但是,当我查看JsSIP:RTCSession emit "sending" [request:InitialOutgoingInviteRequest控制台日志时,它没有显示我要添加的标头,并且服务器上收到的 From 标头不是我想要发送的标头。

我需要在代码中更改什么才能使其正常工作?

你需要这样做:

e.request.headers.From[0] = TheHeader;

删除您不想发送的其他一些标头也可能是有意义的。

JsSIP 的最新版本 3.10.x 支持在 ua 调用选项本身中设置和显示名称。

ua.call('sip:bob@example.com', {fromUserName:"<caller id>"});

相关内容

  • 没有找到相关文章

最新更新