Asterisk. Музыка на удержании (Music on hold)

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

Читать далее «Asterisk. Музыка на удержании (Music on hold)»

Переадресация вызовов в Asterisk

Приведу пример настройки переадресации вызовов в Asterisk.
К примеру на IP-телефонах Grandstream можно включить переадресацию функциями самого телефона, но если телефон находится далеко и нет возможности на нем этого сделать, а есть возможность залогинится под SIP номером этого телефона, то для активации переадресации можно сделать голосовое меню при наборе определенного номера, например *21 для активации переадресации и ввода номера телефона на который будут переадресованы звонки, а *22 для отмены переадресации.

Читать далее «Переадресация вызовов в Asterisk»

Asterisk. Решение «Not accepting call completion offers from call-forward recipient Local»

Однажды на одном Asterisk сервере заметил следующую ошибку:

Читать далее «Asterisk. Решение «Not accepting call completion offers from call-forward recipient Local»»

Уведомление «Call from X to extension X rejected because extension not found in context X»

Однажды меня попросил клиент посмотреть почему нельзя дозвонится на один из номеров.
Я открыл консоль asterisk:

Читать далее «Уведомление «Call from X to extension X rejected because extension not found in context X»»

Настройка Asterisk AMI

Asterisk Managment Interface (AMI) — мощный интерфейс API для Asterisk, позволяет управлять, выполнять команды, получать уведомления о событиях в реальном времени и т.д.

Читать далее «Настройка Asterisk AMI»

IPTables правила для Asterisk AMI

Допустим по умолчанию «iptables -P INPUT ACCEPT» для всех соединений (а если DROP, что очень желательно, то тогда все DROP правила ниже не используем, выполняем только ACCEPT).

Так как Asterisk AMI обычно работает по TCP порту 5038, то чтобы открыть его выполним:

Читать далее «IPTables правила для Asterisk AMI»

Отправка голосовой почты Asterisk на несколько email

Допустим голосовая почта настроена как я описывал в статье — Настройка голосовой почты в Asterisk.
Имеется следующий контекст:

[voicemailcontext]
207 => 1111,Username,test@example.com,,attach=yes|tz=ua|delete=yes

Если необходимо отправить голосовое сообщение сразу на несколько email адресов, то вместо test@example.com укажем например testmail:

[voicemailcontext]
207 => 1111,Username,testmail,,attach=yes|tz=ua|delete=yes

Потом откроем файл /etc/aliases в текстовом редакторе:

sudo nano /etc/aliases

И укажем алиасы для testmail:

testmail: support@example.net,user@example.net

Чтобы изменения вступили в силу, необходимо обновить базу алиасов командой:

cd /etc
sudo newaliases

Готово, Asterisk будет отправлять сообщение на testmail, а оно автоматически пересылаться на указанные адреса.

Смотрите также:
Перенаправление почты пользователя root

Настройка автоматических вызовов в Asterisk

Asterisk может автоматически совершать звонок если в директорию (по умолчанию) /var/spool/asterisk/outgoing/ поместить .call файл. Если дата изменения файла больше текущей, то звонок будет совершен при наступлении или после этого времени.

Для автоматических вызовов должен быть загружен модуль pbx_spool.so, он должен быть прописан в modules.conf либо должен быть указан параметр autoload=yes.

Читать далее «Настройка автоматических вызовов в Asterisk»

Решение предупреждения Asterisk «leave_voicemail: No more messages possible»

Заметил на одном из серверов следующую ошибку:

WARNING[21992][C-00000b27]: app_voicemail.c:6559 leave_voicemail: No more messages possible

Оказалось что почтовый ящик переполнен голосовыми сообщениями и они перестали сохранятся, в ответ звонящему сообщалось «Голосовой ящик абонента переполнен».

Чтобы решить эту проблему есть несколько вариантов:

1) Удалить сообщения в голосовом ящике, позвонив на номер голосовой почты.

2) Увеличить значение maxmsg в файле voicemail.conf, тем самым увеличив максимальное количество сообщений в почтовом ящике, но опять же он может быть переполнен. После изменений в файле voicemail.conf нужно их применить:

sudo asterisk -rvv
voicemail reload
quit

3) В контексте голосового ящика добавить delete=yes, например:

[voicemailcontext]
207 => 1111,Username,test@example.com,,attach=yes|tz=ua|delete=yes

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

Смотрите также:
Настройка голосовой почты в Asterisk