Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webrtc 使用JSSIP从标头传入PSTN的CallerID_Webrtc_Sip_Freeswitch_Jssip - Fatal编程技术网

Webrtc 使用JSSIP从标头传入PSTN的CallerID

Webrtc 使用JSSIP从标头传入PSTN的CallerID,webrtc,sip,freeswitch,jssip,Webrtc,Sip,Freeswitch,Jssip,我正在使用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 = ne

我正在使用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);
}
e.request.headers.From[0] = TheHeader;
查看文档,我希望将
JsSIP.NameAddrHeader
添加到
JsSIP.OutgoingRequest INVITE
请求的“from”头中。控制台输出记录我要添加的正确From头

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


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

您需要这样做:

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);
}
e.request.headers.From[0] = TheHeader;
另外,删除一些不想发送的其他头也可能有意义