Неуместные попытки reinvite
Приветствую.
Возникла следующая проблема: есть астериск, который по SIP соеденяется з SIP-софтсвичом (настраивать который нет возможности), прямой интерфейс, без НАТ. Все работало, пока обе стороны использовали кодек G729.
Теперь противоположная сторона перешла на ilbc и у нас начались следующие чудеса:
1. Когда идет выходной звонок в момент ответа абонента мой * генерирует еще один Invite. И это при том, что в [general] в sip.conf стоит canreivite=no. В результате, этот реивайт работает очень дико - наш абонент слышит одновременно другого абонента и сигнал контроля посылки вызова. При этом, другой абонент ничего не слышит. Если оба абонента отбивают звонок, вызываемый абонент получает второй вызов, который отбивается самостоятельно после снятия трубки.
2. Изучение логов показало интересную деталь:
May 17 10:15:40 VERBOSE[14290] logger.c: Capabilities: us - 0x500 (g729|ilbc), peer - audio=0x400 (ilbc)/video=0x0 (nothing), combined - 0x0 (nothing)
May 17 10:15:40 VERBOSE[14290] logger.c: Non-codec capabilities: us - 0x1 (telephone-event), peer - 0x0 (nothing), combined - 0x0 (nothing)
То есть, наша сторона ilbc поддерживает, та сторона - тоже, но * почему-то считает, что combined - 0x0 (nothing)
И второй момент - в доках по * сказано, что если кодеки обеих сторон не совпадают, reinvite не возможен в принципе.
А у нас наоборот - X-asterisk-info: SIP re-invite (RTP bridge)
Не потому ли, что та сторона не дает нам 0x1 (telephone-event)?
Буду благодарен за любые идеи по данной проблеме.
|