Зависание SIP-канала после blind transfer и факса по t.38
Всем добрый день!
Ситуация следующая:
Схема: DVG6004<->Asterisk 1.4.24.1<->DVG5008S
При входящем звонке из города через DVG6004 звонок поступает секретарю, секретарь переводит звонок на факс с помощью blind transfer. Факс между шлюзами идет по t.38. Иногда (далеко не всегда, отловить живьем никак не получается) после приема факса (видимо с ошибкой) остается зависшей SIP-сессия и DVG6004 не кладет трубку на городском номере. Busy detection работает, но нестабильно из-за сильных наводок 50Hz. В Asterisk канал между шлюзами остается поднятым, хотя DVG5008S в статусе показывает, что трубка на факсовом экстеншене положена.
Пробовал гонять t.38 и напрямую, и через asterisk (canreinvite=yes/no), t38pt_udptl=yes, ситуация не меняется. Пробовал менять прошивку на шлюзах - эффекта нет. В логах Asterisk - чисто, отследить приходит ли SIP Bye от 5008S пока не получается, количество звонков большое, а зависание, как правило, обнаруживается часа через 2.
Аналогичная схема, но с FXO-шлюзом от Grandstream работает без нареканий, хотя в варианте с Grandstream busy detection не работает вообще.
Есть подозрение на сам астериск, но при попытке поменять на 1.4.25.1 получил отсутствие работы reinvite вообще, а также неработающий atxfer. Откатил обратно.
Кто-нибудь сталкивался?
Буду очень признателен за любую информацию по решению данной проблемы.
Пока частично порешал установкой таймаута для FXO-шлюза в 1800 секунд, хотя опять таки помогает не всегда.
Отказаться от t.38 не могу, поскольку с удаленными офисами связываюсь по SIP с кодеком g729 (канал на нет узкий - 256к), ставить ради решения данной проблемы дополнительно callweaver для t38-gateway нет никакого желания.
Заменить шлюз на Grandstream нет возможности, поскольку в Казахстане Grandstream'овские шлюзы никто не продает, а ставить дорогой шлюз на офис с 5-ю сотрудниками...
С уважением,
Денис
|