Курсы по использованию Asterisk

IP-телефония — технология будущего. Обучитесь работе с IP-АТС Asterisk для того чтобы внедрить и профессионально использовать при решении коммуникационных задач.

Работайте с Asterisk профессионально!

Многоуровневая защита IP-АТС Asterisk

Телефонные станции очень часто становятся объектами хакерских атак. Узнайте, каким образом необходимо строить многоуровневую защиту для Вашей IP-АТС.

Не оставьте хакерам шансов. Защитите свой Asterisk от атак.

Используйте Веб-Интерфейс для удобства настройки

Панель управление FreePBX позволяет легко и удобно управлять всей системой. Научитесь эффективно использовать FreePBX для решения своих задач.

Управление станцией и статистика в окне браузера.

Научитесь работать с Asterisk из консоли

Для понимания работы с Asterisk необходимо уметь настраивать его вручную с конфигурационными файлами и командной строкой CLI Asterisk.

Научитесь «тонкой» настройке Asterisk

Цель курсов - максимум практики.

Обучение нацелено на практическую работу с IP-оборудованием: платы потоков E1, VoIP-телефонные аппараты, голосовые шлюзы FXS и прочее.

Обучение на реальном оборудовании — залог успеха.

Текстовый информатор для операторов

База знаний Настройка Asterisk

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

Для начала реализуем сам механизм отправки сообщений, пользоваться будем приложением Asterisk: MessageSend. Для проверки сделаем простой контекст и попробуем отправить сообщение.

Поддержка протокола SIMPLE появилась в 10й версии, соответственно нужна версия Asterisk выше 10й. Так же следует помнить что не все аппараты поддерживают данные сообщения. (Точно поддерживают Fanvil, Snom, Grandstream), а так же софтфон MicroSIP, которым и будем пользоваться для тестов.

[sip_message]
exten => _XXX,1,MessageSend(sip:${EXTEN},"${CALLERID(name)}"${MESSAGE(from)})
Так же необходимо добавить параметры в sip конфигурации, если вы используете FreePBX можно добавить их в файл sip_general_custom.conf, либо через сам FreePBX в модуле Asterisk SIP Settings.
accept_outofcall_message = yes
outofcall_message_context = sip_messages
auth_message_requests = no

Sip settings

 Sip settings

Пример сообщения

Пример сообщения

Соответственно для отправки сообщений подобным образом необходим телефон или аппарат, поддерживающий данную функцию. Для примера использовался софтфон MicroSIP.

Но, для отправки через веб, данный контекст не нужен, необходимы только параметры sip, а так же отправка корректных данных на  Asterisk.
Пользоваться будем call-фалами.

Для примера можно использовать статью (отправка голосовых уведомлений). Используем подбор пользователей оттуда.
Из формы ввода сообщения будем отправлять текст в скрипт для генерации call файлов.

Сам скрипт:

$msg = $_POST['msg'];
echo "Отправлено<br>";
$result = bd_bridge('phonebookusers',"SELECT exten FROM users;");
        while ($row = mysql_fetch_array($result))
{
$number=$row["exten"];
$fp = fopen("/tmp/msg_send/".$number.".call", 'w');//папка должна принадлежать пользователю asterisk
fwrite($fp, "Channel: Local/$number@from-internal\n"); //Внутренний номер
fwrite($fp, "CallerID: MESSAGE"."\n");  //Сообщение при вызове
fwrite($fp, "Application: MessageSend"."\n"); //Приложение для отправки сообщения
fwrite($fp, "Set: MESSAGE(body)=$msg"."\n"); //Сам текст сообщения
fwrite($fp, "Data: sip:$number"."\n"); //Данные для приложения
fclose($fp);
$chownfile=`chown asterisk:asterisk /tmp/record_send/ -R`;//Даем владельца asterisk файлам.
$mvfile=`mv /tmp/record_send/$number.call /var/spool/asterisk/outgoing`;//Переносим файлы в директорию для обработки.
}


Вызов отображается подобным образом.

Вызов отображается подобным образом.

Далее можно приступать к тестированию и настройке под себя. Например можно добавить возможность логирования всех сообщений в базу, либо в файл. Реализуется просто через скрипт, добавим простой код в конце:

$date_today = date("m.d.y");
$today[1] = date("H:i:s");
$fs = "/tmp/record_send/listMessages.txt";
$new="Сообщение:$msg отправлено: $date_today $today[1]"."\n";
file_put_contents($fs, $new, FILE_APPEND | LOCK_EX);//добавляем строку в файл
Можно тестировать.

Файл с логом сообщений.

Файл с логом сообщений.

Настройка завершена. Пример работы.

 

asterisk, sip, Софтфон, Call-файл, FreePBX, Channel, call, callerid, Fanvil, Snom