Как настроить westcall asterisk voip транк

Обновлено: 04.07.2024

Предположим что у нас есть небольшая организация, где работает около 50 сотрудников. Все они используют Asterisk для связи внутри компании и звонков наружу. Все настройки буду проводить на свежей Asterisk 18. В своей предыдущей статье я рассмотрел процесс установки Asterisk 18 на Centos 8. Давайте рассмотрим как происходит настройка Asterisk с нуля.

Учитывая тот факт что библиотека chan_sip не актуальна, будем рассматривать настройку через PJSIP. Старую библиотеку необходимо отключить (если включена) для исключения конфликтов.

Отключение chan_sip

В файле /etc/asterisk/modules.conf необходимо найти и убрать ; перед строкой noload => chan_sip.so

Рассмотрим структуру Asterisk с кратким описанием конфигурационных файлов требуемых для настройки транка, пользователей, диалплана.

Структура Asterisk

Настройка Asterisk происходит путем редактирования конфигурационных файлов. Располагаются они в директории /etc/asterisk/ . Перечислю основные файлы которые нам потребуются для начальной настройки.

Я перечислил лишь основные конфигурационные файлы Asterisk. Но их значительно больше. В повседневной жизни используется только два файла exntensions.conf и pjsip.conf

Часть функций а также повторная загрузка данных из конфигурационных файлов происходит с помощью консоли Asterisk. Зайти в консоль можно так:

Для более детального вывода данных в консоль можно использовать ключ -v (я обычно использую -vvvvvv). Чем больше букв v указано, тем детальнее будет вывод информации в консоль. Запуск в режиме повышенной детализации:

Полный список консольных команд с описанием можно прочитать в моей статье

Подключение пользователей

Добавление новых пользователей происходит в файле pjsip.conf. Конфигурационный файл pjsip.conf состоит из секций. Имена секций указываются в квадратных скобках. Название секций может быть произвольным, кроме имен ENDPOINT и AOR которые должны быть одинаковые с заголовком SIP URI.

Перечислю возможные типы секций:

В каждой секции есть опция type содержащая назначение секции в общей конфигурации.

Создание первого пользователя

Создадим учетную запись нашего первого пользователя в Asterisk. Пользователь может подключаться с SIP телефона либо софтфона. Для удобства я заполняю конфигурационные файлы добавляя новые данные в конец файла. Также очень удобно удалить все и создать чистый файл для удобства чтения. Откроем файл pjsip.conf для редактирования

В конец файла добавим информацию о новом пользователе с добавочным номером 1000. Я всегда использую четырехзначные внутренние номера для дальнейшего возможного роста количества абонентов.

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

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

И введем команду повторной загрузки настроек из файла pjsip.conf

Теперь запустим SIP телефон и настроем учетную запись 1000 на нём. В работе я использую софтфон MicroSIP. Он мне нравится за свою компактность и возможность работы в portable режиме.

Как видно на изображении выше мы удачно подключились к АТС. Но что делать если нам необходимо добавить не одного, а 50 пользователей? Если писать такой конфиг по каждому пользователю, потом очень сложно будет что-то найти. Для таких случаев есть шаблоны. Разберемся как они работают.

Создание шаблона

Использование шаблонов также полезно для разделения сотрудников из разных отделов с разным уровнем доступа. Название шаблона указывается в квадратных скобках [] затем идет (!)

В шаблоне можно указывать все те же параметры что и при обычном создании пользователя. Я привел пример простого шаблона отдела маркетинга с указанием минимального набора настроек. Однако их может быть значительно больше, например: используемые кодеки, необходимость использования NAT, контекст, разрешенную лиюо запрещенную сеть для регистрации абонентов. В общем параметров может быль сколь угодно много, и писать все их для каждого пользователя дело не благодарное. Рассмотрим далее применение шаблона для создания пользователей.

Применение шаблона

Создадим трех пользователей отдела маркетинга с применением шаблона. Для использования шаблона необходимо справа от названия секции в круглых скобках добавить название шаблона.

Используя шаблон мы указываем только те параметры которые хотим поменять. Все параметры не указанные нами в каждой из секций будут браться из шаблона. Можно зайти под каждый из пользователей и проверить что все получилось.

Маршрутизация вызовов
Структура файла extensions.conf

Файл имеет две обязательные секции general и globals. Секции также указываются в квадратных кавычках. После двух обязательных секции идут секции вашего диалплана.

Рассмотрим параметры секции [general]

Перейдем к параметрам секции [globals]

В Asterisk могут использоваться как глобальные переменные так и переменные канала. Есть еще переменные окружения, они обеспечивают доступ из Asterisk к переменным окружения unix.

Глобальные переменные могут быть определены в секции [globals] либо с помощью команды SetGlobalVar в плане набора номера. Глобальная переменная отличается тем, что работает для всего файла exntensions.conf. Переменные канала используются в том диалплане в котором они определены.

В глобальных переменных удобно хранить длинные добавочные номера, время работы (при использовании автосекретаря) и другие часто используемые переменные. Пример секции [globals]

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

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

