webrtc - 使用 JSSIP 在 From Header 中为 PSTN 传递 CallerID
问题描述
我正在使用 JsSIP 连接到 FreeSwitch,然后连接到 PSTN。我希望在 From 标头中传递 callerID。我的代码设置有点像这样:
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.NameAddrHeader
的“来自”标头中添加一个JsSIP.OutgoingRequest INVITE
。控制台输出记录了我要添加的正确 From 标头。
但是,当我查看JsSIP:RTCSession emit "sending" [request:InitialOutgoingInviteRequest
控制台日志时,它没有显示我要添加的标头,并且在服务器上收到的 From 标头不是我要发送的标头。
我需要对代码进行哪些更改才能使其正常工作?
解决方案
你需要这样做:
e.request.headers.From[0] = TheHeader;
删除您不想发送的其他一些标头也可能有意义。
推荐阅读
- xml - spring mvc应用程序的问题不起作用404错误资源未找到
- node.js - 如何将带有 Mongodb 的 Next.js 应用程序部署到 Heroku?
- javascript - 正确读取多部分数据流(NodeJS)
- css - 为什么 css 下划线效果不适用于每个元素?
- c# - TagLib 不保存 ID3 标签
- authentication - 带有外部或合作伙伴应用程序的 Web SSO
- theming - Drupal 8 不显示 html 标签作为字段的值
- c - Scanf 跳过变量并重用旧变量
- python - 计算python中情侣列表的出现并将结果附加到新列表中,其中包含第一个列表中的所有元素
- regex - 当它遇到某个字符串时将文本文件拆分为多个文件