АСР Пиарбайт - PRbyte SDA

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
Home Статьи Тег: Asterisk

Тег: Asterisk

Антон Гриев
Asterisk watchdog или как забыть про seg fault
2010.01.07 10:21:40

Большинство из нас сталкивается с проблемой segmentation fault даже в стабильных версиях астериска (Asterisk). Никто не застрахован от такого, а так как внятых механизмов отслеживания состояния и перезапуска я не нашёл, то пришлось написать собственный маленький скриптик:

#!/bin/sh

AST_STATE=$(ps auxw | grep /usr/sbin/asterisk | grep -v grep | awk '{print $2}' | tr ' ' ' ')
echo $(date) "Starting Asterisk watchdog, asterisk proc id:"${AST_STATE} >> /var/log/messages

while test 1 -ge 1
do
if !(test ${AST_STATE} -gt 0);
then
echo $(date)" Asterisk is dead, restarting:" >> /var/log/messages
/etc/init.d/asterisk restart;
fi
sleep 10
AST_STATE=$(ps auxw | grep /usr/sbin/asterisk | grep -v grep | awk '{print $2}' | tr ' ' ' ')
echo $(date)" Asterisk is running, process id:"${AST_STATE} >> /var/log/messages
done

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

Если хотите, чтобы он запускался при старте, просто добавьте строчку запуска скрипта в файлик /etc/rc.local
и он будет стартовать после загрузки всех модулей и приложений текущего runlevel.

 

Антон Гриев 31.10.2008

оригинал статьи: http://certified-partners.blogspot.com/2008/10/asterisk-watchdog-seg-fault.html



Теги: Asterisk

Просмотров: 987 | Подробнее...


 
Антон Гриев
Много Extenesions для Asterisk
2010.01.07 10:15:45

Итак, Линуксоиды, буду делится маленькими наработками:

Я уверен, многие из тех, кто работал с такой штукой как Asterisk(*) сталкивались с задачей: создать множество SIP или каких-либо других аккаунтов для телефонов. Мне эта ручная работа надоела и я поставил makepasswd:

Для ubunt'ы это:

sudo aptitude install makepasswd -y

А затем написал следующее:

#!/bin/sh

LENGTH=12 # Длина пароля

STARTNUM=400 # Начальный номер
ENDNUM=470 # Конечный номер
NAT=yes # Нат, есть или нет между клиентами и астериском
CONTEXT=default # Контекст

STRING="abcdefg0123456789" # Символы для пароля
FILE_SIP=sip_sklad.conf
FILE_EXT=ext_sklad.conf
FILE_LIST=list_sklad.conf
I=$STARTNUM
ENDNUM=$(($ENDNUM+1))
while (($I < $ENDNUM)) ; do
echo >> $FILE_SIP
echo "["$I"]" >> $FILE_SIP
echo "nat="$NAT >> $FILE_SIP
echo "type=friend" >> $FILE_SIP
echo "context="$CONTEXT >> $FILE_SIP

echo "username="$I >> $FILE_SIP
SECRET=$(makepasswd --char $LENGTH --string=$STRING)
echo "secret="$SECRET >> $FILE_SIP
echo "host=dynamic" >> $FILE_SIP
echo "allow=all" >> $FILE_SIP

echo "exten=>"$I",1,Dial(SIP/"$I",,Tr)" >> $FILE_EXT
echo "login="$I" password="$SECRET >> $FILE_LIST

I=$(($I+1))
echo "Generating password#"$I
done

echo "Succesfully finished!"


Скопируйте в файлик и сделайте с ним:

cmod a+x Имя Файла

В общем, всё просто. забиваете внутрь параметры и на выходе создается 3 файла – один для /etc/asterisk/extensions.conf, второй для /etc/asterisk/sip.conf, а третий – просто список логинов и паролей.

Пароли генеируются случайным образом, что полезно.... Можно, конечно генерить их случайной длины в определённых рамках, но мне нравятся ровненькие таблички.

Генерируйте....

 

Антон Гриев 10.10.2008

оригинал статьи: http://certified-partners.blogspot.com/2008/10/extenesions-asterisk.html



Теги: Asterisk

Просмотров: 703 | Подробнее...