На примере настрою GoIP СМС-сервер в Ubuntu Server 14.04 LTS x64.
Переключимся сразу на root пользователя:
Архивы рубрик:Asterisk
Настройка SIP Trunk в Asterisk от Укртелеком
Приведу пример настройки SIP Trunk в Asterisk, то есть Asterisk будет в роли SIP клиента.
От провайдера Укртелеком получены данные: номер, пароль и адрес сервера телефонии (sip.ukrtel.net).
SIP номер брался чтобы сделать многоканальность не обычном городском номере, путем переадресации в случае занятости линии.
Настраивать буду на Linux сервере с реальным IP без использования NAT, а также на другом с NAT (во втором случае нужно nat=no изменить на nat=yes и закомментировать canreinvite).
Настройка GOIP4 c Asterisk
На тесте настрою в качестве trunk китайский GSM GOIP4 шлюз c Asterisk сервером.
Читать далее «Настройка GOIP4 c Asterisk»Частые сообщения «Remote UNIX connection» в Asterisk
Заметил однажды в консоли Asterisk, что часто отображаются следующие сообщения:
Читать далее «Частые сообщения «Remote UNIX connection» в Asterisk»— Remote UNIX connection
— Remote UNIX connection disconnected
— Remote UNIX connection
— Remote UNIX connection disconnected
— Remote UNIX connection
— Remote UNIX connection disconnected
…
Решение ошибки «Unable to create channel of type ‘SIP’ (cause 20 — Subscriber absent)»
Заметил однажды при звонках в консоли Asterisk следующую ошибку:
dial_exec_full: Unable to create channel of type ‘SIP’ (cause 20 — Subscriber absent)
В контексте диалплана у меня выполняется звонок одновременно на два телефона:
exten => s,5,DIAL(SIP/204&SIP/203,19)
Иногда один из IP-телефонов выключен, в связи с чем и возникает эта ошибка, сообщающая что абонент отсутствует.
Для решения нужно просто включить IP-телефон.
Можно посмотреть информацию о SIP в консоли Asterisk:
asterisk -rvv sip show peers sip show peer НОМЕР quit
Если вместо IP-адреса клиента отображается null, а expire равно -1, то SIP клиент не в сети:
Expire: -1 Addr->IP: (null)
Настройка Asterisk CDR и Asterisk CDR Viewer
CDR (Call Data Record), позволяет в MySQL базе данных вести статистику активности звонков.
Читать далее «Настройка Asterisk CDR и Asterisk CDR Viewer»Настройка FSK в Asterisk для определения номеров
Чтобы определялся номер, с аналоговых линий, нужно в контексте для каждого Trunk канала Dahdi указать:
Читать далее «Настройка FSK в Asterisk для определения номеров»Увеличение громкости звонков в Asterisk
Чтобы увеличить громкость разговора при звонках, необходимо в файле /etc/asterisk/extensions.conf, в начале каждого диалплана добавить пару строк (на которых нужно увеличить громкость):
Читать далее «Увеличение громкости звонков в Asterisk»Маршрутизация звонков по времени в Asterisk
Приведу пример маршрутизации звонков по времени в Asterisk.
Допустим в файле /etc/asterisk/extensions.conf есть настроенный контекст для транка со следующими параметрами:
[Trunk_2] exten => s,1,DIAL(SIP/6004&SIP/6003,19) exten => s,2,Hangup()
И чтобы разрулить звонки по времени на разные телефоны укажем для контекста этого транка только вложенные контексты:
[Trunk_2] include => daytime,8:00-18:00,mon-sat,*,* include => nighttime,18:00-8:00,mon-sun,*,* include => sunday,8:00-22:00,sun,*,*
По сути daytime, nighttime, sunday это только названия контекстов, для которых прописано время в контексте [Trunk_2], их можно называть как угодно.
И потом в этих отдельных контекстах уже пропишем нужные екстеншены.
То есть, днем:
[daytime] exten => s,1,DIAL(SIP/6004&SIP/6003,19) exten => s,2,Hangup()
Ночью:
[nighttime] exten => s,1,DIAL(SIP/6002,19) exten => s,2,Hangup()
И в воскресенье:
[sunday] exten => s,1,DIAL(SIP/6002,19) exten => s,2,Hangup()
Можно также например создать контекст holiday с праздничными днями:
include => holiday,*,*,1,jan include => holiday,*,*,8,mar
и т.д.
Для тех кто хочет расписать подробнее по дням, приведу список дней на английском:
mon — Monday — Понедельник
tue — Tuesday — Вторник
wed — Wednesday — Среда
thu — Thursday — Четверг
fri — Friday — Пятница
sat — Saturday — Суббота
sun — Sunday — Воскресенье
Аналогично сокращаются до трех букв и названия месяцев.
Решение ошибки при компиляции Asterisk «‘pjsip_tcp_transport_cfg’ has no member named ‘sockopt_params’»
Компилировал однажды Asterisk версии 13.13.1 и при выполнении make заметил следующую ошибку:
‘pjsip_tcp_transport_cfg’ has no member named ‘sockopt_params’
pjproject-2.2.1 уже был скомпилирован.
Решил проблему собрав поновее версию pjproject-2.4.5
cd /usr/src wget http://www.pjsip.org/release/2.4.5/pjproject-2.4.5.tar.bz2 tar -xjvf pjproject-2.4.5.tar.bz2 cd pjproject-2.4.5 CFLAGS='-DPJ_HAS_IPV6=1' ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr make dep make make install
После этого, ошибка исчезла.