Я написал контекст с названием from-internal далее указал что при звонке на добавочный 1000 будет происходить дозвон номера 1000 через интерфейс PJSIP. При создании пользователя Asterisk в файле pjsip.conf в разделе настройки endpoint мы указываем поле context=from-internal. Это означает что совершая вызов данный пользователь будет руководствоваться правилами указанными в контексте [from-internal] файла extensions.conf

Процесс вызова

Совершая вызов абонент будет искать в своем контексте правила набора указанного номера. В каждом контексте может быть большое количество добавочных номеров. К набираемому добавочному номеру правила применяются последовательно.

Формат записи такой: exten = имя,приоритет,приложение(параметры)

Расширим наш диалплан, добавив дополнительные пункты. И не забудьте, что при изменений файла extensions.conf необходимо чтобы Asterisk перечитал его. Для этого заходим в консоль и вводим команду dialplan reload

Как вы уже заметили, комментарии можно писать сразу после ;

При звонке на 1000 мы поднимаем трубку, проигрываем приветствие и последним действием будет звонок на добавочный 1000. Можно написать и так:

Приоритет можно заменить буквой n но первый приоритет указывать необходимо обязательно. Можно еще немного оптимизировать наш диалплан.

Используя same вместо exten можно не писать в каждой строке добавочный 1000. Но как и в случае с n в первой строке указывать exten обязательно.

Системные добавочные номера

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

Шаблоны номеров

Для удобства добавочные номера можно сопоставлять по шаблонам. Все шаблоны в диалплане начинаются со знака нижнего подчеркивания _

Шаблон для звонков внутри организации по всем добавочным из 4 цифр будет выглядеть так:

Вложение контекстов

Есть одна особенность, Asterisk сначала сортирует добавочные (exten) и затем ищет первое совпадение. Чтобы при совпадении шаблонов заставить Asterisk звонить по нужному будем использовать вложенные контексты.

В контексте from-internal сначала будет обрабатываться шаблон _XXXX затем вложенный контекст include=long

Увидеть в какой последовательности Asterisk обрабатывает диалплан можно введя в консоли команду dialplan show

Благодаря созданному диалплану все 4-х значные номера будут идти на локальных пользователей. Остальные номера пойдут через внешнего провайдера SIPNET. И чтобы все внешние звонки действительно пошли через SIPNET давайте его настроим в pjsip.conf

Настройка внешнего провайдера

Для проверки входящей и исходящей связи я буду использовать тестовый транк с регистрацией от SIPNET. Я настрою сам транк в файле pjsip.conf и правила маршрутизации звонков в extensions.conf

Открываем файл pjsip.conf

Добавляем в конец файла регистрацию транка провайдера

Тонкости настройки транка провайдера у каждого свои но приведенный пример как правило подойдет для большинства других.

После добавления новых данных в файл не забываем зайти в консоль asterisk и перечитать конфиги

Настроим входящую маршрутизацию

Добавляем настройки маршрутизации входящей связи при звонке снаружи на наш номер SIPNET

Вставим следующий текс в конец файла

Можно добавить обработку входящего вызова по времени.

В зависимости от текущего времени и дня недели если вызов совершен во временной промежуток указанный в GotoifTime будет переход на метку work. Все вызовы не попадающие под временной интервал будут отправляться на метку outwork.

На данном этапе мы создали обработку внутренних вызовов, входящих и исходящих внешних (городских) вызовов. В тестовом аккаунте проверить исходящие вызовы можно позвонив по телефону техподдержки 2009991

Считаю настройку для небольшой организации достаточной. Мы разобрали как происходит настройка Asterisk с нуля.

Смотрите видео по настройке

В данной статье рассмотрим подключение и настройку оператора Westcall через web-интерфейс FreePBX.

О подключении Westcall к Asterisk

Преднастройка

Настройка будет производиться на Asterisk 1.8.14.0, версия centos 5.8 (final), а в качестве web интерфейса используется FreePBX 2.10.1.5
Если вы не знаете, какая версия CentOS или Asterisk используется у вас, то это можно узнать ниже

Версия CentOS

Подключитесь к IP-ATC с помощью PuTTY

Подключение к IP ATC с помощью PuTTY

Зайдите как root пользователь

И выполните следующую команду cat /etc/redhat-release

Выполнение команды cat /etc/redhat-release

Версия Asterisk:
Для того, чтоб узнать версию asterisk, достаточно ввести следующую команду asterisk –rvvv

Версия Asterisk через команду asterisk –rvvv

Если вы используете дистрибутив от нашей компании, то вместо команды «asterisk –rvvv» можете использовать просто «a» и вы так же попадете в CLI

Перед тем, как приступить к регистрации нового транка необходимо добавить ip-адрес провайдера в iptables иначе возникнут проблемы с регистрацией данного номера. Для этого выполняем следующие шаги:

Переходим в раздел /usr/src

Теперь выгружаем наши правила в файл «dd» с помощью команды iptables-save > dd

После чего откройте любым удобным для вас текстовым редактором файл «dd». В нашем случае мы будем использовать текстовый редактор nano.

Редактирование файла «dd» с помощью редактора nano

Прописываем ip-адрес оператора

IP-адрес оператора

И теперь выходим командой CTRL+C и не забываем сохранить настройки кнопкой «Y»

Выход из командной строки и сохранение результатов

Все. Файлик мы изменили и подготовили, теперь осталось его загрузить. Выполняется это следующей командой: iptables-restore < dd


