Asterisk — проблемы и решения


Asterisk - проблемы и решенияАТС на базе Астериск — очень популярное решение телефонии для офиса или call центра — причин тому несколько, основная — бесплатность и богатый функционал. По приблизительным подсчетам экономия на телефонии может сократить расходы на телефонные разговоры в 10-15 раз! Не слабо?

Но, как любое бесплатное решение астериск требует соответствующей подготовки и опыта, даже с установленным GUI (графическим интерфейсом) иногда приходится сталкиваться с неожиданными проблемами. Данная статья написана скорее для себя, как напоминалка и впоследствии будет дополняться новыми ошибками и решениями проблем.

Что нужно сделать после установки asterisk для нормальной работы:

Проблема с отжиранием памяти:

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

03 5 * * 1-6 /usr/sbin/asterisk -rx 'restart when convenient' > /dev/null - каждый день в 5:30 мягкий рестарт, если нет активных звонков
50 6 * * sun /usr/sbin/asterisk -rx 'restart now' > /dev/null - в воскресенье asterisk перегружаем жестко.

Проблема с недоступностью DNS

Неприятная проблема с внешними dns. Суть ошибки в том, что при пропадании интернета отваливаются внутренние пиры и долго обрабатываются соединения с GSM шлюзов и SIP транков, валятся ошибки chan_sip, даже если они находятся в локальной сети.

Часто астериск настраивается для работы только с локальными адресами, например с gsm  шлюзом или оператор предоставляет транк с фиксированным ip адресом и переменная srvlookup не нужна. В таком случае, правильно будет запретить обращение к внешнему DNS серверу, которое может подвешать астериск, для этого в файле sip.conf в секции general прописать:

srvlookup=no

в FreePBX это счастье отключается по разному, но искать нужно в меню «настройках астериск для сип» примерно следущую строку:

долго отрабатываются звонки в фрипбикс
Если же Ваш сип провайдер (например задарма или мультифон от мегафона) требует указать в файле sip.conf  srvlookup=yes, Вы можете указать в настройках для конкретного транка эту переменную.


Настройки Астериск для «Мультифона»

Включение и отключение транка multifon

Включить SIP транк мультифона можно с мобильного телефона командой *137#

После чего активируем услугу Emotion (мультифон). Кроме этого можно переключить режим использования услуги с помощью http запроса, указав номер телефона (в формате 79xxxxxxxxx ) и пароль (получить или восстановить пароль мультифона можно по ссылке )

Компьютер и интернет на Город мастеров 59

ЗначениеОписаниеПример
0Звонки приходят на мобильный
https://sm.megafon.ru/sm/client/routing/set?login=ТЕЛЕФОН@multifon.ru&password=ПАРОЛЬ&routing=0
1Звонки приходят только на SIP
https://sm.megafon.ru/sm/client/routing/set?login=ТЕЛЕФОН@multifon.ru&password=ПАРОЛЬ&routing=1
2Звонки приходят на SIP и мобильный
https://sm.megafon.ru/sm/client/routing/set?login=ТЕЛЕФОН@multifon.ru&password=ПАРОЛЬ&routing=2
Проверка текущего статуса
https://sm.megafon.ru/sm/client/routing/?login=ТЕЛЕФОН@multifon.ru&password=ПАРОЛЬ
  • при параллельном  вызове, если в астериске настроено приветствие, он будет первым перехватывать вызов.

Пара слов о кодеках и совместимости

Исторически сложилось так, что используются для связи в основном три-четыре кодека, даже если вы поставите качественный кодек, оператор предоставит Вам стандартные A-Law, U-Law ну еще может быть G722, GSM. Посмотрите строку регистрации, что предлагает оператор и отключите неиспользуемые кодеки. Даже не очень нагруженный астериск начинает лагать и терять голос, если ему приходится перекодировать в одном транке 2-3 кодека, а при значительной нагрузке проблемы гарантированы. Как пример, телефон Грандстрим настроен на G722, который астериск понимает, но отдает сип-оператору ULAW . неправильно настроенными кодеками Казалось бы проблема незначительная, но перекодировка происходит одновременно в двух направлениях. Излишние телодвижения без всякого выигрыша в качестве звука. Как рекомендация, ориентируйтесь на наиболее качественный кодек оператора, лишние кодеки включайте по необходимости, например если этого требуют СИП-телефоны.  С неправильно настроенными кодеками могут быть связаны проблемы односторонней слышимости.


Нет входящих звонков

Если не приходят звонки, а исходящая связь есть, первое что нужно проверить проходит ли соединение, для чего зайти в консоль астера

asterisk -vvvr
local_aster*CLI> sip set debug peer multifon
SIP Debugging Enabled for IP: xx.xx.xx.xx:5060

<--- SIP read from UDP:xx.xx.xx.xx:5060 --->
INVITE sip:510@yy.yy.yy.yy:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP xx.xx.xx.xx:5060;branch=z654646v520doi1kf4kt400
Max-Forwards: 68
Call-ID: 564654adds@85432131
From: 3951 <sip:510@yy.yy.yy.yy:5060;user=phone>;tag=A-1-8b320006-ead54c5966
To: <sip:3951@MM.MM.MM.MMM>
CSeq: 7745748 INVITE
Expires: 130000
Supported: replaces,100rel
Contact: <sip:ASS@510@xx.xx.xx.xx:5060;transport=udp>
Allow: INVITE,ACK,CANCEL,BYE,INFO,OPTIONS,PRACK,NOTIFY,MESSAGE,REFER,REGISTER,UPDATE
Content-Length: 166
Content-Type: application/sdp

Если Вы не видите чего то подобного при поступлении звонка, значит дело в сетевых настройках или настройках фаервола. Посмотрите в той же cli консоли на каком порту астериск ждет входящий:

kvm*CLI> sip show settings

у вас должно быть что то вроде:

настройка астериска

что значит, астериск слушает на портах TCP и UDP 5060.

Нет исходящих звонков

продолжение следует…

Материалы по теме:

Как рассказать о своей группе ВКонтакте без рекламы тысячам пользователей
Что нужно что бы привлечь пользователей в свою группу или добавить тысячи друзей быстро? Как и все гениальное, идея проста. Знаете у мэйлру есть сервис "вопрос-ответ", типа кто-то спрашивает: - ...
Мультибраузер для вконтакте
Настоящий MultiBrowser и с чем его едят В двух словах рассказать о мытарствах СММщика сложно, но есть общие моменты с которыми Вы сталкиваетесь занявшись продвижением в соц.сетях и одна ...
Как заполнить «интересы» вконтакте правильно
Полное заполнение всех пунктов анкеты ВКонтакте не менее важено чем хорошая фотография на аватарке, конечно «Встречают по обложке», но «провожают по уму». Правильно заполненные интересы на Ваше странице ...
Генератор интересов для женской страницы ВКонтакте
Онлайн генератор для заполнения профиля ВКОНТАКТЕ Заполнение уникальной анкеты девушки специально подобранными значениями для ускорения продвижения страницы вконтакте, задача непростая. А если надо заполнить 10, 20 или 100 страниц ...