7 августа 2012 г.

Beckup сервер на Ubuntu

Развернуть сервер для резервных копий на Ubuntu проще простого.

В Linux среде для этих целей используется программа Rsync, которая входит в стандартную поставку Ubuntu.

Чтобы активировать ее делаем следующее:

/etc/default/rsync
====фрагмент====
RSYNC_ENABLE=true
====фрагмент====

Создаем файл настроек
sudo touch /etc/rsyncd.conf


sudo nano /etc/rsyncd.conf
В файле настройки rsync пишем:



# GLOBAL OPTIONS
pid file=/var/run/rsyncd.pid

#motd file=/etc/motd
#log file=/var/log/rsyncd
# for pid file, do not use /var/run/rsync.pid if
# you are going to run rsync out of the init.d script.
# pid file=/var/run/rsyncd.pid
#syslog facility=daemon
#socket options=

# MODULE OPTIONS
[beckup]
comment = Rsync file storage 2
#куда бекапить
path = /mnt/beckup2/beckup
use chroot = true
log file = /var/log/rsyncd/backups2.log
read only = false
list = yes
uid = psv
gid = psv
strict modes = yes
ignore errors = no
ignore nonreadable = yes
transfer logging = false
timeout = 600
refuse options = checksum dry-run
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

и стратуем сервер

sudo servise rsync start

Все наш сервер запущен и готов принимать данные по протоколу rsync://

6 марта 2012 г.

Asterisk в Ubuntu - команда Dial

В предыдущем посте я писал как настроить связь между внутренними абонентами и мы для этих целей в диалплане использовали команду Dial следующим образом:

exten => 100,1,Dial(SIP/100)

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

[sip_dial]
exten => 101,1,Dial(SIP/101&SIP/102)

При входящем звонке зазвенят телефоны с номерами 101 и 102. Звонок примет тот, кто раньше поднимет рубку. Если второй номер поднимет трубку после, то он НЕ будет слышать разговор абонента 101.

[sip_dial]
exten => 101,1,Dial(SIP/101,10)
exten => 101,2,Dial(SIP/102,10)

При входящем звонке зазвенит телефон у абонента 101. Если он в течении 10 секунд не возьмет трубку, то звонок уйдет на абонента 102.

2 марта 2012 г.

Asterisk в Ubuntu - внутренняя связь

В предыдущем посте я писал как установить сервер VoIP телефонии на Ubuntu/ В этой статье я расскажу как настроить внутренние номера и звонки между ними.

Нам понадобится:
Установленный сервер Asterisk
Программа X-Lite (программный телефон для VoIP телефонии) - 2 шт.

Запускаем mc с правами администратора:

sudo mc

Если mc у вас не установлен, то установите его командой

sudo apt-get install mc

Asterisk устанавливается по умолчанию в папку /etc/asterisk/. Переходим в эту папку и на всякий случай скопируем файлы sip.conf и extensions.conf куда-нибудь, чтобы можно было откатиться в случаи чего.
Открываем для редактирования файл sip.conf выбрав его и нажав F4.
Найдем вначале файла строчку
;allowguest=no
и снимем с нее комментарий. Это нужно чтобы запретить гостевое подключение к серверу. Если этого не сделать можно круто попасть на $$$, особенно если ваш сервер смотрит во внешний мир.

теперь переходим в самый конец файла и дописываем:

[100]
type=friend
secret=pass100
nat=yes
host=dynamic
username=User100
dtmfmode=rfc2833
disallow=all
allow=ulaw
context=sip_dial
callerid=100

[101]
type=friend
secret=pass101
nat=yes
host=dynamic
username=User101
dtmfmode=rfc2833
disallow=all
allow=ulaw
context=sip_dial
callerid=101

Все. Сохраняемся и закрываем файл.

Переходим в консоль asterisk

sudo asterisk -r

и выполняем там команду

show sip users

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

таким образом мы создали абонентов с номерами 100 и 101

Данные параметры означают следующее:

[100] - имя клиента. Наличие скобок обязательно