Теперь, чтоб после перезагрузки АТС не сбились настройки нужно сохранить изменённый iptables. Выполняем команду «service iptables save».

Сохранение результатов с помощью service iptables save

И так, если вы все сделали правильно, то в списке разрешенных адресов окажется необходимый нам ip. Это можно проверить с помощью команды iptables –L -nv

Проверка правильности действий с помощью команды iptables –L -nv

Отлично, мы добавили адрес и теперь можем приступить к непосредственной регистрации и настройке номера.

Стоит отметить, что если вы используете наш дистрибуив, то для изменения iptables лучше всего использовать наш скрипт fw_iptables.sh который в случае потери доступа к станции через 120 секунд восстанавливает настройки iptables по умолчанию.

Так же для работы корректной работы нужно чтоб на сетевом оборудовании и в iptables были открыты следующие порты:

В дистрибутиве который предоставляет наша компания для rtp используется следующий диапазон портов 36600-39989 . Учитывайте это, если вы используете наш дистрибутив.

Перечисленные выше порты можно изменить в рамках графического интерфейса FreePBX в модуле Sip settings

IP route (не обязательный пункт)

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

Посмотреть действующие маршруты на АТС можно с помощью команды

Чтоб добавить новый маршрут нужно прописать ip-адрес оператора и шлюз

Добавление нового адреса и оператора

Чтоб маршруты сохранялись нужно прописать адрес в файл в route-eth0 который находится по следующему пути:

Как и ранее открываем этот файл с помощью nano.

Добавление нового адреса и оператора

В следующем формате:

ADDRESS=80.246.247.97
NETMASK=255.255.255.255
GATEWAY=10.20.0.3

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

Настройки транка буду выглядеть следующим образом:

username=21123
secret=qwerty12345
qualify=yes
permit=195.94.224.208/255.255.255.255
nat=yes
insecure=port,invite
host=195.94.224.208
fromuser=21123
fromdomain=195.94.224.208
faxdetect=no
dtmfmode=rfc2833
disallow=all
deny=0.0.0.0/0.0.0.0
context=from-trunk
canreinvite=no
allow=alaw&g729

Строка регистрации выглядит следующим образом:

Где xxxxxxxxxx – ваш логин (чаще всего совпадает с номером телефона, но в нашем случае это 21123 ), а yyyyyyyyyy – пароль.

Если провайдер вам выделил транк без регистрации, то поле secret, а так же строка регистрации заполнять не нужно.

Настройки будет проводить через web-интерфейс FreePBX. Тем не менее, он имеет мало отличий от, к примеру, web-интерфейса Elastix и данная статья, несмотря на ряд отличий в интерфейсе подойдет и для настройки транка через Elastix и любого другого форка FreePBX.

Стартовое окно авторизации FreePBX

Путь настройки к регистрации транка следующий: Connectivity – Trunks

Создание транка

Нажимаем Add SIP Trunk

Настройка транка

Настройка транка

Заполняем поля как показано выше на скриншоте. Всегда при заполнении имени транка желательно указывать осмысленное название, к примеру, название оператора-номер.

Правила набора номера

Правила набора номера используются для ограничения исходящих звонков через этот транк. Оставляем все поумолчанию т.к мы будем настраивать правила набора через «исходящую связь».

Настройка транка

Пример конфигурации

Trunk Name: Sip-piter

PEER Details:

username=21123
type=peer
secret=qwerty12345
qualify=yes
permit=195.94.224.208/255.255.255.255
nat=yes
insecure=port,invite
host=195.94.224.208
fromuser=21123
fromdomain=195.94.224.208
faxdetect=no
dtmfmode=rfc2833
disallow=all
deny=0.0.0.0/0.0.0.0
context=from-trunk
canreinvite=no
allow=alaw&g729

Должно получиться как на скриншоте:

Заполненные поля

Теперь заполним строку регистрации.

Register String: 21123:qwerty12345@195.94.224.208/74951234567

Строка регистрации

Нажимаем Submit для сохранения введенных настроек, после чего не забываем нажимать на Apply Config для применения всех настроек.

Проверка регистрации

Если вы все сделали правильно, то ваш транк должен был зарегистрироваться. Перед тем, как продолжить настройку давайте проверим регистрацию и статус транка. Для этого не обязательно подключаться через ssh к станции, все можно сделать через web-интерфейс FreePBX.

Стартовая страница

Для этого переходим по следующему пути: Admin – Asterisk СLI .

Asterisk CLI

Через CLI Command можно проверить подключение транка. Для этого как и при обычном подключении через ssh нужно ввести следующую команду

Asterisk CLI

И нажать на Execute

Asterisk CLI

Исходящие маршруты

Стартовая страница

Настройка исходящих через этот транк

Нажимаем Add «Outbound Route»

Для создания исходящего маршрута достаточно указать:

  • 1. Route Name – Желаемое название маршрута.
    2. Trunk Sequence for Matched Routes – здесь указываете, через какой именно транк будут осуществляться звонки. В нашем случае это sipnet
  • А так же Dial Patterns, о котором ниже

Настройка исходящих через этот транк

Dial Patterns – Указываем шаблоны для набора номеров.

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

Настройки

Настройки

