Пять распространённых неточностей при наладке Asterisk

23.06.2017 Телекоммуникации

   Данная публикация рассчитана на тех, кто использует Asterisk в начальном уровне, используя опыт о производительности вычислительных сетевых окружений, на базовом уровне CCNA и имеющих представление об основных аспектах IP-телефонии, не обладая специальными сертификатами о прохождении обучения.


1. Не выключили звонки с неизвестных источников, а так же, использовали стандартные конфигурации. 
   Существующая проблема:

   В стандартных настройках, на Asterisk прописаны звонки с неизвестных источников, для осуществления вам звонков с любого пункта сети, нужно указать напрямую (номер - ваш домен) используя функцию DNS как назначение вызова. Это хорошо, но есть побочные эффекты, можно получить и обратную менее полезную функцию, если вы использовали стандартную конфигурацию для осуществления набора номера. Кто угодно, кто отправит вам запрос на (номер_телефона@ваш_домен), беспрепятственно использует Ваше направление передачи голосового сигнала, в качестве связи по междугородним соединениям.

   Путь решения проблемы:

   Что нужно предпринять, чтобы избежать данной ситуации: не оставлять отладку в виде стандартной конфигурации, для набора номера. Важно! контекст - (DEFAULT) используем для звонков с неизвестных источников сети, выбираем его как самый ненадежный из всех. При планировании приема входящих звонков с неизвестных источников, его нужно отключить. Далее пошагово описано решение данной проблемы:

  • sip.conf
  • [general]
  • allowguest=no


2. Несколько вариантов аутентификации, пути защиты сети от проникновений.
   Существующая проблема:

   Как бы это грустно не звучало, но в наше время очень много мошенников, которые абсолютно не против воспользоваться звонками, за которые платить в итоге придется вам. У Asterisk, в базовых настройках конфигурации, существуют различные методы ответа на аутентификацию абонента, при вводе неправильного логина абонента или правильного, но с неправильным ключом. При такой схеме использования аутентификации, мошенник обретает возможность, при знании алгоритма, осуществлять попытки прохода защиты с помощью выяснения логина абонента который задан в этой сети и сконцентрировано подбирать ключи доступа для входа под данной учетной записью.

   Путь решения проблемы:

  • sip.conf
  • [general]
  • alwaysauthreject = yes


3. Использование списков доступа ACL и/или ограничения средств динамического доступа. Несмотря на все усилия, предпринятые в прошлом пункте, все так же осталась возможность подбора пароля, в любом случае, если есть возможность использовать, то нужно пользоваться правилом контроля доступа (acl).

  • sip.conf
  • [my_user]
  • deny=0.0.0.0/0
  • permit=172.16.0.0/12 ; указывайте сети, откуда может выполняться регистрация

   Есть случаи, когда использование acl невозможно — типа регистрации абонента из произвольной сети. В данном случае нужно воспользоваться средствами динамической блокировки, к примеру fail2ban — утилита для обработки логов Asterisk, целью которой является выявление и блокировка адресов, с которых осуществлялось большое количество неудачных попыток регистрации.


4.Пропустив ( _ )! в плане нумерации, не удивляйтесь тому, что звонки не идут.

   Часто встречающаяся ошибка среди новичков.

   Неправильно:

  • [citycalls]
  • exten => XXXXXX,1,Dial(DAHDI/g1/${EXTEN})
   Правильно:
  • [citycalls]
  • exten => _XXXXXX,1,Dial(DAHDI/g1/${EXTEN})

   В первом примере задан не шаблон, а конкретно звонок на номер XXXXXX. Просто необходимо запомнить, что все шаблоны задаются символом ( _ )!


5. Использование NAT и звук проходит только в одно направление.

   Вот несколько советов по работе Asterisk, по работе с абонентами, между которыми существует обширная трансляция адресов и выходит за рамки этой статьи:

  • Если звук отсутствует, взяв лист бумаги, изобразите, как ходит трафик (не только SIP, но и RTP) между абонентами. Многое проясниться уже после данного шага, особенно если вы знаете принципработы NAT.
  • Не давайте клиентам делать reinvite, если они потенциально находятся за натом (canreinvite=no в соответствующей секции sip.conf) иустановив directmedia=nonat, вы остановите прохождение всего трафика через Asterisk, что может потребоваться для записи разговоров.
  • Выбирайте что-то одно — поддержку NAT в Asterisk или поддержку SIP в брэндмауэре вашей ОС: в Windows ISA Server поддержка SIP, включенная параллельно поддержке nat в Asterisk, дает полное отсутствие звука, поэтому если не можете повлиять на ОС, задавайте nat=no в соответствующих секциях sip.conf
  • Кроме трафика, на порту 5060/udp, аудио данные передаются по протоколу RTP через udp порты, диапазон которых указан в rtp.conf (по умолчанию 100005) -20000).
  • Включите Debug в Asterisk, если ничего не помогает и используйте tcpdump — это даст вам возможность понять куда уходят запросы и аудио-трафик, понимая проблему, считайте что у вас уже 90% ее решения.

x

Обратный звонок

x

Написать нам

Войти с помощью:
Мы используем файлы cookies, чтобы сделать наш веб-сайт максимально интересным для Вас. Нажав на "Принять", Вы разрешаете использовать файлы cookies на своем устройстве. Пользовательское соглашения

Принять