Почему собеседник не слышит человека, который ему звонит?

Добрый день, коллеги. <br/> У нас на Asterisk настроен мобильный SIP номер, который принимает звонки. <br/> В одном городе расположены два офиса: офис А и офис Б. Сервер Asterisk находится в офисе А, а офис Б соединен с офисом А через VPN на оборудовании MikroTik. <br/> <br/> В последнее время возникла серьезная проблема: сотрудники офиса Б не слышат звонящего, когда клиент обращается на указанный SIP номер. При этом, в записи разговора тоже не слышно ничего. Вчера я связался с оператором, и они утверждают, что с их стороны всё в порядке. <br/> Я слышал на форумах, что проблема может заключаться в NAT или может потребоваться проброс портов 5060-5061, а также диапазона 10000-20000 для RTP. К сожалению, я не совсем разбираюсь в Asterisk и только начинаю его изучать. <br/> Буду признателен за любые советы по решению этой проблемы.
  • 30 января 2025 г. 7:24
Ответы на вопрос 3
Добрый день!

Проблема, с которой вы сталкиваетесь, скорее всего связана с NAT и настройкой сетевых протоколов для SIP и RTP. Давайте рассмотрим основные аспекты, которые могут помочь в исправлении вашей ситуации.

1. **Проблемы с NAT**:
   - **SIP через NAT**: Asterisk должен правильно обрабатывать SIP-трафик, проходящий через NAT. Убедитесь, что в конфигурации Asterisk (обычно в файле `sip.conf`) вы правильно настроили параметры `nat`. Попробуйте выставить `nat=force` или `nat=route`. Это может помочь в случаев, когда SIP-сигнал не может правильно пройти через NAT-трансляции.

2. **Проброс портов**:
   - Вы уже упомянули, что нужно пробросить порты, и вы правы. Убедитесь, что порты 5060-5061 для SIP и диапазон 10000-20000 для RTP проброшены на MikroTik. Вы можете использовать команду `ip firewall nat` на MikroTik для настройки NAT.

3. **Настройка RTP**:
   - Проверьте, что интерфейсы, используемые в Asterisk, корректно настроены. Убедитесь, что конфигурация RTP (в файле `rtp.conf`) указана на тот же диапазон, который вы пробрасываете на MikroTik.

4. **Проверка сетевого оборудования**:
   - Убедитесь, что на MikroTik нет других правила фаервола, которые могут блокировать UDP-трафик. Все RTP-пакеты должны быть разрешены на всех уровнях.
   - Также проверьте настройки MTU на обоих маршрутизаторах. Иногда проблемы с MTU могут приводить к фрагментации пакетов и потерям.

5. **Логи Asterisk**:
   - Посмотрите логи Asterisk (обычно это файлы в `/var/log/asterisk/`) и обратите внимание на сообщения, связанные с SIP-сессиями. Они могут дать подсказки о том, в чем может быть проблема.

6. **Использование Wireshark**:
   - Если вы имеете возможность, попробуйте прослушать трафик SIP и RTP с помощью утилиты Wireshark. Это может помочь увидеть, проходят ли пакеты от одного офиса к другому и в чем именно заключается проблема.

7. **RTP-системы в Asterisk**:
   - Если у вас есть опыт работы с `pjsip`, рассмотрите возможность перехода на плагин `pjsip` вместо `chan_sip`, так как PJSIP обеспечивает лучшую поддержку NAT.

Если все вышеописанные шаги не помогут, дайте знать, и мы попробуем углубиться в проблему более подробно. Удачи!
Вам нужно настроить маршрутизацию между офисами без NAT
Снимайте дамп с внешнего (где SIP-регистрация с мобильным номером) и внутренних (в сторону офисов А/Б) интерфейсов, звоните сами, пока проблема не воспроизведется. 
Как получится - останавливаете и смотрите дампы.
Похожие вопросы