Нажимаем Submit для сохранения введенных настроек, после чего нажимаем Apply Config для применения всех настроек. Если вы сейчас все настроили правильно, то вы сможете дозвониться к примеру, на свой мобильный телефон. В дальнейшем по аналогии настраиваете и вызовы на другие направления.

Если вы собираетесь настроить возможность звонков на междугородние линии, то рекомендуется кроме стандартных настроек так же настроить пункт Time Group чтоб пресечь нежелательные звонки через это направление во внерабочее время на международные линии.

Настройка входящих через этот транк

Настройка входящих через этот транк

Нажимаем Add Incoming Route

Настройка входящих через этот транк

Заполняем все как на скриншоте ниже

Настройка входящих через этот транк

Нажимаем Submit для сохранения введенных настроек, после чего нажимаем Apply Config для применения всех настроек.

Применяем настройки

На этом настройка транка завершена, если вы все сделали правильно, то сейчас вы сможете принимать входящие вызовы.

Возможные проблемы при регистрации транка:

Пример ошибки SIP Registrations в консоли asterisk:

Пример ошибки на стороне оператора в консоли asterisk

Ошибка на стороне оператора

В это случае, прежде чем звонить оператору снимите дамп, к примеру с помощью программы sngrep

SNGREP1

Это поможет убедиться, что проблема точно не на вашей стороне, а наличие дампа поможет провайдеру устранить неполадку на своей стороне. Чтоб сохранить нужный вам участок дампа выбирайте его через пробел.

SNGREP2

После нужно нажать F2 для сохранения

SNGREP3

Высветится окно, где можно задать папку куда будет сохранен дамп, а так же под каким именем. Заполняем, как показано ниже на скриншоте и сохраняем.

SNGREP4

Все, дамп находится в папке root.

Если trunk не регистрируется и/или запрос на регистрацию даже не падает в консоль asterisk, то следует проверить настройки iptabels и firewall на asterisk, а так же на вашем сетевом оборудовании.

Помните, что кроме трафика на порту 5060/udp, аудио данные передаются по протоколу RTP через udp порты, диапазон которых указан в rtp.conf.

Так же стоит отметить еще одну распространенную проблему в виде односторонней слышимости. Чаще всего в это виноват неправильно настроенный Nat, который и не пропускает голос

Если в качестве маршрутизатора вы используете Mikrotik, то рекомендуем ознакомиться со следующими статьями на нашем сайте:

Zoiper Classic— простой бесплатный программный SIP телефон для Windows, Mac Os и Linux, обладает минимально необходимым набором функций.

ГДЕ СКАЧАТЬ ПРОГРАММНЫЙ ТЕЛЕФОН ZOIPER CLASSIC?

Скачайте на сайте разработчика и сохраните на свой компьютер установочный файл или архив программного телефона ZoIPer, выбрав версию клиента, подходящую к установленной у вас операционной системе ниже: 1. Распакуйте архив (если вы скачали файл архива) и запустите установочный файл. По умолчанию ZoIPer Classic устанавливается в папку C:\Program Files\Zoiper


Клинете правой кнопкой мыши в правом верхнем углу панели инструментов, по пиктограмме Languages. В выпадающем меню выберите → Русский.


1. Убедитесь, что ваш компьютер подключен к Интернет. 2. Зайдите в меню Инструменты, выберите в выпадающем списке меню пункт Создать новый аккаунт.


В появившемся окне Мастер создания выберите пункт меню SIP, переходим Далее.


Заполните все параметры (все символы вводятся без пробелов), данные для регистрации заполняются из карточки абонента, выданной сотрудниками ВестКолл, при заключении договора.

После заполнения параметров выбираем Далее


Ставим галку Skip auto-detection, выбираем Далее.


Закрываем окно Мастер создания.


Зайдите в меню Инструменты, выберите в выпадающем списке меню пункт Настройки.


Переходим в верхней панели инструментов во вкладку Codec.

В разделе Аудио из списка выбираем кодек U-Law и с помощью стрелки влево добавляем в Доступные кодеки.

После этого нажимаем кнопку ОК, сохранив настройки.


Настройка Siemens Gigaset A510 IP

1. Произвести подключение проводов в соответствии с картинкой (A510IP должен подключаться к роутеру, а не напрямую в сеть провайдера):

Соблюдайте порядок подключения:

1. Подключите телефонный провод и провод блока питания к базовому блоку.

2. Подключите базовый блок к телефонной и электрической сетям.

3. Для доступа в Интернет (через модем или маршрутизатор со встроенным модемом) и настройки базы через веб-конфигуратор подключите базовый блок к маршрутизатору.

4. Подключите ПК к маршрутизатору.

2. Нажмите на базовом блоке единственную кнопку, она загорится голубым цветом, а на экране телефона появится назначенный IP адрес. Если появится 0.0.0.0, значит, телефон не получил IP-адрес автоматически.

