В предыдущем посте я писал как установить сервер 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
Остальные значения оставляем по умолчанию. На этом настройка закончена и наши абоненты могут звонить друг другу.
Комментариев нет:
Отправить комментарий