Страница 2 из 2

Re: h323

Добавлено: 20 фев 2021, 21:58
may
Andy писал(а): Файл 122 нормальный вызов, 123 ошибочный.

Спасибо!
1.7z

Проблема здесь вот в чем. Почему-то в нормальном вызове PBX успевает открыть RTP (Logical) каналы до того, как астериск присылает Alerting и Progress,
а в проблемном звонке не успевает. Вероятно дело в том, что в нормальном звонке Alerting возникает через 500 мс после Setup'а и процедура открытия Logical Channels успевает пройти до конца, а в проблемном звонке Alerting приходит через 200 мс и здесь по какой-то причине PBX считает что её надо прекратить.
Далее астериск после Progress пытается отправлять в сторону PBX RTP поток, но не может в силу того, что RTP каналы неоткрыты и сигнализирует ошибку.

Исходная проблема - PBX стопорит OLC процедуру по получении Q.931 сигнала (точнее говоря PBX скорее всего останавливает H.245 обмен) и не продолжает её дальше, даже по получении Facility Start H.245, что в принципе есть ошибка со стороны PBX.

Решать можно такими вариантам:

- поставить Wait(0.5) или Wait(1) на входящем от PBX контексте в самом начале, что бы дать возможность завершить TCMSD/OLC процессы перед отправкой любой другой сигнализации

- включить Fast Start на PBX и Asterisk. Не факт что PBX поддерживает и не факт что поможет, но по умолчанию Asterisk при получении Fast Start считает Logical Channels автоматически открытыми.

Re: h323

Добавлено: 21 фев 2021, 16:32
amateur
h245-2.PNG
may писал(а):по какой-то причине PBX считает что её надо прекратить
После открытия канала H.245 происходит следующее:
1) chan_ooh323, не проверяя наличие уже открытого канала H.245, передает в сторону PBX еще один запрос на открытие канала H.245; это сообщение Facility, содержащее h245Address и reason=startH245 (на картинке выделено желтым);
2) PBX зачем-то пытается открыть второй канал H.245 (на картинке также выделено желтым)
3) после открытия TCP-соединения для второго канала PBX закрывает первый канал H.245 достаточно грубым способом - путем закрытия TCP-соединения (на картинке подчеркнуто красным);
4) chan_ooh323 завершает вызов с ошибкой после закрытия PBX первого канала H.245; сообщение releasComplete (на картинке тоже подчеркнуто красным).

Попробуйте наложить patch ooq931.c.patch и проблема, скорее всего, решится.