AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Elastix - как посмотреть опции запуска астериска?

Asterisk GUI 12 сообщений -
#1

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

stop now
asterisk -vvvvvcd

либо:
stop now
safe_asterisk

дык вот, под конец решил ребутнуть машину для верности, и после ребута обнаружилось, что аст не хочет принимать звонки по H323. Вернее он падает и сразу же восстанавливается.
но, если совершить вышеописанный ребут аста, то все начинает работать.
Вот я и подумал, что при старте аст запускается без какой-то важной опции.
Я подозреваю, что если долго тупо вставлять в скрипты ранлевела строку типа safe_asterisk, то можно добиться, чтобвсе было окей, но охота сделать по уму.
Может кто подскажет где чего поправить чтоб все было как надо?
#2

А что логи говорят?

Может права доступа на файл ooh323?

Посмотри изначально под кем после ребута сервера запускается астериск.

Added after 1 minutes:

Через
Код:
ps ax | grep asterisk
ты увидишь как запустилась *
#3

Ага, вот что кажет после ребута машины (при этом H323 не работает):

# ps uax |grep asterisk
root 2708 0.0 0.0 4500 548 ? S 09:39 0:00 /bin/bash /usr/sbin/safe_asterisk -U asterisk -G asterisk
asterisk 2730 1.2 0.4 25804 9664 ? Sl 09:39 0:00 /usr/sbin/asterisk -f -U asterisk -G asterisk -vvvg -c
asterisk 2784 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2785 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2786 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2788 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2789 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2790 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2792 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2794 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2941 0.0 0.0 4504 564 ? S 09:39 0:00 -bash -c cd /var/www/html/panel && /var/www/html/panel/safe_opserver &
asterisk 2943 0.0 0.0 4452 1016 ? S 09:39 0:00 sh /var/www/html/panel/safe_opserver
asterisk 2944 1.2 0.4 12232 8364 ? S 09:39 0:00 /usr/bin/perl -w /var/www/html/panel/op_server.pl
root 3065 0.0 0.0 3900 672 pts/0 S+ 09:40 0:00 grep asterisk

А это я потушил аст командой stop now:

# ps uax |grep asterisk
asterisk 2784 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2785 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2786 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2788 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2789 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2790 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2792 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2794 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2941 0.0 0.0 4504 564 ? S 09:39 0:00 -bash -c cd /var/www/html/panel && /var/www/html/panel/safe_opserver &
asterisk 2943 0.0 0.0 4452 1016 ? S 09:39 0:00 sh /var/www/html/panel/safe_opserver
asterisk 2944 0.2 0.4 12232 8368 ? S 09:39 0:00 /usr/bin/perl -w /var/www/html/panel/op_server.pl
root 3075 0.0 0.0 3900 672 pts/0 S+ 09:42 0:00 grep asterisk

А это я его запустил командой safe_asterisk:

# ps uax |grep asterisk
asterisk 2784 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2785 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2786 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2788 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2789 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2790 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2792 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2794 0.0 0.1 24568 3508 ? S 09:39 0:00 /usr/sbin/httpd
asterisk 2941 0.0 0.0 4504 564 ? S 09:39 0:00 -bash -c cd /var/www/html/panel && /var/www/html/panel/safe_opserver &
asterisk 2943 0.0 0.0 4452 1016 ? S 09:39 0:00 sh /var/www/html/panel/safe_opserver
asterisk 2944 0.2 0.4 12232 8384 ? S 09:39 0:00 /usr/bin/perl -w /var/www/html/panel/op_server.pl
root 3083 0.0 0.0 4456 620 pts/0 S 09:42 0:00 /bin/bash /usr/sbin/safe_asterisk
root 3088 3.9 0.5 27620 10748 pts/0 Sl 09:42 0:00 /usr/sbin/asterisk -f -vvvg -c
root 3134 0.0 0.0 3904 676 pts/0 S+ 09:43 0:00 grep asterisk


еще я пробовал запускать аст так :
safe_asterisk -U asterisk -G asterisk
и действительно, H323 не работат.
к сожалению, не знаю что эти опции означают, но мне они явно мешают.
Сейчас поиском в миднайт коммандере пытаюсь найти файл-скрипт, содержащий в себе данную команду. Постараюсь найти и поправить. Посмотрю что получится.
Надеюсь, опции не жизненно важные.

Added after 46 minutes:

Нашел скрипт запуска астериска. мне стыдно, но это и есть опции юзера и группы, под которыми аст запускается.
#4

Чуваг, не надо тыркаться методом тыка, это неразумные эксперименты.
При запущеном астериске любые модули можно подгружать, выгружать и рестартить не останавливая Астериск.
Команды
module load chan_h323.so
module unload chan_h323.so
загрузят и выгрузят твой канал. Если у тебя
set verbose 3 или же ты подключаешься asterisk -vvvr
то при загрузке модуля увидишь сообщения * о успешной загрузке.
Если вручную модуль загружается, а при общем старте - нет, смотри файл /etc/asterisk/modules.conf, как правило, если autoload=yes, то не должно быть строчки noload=chan_h323.so
Если нет сообщений, он молча что-то делает, смотри /var/log/asterisk/full и увидишь причины. Как правило это permissions, ошибки в синтаксисе h323.conf, отсутствие линков на библиотеки libh323, и другое.


Последний раз редактировалось: Ded (Сб Апр 26, 2008 20:34)
#5

cat /etc/init.d/asterisk

AST_USER="root"
AST_GROUP="root"

Было "asterisk"
теперь работает как надо.
Только вот не зря же указывается под кем запускать аст.
Могут ли возникнуть проблемы в дальнейшем?
#6

Было правильно,
теперь неправильно. Но если тебя это устраивает, оставляй так.
И не забудь дать команду
chown root:root -R /*
так как разделение permissions по разным пользователям тебе, по видимому, не нужно.
#7

А для чего может понадобиться разделение по пользователям?
#8

to Чуваг: это сделано для секюрности.
например если в астериске найдут какойто баг который позволит получить шел, то атакующий проломает себе сразу рутовый контроль если астериск от рута работает. и получит уже полный контроль над всей системой а не только над одним астериcком.
хотя на мой взляд - тот кто знает как получить шел через баг в удаленной апликации типа астериска, без особого труда поднимет себе привелегии и до рута при необходимости. короче мой вывод: если уж и запускать астериск от юзера то тогда уж в chroot окружении. а это начинающему как правило не под силу. поэтому советую не маяться ерундой с запуском под юзером, практической пользы от этого будет ноль, только больше запутает. как дорастете до chroot, вам уже никакие советы не нужны будут.
#9

Спасибо за советы, Ded, Anest.
и последнее уточнение:
chown root:root -R /*
это нужно делать?
оно вроде работает Confused
#10

Чуваг, это была шутка (злая). Не ожидал, что ты не поймешь!
#11

Ded писал(а):
Чуваг, это была шутка (злая). Не ожидал, что ты не поймешь!

оттого и спрашивю, что как-то оно убийственно выглядит Embarassed
благодарю за помощь.