Добавление SIP клиентов в Asterisk

SIP клиенты в Asterisk указываются в файле sip.conf, поэтому откроем его например в текстовом редакторе nano (Ctrl+X для выхода из редактора, y или n для сохранения или отмены изменений):

sudo nano /etc/asterisk/sip.conf

Сначала укажем следующий параметр, запретив принимать анонимные звонки:

allowguest=no

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

[6000]
type=friend
secret=PASSWORD
nat=no
host=dynamic
dtmfmode=rfc2833
disallow=all
allow=ulaw
context=sip-dialout
callerid=6000
deny=0.0.0.0/0
permit=192.168.0.10/32

Кратко опишу параметры которые я указывал:
type — тип клиента, может быть user (идентификация по паролю), peer (идентификация по адресу хоста), fried (либо по паролю, либо по хосту).
secret — пароль пользователя.
nat=no — указывает, что клиент может быть за NAT, смотрите мою статью по поводу этого Звонок через NAT.
host=dynamic — нет привязки клиента к адресу хоста.
dtmfmode=rfc2833 — метод передачи dtmf тонов набора номера.
disallow=all — запрет всех кодеков.
allow=ulaw — разрешим только кодек ulaw
context=sip-dialout — имя диалплана (он описывается в extensions.conf)
callerid=6000 — внутренний номер телефона клиента.
deny=0.0.0.0/0 — запрещаем подключение со всех IP адресов.
permit=192.168.0.10/32 — разрешаем подключение только с указанного IP адреса.

После добавления клиента подключимся к Asterisk и обновим конфигурацию sip:

sudo asterisk -rvv
sip reload

Посмотреть список клиентов можно командой:

sip show users
sip show peers

Для выхода из консоли Asterisk наберем:

quit

Теперь уже можно подключится добавленному клиенту к серверу Asterisk используя например программу X-Lite, Zoiper или VoIP телефон, но звонить пока некуда, поэтому добавим для теста второго клиента в sip.conf:

[6001]
type=friend
secret=PASSWORD
nat=no
host=dynamic
dtmfmode=rfc2833
disallow=all
allow=ulaw
context=sip-dialout
callerid=6001
deny=0.0.0.0/0
permit=192.168.0.10/32

Откроем в редакторе файл extensions.conf:

sudo nano /etc/asterisk/extensions.conf

И укажем в его конце следующие строки, чтобы пользователи могли звонить друг другу:

[sip-dialout]
exten => 6000,1,Dial(SIP/6000)
exten => 6001,1,Dial(SIP/6001)

Перезапустим Asterisk чтобы применить изменения:

sudo service asterisk restart

Или обновим конфигурацию если не хотим перезагружать:

sudo asterisk -rvv
dialplan reload
quit

Все, мы добавили двух пользователей и они могут звонить друг другу.

Если вы хотите использовать SIP клиент на iPhone, то после установки и настройки приложения для звонков, необходимо обязательно активировать функцию «Обновление контента» для «Wi-Fi и сотовые данные», которая находится в «Настройки» — «Основное» — «Обновление контента». Так как после блокировки экрана iPhone, через несколько секунд отключается Wi-Fi, а также приложения не указанные в функции «Обновление контента» активно не используются для экономии системных ресурсов. Также в настройках SIP клиента на asterisk не ограничиваем ему доступ по IP адресу так как iPhone в заблокированном состоянии будет подключаться через сотовую связь.

Смотрите также мою статью:
Добавление SIP клиента во FreePBX

Вливайтесь в общение

1 комментарий

Добавить комментарий