Передача CallerID для PSTN в заголовке From с использованием JSSIP - PullRequest
0 голосов
/ 06 января 2020

Я использую JsSIP для подключения к FreeSwitch, а затем к PSTN. Я ищу передать callerID в заголовке 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);
}

Глядя на документацию, https://jssip.net/documentation/3.3.x/api/session/#event_sending, я надеюсь добавить JsSIP.NameAddrHeader в заголовок 'from' JsSIP.OutgoingRequest INVITE запроса. Вывод на консоль записывает правильный заголовок From, который я хочу добавить.

Однако, когда я просматриваю журнал консоли JsSIP:RTCSession emit "sending" [request:InitialOutgoingInviteRequest, он не показывает заголовок, который я хочу добавить, и заголовок From, полученный на сервере, не тот, который я хочу отправить.

Что мне нужно изменить в моем коде, чтобы он работал?

1 Ответ

1 голос
/ 14 января 2020

Вам нужно сделать так:

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

Также, возможно, имеет смысл удалить некоторые другие заголовки, которые вы не хотите отправлять.

...