Если вы используете Asterisk в качестве вашей телефонной системы, одним из наиболее полезных инструментов является функция переадресации. Это позволяет вам пересылать звонки на другой номер в случае, если вы не можете ответить на звонок или заняты на другом вызове. Большинство пользователей Asterisk знают, насколько это удобно, особенно если у вас есть общий номер телефона для всей команды.
В этом руководстве мы рассмотрим, как настроить переадресацию в Asterisk. Начиная с основ, мы обсудим, какая информация вам нужна и как ее получить, как настроить переадресацию звонков, когда вы недоступны, и как управлять своей переадресацией через управляющую консоль Asterisk. В конце мы также рассмотрим некоторые полезные советы и трюки, которые помогут вам использовать эту функцию более эффективно.
- Основные понятия: что вы должны знать перед началом
- Установка Asterisk
- Шаг 1: Установка зависимостей
- Шаг 2: Скачивание и распаковка исходных файлов Asterisk
- Шаг 3: Конфигурация и установка
- Создание конфигурационного файла
- Как создать конфигурационный файл?
- Как написать конфигурационный файл?
- Как сохранить конфигурационный файл?
- Настройка переадресации
- Как настроить переадресацию
- Проверка работоспособности переадресации
- 1. Настройка тестового вызова
- 2. Настройка переадресации
- 3. Проверка работоспособности
- Вопрос-ответ
- Хочу настроить переадресацию в Asterisk, с чего начать?
- Как настроить переадресацию на группу номеров в Asterisk?
- Как настроить переадресацию на несколько номеров с разной приоритетностью?
- Как настроить переадресацию на занятый номер в Asterisk?
- Можно ли настроить переадресацию на номер во внешней сети в Asterisk?
- Как настроить переадресацию на внутренний номер в Asterisk?
- Как настроить переадресацию на голосовую почту в Asterisk?
Основные понятия: что вы должны знать перед началом
Перед тем, как мы начнем настраивать переадресацию, важно понимать некоторые основные понятия. Первоначально, для настройки переадресации вам понадобится доступ к файлам конфигурации Asterisk и понимание, как управлять ими. Второй ключевой концепцией является понимание, как использовать командную строку Asterisk, чтобы выполнить необходимые настройки.
Кроме того, вы захотите знать о различных типах переадресации, которые могут быть полезны для вашей команды или бизнеса. Это может включать внутреннюю переадресацию внутри вашей сети, переадресацию на указанный номер при занятости или недоступности, или даже переадресацию на голосовую почту.
Установка Asterisk
Шаг 1: Установка зависимостей
Перед установкой Asterisk необходимо убедиться, что установлены все необходимые зависимости. Для этого выполните команду:
- apt update
- apt install build-essential
- apt install libncurses5-dev libssl-dev libxml2-dev libsqlite3-dev uuid-dev
После установки необходимых зависимостей можно приступать к установке Asterisk.
Шаг 2: Скачивание и распаковка исходных файлов Asterisk
Скачивание исходных файлов Asterisk можно выполнить из официального репозитория:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
После загрузки исходных файлов необходимо распаковать их:
tar xvzf asterisk-16-current.tar.gz
Шаг 3: Конфигурация и установка
Для конфигурации и установки Asterisk необходимо выполнить следующие команды:
- cd asterisk-16*
- ./configure
- make menuconfig
- make
- make install
- make samples
После успешной установки можно приступать к настройке и использованию Asterisk.
Создание конфигурационного файла
Как создать конфигурационный файл?
Для создания конфигурационного файла в Asterisk, необходимо использовать текстовый редактор, такой как nano или vim.
Прежде, чем начать создание файла, необходимо определиться с расположением конфигурационного файла. Обычно, конфигурационные файлы хранятся в папке /etc/asterisk/.
Для создания нового конфигурационного файла в этой папке, нужно воспользоваться следующей командой:
nano /etc/asterisk/newconfig.conf
Как написать конфигурационный файл?
После открытия текстового редактора для создания конфигурационного файла, следует начать его написание с заголовка и описания его назначения. Затем, создаются директивы, указывающие на настройки Asterisk.
Каждая директива представляет собой пару ключ-значение, которая сообщает Asterisk, что нужно настроить и каким образом. Например:
[general]
autofallthrough=yes
language=en
В данном примере указывается, что для раздела [general] необходимо включить автоматическую переадресацию и установить язык по умолчанию на английский.
Запись директив производится в формате ключ=значение. При этом, различаются глобальные и локальные настройки. Глобальные настройки, которые применяются ко всей конфигурации, указываются в разделе [general]. Далее, в необходимых разделах, указываются настройки для конкретного модуля.
Как сохранить конфигурационный файл?
После завершения редактирования файла, его нужно сохранить и закрыть. В текстовом редакторе nano для сохранения файла используется сочетание клавиш Ctrl + O.
После этого, можно закрыть файл, нажав Ctrl + X. Если необходимо сохранить файл под другим именем, можно указать новое имя файла при сохранении.
Настройка переадресации
Переадресация позволяет перенаправлять вызовы на другие номера телефонов или абонентов в сети. В Asterisk есть несколько способов настройки переадресации:
- Переадресация на занятый/недоступный номер — при занятости или отсутствии ответа на изначальный номер, вызов будет перенаправлен на другой указанный номер;
- Переадресация по времени — вызовы на определенный номер будут перенаправлены на другой номер в указанное время;
- Переадресация на группу номеров — вызовы на один номер будут перенаправлены на группу других номеров с последующим вызовом всех номеров одновременно или последовательно;
- Переадресация на голосовую почту — в случае отсутствия ответа на основной номер вызов будет переключен на запись голосового сообщения;
- Переадресация на IVR-меню — вызов будет перенаправлен на IVR-меню, где клиент может выбрать определенный пункт меню и получить необходимую информацию.
Как настроить переадресацию
Для настройки переадресации необходимо отредактировать файл конфигурации sip.conf.
Например, чтобы настроить переадресацию на занятый номер:
- Откройте файл sip.conf на редактирование;
- Добавьте строчку busylevel=5 в секцию [general];
- Добавьте строчку busydest=100 в секцию [extension], где 100 — это номер, на который будут перенаправлены занятые вызовы.
Таким образом, вызовы на этот номер будут перенаправлены на номер 100, если основной номер находится в состоянии занятости.
Проверка работоспособности переадресации
1. Настройка тестового вызова
Чтобы проверить работоспособность переадресации, нужно создать тестовый вызов. Для этого можно использовать один из SIP-телефонов, подключенных к серверу Asterisk.
В файле sip.conf необходимо добавить следующие строки:
- [test]
- type=friend
- username=test
- secret=password
- host=dynamic
- qualify=yes
После этого необходимо перезапустить модуль SIP, выполнив команду sip reload.
2. Настройка переадресации
Для проверки переадресации необходимо настроить правила в файле extensions.conf. Например, если требуется переадресовывать вызовы с номера 1001 на номер 2001, нужно добавить следующие строки:
- [test-redirect]
- exten => 1001,1,Dial(SIP/2001)
После настройки правил необходимо перезапустить модуль dialplan, выполнив команду dialplan reload.
3. Проверка работоспособности
Чтобы проверить переадресацию, необходимо звонить на номер 1001 с тестового SIP-телефона. Если переадресация работает, вызов будет перенаправлен на номер 2001.
Также можно использовать команду sip show peers для проверки статуса подключения телефонов.
Вопрос-ответ
Хочу настроить переадресацию в Asterisk, с чего начать?
Прежде всего, убедитесь, что у вас установлен и настроен Asterisk. Далее, создайте правило переадресации в файле extensions.conf, указав номер, на который нужно перенаправлять звонок, и условия, при которых это должно происходить. Например, если вы хотите, чтобы все звонки на определенный номер перенаправлялись на другой номер, можно создать правило вида: exten => 1234,1,Dial(SIP/5678).
Как настроить переадресацию на группу номеров в Asterisk?
Для этого можно использовать функцию GotoIfGroup, которая позволяет указать группу номеров и условие для перенаправления звонка. Например, можно создать правило вида: exten => 1234,1,GotoIfGroup(numbers,s,1) и определить группу номеров numbers в файле /etc/asterisk/extensions.conf: [numbers] exten => s,1,Dial(SIP/101&SIP/102&SIP/103).
Как настроить переадресацию на несколько номеров с разной приоритетностью?
Для этого можно использовать функцию GotoIf, которая позволяет указать условие для перенаправления звонка на один из нескольких номеров. Например, можно создать правило вида: exten => 1234,1,GotoIf(${timeconditions(TIMEGROUP)}?priority1,priority1,priority2) и определить два приоритетных номера в файлах extensions.conf и timegroups.conf. При этом, если условие из timegroups.conf соблюдено, звонок будет перенаправлен на первый номер, а если не соблюдено, на второй номер.
Как настроить переадресацию на занятый номер в Asterisk?
Для этого можно использовать функцию BusyDetect, которая позволяет определить состояние занятости звонимого номера. Например, можно создать правило вида: exten => 1234,1,BusyDetect(n) и определить действия в файле /etc/asterisk/extensions.conf при занятости номера: exten => 1234,n,Playback(busy); exten => 1234,n,Hangup().
Можно ли настроить переадресацию на номер во внешней сети в Asterisk?
Да, для этого можно использовать функцию Dial, указав нужный префикс и номер в формате SIP/или другой протокол: exten => 1234,1,Dial(SIP/5551234567@voip-provider). При этом, для правильной работы необходимо настроить доступ на удаленный сервер и проверить соединение.
Как настроить переадресацию на внутренний номер в Asterisk?
Для этого можно использовать функцию Dial, указав номер внутреннего пользователя в формате SIP/номер: exten => 1234,1,Dial(SIP/101). При этом, если внутренний пользователь не доступен, звонок будет перенаправлен на другой номер или иную группу номеров.
Как настроить переадресацию на голосовую почту в Asterisk?
Для этого можно использовать функцию VoiceMail, указав номер голосовой почты и настройки сообщения. Например, можно создать правило вида: exten => 1234,1,VoiceMail(100@default,u). При этом, если номер не доступен, звонок будет перенаправлен на голосовую почту.