type=friend - описывает тип клиента, в нашем случае friend. Вообще существует три типа user – это когда идентификация клиента осуществляется по полю From SIP заголовка, который исходит от клиента. peer – идентификация происходит по адресу хоста с которого осуществляется регистрация. И тот тип, что мы применили friend – это смесь peer и user, идентифкация происходит любым методом(либо адрес хоста, либо юзернейм).

secret – это пароль пользователя.

nat=yes – обозначает, что клиент может находится за натом и для открытия медиаканала при звонке этого пользователя требуется трансляция заголовков. Если будут клиенты не только из локальной сети, то лучше у всех ставить yes

host=dynamic – привязка к адресу хоста клиента отсутствует. Если необходимо чтобы этот клиент подключался только с определенного IP то указываем разрешенный IP

username=User100 – имя пользователя. Этот логин потом используется в настройках сип клиента.

dtmfmode=rfc2833 – метод передачи dtmf – тонов набора номера. Существует еще метод info, должен совпадать с настройками в SIP клиенте.

disallow=all – запрещаем все кодеки
allow=ulaw – разрешаем кодек ulaw, кодек должен быть такой, который поддерживается клиентом. Возможно указать несколько кодеков через запятую.

context=sip-dial – контекст описывает в какой секции диалплана будут обрабатываться звонки клиента

callerid=100 – Ваш номер, который будет высвечиваться у абонентов при исходящем звонке


Клиентов завели, теперь необходимо научить сервер звонить. Для этого открываем для редактирования файл extensions.conf и в конце файла дописываем:

[sip_dial]
exten => 100,1,Dial(SIP/100)
exten => 101,1,Dial(SIP/101)


Не забываем при редактировании оставлять пустую строку в конце файла. Из-за отсутствия символа перевода строки могут появиться ошибки.

Теперь устанавливаем на компьютеры программные телефоны и настраиваем их. Выбираем в меню softphone->Account settings и заполняем:

Account name: 100
User ID: 100
Domain: ip_сервера_asterisk
password: User100
Register with domain and recive calls: галочка
Proxy: галочка
Address: ip_сервера_asterisk

Остальные значения оставляем по умолчанию. На этом настройка закончена и наши абоненты могут звонить друг другу.

24 февраля 2012 г.

Asterisk в Ubuntu - установка

Есть два способа установить сервер Asterisk на Ubuntu

1. Сборка из исходников
2. Установка из репозитория

Первый способ у меня не получился. При попытки скомпилировать DAHDI драйвер выдавались ошибки. Поэтому я пошел вторым путем.

Обновимся перед установкой:

sudo apt-get update
sudo apt-get upgrade


Базовая установка требует:
* - Установку библиотеки LibPRI, которая добавляет поддержку ISDN
* - Установку библиотеки libSS7, которая реализует работу по протоколу SS7
* - Установку DAHDI, обеспечивает интерфейсный уровень между сервером Asterisk с одной стороны, и драйвером интерфейса Daahdi плюс программные эхоподавителели с другой. Драйвера интерфейсов позволяют использовать аппаратные средства (карты) для соединения Asterisk с традиционными аналоговыми или цифровыми телефонными сетями
* - Сам сервер Asterisk.

Ставим следующие пакеты:

sudo apt-get install libri1.4 libss7-1 libss7-dbg libss7-dev dahdi dahdi-dkms dahdi-linux asterisk asterisk-config asterisk-sounds-main

Проверить установлен ли пакет можно командой dpkg -l|grep имя_пакета, например так:

dpkg -l|grep asterisk

Устанавливать надо в том порядке в котором я написал.

Если пакеты что-то потянут за собой, то ставьте все зависимости.

После установки в системе появится еще один пользователь asterisk под которым и будет запускаться сам сервер, так же он пропишется в автозагрузку при рестарте.

Перезагружаем сервер

sudo reboot

Пробуем зайти в консоль Asterisk

sudo asterisk -r

Запускать необходимо именно от root иначе вы не подключитесь к консоли и будут ошибки.

В следующей статье опишу как настроить два номера и совершать звонки между ними.