Астериск, запущенный через /etc/rc.d/init.d/asterisk, не работает!
Установил Asterisk 1.8.5.0 (на тестовой машине)
CentOS 6, ядро 2.6.32-71.el6.i686
Суть проблемы: Астериск запущен, но при попытке подключения выдает это:
asterisk -rx 'core show version'
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
asterisk -rvvvvvvvvvvvvvvvvvvv
Asterisk 1.8.5.0, Copyright (C) 1999 - 2011 Digium, Inc. and others.
Created by Mark Spencer
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
== Parsing '/etc/asterisk/asterisk.conf': == Found
== Parsing '/etc/asterisk/extconfig.conf': == Found
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
| Code: |
| ps auxwf | grep asterisk root 1982 0.0 0.0 4308 712 pts/0 S+ 18:21 0:00 \_ grep asterisk root 1749 0.0 0.0 5076 700 ? S 18:20 0:00 /bin/sh /usr/sbin/safe_asterisk root 1753 2.2 1.4 35588 14288 ? Sl 18:20 0:01 \_ /usr/sbin/asterisk -f -vvvg -c |
Если запустить из консоли "asterisk -f -vvvg -c", то запускается нормально. Если скриптом /usr/sbin/safe_asterisk из командной строки, то стартует нормально. Если скриптом /etc/init.d/asterisk, то вышеописанная проблема. В скрипте /etc/init.d/asterisk никаких видимых ошибок нет.
Сначала думал, что проблема с конфигурацией и правами доступа, поэтому вернул все настройки на изначальные, запускается теперь от рута. Астериск пересобирал несколько раз, с разными настройками, но похоже, что проблема в системе (или совместимостью с CentOS 6). На CentOS 5 работало нормально, но такой откат неприемлем.
В логах ничего особенного, кроме этого:
| Code: |
| [Aug 21 14:33:35] ERROR[4445] pbx_spool.c: Unable to open directory /var/spool/asterisk/outgoing: Permission denied |
Не исчезает, даже если права 666 выставить!
Но из-за этого он вряд ли не работает.
Added after 3 minutes:
также настоятельно рекомендую в скрипте /etc/init.d/asterisk заменить вызов /usr/sbin/asterisk на /usr/sbin/safe_asterisk
ну и в секции stop() соответсвенно сперва killall -9 safe_asterisk затем убиваем процессы asterisk.
_________________
Успехов!
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
CentOS 6, asterisk 1.8.5.0
Мне повторная пересборка не помогла:
asterisk -vvvr
Asterisk 1.8.5.0, Copyright (C) 1999 - 2011 Digium, Inc. and others.
Created by Mark Spencer
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
== Parsing '/etc/asterisk/asterisk.conf': == Found
== Parsing '/etc/asterisk/extconfig.conf': == Found
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
| Quote: |
| Проблема решена полной пересборкой Астериска (не все удалилось прошлый раз). |
можете уточнить что вы и как удаляли ?
_________________
Intel Core 2 Duo E6400 @ 2.40GHz / 6GB / 160GB
Gentoo Linux || Asterisk 1.8.5 | SFA | FFA | Datacard
| Quote: |
| рекомендую в скрипте /etc/init.d/asterisk заменить вызов /usr/sbin/asterisk на /usr/sbin/safe_asterisk |
Изначально так сделал.
| Quote: |
| если вы задаёте этот вопрос то нужно |
Вырубил.
Added after 11 minutes:
| Quote: |
| можете уточнить что вы и как удаляли ? |
Как мне подсказали, стоит отключить SELinux (у меня все заработало до его отключения, но похоже в самом деле есть проблемы с совместимостью - я даже не подумал в этом направлении, а мог бы сэкономить кучу времени и нервов).
Я удалял все следы Астериска вручную (включая исходники, чтобы было заведомо чисто), обновил несколько библиотек (на всякий случай), сконфигурировал с нужными модулями и собрал заново. Скорее всего, проблема с правами была действительно из-за SELinux...
Помогло выключение SELinux.
| Code: |
| /etc/selinux/config SELINUX=disabled reboot |
Как вы говорили чистка от остатков предыдущего Астериска никак не помогла, так как я заново поставил систему и начисто скомпилил *, проблема не ушла пока не выключил SELinux.