Asterisk: установка и инструкция
Графический интерфейс администратора IP – АТС Asterisk – FreePBX, насчитывает огромное количество опций настройки, вариантов маршрутизации, подключения различного оборудования, начиная от телефонных аппаратов и заканчивая шлюзами. В статье мы опишем базовую настройку тринадцатой версии FreePBX сразу после .
Пошаговое видео Подключение к FreePBXЧтобы подключиться к графическому интерфейсу FreePBX, нужно ввести IP – адрес Asterisk, который вы указали на этапе установки. Если вы забыли, какой IP – адрес указали, то подключите монитор и клавиатуру к вашему серверу, а затем введите данные для пользователя root, как показано ниже:
При подключении, вам будет указан IP – адрес вашего сервера. Если версия вашего дистрибутива отличается, и вы не увидели аналогичного вывода, укажите следующую команду:
# ifconfig
Вывод команды позволит вам увидеть все доступные интерфейсы и их IP – адреса.
Активация и пароль администратораПодключившись к FreePBX 13 через интернет – браузер вам будет сразу предложено создать учетную запись администратора указав логин, пароль и адрес электронной почты администратора системы. После успешного создания, выберите на главной страницу пункт FreePBX Administration и укажите созданные параметры:
Сразу после подключение, перейдите во вкладку Admin → System Admin и нажмите кнопку Activation
После этого, следуйте инструкциям инсталлятора. Необходимо будет указать адрес электронной почты, пароль, номер телефона и местоположение вашего сервера.
Настройки SIP
Модуль SIP Settings это графическая визуализация настроек в файле /etc/asterisk/sip_nat.conf. Здесь, с помощью графического интерфейса можно настроить важнейшие параметры, такие как настройки NAT, внешний IP – адрес и настройки кодеков. Чтобы перейти к настройке нажмите на вкладку Settings , а далее Asterisk Sip Settings .
Allow Anonymous inbound SIP Calls
Данная опция позволяет разрешить, или запретить входящие звонки с неизвестных номеров. Мы советуем запрещать данный вид звонков, так как потенциально, разрешенные анонимные звонки могут стать лазейкой для злоумышленников.
Local Networks
Введите локальные (находящиеся внутри вашей сети) адреса подсетей, которым Asterisk будет доверять. Например, 192.168.2.0/255.255.255.0
RTP Ranges
Укажите диапазон RTP портов. Рекомендуем все оставлять по умолчанию.
Strict RTP
Когда между двумя устройствами устанавливается RTP поток, то назначаются адреса источника и назначения. При включенной данной опции, все пакеты приходящие с другого IP – адреса буду отброшены. Мы рекомендуем не выключать данную опцию.
Codecs
Галочкой отметьте нужные кодеки.
Настройка NAT в FreePBX
В большинстве случаев, если администратор обнаруживает проблему односторонней слышимости, или то, что звонки обрываются спустя несколько секунд разговора – проблема в NAT. Вот что нужно сделать, чтобы избавиться от этой проблемы: в настройка модуля Asterisk SIP Settings , переходим во вкладку Chan SIP Settings и отмечаем следующее:
NAT
- yes
IP Configuration
- Static IP
Override External IP
- введите ваш внешний IP - адрес
Обязательно укажите в настройках Local Networks в предыдущей вкладке вашу локальную подсеть. Помимо этого, пробросьте на вашем маршрутизаторе порт 5060 и диапазон портов из параметра RTP Ranges , по умолчанию равный 10000-20000
Настройка сетевых параметров FreePBX
Есть три важных пункта данной настройки:
Здесь мы настраиваем следующие опции:
- Network Interface - сетевой интерфейс, то есть конкретная сетевая карта (NIC)
- IP Assignment - выберите Static чтобы настроить статический IP - адрес
- Static IP - введите IP – адрес сервера
- Netmask - маска сети
- Gateway - шлюз по умолчанию
- Start Automatically - старт при загрузке сервера
Настроим уведомления нашего сервера Asterisk, при таких сбоях, как например малое дисковое пространство или сбой в работе RAID массива:
Производим настройку следующих опций:
- From Address - адрес электронной почты, который АТС будет указывать как адрес отправителя при формировании письма
- Storage Notifications - почта для уведомлений о проблемах с хранением данных (сбой RAID или нехватка места на дисках)
- Intrusion Detection Notifications IP - почта для уведомлений о вторжениях или попытках взлома сервера
Конфигурация системы безопасности
В Asterisk встроена система обнаружения вторжений – Fail2Ban. Для настройки системы перейдите во вкладку Admin → System Admin → Intrusion Detection
Система гибкая, и, порой реагирует когда не нужно:) Поэтому, советуем заранее вносить в Whitelist перечень нужных IP – адресов, таких как IP SIP – прокси, адреса шлюзов, например FXS. Порой, бывает так, что в бан попадает IP – адрес FXS шлюза, к которому подключены все офисные аналоговые телефоны.
- Status - мы рекомендуем всегда контролировать состояние Fail2Ban, чтобы статус был running
- Intrusion Detection - в данном пункте можно остановить и перезапустить службу.
- Ban Time - время в секундах, которое IP – адрес будет находиться в статусе блокировки
- Max Retry - количество попыток подключения к АТС, которое пользователь может осуществить в течение Find Time.
- Find Time - время, в течение которого у пользователя есть Max Retry попыток подключения к системе.
- E-mail: - адрес электронной почты, на которую будут отправляться уведомления о внесении нового IP – адреса в бан.
- Whitelist - список заранее внесенных IP – адресов, которым доверяет администратор.
Настройка внутренних номеров
Для настройки телефонных аппаратов и создания внутренних номеров перейдите во вкладку Applications → Extensions . Процесс создания внутренних номеров (Extension) мы описали в статье по ссылке ниже:
Настройка SIP - транка
Подключение к провайдеру является важнейшим этапом в настройке вашего сервера IP - АТС Asterisk. Именно настройки провайдера, позволят нашим пользователям совершать исходящие, и принимать входящие вызовы. Для настройки SIP – транка перейдите во вкладку Connectivity → Trunks . Процесс создания SIP - транка подробно расписан в статье по ссылке ниже:
Настройка маршрутизации
После того, как мы настроили внутренние номера и SIP – транки для подключения к провайдеру, нам необходимо настроить маршрутизацию вызова. В рамках данной настройки, мы будем учить наш сервер Asterisk как обрабатывать входящий и исходящие вызовы. Connectivity Нам жаль, что статья не была полезна для вас:(Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!
Linux-программа Asterisk нужна для создания серверов телефонии и АТС. У неё много полезных функций, которые будут к месту в любом офисе. Конференции, автоответчики, распределение звонков, текстовые сообщения , видео, голосовое меню и голосовая почта. Утилита поддерживает популярные протоколы связи. Их можно коммутировать. Но установка Asterisk на Ubuntu - дело не самое простое. Приложение загружается и настраивается через терминал. Поэтому надо изучить консольные команды.
Установленный Asterisk надо настраивать и через меню, и через терминал. Поэтому откройте консоль.
Пока для работы с Астериском вам нужны права суперюзера. Но лучше создать отдельного пользователя и предоставить ему доступ к функциям программы. Для этого:
Утилита готова к работе. Дальнейшие действия зависят от того, в каких условиях будет использоваться станция. Есть несколько файлов, в которых расписана конфигурация:
- conf - общие настройки сервера. В нём можно указать, сколько подключено абонентов. Там устанавливают правила дозвона.
- conf - в нём также настраивают правила дозвона и выставляют параметры звонков.
- conf - конфигурация абонентских аккаунтов.
С Asterisk вы создадите АТС любой сложности. В нём много полезных функций и модулей. После установки и настройки вы сможете взаимодействовать со станцией при помощи клиентского программного обеспечения. Например, Linphone.
Настройка c нуля FreePBX – современного полнофункционального веб-интерфейса для управления VoIP телефонией Asterisk – не представляет сложности даже для рядового пользователя. Достаточно следовать пошаговой инструкции, которая приведена в нашей статье.
Зачем нужен Web-интерфейс FreePBX?Интерфейс упрощает управление VoIP телефонией и настройку Asterisk за счет визуального представления данных. Но прежде чем перейти к установке, нужно иметь хотя бы общее представление о предмете. Сразу же отметим, что основное удобство названной системы заключается в том, что пользователю нет нужды исправлять множество текстовых файлов с настройками вручную, как это было раньше.
Последней версией пакета является FreePBX 13. По сути, это программная оболочка. Она позволяет управлять VoIP телефонией и выполнять настройку Asterisk без специальных знаний в области программирования. Если говорить упрощенно, она переводит программный язык, понятный машине, в визуальную информацию, которая понятна пользователю, и наоборот. Чтобы выполнить настройку FreePBX с нуля, оболочку нужно установить на компьютер, который будет использоваться для работы с VoIP телефонией.
Установка графического интерфейсаВот пошаговая инструкция:
1. Скачайте дистрибутив FreePBX 13 Distro. Существует несколько версий продукта: для разной разрядности операционной системы. Выбор 32 или 64-битной версии зависит от вашего программного обеспечения. Новичкам лучше не экспериментировать и обойти beta-версии Asterisk PBX стороной.
2. Запишите на диск или флешку образ системы. Для этого используйте стандартные утилиты, которые есть в каждом компьютере.
3. После записи загрузите машину с этого диска. Для этого измените параметры загрузки системы. Порядок действий зависит от конкретной версии BIOS. Обычно всю необходимую информацию можно найти в документации к своему компьютеру. Если все сделано правильно, то появится меню установки программы.
4. Выберите версию сервиса Asterisk PBX и режим, в котором будут работать жесткие диски. Доступны следующие варианты:
- Full install – автоматически удалит всю информацию с жестких дисков и создаст единый RAID-массив. Такой режим повышает надежность работы системы и уменьшает вероятность отказов.
- Full install NO RAID – установка системы без автоматического создания RAID.
- Full install Advanced – установит систему и позволит выполнить ручное разделение диска.
- HA Install – для дисков емкостью более 250 ГБ.
5. Выбрав нужный режим, переходим к настройкам Сети. Если вы используете DHCP-сервер (динамические IP-адреса), а в большинстве случаев это именно так, то просто нажмите ОК. При статическом IP укажите настройки для вашей Сети.
- После этого остается выбрать часовой пояс и установить пароль для пользователя с особыми правами и полным доступом – root.
- Ждем, пока система установит и обновит файлы Asterisk FreePBX. Перезагружаем компьютер, переходим в консольный режим и авторизуемся как пользователь с правами root.
- Также в интерфейс можно зайти с другого компьютера, используя любой браузер. Для этого просто введите IP-адрес машины, где произведена установка FreePBX.
- Тут придется еще раз задать логин и пароль. Важно помнить, что в целях безопасности они должны отличаться от пароля пользователя с правами root.
Установка FreePBX завершена. Теперь можно перейти непосредственно к настройке телефонии.
Как попасть в Web-интерфейс FreePBX?Адрес веб-интерфейса тот же, что и адрес компьютера с установленным FreePBX. Чтобы его узнать, выполните команду ifconfig в консоли компьютера, на котором установлен веб-интерфейс. Так вы увидите настройки всех сетевых интерфейсов машины. Просто введите нужный IP-адрес в строке браузера и нажмите enter.
Описание Web-интерфейса FreePBXГлавная страница включает 3 основных раздела:
Для доступа к первым двум разделам придется ввести логин и пароль, которые вы задали при установке. Есть возможность настройки FreePBX на русском языке. Для этого нажмите кнопку Language справа в верхнем углу окна и выберите нужный язык.
Краткий обзор имеющихся модулей: управление модулямиВ этом разделе можно управлять модулями FreePBX. То есть предусмотрена возможность установки новых, обновление и удаление имеющихся, а также отключение работающих модулей. Новые доступны в 4 источниках:
- Basic – фундамент системы. Обновлением и обслуживанием его разработчики озабочены сильнее всего.
- Extended – модули из этого источника пользуются меньшим приоритетом, чем из предыдущего.
- Unsupported – разработчики FreePBX не несут ответственности за его работоспособность. Так как модули отсюда разрабатывают сторонние программисты.
- Commercial – коммерческие модули или поддержка.
Есть возможность использовать в качестве источника и ваш ПК. Для этого предусмотрена кнопка Uploud modules. А чтобы установить или обновить модуль, следуйте пошаговой инструкции:
1. Выберите подходящий источник.
2. Воспользуйтесь функцией Check Online.
3. После обновления списка доступных модулей напротив каждого из них появится один их следующих комментариев:
- not installed – не установлен;
- online upgrade available – можно обновить;
- enabled and ap to date – модуль включен и обновлен до последней версии.
Предусмотрена возможность одновременной установки или обновления всех доступных модулей, для этого нажмите соответствующую кнопку.
Внутренние номераЭтот раздел позволяет создать внутренние номера FreePBX. Сначала выберите технологию для подключения. Оптимальный вариант – использовать протокол SIP. Для новичков при создании внутреннего номера достаточно задать 3 настройки:
- User Extension – сам номер. Запрещается указывать следующие: 600-699 (зарезервирован для групп вызовов) и 70-79 (зарезервирован для парковки вызовов).
- Display Name – имя, под которым номер отображается в списке номеров. Это имя на экране телефона увидит абонент, принимающий звонок.
- Secret – пароль FreePBX для внутреннего номера (будет сгенерирован автоматически).
Остальные функции помогут опытным пользователям кастомизировать интерфейс под свои нужны и автоматизировать большинство рутинных операций. Чтобы получить краткую справку по той или иной настройке, нажмите на знак вопроса возле нее.
Группы вызоваФункция позволяет объединить внутренние номера в группу. Набрав единственный номер, можно одновременно позвонить хоть на все внутренние номера из этой группы. Это очень удобно, когда нужно постоянно связываться сразу с несколькими абонентами. По умолчанию используется номер 600-699. Это функция работает по следующему принципу:
Доступно несколько схем распределения вызовов:
- ringall – звонок идет одновременно на все номера группы;
- hunt – звонок распределяется в случайном порядке по доступным номерам;
- memoryhunt – звонок идет последовательно на первый номер, потом на первый и второй и так далее;
- firstunavailable – звонок идет по первому доступному номеру;
- firstnotonphone – звонок идет по первому номеру, у которого не снята трубка;
- *-prim – звонок помечается как не отвеченный, если первый номер занят.
Продвинутые пользователи могут вволю поиграться с настройками – тут их 18 штук. Напротив каждой опции есть знак вопроса, нажатие на который расскажет, за что отвечает та или иная функция.
ТранкиМодуль позволяет настроить внешние линии - транки, через которые будут идти звонки в телефонную сеть общего пользования. Подробно по настройкам можно проконсультироваться у оператора связи, который и предоставляет доступ к этим линиям. Для наших целей достаточно ознакомиться с настройками SIP транка FreePBX. По умолчанию доступны следующие опции:
Используется для создания маршрутов входящих вызовов. Справа здесь находятся уже созданные маршруты. Настраивают их по аналогии с другими пунктами меню.
Исходящая маршрутизацияИспользуется для создания маршрутов исходящих вызовов. Модуль позволяет задать правила набора номера и его модификацию перед отправкой оператору. Воспользоваться этими маршрутами может каждый пользователь.
Custom ContextМодуль служит для ограничения исходящих звонков с того или иного внутреннего номера. Можно запретить конкретному внутреннему номеру или целой группе доступ к голосовой почте, перехват вызова или парковку звонка. После создания определенного ограничения его нужно применить в настройках конкретного внутреннего номера.
Follow MeЭтот модуль используют, чтобы объединить несколько номеров в один. Также удобно использовать эту функцию для переадресации внешних или внутренних вызовов. Подобное распределение звонков позволит всегда быть на связи, даже если нужно отойти от рабочего места.
IVR – голосовое менюЭто система по управлению голосовыми сообщениями. С подобной системой сталкивался каждый, когда для доступа к соответствующему пункту меню приятный голос просил нажать ту или иную цифру. Автоответчик формирует у клиента благоприятное первое впечатление. Это электронный секретарь, который вежливо классифицирует вопрос пользователя и только затем соединяет его с нужным специалистом. Подобная тактика позволяет избавиться от так раздражающих клиентов фраз: «Вы попали не в тот отдел, позвоните по такому-то номеру».
ОчередиОпция представляет собой аналог «групп вызовов». Но при этом она дает широкие дополнительные возможности.
Пошаговая инструкция по настройке интерфейса FreePBXЧтобы подробно изучить все модули, придется ознакомиться с официальным руководством по работе с системой. Скачать его можно на официальном сайте Asterisk. Однако ниже приведена простая пошаговая инструкция по настройке FreePBX с нуля, которая позволит использовать базовые опции и приступить к работе:
- Нажимаем меню Admin, переходим на вкладку System Admin и активируем FreePBX. Активация необходима для того, чтобы получить доступ к платным модулям и поддержке. Если процедура проведена верно, то при повторном переходе на вкладку System Admin вы увидите меню, представленное на фото.
- Настраиваем сеть так, как показано на изображении. Это не сложно.
- Переходим на вкладку DNS. На первой строке вводим 127.0.0.1, на нижней – публичный DNS от Google 8.8.8.8, остальные параметры оставляем без изменений.
- Нажимаем Submit – сохраняем настройки.
- Переходим на вкладку Time Zone. Выбираем часовой пояс. Нажимаем Submit и сохраняем настройки.
- На вкладке Storage вводим e-mail, куда будут приходить отчеты о системных ошибках, связанных с жестким диском. Также система предупредит, когда доступное дисковое пространство подойдет к концу.
- Выбираем пункт меню Settings, вкладка Asterisk SIP Settings и переходим к настройкам этого модуля. На первой вкладке все оставляем по умолчанию, кроме пункта Local Networks. Заполняем его так, как показано на скриншоте. Первое поле – адрес Сети, второе – маска.
- После этого нажимаем Submit, ждем обновления настроек и нажимает кнопку Apply Config в правом верхнем углу. Далее таким же образом будет необходимо подтверждать все действия.
- Следующий этап – создание и настройка внутреннего номера. Для этого выбираем меню Applications и переходим к модулю Extension. Когда модуль прогрузится, нажимает Quick Create Extension и заполняем поля, следуя пошаговой инструкции на экране. Вы можете видеть на фото первый шаг.
- А теперь предлагаем вам второй шаг. Выставляем параметры так, как показано на скриншоте, и нажимаем финиш.
- После того как номер создан, переходим к настройке. Для этого нажмите значок с карандашом. Проверяем правильность всех настроек.
- Регистрируем софтфон. Для этого скачиваем и устанавливаем на компьютер нужное приложение. Мы рассмотрим процесс на примере бесплатного софтфона MicroSIP. Запускаем программу и вводим необходимые параметры, как показано на фото.
- Нажимаем кнопку «Сохранить». Если все сделано верно, статус в софтфоне должен измениться на онлайн.
- Теперь переходим к настройке SIP транка – номера, с которого можно звонить на внешние телефоны. Для этого переходим в меню Connectivity и выбираем пункт Trunks.
- Чтобы создать новый транк, нажимаем Add Trunk. Выбираем SIP Trunk и вводим настройки, которые можно получить у провайдера.
- В поле Peer Details на вкладке SIP Settings вводим данные, как на скриншоте.
- Переходим на вкладку Incoming. Здесь в поле Register String вводим нужные данные, как указано на изображении.
- Нажимаем Submit и применяем настройки.
- Настраиваем исходящую маршрутизацию. Для этого переходим в меню Connectivity и выбираем пункт Outbound Routes. Далее нажимаем кнопку Add Outbound Routes и вводим нужные данные.
- Прокручиваем страницу вниз и ставим необходимые настройки. Процесс вы можете видеть на скриншоте.
- Теперь записываем звуковой файл с приветствием от имени вашей компании. Его будут слышать абоненты, которые позвонят вам. Для записи можно использовать стандартные средства Windows.
- Далее переходим в меню Admin и выбираем пункт System Recordings. Вводим нужные настройки и загружаем звуковой файл с приветствием.
- Теперь создаем голосовое меню. Для этого переходим в меню Applications и выбираем пункт IVR. Нажимаем кнопку Add IVR и заполняем нужные данные.
- Сохраняем и применяем изменения.
- Создаем входящий маршрут. Для этого переходим в меню Connectivity и выбираем пункт Inbound Routes. Далее нажимаем кнопку Add Inbound Routes и заполняем необходимые поля. Остается сохранить и применить изменения.
Минимальная настройка FreePBX с нуля завершена. Теперь можно совершать исходящие звонки и принимать входящие вызовы. Вами был создан внутренний и зарегистрирован внешний номер. А также настроено приветствие для входящих вызовов.
Что нужно сделать перед установкой Обратитесь к разделу , если Вам необходимо инсталлировать АТС, которая должна справляться с большой нагрузкой, и Вы не уверены потянет ли ее Ваше программное и аппаратное обеспечение.Операционные системы: сервер Asterisk прекрасно работает на Linux системах, также была проделана большая работа участниками проекта по портированию сервера Asterisk на BSD платформу, включая FreeBSD, OpenBSD и Mac OS X. Однако, драйвер zaptel и драйверы ISDN каналов могут не поддерживаться на этих платформах. Обратитесь к разделу Операционные системы для сервера Asterisk, чтобы получить, специфичной для каждой операционной системы, информацию.В качестве альтернативы, Вы можете использовать методы, описанные на нижеприведенных страницах: Asterisk Install CDROM Asterisk Bootable CDROMИнструкция по быстрой установкеПрочтите раздел 10-минутный обзор сервера Asterisk, если Вы хотите узнать, что же может делать сервер Asterisk. В противном случае, этот раздел можно пропустить.Прочтите раздел Пошаговая инструкция по инсталляции Asterisk, где найдете информацию, начиная с настройки линукса, до первого телефонного вызова червез Ваш Asterisk. http://www.automated.it/guidetoasterisk.htm http://asterisk.net.au/ Руководство по инсталляции сервера Asterisk от гуру этого дела Требования к системе Вам не нужно ни какое специфичное оборудование для инсталляции и запуска сервера Asterisk. Необходимости в звуковой карте нет.Вам необходимо установить следующие программные пакеты перед компиляцией Asterisk: Исходники ядра (kernel sources)Заголовочные.h файлы для Вашего ядра (kernel headers)bison (необходим для обработки выражений в файле )Пакеты: openssl и openssl-dev или libssl-devlibnewt: необходим для работы интерфейса управления astman. Для сервера Asterisk он не требуется, но без этого пакета у Вас не будет приложения astman, которая является отдельной программой.Вам более не нужно устанавливать пакеты "readline" и "readline-devel" для Asterisk. Сервер поставляется со своей реализацией пакета "readline", который называется "editline".Если Вы планируете использовать дополнения для работы с базой mysql, установите пакеты для mysql, mysql_devel & mysql serverЕсли Вы планируете использовать интерфейсные карты от Digium, то Вам необходимо будет установить модуль ядра для поддержки драйвера устройства Zaptel, перед тем, как Вы сможете использовать их в Asterisk. Однако, может вы хочется сначала скачать и установить Asterisk - протестировать работу SIP и IAX телефонов - и уже после этого добавить поддержку для ваших карт Digium. Инсталляция Посмотрите раздел "Операционные системы на которых работает сервер Asterisk", чтобы получить дополнительные инструкции, которые зависят от используемой операционной системы.Как получить сервер Asterisk Asterisk таймер : нужен для конференции MeetMe и для IAX2 транков.Подготовка утилит сторонних разработчиков Обратите внимание на секцию утилиты сторонних разработчиков на основной странице посвященной , на предмет получения информации о следующих приложениях:Музыка ожидания (music-on-hold): использование mpg123voicemail: для него требуется sendmail, для отправки уведомлений по Email.call detail recording: Сервер Asterisk может записывать эту информацию в CSV файлы, в базу данных PostgreSQL или в SQLite. Обратите внимание на пакет дополнений asterisk_addons из SVN .odbc: для хранения и получения данных из других баз данных (отличных от MySQL).кодек speex: требуется установка дополнительных библиотек.Синтезатор речи: FestivalРаспознавание речи: интеграция с приложением Sphinx.
Это статья заметка, на случай если мне нужно будет вспомнить, как настроить Asterisk для приема и отправки вызовов. Этой заметки должно хватить для настройки офисной станции на ip pbx Asterisk . До сих пор у меня не было сильного понятия и опыта, как настроить Asterisk для работы не используя FreePbx , то есть, используя только конфигурационные файлы и консоль. Да и сейчас я только учусь этому. В интернете все настройки сводятся к решению той или иной задачи, но я не увидел статьи способной дать хотя бы базу для минимальной настройки IP станции. Может плохо искал.
Итак, я собрал и установил asterisk в папке /etc/asterisk уйма конфигурационных файлов. Что же дальше?
1. Возможность внутренним абонентам совершать вызовы друг другу
2. Настройка внешних линий с целью получения станцией услуги выхода на городские, междугородние номера и приема входящих звонков
3. Настройка возможности совершать вызовы абонентам на городские и междугородние номера. И принимать вызовы из города.
Вот три основные задачи, которые нужно решить, естественно схема может быть разной. То есть абоненты могут объединяться в группы, внешних операторов связи может быть несколько, входящий вызов может быть отправлен на автоинформатор, очередь, а может быть на то и другое. Схема сервисов и услуг может различаться и усложняться, но три первых условия будут выполняться в любом случае.
Поэтому первое, что мы делаем - создаем внутренних абонентов (peer) в файле sip.conf
Абонент А будет иметь следующие настройки :
Disallow=all
allow=ulaw
allow=alaw
type=friend
username=101
secret=password
qualify=yes
context=101
callerid=101
host=dynamic
call-limit=1
canreinvite=yes
accountcode=101
amaflags=billing
deny=0.0.0.0/0
permit=192.168.0.66
Где:
disallow=all , запрещаем использовать все кодеки кроме G.711
allow=ulaw
allow=alaw
type=friend, этот параметр может принимать три значения:
- peer , этот тип используется для совершения входящих и исходящих вызовов. Для входящих вызовов, никогда не будет проверяться соответствие имени пользователя и пароля, а только соответствие с IP адресом и номером порта источника вызова.
- user запись, которая может только совершать входящие вызовы
- friend
запись, которая одновременно и peer и user
username=101
secret=password
Логин и пароль соответственно
Периодически отправлять SIP сообщение типа Options, для проверки мониторинга доступности устройства для регистрации, полезно использовать при работе через NAT для сохранения значений в таблице трансляций
Имя контекста, с правилами маршрутизации
АОН нашего номера
host=dynamic
host ip с которого будет происходить регистрация
call-limit=1
(callcounter)
Ограничение одновременных вызов, здесь можно установить количество каналов
canreinvite=yes
(directmedia)
Этот параметр отвечает за процедуру RE- Invite , если no, то все вызовы будут проходить через Asterisk , если yes RTP поток будет отправляться между двумя устройствами минуя Asterisk
accountcode=101
amaflags=billing
CDR запись для поля accountcode будет иметь значение 101
Значение поля AMA flag для исходящих вызовов от этого SIP пользователя
deny=0.0.0.0/0
permit=192.168.0.66
ACL ip, кому разрешим регистрацию
Аналогично для абонента Б :
Disallow=all
allow=ulaw
allow=alaw
type=friend
username=102
secret=password
qualify=yes
context=102
callerid=102
host=dynamic
call-limit=1
canreinvite=yes
accountcode=102
amaflags=billing
deny=0.0.0.0/0
permit=192.168.0.67
Еще часть опций в пире которая может быть полезна:
transport=tcp,udp
Могу работать не только используя udp, требует установки tcpenable=yes в general
rtptimeout=180
rtpholdtimeout=420
Полезно для SIP клиентов, которые не выполняют Hangup при закрытии или отключении. В данном случае RTP сессия сможет сброситься самостоятельно по таймауту, rtpholdtimeout – если вызов на удержании
nat=force_rport,comedia
Если устройство находится за NAT, то фиксируем работу через rport, отправляем RTP пакеты обратно на IP адрес и порт, с которого они были получены, игнорируя информацию из SDP
defaultexpiry=60
Срок действия регистрации в секундах для входящих и исходящих регистраций
dtmfmode=rfc2833
Как будем работать с DTMF сигналами
1. Итак, задача один, настроить маршрутизацию между sip клиентами 101 и 102, в простейшем варианте решается одной строчкой в файле sip.conf и конфигах по include
exten => _XXX,1,Dial(SIP/${EXTEN},20,T)
sip.conf удобно эксплуатировать вот так:
Include => in_out_peer_local
Теперь абонент 101 сможет общаться с абонентом 102 и наоборот 102 сможет позвонить 101
2. Для создания условий, при которых внутренние абоненты смогут выходить на внешние линии, подключим станцию к оператору связи, используя все тот же sip
То есть создадим транк
type=peer
host=XX.XXX.XXX.XX
port=5060
fromdomain=ip нашей станции
nat=no
disallow=all
allow=ulaw
allow=alaw
allow=gsm
canreinvite=no
;allow=g722
trustrpid=yes
sendrpid=yes
dtmfmode=rfc2833
qualify=yes
insecure=invite,port
deny=0.0.0.0/0.0.0.0
permit=XX.XXX.XXX.XX/255.255.255.255
context=provide
Настройки транка очень похожи на настройки пира, в принципе это и есть пир, важные опции
fromdomain – устанавливаем fromdomain в sip пакете, чтобы можно было понять, куда вернуть sip пакеты нашей станции
trustrpid=yes
sendrpid=yes
Доверять или нет полученному Remote- Party- ID
insecure=invite,port
Не требуем аутентификацию входящих сообщений INVITE, не проверяем номер порта только соответствие ip адреса
3. Дело за малым, как только транк активирован, нужно прописать исходящую маршрутизацию для совершения вызовов абонентам А и Б
Стандарт де факто как бы гласит всегда сначала настраивать исходящую связь
Создаем контекст для совершения исходящих вызовов
Для исходящих вызовов на город
exten => _XXXXXX,1,Dial(SIP/ provider /${EXTEN})
exten => _XXXXXX,n,Hangup
Для исходящих вызовов на междугородние направления
exten => _8.,1,Dial(SIP/ provider /${EXTEN})
exten => _8.,n,Hangup
После того как исходящая связь заработала, настраиваем входящую
В простом случае без автоинформатора, групп и очередей это будут выглядеть так
exten => 2466754,1,Dial(SIP/${EXTEN})
exten => 2466754,n,Hangup
Аналогичным образом настраивается любая станция по принципу рассмотренных пунктов