Если в сети работает DHCP сервер, базовый блок автоматически получит IP адрес с этого сервера, если Вы используете статическую адресацию в сети, измените тип IP адреса на статический, ниже укажите IP адрес, маску, шлюз, и DNS сервис. 3. Теперь зная IP адрес базового блока Siemens A510IP, можно приступать к конфигурированию настроек телефонии через web-интерфейс. Откроется следующая страница, на ней нужно найти вкладку "Настройки": На вкладке "Настройки" выберете пункт меню "Телефония", откроется следующая страница: Выберете необходимого провайдера, например, номер 1, и нажмите кнопку "Правка". На появившейся странице нажмите кнопку "Показать доп. настройки". На открывшейся вкладке укажите соответствующие настройки из карточки учетной записи SIP. Заполните параметры (все символы вводятся без пробелов), данные для регистрации заполняются из карточки абонента выданной сотрудниками ВестКолл, при заключении договора. Если все настройки введены корректно, то после нажатия кнопки "Настроить" на появившейся странице состояние линии будет "Подключено". В параметре Аудио выберите для настраиваемого соединения кодек G711 uLaw: Далее необходимо настроить телефон так, чтобы для всех исходящих вызовов использовалась линия типа "VoIP". Поставьте точку для типа исходящих вызов в строке с настроенным соединением:

Инструкция для пользователей по настройке VoIP адаптера Cisco SPA122 (SPA122-XU)

ШАГ 1.

Подключить питание к устройству. Индикатор статуса начнет мигать, когда система загрузится.

ШАГ 2.

Подключить сетевой кабель к Ethernet порт устройства, одним концом, другим в компьютер, который будет использоваться для управления устройством. Подключить порт WAN(RJ-45) к маршрутизатору или иному устройству, с которого осуществляется доступ к сети Интернет.

ШАГ 3.

ШАГ 4.

ВНИМАНИЕ : 192.168.15.1 является адресом по-умолчанию LAN интерфейса (Ethernet port). После успешного входа, необходимо перейти во вкладку Network Setup – Internet Settings, где необходимо выставить тип подключения SPA 122 к интернет DНСР - если адаптер будет получать настройки автоматически, этот режим установлен в качестве заводской настройки. Или Static IP если будет использоваться статический адрес, так же в этом случае требуется указать статический IP адрес, маску, шлюз, DNS серверы, а так же другие настройки, если требуется. Для удаленного управления АТА установите настройку в Administration – Web Aceess Man - Remote Management Enable, предварительно изменив пароль Администратора, иначе адаптер не даст открыть доступ. Также рекомендуем изменить порт для управления по web на отличный от стандартного. Внимание: по умолчанию возможность настраивать АТА через WAN интерфейс отключена! Каждый из портов FXS соответствует линии FXS1 - вкладка Line 1, FXS 2 - Вкладка Line2. Выберите линию, которую вы хотите настроить, в нашем примере это Line 1 (линия 1) на вкладке Voice. Обязательно включите линию. Установите настройки в соответствии с карточкой пользователя, выданной сотрудником компании ВестКолл:

Параметр Аудио выберите для настраиваемого соединения кодек G711 uLaw и отредактируйте строку Dial Plan.

Сохраните все изменения, нажав Submit. После перезагрузки в разделе Information вы увидите, что линия зарегистрировалась. Оборудование настроено.

Zoiper Classic— простой бесплатный программный SIP телефон для OS Android , iOS , Windows Phone 8.

Загрузите интернет-телефон из встроенного каталога приложения iOS (устройства Apple) или Play Market (устройства с ОС Android). Ниже мы привели пример настройки ZoiPer под OS Android. После скачивания и установки приложения, необходимо создать аккаунт. Настройки – Учетные записи – Добавить учетную запись: Заполните все параметры (все символы вводятся без пробелов), данные для регистрации запол-няются из карточки абонента выданной сотрудниками ВестКолл, при заключении договора. Рекомендуем в поле «Сервер» указывать доменное имя и порт через двоеточие. Помимо этого, есть возможность указать просто ip адрес и порт (84.52.103.50:9955).

Если строка Домен (Domain) в вашей карточке пользователя содержит vot.uc.westcall.ne, то вы абсолютно так же вводите свои настройки в соответствующие поля, как показано на примере выше. Только поле «Authentication user» обязательно, помимо цифр должно содержать $vot, как показано на примере ниже:

Завершающим этапом является выбор аудио кодеков, как и указано в карточке, выбираем g711uLaw:

После заполнения соответствующих полей нажмите кнопку «Сохранить» и галочку рядом с настраиваемым аккаунтом, для активации регистрации.

Настройка приложения закончена.

Для того, чтобы компьютер автоматически получил IP-адрес от SIP-телефона, необходимо зайти в настройки подключения к сети Интернет и установить автоматическое получение сетевых настроек. Откроется окно с запросом пользователя и пароля для входа в Web-интерфейс SIP-телефона:


Введите имя пользователь, пароль и нажмите кнопку [OK]. По умолчанию Пользователь: admin, Пароль: admin.

Перед Вами откроется начальная страница Web-интерфейса - Статус.


Перейдите во вкладку «Аккаунт» и заполните все параметры (все символы вводятся без пробелов), данные для регистрации заполняются из карточки абонента выданной сотрудниками ВестКолл, при заключении договора. В SIP-телефоне Yealink SIP-T20/Т20P возможно использовать до 2 SIP-линий одновременно с независимой настройкой. • В поле «Основные» введите настройки из карточки пользователя. • В поле «Кодеки» выберите для настраиваемого соединения кодек G711 uLaw.


  • Раздел «Дополнительно» предназначен для специфических настроек параметров SIP-протокола. Данные настройки рекомендуется не изменять.

