Плясал с бубном, чтоб научить эластикс принимать по H323 входящий номер от оператора, и отдавать его по H323 же LDK_300.
В итоге заработало, все ок.
Поясню, что в ходе плясок я немыслимое количество раз изменял ooh323.conf и перезапускал аст стопудовым способом:
stop now
asterisk -vvvvvcd
либо:
stop now
safe_asterisk
дык вот, под конец решил ребутнуть машину для верности, и после ребута обнаружилось, что аст не хочет принимать звонки по H323. Вернее он падает и сразу же восстанавливается.
но, если совершить вышеописанный ребут аста, то все начинает работать.
Вот я и подумал, что при старте аст запускается без какой-то важной опции.
Я подозреваю, что если долго тупо вставлять в скрипты ранлевела строку типа safe_asterisk, то можно добиться, чтобвсе было окей, но охота сделать по уму.
Может кто подскажет где чего поправить чтоб все было как надо?
Может права доступа на файл ooh323?
Посмотри изначально под кем после ребута сервера запускается астериск.
Added after 1 minutes:
Через
| Код: |
| ps ax | grep asterisk |
# 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:
Нашел скрипт запуска астериска. мне стыдно, но это и есть опции юзера и группы, под которыми аст запускается.
При запущеном астериске любые модули можно подгружать, выгружать и рестартить не останавливая Астериск.
Команды
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)
AST_USER="root"
AST_GROUP="root"
Было "asterisk"
теперь работает как надо.
Только вот не зря же указывается под кем запускать аст.
Могут ли возникнуть проблемы в дальнейшем?
теперь неправильно. Но если тебя это устраивает, оставляй так.
И не забудь дать команду
chown root:root -R /*
так как разделение permissions по разным пользователям тебе, по видимому, не нужно.
например если в астериске найдут какойто баг который позволит получить шел, то атакующий проломает себе сразу рутовый контроль если астериск от рута работает. и получит уже полный контроль над всей системой а не только над одним астериcком.
хотя на мой взляд - тот кто знает как получить шел через баг в удаленной апликации типа астериска, без особого труда поднимет себе привелегии и до рута при необходимости. короче мой вывод: если уж и запускать астериск от юзера то тогда уж в chroot окружении. а это начинающему как правило не под силу. поэтому советую не маяться ерундой с запуском под юзером, практической пользы от этого будет ноль, только больше запутает. как дорастете до chroot, вам уже никакие советы не нужны будут.
и последнее уточнение:
chown root:root -R /*
это нужно делать?
оно вроде работает
| Ded писал(а): |
| Чуваг, это была шутка (злая). Не ожидал, что ты не поймешь! |
оттого и спрашивю, что как-то оно убийственно выглядит
благодарю за помощь.