Как правильно завершить вызовы SIP-вызовов Freeswitch / Sofia на 3CX?

Мы запускаем экземпляр FreeSwitch на хосте A, который отправляет исходящие вызовы экземпляру 3CX, запущенному на хосте B, используя модуль SOFIA.

Все работает нормально, за исключением зависания: пакет BYE, отправленный хостом A, не принимается хостом 3CX с неизвестным пользователем 404.

После первого (рабочего) вызова больше нельзя инициировать, так как линия занята, пока мы не перезапустим всю службу freeswitch.

Шлюз настроен следующим образом:

<include>
        <gateway name="default">

                <param name="realm" value="<host B>:5059"/>
                <param name="username" value="59"/>
                <param name="password" value="<the password>"/>
                <param name="register-transport" value="udp"/>
                <param name="extension" value="59"/>

                <param name="from-user" value="59"/>
                <param name="expire-seconds" value="800"/>
                <param name="register" value="true"/>
                <param name="register-transport" value="udp"/>
                <param name="context" value="public"/>
                <param name="caller-id-in-from" value="false“/>
                <param name="extension-in-contact" value="true"/>
                <param name="cid-type" value="rpid"/>
        </gateway>
</include>

Авторизация работает для всех других пакетов, кроме пакета BYE. Мы также включили трассировку SIP и проверили, что заголовок Proxy-Athorization установлен правильно:

BYE sip:<destination number>@<host B>:5059 SIP/2.0
Via: SIP/2.0/UDP <host A>:5059;rport;branch=z9hG4bKpB6QZ9aU643pH
Max-Forwards: 70
From: "pi" <sip:59@<host B>:5059>;tag=jXU3S8avD9tQH
To: <sip:<dest number>@<host B>:5059>;tag=4442ed0d
Call-ID: fac6951d-4ab5-123a-0d9b-dca632517e68
CSeq: 37449519 BYE
User-Agent: FreeSWITCH-mod_sofia/1.10.6-release-7-1ff9d0a60e~32bit
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
Supported: timer, path, replaces
Proxy-Authorization: Digest username="59", realm="3CXPhoneSystem", nonce="414d535960cc5fda38:061e13fce3696c0ade88da4c548cab3a", algorithm=MD5, uri="sip:<dest number>@<host B>:5059", response="9d75bd5d59cc7b2111e005259d04aa65"
Reason: Q.850;cause=16;text="NORMAL_CLEARING"
Content-Length: 0

При проверке SIP-пакетов на стороне 3CX нам сказали, что пакет BYE вообще не должен быть авторизован, чтобы заставить его работать.

Итак, мы добавили следующую настройку в используемый профиль:

<param name="auth-all-packets" value="false"/>

Но София (или Freeswitch?) Тем не менее авторизует пакет BYE.

Кто-нибудь может нам помочь? Было бы здорово!

1
задан 18 June 2021 в 13:20
1 ответ

Для нашего сценария проблема может быть решена на стороне 3CX:

наша точка расширения была настроена как "конечная точка факса". После переключения ее на "обычную конечную точку voip" все заработало, как ожидалось. (не уверен в правильности терминологии 3CX)

0
ответ дан 28 July 2021 в 13:22

Теги

Похожие вопросы