September 12th, 2019

Cat-light

Astersik channel local

Какое-то время тому назад я и сам не подозревал, что наряду с "традиционными" каналами типа SIP или DAHDI у Asterisk-а есть занятная магия под названием chan_local. А зря. Иногда бывает очень удобен. Особенно он полезен, когда нужно из extension-а сделать полноценный вызывающий либо вызываемый канал. Поясню на примере.

Задача. Сделать робо-будильник, который будет чётко по часам звонить на определенные номера и что-нибудь вещать.

Вообще это не проблема. Берём cron или systemd, вспоминаем про CLI Originate и колдуем себе на здоровье. Но теперь усложним задачу. Допустим, нам надо набирать не на один аппарат, а на два разных: где быстрее снимут трубку, туда и балакать. Кроме того, нам хочется что-то осмысленное писать в Caller ID. Вот тут-то и поможет Channel Local. Пример конфига extension-ов (extensions.conf).

Теперь из cron-а можно вызвать что-нибудь типа

И готово. Теперь каждый день ровно в полдень сработает cron. Через консоль asterisk-у подается команда инициировать вызов на канал Local с некоторыми параметрами. Которые говорят ему, что для создания такого канала надо пойти в диалплан "alarms" и начать выполнять extension номер два. После поднятия трубки на одном из SIP-устройств phone1 или phone2 данный канал направляется в диалплан "hints", где как будто бы "с другой стороны" снимают трубку и проигрывают в соединение голосовое сообщение из некоторого файла "SomeVoiceMessage".

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

Cat-light

В Москве дают хорошего программера

Нет, не меня. :)

Зовут Игорем. Хорошо умеет в Perl, PHP, Lua, Golang и совсем-совсем чуть-чуть в Python. Основная специализация — веб-разработка, бэкенд. Но вообще, как и я, весьма универсален. Практикует с 2003-го года. Опыт серьёзный, в том числе работал у известных хостеров.

Неспешно ищет работу, потому что контора, на которую он вjobывает прямо сейчас, медленно, но уверенно разваливается.

Надо кому? Если надо, пишите, отправлю контакты. Можете репостнуть при желании и наличии доброй на то воли.