Пример настроек представлен на рисунке ниже:



4. Далее переходите в раздел «Сеть» и в поле «WAN-порт» и указываете сетевые настройки телефона в соответствии с вашим подключением к сети Интернет. Устройство по умолчанию получает настройки в автоматическом режиме.


5. Теперь можно отключить кабель от порта «РС» и включить телефон в свою локальную сеть или сеть Internet с помощью порта «Internet». Настроенная линия должна зарегистрироваться.

a. Настройка транка.


Заполнение основных полей из примера:

b. Настройка входящего маршрута.


c. Настройка исходящего маршрута.


В секции general файла sip.conf должна быть строка

а так же в системе должны быть прописаны dns сервера (файл /etc/resolv.conf) где 78126470011– UserID регистрируемого SIP-аккаунта и INBOUND-EXTENSION – номер в контексте inbound, на который будет смаршрутизирован входящий вызов.

а. Настройка транка.


Заполнение основных полей из примера:

type=friend
host=84.52.103.45
deny=0.0.0.0/0.0.0.0
permit=84.52.103.45/255.255.255.255
dtmfmode=rfc2833
nat=no
qualify=yes
disallow=all
allow=ulaw
insecure=port,invite
canreinvite=no



// sip.conf, настройка статичного транка. Строка register не нужна. insecure=port,invite // если в секции general запрещены анонимные звонки allowguest=no, то insecure=port exten => _28XXXXXX,1,Set(CALLERID(num)= 78126470011) // Подставляем нужный АОН на исходящий вызов exten => _60XXXXXX,n,Dial(SIP/westcall-vg/7812$) // добавляем 7812 к семизначному номеру и звоним. exten => 8XXXXXXXXXX,n,Dial(SIP/westcall-vg/7$) // отрезаем 8, добавляем 7 exten => 810X.,n,Dial(SIP/westcall-vg/$) // отрезаем 810, ничего не добавляем

1. Произвести подключение проводов в соответствии с картинкой (TGP600 должен подключаться к маршрутизатору, а не напрямую в сеть провайдера):


Соблюдайте порядок подключения:
1. Подключите телефонный провод и провод блока питания к базовому блоку;
2. Подключите базовый блок к электрической сети;
3. Для доступа в Интернет (через модем или маршрутизатор со встроенным модемом) и настройки базы через веб-конфигуратор подключите базовый блок к маршрутизатору;
4. Подключите компьютер к маршрутизатору;
5. Для просмотра полученного IP-адреса откройте меню телефона, затем выберите «Системн. Настр.», далее «Статус», затем «Настройки IPv4», далее «IP-Адрес». Вы увидите назначенный IP-адрес. Если появится «. . . .», значит, телефон не получил IP-адрес автоматически.
Если в сети работает DHCP сервер, базовый блок TGP600 автоматически получит IP адрес с этого сервера, если Вы используете статическую адресацию в сети, измените тип IP адреса на статический, ниже укажите IP адрес, маску, шлюз, и DNS сервис. Для настройки сетевых параметров вручную, откройте меню телефона, далее «Системн. Настр.», далее «Настройки сети», затем выберите режим, укажите необходимые настройки.

6.По умолчанию веб-интерфейс на телефона Panasonic TGP600 отключён.
Чтобы включить веб-интерфейс, необходимо открыть меню трубки, затем «Настр-ки трубки», далее «Прочее», затем «Встроенный Web», выберете «ВКЛ.» и нажмите «ОК.» Интерфейс некоторое время останется включённым.


Имя пользователя умолчанию: admin

Пароль по умолчанию: adminpass

Откроется следующая страница, на ней нужно выбрать меню «VoIP», затем открыть вкладку «SIP Settings [Line 1]».
На открывшейся вкладке укажите соответствующие настройки из карточки учетной записи SIP.
Заполните параметры (все символы вводятся без пробелов), данные для регистрации заполняются из карточки абонента выданной сотрудниками ВестКолл, при заключении договора.

Пример настроек представлен на рисунке ниже.



Если все настройки введены корректно, то после нажатия кнопки «Save», при переходе на страницу «VoIP Status» вкладки «Status», для настроенной линии, статус подключения отобразится как «Registered».


Пример представлен ниже:

Откройте меню «VoIP Settings [Line 1]» на вкладке «VoIP», оставьте включённым только кодек PCMU, если не требуется специальных настроек. DTMF Type установите равным RFC2833. Пример на изображении ниже. Для сохранения настроек нажмите кнопку «Save».

