Генерация SIP аккаунтов в Asterisk

Генерация SIP аккаунтов в Asterisk

Сегодня статья будет короткой, но полезной для тех, кто задавался вопросом создания большого количества SIP учеток в Asterisk. Часто у администраторов сети возникает вопрос как создать, к примеру, сразу 100, 200, 300 SIP учеток при начальном конфигурировании своей новенькой Asterisk.

Когда вы используете большое количество SIP-аккаунтов, вы рано или поздно прибегаете к вопросу глобальной настройки отдельных параметров у всех аккаунтов сразу. Для этого в Asterisk существует конструкция [SIP-Office](!) (Название может быть любое). К примеру:

[1XX-SIP](!)
type=friend
nat=auto_force_rport,auto_comedia
dtmfmode=rfc2833
directmedia=no
host=dynamic
disallow=all
allow=alaw
qualify=yes
call-limit=1
deny=0.0.0.0/0.0.0.0
permit=192.168.1.0/24
description=Main Office

[100](1XX-SIP)
secret=Password100
callerid="100" <100>
defaultuser="100" <100>
context=users

[101](1XX-SIP)
secret=Password101
callerid="101" <101>
defaultuser="101" <101>
context=users

Все вроде бы понятно. Но как создать SIP аккаунты массово и причем чтобы у всех были разные пароли? Очень просто! Делюсь с вами скриптом sip_clone.sh, который поможет это сделать.

Будем использовать следующие параметры пароля: Большие и малые буквы латинского алфавита (A-Z и a-z), цифры (0-9) и символы “!@#$%^&*()?/[]{}-+_=<>.,“. Такое сочетание обеспечит максимальную надежность.

Длина пароля будет 16 символов. Если вам нужен более короткий пароль, то вы можете указать меньшую длину в скрипте, либо добавить опцию командной строки.

#/bin/sh
for EXTEN in `seq 100 399`
do
SYMBOLS=""
for symbol in {A..Z} {a..z} {0..9}; do SYMBOLS=$SYMBOLS$symbol; done
SYMBOLS=$SYMBOLS'!@#$%&*()?/[]{}-+_=<>.,'
# Длина пароля
PWD_LENGTH=16
# Переменная для хранения пароля
PASSWORD=""
# Инициализация генератора случайных чисел
RANDOM=256
for i in `seq 1 $PWD_LENGTH`
do
PASSWORD=$PASSWORD${SYMBOLS:$(expr $RANDOM % ${#SYMBOLS}):1}
done
echo "[$EXTEN](office)"
echo "secret=$PASSWORD"
echo "callerid="Main Office" <$EXTEN>"
echo "defaultuser="Main Office" <$EXTEN>"
echo "context=users"
echo
done

Данный скрипт создаст вам 300 SIP-аккаунтов с паролями и планом набора users.
Для тех кто не знает как сохранить в файл:

./sip_clone.sh >> sip_new.conf

На этом все! Успешных внедрений!


Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.