Страница 11 из 12
Re: подключение chan_h323 к Asterisk 13
Добавлено: 01 сен 2016, 13:06
illujanka
amateur писал(а):Это в конфигурации chan_ooh323 (ooh323.conf).
А у меня там и так везде dtmfmode стоит h254signal
Re: подключение chan_h323 к Asterisk 13
Добавлено: 01 сен 2016, 13:09
amateur
Забавно... В TCS есть во это:
Код: Выделить всё
Item 3
CapabilityTableEntry
capabilityTableEntryNumber: 4
capability: receiveDataApplicationCapability (7)
receiveDataApplicationCapability
application: nonStandard (0)
nonStandard
nonStandardIdentifier: h221NonStandard (1)
h221NonStandard
t35CountryCode: United States (181)
t35Extension: 0
manufacturerCode: 18
H.245 Manufacturer: Cisco (0xb5000012)
data: 52747044746d6652656c6179
Data (12 bytes)
0000 52 74 70 44 74 6d 66 52 65 6c 61 79 RtpDtmfRelay
Data: 52747044746d6652656c6179
[Length: 12]
maxBitRate: 0
Еще один сюрприз. Пошел читать код...
Re: подключение chan_h323 к Asterisk 13
Добавлено: 01 сен 2016, 13:43
amateur
Интересно кто-нибудь обращал внимания, что chan_ooh323 фактически игнорирует значение параметра dtmfmode?
Набор заплаток растёт... Ищите все файлы с расширением .patch и накладывайте заплатки на соответствующие файлы.
Re: подключение chan_h323 к Asterisk 13
Добавлено: 01 сен 2016, 15:48
illujanka
Ура! Оно заработало )
Ну во всяком случае держится больше 30 секунд
Re: подключение chan_h323 к Asterisk 13
Добавлено: 01 сен 2016, 16:08
amateur
По крайней мере TCSAck от LG получен.
Вердикт: LG не может обработать возможность (Capability) передачи DTMF методом Cisco RtpDtmfRelay. Канальный драйвер chan_ooh323 игнорировал значение параметра конфигурации dtmfmode и добавлял все известные ему методы передачи DTMF в состав набора возможностей (Capability Set), в т.ч. и Cisco RtpDtmfRelay.
Что исправляет данный набор заплаток:
1) исправлен переход из режима туннелирования H.245 или из быстрого соединения к выделенному каналу H.245 (через отдельное TCP-соединение);
2) добавлено формирование структуры multiplexCapability в сообщении H.245 TCS; пока значения параметров multiplexCapability произвольные, возможно разработчик chan_ooh323 доработает этот код, а может и выкинет, т.к. жалоб то нет...
3) теперь значение параметра конфигурации dtmfmode учитывается при формировании набора возможностей.
Ну и в заключение: ошибки 1 и 2 относятся к работе стека OO H.323, 3 - к работе самого канального драйвера. Я удивляюсь как столько лет они могли там находиться и никто этого не заметил.
Re: подключение chan_h323 к Asterisk 13
Добавлено: 01 сен 2016, 16:13
ded
illujanka? Мы всё это читаем, а вы начальству же тоже докладываете? Или звёздочки за сбыитые мессеры рисуете на своём фюзеляже?
Если у вас этот стык заработаете, я помогу протарифицировать эту работу.
Или Вы рассчитывали написать просто - Огромное Вам спасибо! ??
Re: подключение chan_h323 к Asterisk 13
Добавлено: 01 сен 2016, 18:42
amateur
ded, не пугайте человека. Две с половиной ошибки ooh323 против одной в LG, да и то незначительной. Нечестно. Оставим коммерцию для других случаев
Re: подключение chan_h323 к Asterisk 13
Добавлено: 01 сен 2016, 19:30
ded
amateur писал(а):Две с половиной ошибки ooh323 против одной в LG
+ 11 страниц в топике, с кодом, логами, бубнами и оппозитными дискурсами сторон. Это вам не это, того самое! Товарищь коммисар приказал растрелять. Но перед растрелом - напоить крепким чаем! Горячим!
Re: подключение chan_h323 к Asterisk 13
Добавлено: 01 сен 2016, 23:28
may
amateur писал(а):По крайней мере TCSAck от LG получен.
Вердикт: LG не может обработать возможность (Capability) передачи DTMF методом Cisco RtpDtmfRelay. Канальный драйвер chan_ooh323 игнорировал значение параметра конфигурации dtmfmode и добавлял все известные ему методы передачи DTMF в состав набора возможностей (Capability Set), в т.ч. и Cisco RtpDtmfRelay.
Здесь на мой взгляд грубейшая ошибка LG. Как минимум отсутствие ответа на TCS, либо ACK, либо Reject.
Не говоря уже о том, что Cisco RtpDtmf это receive capability.
Но хорошо, что стал известен источник проблемы.
amateur писал(а):
Что исправляет данный набор заплаток:
1) исправлен переход из режима туннелирования H.245 или из быстрого соединения к выделенному каналу H.245 (через отдельное TCP-соединение);
2) добавлено формирование структуры multiplexCapability в сообщении H.245 TCS; пока значения параметров multiplexCapability произвольные, возможно разработчик chan_ooh323 доработает этот код, а может и выкинет, т.к. жалоб то нет...
3) теперь значение параметра конфигурации dtmfmode учитывается при формировании набора возможностей.
Ну и в заключение: ошибки 1 и 2 относятся к работе стека OO H.323, 3 - к работе самого канального драйвера. Я удивляюсь как столько лет они могли там находиться и никто этого не заметил.
Дело в том, что проблема 1 решается отключением h245 tunelling'а, а fast start здесь вообще не при чем. Но поскольку это действительно несоответствие спеке,
поправлю в основной ветке.
проблема 2 не возникала раньше ни в какой из ситуаций ни у меня, ни у тех, кто сдавал на багтрекере дигиума проблемы, да и собственно в обсуждаемой ситуации тоже не она влияет
проблема 3. Здесь ooh323 презентует на удаленную сторону все dtmf caps'ы, которые знает. Это полезно, когда неизвестен механизм передачи dtmf от оппозита, или этот механизм может варьироваться. Кстати, большая часть систем, с которыми я сталкивался ровно таким же образом передает dtmf caps'ы, все которые знают.
Я думаю правильно будет ввести опцию ciscodtmfsupport, которая будет регулировать поддержку данной dtmf caps'ы и при подобной истории её отключать.
также наверное неплохо бы сделать все презентуемые dtmf caps'ы чисто read, а выбранную в конфиге readandtransmit.
Re: подключение chan_h323 к Asterisk 13
Добавлено: 02 сен 2016, 07:55
amateur
may, Вас послушать, так в chan_ooh323 всё - не ошибка. В LG - да, причем "грубейшая"! А у нас всё хорошо, прекрасная маркиза!
Переключение на выделенный канал H.245 не работает - фигня, отключите туннелирование!
Структура multiplexCapability не формируется, несмотря на то, что должна - фигня, никто ж не жалуется!
Происходит дезинформация удаленной стороны относительно поддерживаемых методов передачи DTMF - фигня, так многие делают! а мы чем хуже?
В общем, легким движением инженер превращается... превращается инженер... в обычного торгаша. Свой продукт хвали, чужой - опускай. И кто-то еще сомневается, что рыночное бытие не отражается на сознании, и считает, что с этими вопросами повседневно не сталкивается.
Странно, что никто до сих пор не заметил, что я поторопился с вердиктом. Пока еще не доказано, что именно наличие Cisco RtpDtmfRelay в capabilityTable вызывает некорректное поведение LG. Ведь с исправлением dtmfmode исчезли и другие возможности (capabilities) из capabilityTable.
illujanka, можете добавить в dtmfmode ключевое слово "cisco" (через запятую после h245signal). Ну и сделать проверочный вызов с записью трафика и h323_log?