Устройство настроено и готово к использованию.


  1. Подключите LAN порт SIP-телефона к порту маршрутизатора или коммутатора в локальной сети. Подключите компьютер с веб-браузером к локальной сети, куда подключен SIP-телефон.

    По умолчанию SIP-телефон настроен в режиме "DHCP—ABTO". Поэтому после включения SIP-телефона, по умолчанию, но получит сетевые настройки по протоколу DHCP если в локальной сети установлен DHCP-сервер.Для просмотра полученного телефоном IP-адреса, откройте меню, далее «Системн. Настр.», затем «Статус», далее Настройки IPv4, выберите пункт «IP-адрес». На экране отобразится полученный SIP-телефоном IP адрес.
    Если на экране отображается «. . . .», необходимо указать сетевые настройки вручную.
    Откройте меню, далее «Системн. Настр.», затем «Настройки IPv4», в данном меню укажите необходимые сетевые настройки. Если Вы используете статическую адресацию в сети, измените тип IP адреса на статический, ниже укажите IP адрес, маску, шлюз, и DNS сервис.
  2. По умолчанию веб-интерфейс на SIP-телефонах Panasonic KX-HDV100 и KX-HDV130 отключён. Чтобы включить веб-интерфейс, необходимо открыть меню SIP-телефона, затем «Базовые настр.», далее «ПРОЧЕЕ», затем «Встроенный Web», выберете «ВКЛ.» и нажмите «ОК.» Интерфейс некоторое время останется включённым.

Имя пользователя умолчанию: admin

Пароль по умолчанию: adminpass

Откроется следующая страница, на ней нужно выбрать меню «VoIP», затем открыть вкладку "SIP Settings [Line 1] ".
На открывшейся вкладке укажите соответствующие настройки из карточки учетной записи SIP.

Заполните параметры (все символы вводятся без пробелов), данные для регистрации заполняются из карточки абонента выданной сотрудниками ВестКолл, при заключении договора.

Пример настроек представлен на рисунке ниже.

Если все настройки введены корректно, то после нажатия кнопки «Save», при переходе на страницу «VoIP Status» вкладки «Status», для настроенной линии, статус подключения отобразится как «Registered».

Пример представлен ниже:

Откройте меню «VoIP Settings [Line 1]» на вкладке «VoIP», оставьте включённым только кодек PCMU, если не требуется специальных настроек. DTMF Type установите равным RFC2833. Пример на изображении ниже. Для сохранения настроек нажмите кнопку «Save».

Устройство настроено и готово к использованию.

Ровно год назад к нам обратились бывшие коллеги, с предложением принять участие в модификации движка VoIP оператора связи. Задача сводилась к полной переделке личного кабинета, обеспечению масштабирования системы, создания системы биллинга, LCR, мониторинга расходов пользователей, контроля длительности разговоров, аналитики по звонкам. История закончилась печально, т.к. заложенный нами расширенный функционал системы якобы не соответствовал ТЗ, никак не формализованному на бумаге и находящемуся только в головах менеджеров оператора. В связи с тем, что за разработанный функционал, который заказчику очень понравился, менеджеры платить не захотели, отношения мы разорвали. NDA и договора у нас не было, поэтому посоветовавшись с коллегами мы решили часть наработок выложить в свободный доступ. Я думаю, что это будет серия статей. И начнём пожалуй с базовых вещей и архитектуры.

Каждый администратор, который хотя бы раз в жизни имел дело с IP телефонией знает, что услуги IP телефонии могут предоставляться конечному абоненту несколькими способами:

  • Аренда номера у оператора связи. В данном случае пользователю выдаётся личный логин/пароль к которому "привязан" телефонный номер. При использовании связки логин/пароль для подключения к оборудованию оператора, пользователь может принимать звонки на арендованный номер и совершать звонки другим абонентам с этого номера.
  • Аренда блока номеров и подключение через SIP Trunk(транк). При подключении через SIP Trunk, оператор связи отправляет на заранее согласованный IP адрес все вызовы, приходящие на арендованные у этого оператора номера. В зависимости от способа организации SIP транка, может использоваться или не использоваться парольная аутентификация. В данном случае установка правильного CallerID, который будет видеть вызываемая сторона при исходящих звонках лежит на плечах администратора IP АТС.
  • Покупка DID номеров у операторов связи без покупки исходящего трафика. Оператор просто перенаправляет вызов, пришедший на данный номер, на указанный сервер.
  • Покупка исходящего трафика. Есть довольно много операторов связи продающих исходящий трафик. При этом в зависимости от тарифного плана передаваемый вызываемой стороне CallerID может передаваться или теряться при прохождении через цепочку операторов терминирующих(доставляющих до конечного клиента) трафик нужного направления. Довольно часты случаи, когда звонок на московский номер через московского оператора может прийти скажем с лондонского номера или с бельгийского, потому что маршрут был дешевле.

Компании имеющие представительства в нескольких странах или желающие получить присутствие в другой стране, могут купить, для удобства своих клиентов, телефонный номер скажем в Великобритании и обрабатывать поступающие звонки в Москве. При этом оператор предоставивший им такой номер может не заниматься доставкой звонков в Великобританию. Некоторые страны, например республика Беларусь, не предоставляют номера нерезидентам.

Итак, исходим из следующих начальных требований:

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

Требований довольно много, так с чего начать? Принимать и совершать звонки будет Asterisk, подготовкой вызовов будет заниматься Application Server на python, все рабочие данные мы будем хранить в MariaDB, а большинство логики будет реализовано в виде процедур. Это позволит нам максимально дистанцировать логику работы asterisk от лишних правил в диалплане и обеспечить масштабируемость совместно с унификацией конфигурации.

