#394 closed баг (fixed)
Не работает маскарадинг Invite от шлюза
Reported by: | san | Owned by: | alx |
---|---|---|---|
Priority: | полный атас | Milestone: | 1 очередь |
Component: | any | Keywords: | |
Cc: |
Description
Конфиг xchange\alx\Test_and_bugs\VE-01\config-export-VE-01_maskarad.xml
В Invite от окончаний FXS и АДАСЭ в поле Contact вижу адрес 127.0.0.1:6060, хотя чекбокс "Маскарадинг от шлюза" установлен и я ожидал в поле контакт увидеть внешний адрес платы.
Change History (4)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
Кажется я понял, в чем проблема. Модификация поля Contact
производится в обработчике LocationServer
, так как он у нас уже давно использовался для наших внутренних нужд. Предполагалось, что любой входящий запрос будет попадать в него.
Однако это предположение неверно. Если запрос адресован в чужой домен, то когда в процессе выполнения обработчиков в цепочке дело доходит до AmIResponsible
, он определяет, что сообщение адресовано не нашему домену, и прекращает выполнение обработчиков цепочки (все последующие обработчики пропускаются!). А так как LocationServer
находится в цепочке позже, чем AmIResponsible
, то и модификация поля Contact
не выполняется.
Предположительно решением будет добавление еще одного обработчика непосредственно перед AmIResponsible
, в котором будет выполняться модификация поля Contact
вместо обработчика LocationServer
.
Также было бы правильно вынести туда и проверки блокировок, так как сейчас получается, что блокировки абонента не действуют, если он отправляет вызов не нашему домену...
comment:4 by , 3 years ago
Проверку блокировки входящих вызовов я оставил в обработчике LocationServer
, чтобы оставалась возможность перенаправить его незаблокированному абоненту или вообще в другой домен...
Ревизия ПО VE-01: 72