img

Как позвонить из командной строки | Asterisk

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

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

К примеру, изменились настройки фаерволла, транка или экстеншена и необходимо при каждом изменении совершать тестовые исходящие звонки. Подобную функцию выполняет команда «Dial», но в данном случае необходимо создать так называемый «call» файл, просто текстовый файл, который содержит следующие строки:

Channel: SIP/flowroute/84951112233
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: test_forcall
Extension: 1
Priority: 1
Set: variablename=variablevalue
CallerID: Test <84954445566>

Первая строчка определяет канал, который будет использоваться для совершения вызова и экстеншен, в данном случае – любой номер телефона, в данном примере 84951112233. Следующая строка – параметр, определяющий сколько раз Asterisk произведет попыток вызова на данный номер. Далее – временной интервал между вызовами и начальное время ожидания перед первым звонком. Параметр «Context» отвечает соответственно за контекст, через который пойдет вызов, экстеншен и приоритет.

Кроме того, можно настроить CallerID (номер вызывающего абонента), в данном случае - Test <84954445566>.

Для того, что бы Астериск прочел и использовал .call файл, его необходимо поместить в директорию /var/spool/asterisk/outgoing/ - важно, что он должен быть именно перемещён в неё с помощью команды «mv», а не создан в самой директории. Кроме того, необходимо, что бы Астериск имел достаточно прав для того, чтобы удалить этот файл после использования.

Суммируя вышесказанное, необходимо:

  1. Создать .call файл с необходимым наполнением
  2. Настроить необходимые разрешения с помощью команды chmod
 chmod 777 callfile.call 

3. Переместить файл в директорию для его исполнения командой mv

 mv callfile.call /var/spool/asterisk/outgoing/ 

Так как файл совершает вызов с использованием контекста, экстеншена и приоритета, ниже приведён пример контекста, который использовался для данного примера:

 
[test_forcall]
exten => 1,1,Answer()
exten => 1,n,Record(/home/test/asterisk_sounds/rec/incoming_call.gsm,5,30)
exten => 1,n,Playback(vm-goodbye)
exten => 1,n,Hangup() 

В описании данного контекста нет никакой специфики, кроме того что необходимо зарегистрировать экстеншен с номером 1, так как через него идет вызов (.call файл в начале статьи).

Если изменить дату создания .call файла, то Asterisk совершит вызов в указанный момент. Для этого используется команда touch, как указано ниже.

touch -t YYYYMMDDHHMM.SS filename  // формат использования команды
touch -t  echo date('YmdHi'); .00 callfile.call // изменение даты файла так, что Asterisk совершит вызов  echo date('d');   
function getMonthRus($num_month = false){
    if(!$num_month){
        $num_month = date('n');
    }
    $monthes = array(   
        1 => 'января', 2 => 'февраля', 3 => 'марта', 
        4 => 'апреля', 5 => 'мая', 6 => 'июня', 
        7 => 'июля', 8 => 'августа',9 => 'сентября', 
        10 => 'октября', 11 => 'ноября', 
12 => 'декабря'
    );
    $name_month = $monthes[$num_month];
    return $name_month;
}
echo getMonthRus();  echo date('Y');  года в  echo date('H:i'); .
Это если Вы решите позвонить прямо сейчас :)

Если необходимо проверить список файлов, которые ожидают исполнения, необходимо ввести следующую команду:

ls --full-time /var/spool/asterisk/outgoing/

Таким образом, можно генерировать файлы для совершения автодозвона в целях тестирования, в любое необходимое время – к примеру, можно проверять работоспособность АТС в критичные моменты.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Привет, дорогой читатель! В повседневной работе зачастую не хватает автоматизации. Поэтому, мы решили создать калькулятор инстал
img
Мы подумали, а почему бы не консолидировать все знания по Cisco VoIP продуктам и их настройке в единый документ? Добавить в них
img
Привет! Для удобства, мы структурировали все материалы по графическому интерфейсу FreePBX в нашей базе знаний в единый файл. Сам
img
Вам, как сетевому инженеру, крайне важно разбираться в том, каким образом вызовы VoIP влияют на пропускную способность канала в
img
В этой статье расскажем как отправлять различные СМС сообщения пользователям, позвонившим в контакт-центр Октелл и запросившим т
img
Всем современным кампаниям, производящим товары и оказывающим услуги, необходимо иметь специалистов, работающих с потенциальными
21 ноября
20:00
Бесплатный вебинар
Введение в Docker