Определимся с нашим трафиком. Нам необходимо присутствие скажем на Кипре, Америке, Великобритании и России. С точки зрения Российского трафика выгоднее работать через Российских операторов связи. Например Весткол, IPPort и прочих. Российские(московские) операторы также по довольно приемлемой цене предоставляют в аренду телефонные номера в кодах 495 и 499. Присутствие на Кипре, в Америке и Великобритании мы можем обеспечить себе купив номера у Zadarma, Multilel или кого-то другого. Так как международные вызовы у Российских операторов довольно дороги, то можно купить трафик у зарубежных операторов для примера VoiceBuy или VoxBeam.

При подключении к оператору связи в варианте "логин/пароль" звонки на нашу АТС будут приходить с IP адреса сервера оператора, на котором происходит регистрация. Однако в случае исходящих звонков адрес сервера может быть другим.

При подключении к оператору через SIP транк входящие звонки могут приходить с нескольких серверов из пула оператора, а исходящие звонки осуществляются по единому DNS имени, на котором в большинстве случаев находится несколько IP адресов. Как мы уже определились ранее, оператор может иметь возможность замены CallerID для исходящего вызова, что может регулироваться тарифным планом либо договором. Замена CallerID(подмена номера) в России при исходящих вызовах запрещена. С зарубежными операторами дело обстоит намного проще и замена CallerID вполне себе поддерживается.

Большинство публикуемых в данной статье данных и таблиц являются выдержками из ядра реальной базы данных, за исключением номеров телефонов и IP адресов

В связи с тем, что у нас имеются мультивалютные операторы связи, в таблице операторов связи должна присутствовать ссылка на таблицу валют. Чуть позже мы рассмотрим возможность мультивалютного пересчёта тарифов операторов.

Развернут консольный Asterisk и я хочу для себя разобрать как же все-таки настраивается транк.

Транк — это метод настройки провайдера (IP-телефонии) для совершения звонков с Вашей АТС во вне.

Использовать данный SIP номер для приема факсов: отмечаю галочкой (я хочу разобрать как настраивать прием факсов в Asterisk — интересно для меня)

Меняю контекст правил для профиля SIP учеток:

$ sudo nano /etc/asterisk/sip.conf

;возможность совершать, как входящие так и исходящие звонки

;контекст правил вызова в файле /etc/asterisk/extensions.conf

Теперь когда настройки от провайдера получены их нужно добавить согласно определенному синтаксису в файл sip.conf

$ sudo nano /etc/asterisk/sip.conf

;если стоит yes, то сервер с Asterisk поддерживаем поиск в DNS srv-записей, обычно данный параметр предопределен по умолчанию, а потому можно его и не указывать.

;sip запись для подключения входящих и исходящих звонков

;имя пользователя выданное провайдером IP-телефонии

;пароль от пользователя выданного провайдером IP-телефонии

;нижеследующие два параметра используются для вызова исходящих от Asterisk

;в сторону SIP устройства

;имя домена или хоста SIP сервера

;установка соединения с peer'ами, т. к. у меня они в локальной сети то нужно поставить no

;определяем как обрабатывать соединения с пирами. По умолчанию значение 'no' — (аутентификация для всех соединение включена)

;правила для входящих звонков

srv-host*CLI> core reload

а вот и информационный вывод, вроде как больше не используется параметр username — вместо него нужно defaultuser, заменяю в sip.conf и снова перечитываю настройки в конфигурационных файлах.

$ sudo nano /etc/asterisk/sip.conf

srv-host*CLI> core reload

Теперь смотрю произошла ли регистрация у SIP-провайдера:

srv-host*CLI> sip show registry

Host dnsmgr Username Refresh State Reg.Time

1 SIP registrations.

IP: <external-ip-address., port: 5060, useragent: Asterisk PBX 13.7.2

Теперь чтобы позвонить на данный Asterisk из вне нужно узнать, а какой же у меня внешний номер, для этого в личном кабинете переходим по меню: Настройки —

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

Используем бесплатный прямой номер с донабором

2) Где донабор это наш логин

Теперь нужно настроить DIAL-план для входящих и исходящих звонков:

$ sudo nano /etc/asterisk/extensions.conf

;правила для исходящих звонков

;звонки через бесплатный номер выше посредством транка с именем zadarma (из sip.conf в квадратных скобках) на номер который набираем.

;где X — количество 11 штук

;звонок на трехзначные номер через SIP протокол звонящего номера

;правила для входящих звонков

; _X. → любой входящий номер на абонентов 101 и 102, после подождать 60 секунд и потом звонок сбрасывается

  • X — цифра от 0 до 9
  • Z — цифра от 1 до 9
  • N — цифра от 2 до 9
  • 1234 — цифтра от 1,2,3,4,5,6

m — проигрывать звонящему абоненту музыку ожидания

t — разрешает ответившему пользователю перевести звонок

T — разрешает звонящему пользователю перевести звонок

Теперь чтобы позвонить из вне (к примеру с мобильного) на мою АТС, нужно

Теперь чтобы позвонить с внутреннего номера во вне, нужно

набираю свой мобильный с внутреннего номера 102

7-9XX-XXX-XX-XX ожидаю пока пройдет соединение будет несколько гудков (более 4 точно) а тем временем на мобильном телефоне отображается исходящий номер:

(я звонил пару раз).

Работает. На этом третья заметка завершена, с уважением автор блога — ekzorchik.

Читайте также: