Asterisk не работает system

Грабли, или 5 типичных ошибок настройки Asterisk

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

1. Вы не отключили анонимные звонки и использовали контекст по умолчанию для плана нумерации

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

Решение
Первое правило, которому следовать нужно всегда: не использовать контекст по умолчанию для нумерации. Запомните,
контекст default только для анонимных звонков из интернета, рассматривайте его как самый недоверенный из всех. Если вы не планируете принимать анонимные звонки, обязательно отключите их.

Читайте также:  От чего может сломался стартер

2. Вы по-разному отвечаете на запрос регистрации с верным именем пользователя и неверным паролем и на запрос с несуществующим именем пользователя

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

3. Вы не используете списки доступа ACL и/или средства динамического ограничения доступа

Поскольку, несмотря на предпринятые в прошлом пункте усилия, все ещё сохраняется возможность подбора пароля, во всех случаях, когда возможно, следует использовать правила контроля доступа (acl)

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

4. В плане нумерации вы пропустили _ и удивляетесь тому, что звонки не идут

Довольно простая ошибка, но часто встречается среди начинающих.

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

5. Вы используете nat и звук проходит только в одну сторону

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

Источник

Asterisk не работает system

steap » 23 ноя 2015, 13:18

Здравствуйте.
Настроил отправку факса с предварительным дозвоном. Работает так:
Звоним и просим принять факс. Там соглашаются. Переводим звонок на номер 444 и с этого номера идёт отправка предварительно заготовленного файла fax.tif. Проблема в том, что хотелось бы после этого удалить файл и сообщить статус отправки. Но команды не срабатывают, если их поставить после SendFAX(). Если до (или закомментировать строчку отправки), то всё работает. В чём может быть причина?

[fax-tx]
exten => send,1,NoOp(——————- FAX from $ ——————)
same => n,Set(DT=$-$-$)
same => n,Set(FAXOPT(headerinfo)=Received by $ $,,%Y-%m-%d %H-%M)>)
same => n,Set(FAXOPT(localstationid)=Name)
same => n,Set(FAXOPT(maxrate)=14400)
same => n,Set(FAXOPT(minrate)=9600)
same => n,SendFAX(/fax/$/fax.tif)
same => n,System(/bin/echo -e ‘Отправка факса\nСтатус:$‘ | /usr/bin/sendxmpp -u robot -p pass -j 192.168.0.17:5222 admin@192.168.0.17)
same => n,System(/bin/rm /fax/$/fax.tif)
same => n,HangUp
P.S. В логах по этому поводу ничего.

Re: Не срабатывает команда System();

Glukinho » 23 ноя 2015, 13:19

Re: Не срабатывает команда System();

steap » 23 ноя 2015, 13:37

Хм. Возможно. То есть HangUp() в конце бесполезен?
Я правильно понимаю, что нужно привести к следующему виду?
Код: выделить все [fax-internal]
exten => 444,1,NoOp(——————-Call from $ to $——————)
same => n,Set(FAXFILENAME=$)
same => n,Goto(fax-tx,send,1)

[fax-tx]
exten => send,1,NoOp(——————- FAX from $ ——————)
same => n,Set(DT=$-$-$)
same => n,Set(FAXOPT(headerinfo)=Received by $ $,,%Y-%m-%d %H-%M)>)
same => n,Set(FAXOPT(localstationid)=Name)
same => n,Set(FAXOPT(maxrate)=14400)
same => n,Set(FAXOPT(minrate)=9600)
same => n,SendFAX(/fax/$/fax.tif)
exten => h,1,System(/bin/echo -e ‘Отправка факса\nСтатус:$‘ | /usr/bin/sendxmpp -u robot -p pass -j 192.168.0.17:5222 admin@192.168.0.17)
same => n,System(/bin/rm /fax/$/fax.tif)

Re: Не срабатывает команда System();

Glukinho » 23 ноя 2015, 14:37

Re: Не срабатывает команда System();

ded » 23 ноя 2015, 14:40

Re: Не срабатывает команда System();

steap » 24 ноя 2015, 06:42

К сожалению не помогло. Так же System не срабатывают.

Re: Не срабатывает команда System();

steap » 24 ноя 2015, 06:59

В общем всем спасибо. Проблема решена:
Код: выделить все [fax-internal]
exten => 444,1,NoOp(——————-Call from $ to $——————)
same => n,Set(FAXFILENAME=$)
same => n,Goto(fax-tx,send,1)

[fax-tx]
exten => send,1,NoOp(——————- FAX from $ ——————)
same => n,Set(DT=$-$-$)
same => n,Set(FAXOPT(headerinfo)=Received by $ $,,%Y-%m-%d %H-%M)>)
same => n,Set(FAXOPT(localstationid)=Name)
same => n,Set(FAXOPT(maxrate)=14400)
same => n,Set(FAXOPT(minrate)=9600)
same => n,SendFAX(/fax/$/fax.tif)
same => n,Hangup
exten => h,1,System(/bin/echo -e ‘Отправка факса\nСтатус:$‘ | /usr/bin/sendxmpp -u robot -p pass -j 192.168.0.17:5222 admin@192.168.0.17)
same => n,System(/bin/rm /fax/$/fax.tif)

Re: Не срабатывает команда System();

ded » 24 ноя 2015, 13:17

Re: Не срабатывает команда System();

Obi Van » 24 ноя 2015, 14:13

Re: Не срабатывает команда System();

Wapo » 24 ноя 2015, 14:19

Не совсем и не всегда: аппараты типа Panasonic еще держат канал после приема, а например Brothers бросает сразу даже не возвращая инфу.

Источник

Не стартует Asterisk: Unable to query table description!!

Если Вы не уследили за местом на жестком диске сервера Asterisk, служба asterisk может вести себя неадекватно из-за невозможности создавать временный файл. Но даже после того, как место очищено, служба Asterisk все равно не стартует, а в консоли постоянно выдается сообщение: Asterisk ended with exit status 1. Asterisk died with exit status 1. Asterisk died with code 1.

Это сообщение будет постоянно повторяться, наполняя консоль этими строками:

Но из-за того, что Asterisk не стартует, важно понять, какой процесс его блокирует.

Делаем вывод хвоста лога в консоль:

В самом последнем этапе запуска Астериска видна такая строка:

cdr_mysql.c: Unable to query table description!! Logging disabled.

Эта строка говорит о том, что модулю cdr_mysql.so не получилось запуститься. Чаще всего это может говорить о том, что база данных и таблицы MySQL повреждены.

Чтобы восстановить базу данных MySQL, выполняем следующие команды:

service asterisk stop
service mysqld stop
mysql -u root -p
>repair table asteriskcdrdb.cdr;
service mysqld start
service asterisk start
asterisk -rvvv

В консоли Астериска проверяем работу cdr:

Все готово! Следите за местом на сервере и не допускайте переполнения!

Остались вопросы?

Я — Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

категории

VoIP оборудование

Fanvil X3S
3 900 руб


Fanvil X3S
2 990 руб


Fanvil X3S
2 990 руб


Fanvil X3S
2 990 руб


Fanvil X3S
2 990 руб


Fanvil X3S
2 990 руб

ближайшие курсы

Курсы по Asterisk
последняя неделя
каждого месяца

Новые статьи

Zulu – обзор, установка

Ограничение вызовов на определенные группы внутренних номеров. Разграничение для различных звонящих. Использование AstDB, сервисные коды добавления запретов/разрешений

Провиженинг софтфона Zoiper

ближайшие Вебинары

LTE-интернет на роутерах Mikrotik SXT LTE. Особенности, плюсы и минусы.

Инструменты troubleshooting сети на MikroTik

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

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

Надежен в эксплуатации.

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

Гибкий в настройке.

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

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

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

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.

Подпишийтесь и получайте
только свежие новости и материалы

Источник

Оцените статью