Найти тему

Анализ методов и средств для нагрузочного тестирования IP-ATC

Оглавление

IP-АТС-это автоматическая телефонная станция (АТС), базирующаяся на операторском IP-межсетевом протоколе или для маленьких организаций, как АТС (Офисная АТС).

Как и обычная АТС, IP-АТС выполняет те же функции, что и центральный телефонный узел в районе или внутренняя телефонная сеть в организации или на предприятии. Поскольку почти все функции реализуются программой, легко добавлять функции и обновлять их в IP-АТС. Кроме того, основой работы АТС данного типа является компьютерная сеть (организационная локальная сеть, Интернет и т. д.). В настоящее время можно встретить несколько типов IP-АТС:

Аппаратная IP-АТС предоставляется в виде специального оборудования с предустановленным программным обеспечением, в соответствии с рис.1. Где отсутствует возможность модернизации и эффективность расширения невысока.

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

-2

Рис. 2 - Виртуальная АТС[3]

Программное обеспечение IP PBX - распространяется в виде готовых дистрибутивов или исполняемых файлов. Пример данной АТС, в соответствии с рис.3. Преимуществами данного класса считается возможность работы в виртуальной среде Vmware, XEN, KVM, VirtualBox и возможность упростить подбор аппаратных характеристик. Используя специальные PCI-карты Digium, OpenVox, Sangoma можно легко подключить IP-АТС системы к существующей инфраструктуре через цифровые PRI, ISDN BRI и аналоговые порты FXO, FXS.

-3

Рис. 3 – Программная IP-ATC[4]

Именно этот вид АТС будет использоваться в работе, а конкретно в работе рассматривалась работа IP-ATC Asterisk.

1.1 IP-телефония

IP–телефонияэто современная телефонная связь по протоколу IP, которая предоставляет использование всех сетей связи в наше время, будь это сотовый или локальные сети и не только. Основная технология работает для компаний, где используется корпоративные сети телефонии, для экономии расходов на связь при соединении между городами и странами[5].

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

В 1995 году организация Voltec совершила прорыв в сфере IP-телефонии, и получила множество наград и достижений в области обработки сигнала методом цифровой передачи, кодеков, компьютеров протоколов маршрутизации. 1995 год для IP-телефонии стал предвестником неминуемого прогресса, потому что именно тогда приступили к использованию двух методов звуковой компрессии GSM и True Speech в организации DSP Group Inc., благодаря им уровень компрессии был значительно высок и совершенно не терял свои качества сигнала, когда производилась декомпрессия. Для устранения задержек в сети интернет всегда приходиться бороться, IP-телефония этим и занималась на протяжении всего времени с работой над алгоритмами компрессии и декомпрессии голоса и стандартными протоколами.

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

1.2 Протокол установления сеанса (SIP)

Session Initiation Protocol - протокол передачи данных, описывающий способ установки и завершения пользовательского интернет-сеанса, включающего обмен мультимедийным содержимым (IP телефония, видео- и аудио конференции, мгновенные сообщения) [6].

Этот протокол описывает работу клиентского приложения, где происходит сама работа: приложение совершает отправку своего уникального имени для установки соединения с другим клиентом, в этой же сети, который может быть в другом городе или же совсем близко. Работа этого протокола также выявляет доступность и успешность этого соединения между клиентами, для обмена пакетами данных на основании совершенно других протоколов. Также существует протокол RTP отвечающий за прямую передачу информации. Есть и возможность увеличения и уменьшения таких каналов связи во время работы, а также допускать обе стороны в обмене телеконференции. Протокол может определять порядок окончания звонка.

Для взаимодействий с уже существующими приложениями в IP-сети происходит организация и доступность мобильности клиентов, SIP совершает работу с адресом, абсолютно аналогичным с адресом электронной почты. В работе с адресами рабочих станций используются универсальные указатели ресурсов URI, так называемые SIP URI. Как правило, используется следующий формат [sip «:»] идентификатор [«@» фрагмент], где идентификатор указывает на логин абонента или его номер телефона, а фрагмент определяет хост, который может быть указан доменным именем или IP-адресом.

Примеры:

· логин абонента @[Доменное имя],

· доменное имя устройства @[IP-адрес],

· Номер телефона @[VoIP-шлюз].

Общий стандарт URI определён рекомендацией RFC 3986.

1.3 Возможности программного комплекса Asterisk в организации

Поскольку программный комплекс (ПК) Asterisk соответствует ГОСТ 12.2.003-74 (СТ СЭВ 1085-78) ССБТ, его можно использовать в организациях, у которых есть особые требования к безопасности данных. Производственное оборудование. Используются согласованные требования к безопасности. Также нужно указать, что Asterisk возможно с лёгкостью изолировать от сети Интернет способствующую организации локальной общей телефонной сети со всем возможным функционалом, кроме Интернета. Выпуск и разработка производились под лицензией GPL. Для повышения безопасности подключения клиентов к IP-АТС Asterisk, существует возможность запуска посредством сервера сертификатов TLS (Transport Layer Security) на самом сервере, выдача ключей шифрования и настройка соответствующих телефонов способствует облегчению работы с этим программным комплексом [12].

Несколько функции АТС на базе Asterisk:

· подключение к любому провайдеру IP–телефонии;

· подключение к провайдерам стандартной телефонии;

· неограниченное количество пользователей, подключенных через VoIP;

· запись звонков, подробная статистика;

· меню голосовой почты, голосовая почта и т.д.

· прием и отправка факсов на e–mail;

· возможность подключения удаленных/мобильных абонентов из любой точки мира;

· все возможные переадресации звонков, в том числе на мобильный телефон;

· объединение неограниченного числа филиалов в единый номерной план;

· интеграция с сайтом или программным обеспечением CRM (Customer RelationshIP Management – Система управления с клиентами);

· использование в качестве телефонных аппаратов программных телефонов, установленных на персональных компьютерах (ПК), терминалов с поддержкой VoIP либо стационарных VoIP телефонов;

· интеграция в корпоративные программные комплексы.

Преимущества IP–телефонии на базе Asterisk

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

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

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

Разность между IP-телефонами и классическими телефонами в том, что IP-телефоны способствуют к доступу любым статическим данным и составляет детальную статистику расходов. Можно легко установить собственные ограничения или исходящие соединения с определенными абонентами.

Плюсы IP-телефонов в простой настройке и подключении, и не придётся пропускать дополнительные лишние линии связи. Функция канала обеспечивает низкую стоимость SIP-телефонов.

Недостатки IP-телефонов не так хороши, как их преимущества, а плюсы IP-телефонов наглядны.

Обоснование выбора Asterisk в качестве АТС

Поскольку Asterisk работает в операционной системе, он не требует подключения к конкретному типу устройства. Он совершает работу в таких системах как: OpenBSD, Solaris, Linux и FreeBSD и др., являясь отличным решением, благодаря гибкой настройке под необходимые нужды.

Asterisk по функционалу ничем не отличается от классической АТС в сборе с необходимым оборудованием, поддерживает множество протоколов VoIP и даёт удобное решение в плане управления вызовами, в том числе:

· голосовая почта;

· телефонная конференция;

· IVR (интерактивное голосовое меню);

· центр обработки звонков;

· Call Detail Record (подробная запись о вызове).

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

Asterisk распространяется на условиях двойной лицензии, поэтому возможно создавать закрытые модули, с лицензионным кодом, и распространять основной код по открытой лицензии GNU GPL.

Условия выбора

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

Asterisk основали на открытых стандартах телефонии и связи Asterisk–сервера и конечных пользователей (будь то «железные» телефоны, софтфоны или fxs/fxo–шлюзы для заведения внутренних аналоговых телефонов и внешних аналоговых линий) использует стандартные протоколы SIP, IAX2, H.323. Значит возможно использовать любой SIP-телефон, что в крайне неблагоприятное для бизнеса время такое как кризис может существенно уменьшить бюджет на внедрение телефонии в организацию. В отличие от Asterisk вендорные решения (Panasonic, Samsung, LG и т.д.) заточены исключительно под использование телефонов собственной марки, которые зачастую стоят не дёшево.

Анализ метода интеграции с различными CRM–системами и другими АТС

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

При использовании другой АТС у вас либо отсутствует возможность интеграции, либо необходимы особые, отнюдь не дешевые лицензии. Также это касается и интеграции с CRM (Customer Relationship Management), для Asterisk разработаны модули интеграции с SugarCRM, VTigerCrm, AMoCRM и другими системами. Эти модули также являются некоммерческим продуктом и распространяются бесплатно.

Обслуживание и администрирующий персонал

Конечно, для управления IP-телефонами на базе Asterisk PC требуется квалифицированный администратор Asterisk. Но стоит учитывать, что нужно также управлять решениями о приобретении чего-либо – чаще всего это специалисты в своей узконаправленной области. Как правило, люди, которым привычно использовать Linux и продукты с открытым исходным кодом, могут справляться с управлением сетью и решать остальные проблемы, возникающие в ИТ-инфраструктуре организации, которые не готовы для работы по шаблону, что случается чаще всего.

Хочу отметить, что Asterisk, безусловно, не является полностью бесплатным решением, но его стоимость буквально зависит лишь от стоимости настройки службы и времени, в течение которого ее настраивает администратор, а не от стоимости ограничений ПО. Asterisk - является идеальным IP-АТС для организаций в непростых ситуациях [7].

Цели и задачи программной АТС на базе Asterisk

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

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

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

1.4 Анализ средств для нагрузочного тестирования

В сети интернет есть множество инструментов для нагрузочного тестирования согласно таблице 1, каждый имеет свои преимущества, но при этом большинство из них коммерческие. Некоторые инструменты очень хорошо могут дополнять друг друга. У большинства используются графические интерфейсы для корректной отладки и простоты использования[8,9,10,11].

Также приведена сравнительная таблица популярных инструментов для измерения производительности:

-4

В этой работе будет использоваться SIPp, это инструмент тестирования производительности протокола SIP. Имеет возможность использования готовых сценариев, а также написания своего сценария для теста. Может выступать как инициатором вызовов, так и приёмником. Гибкий в работе.

2 Анализ конфигурации оборудования и обзор средств для нагрузочного тестирования

Нагрузочное тестирование проводилось на трёх виртуальных машинах в программе Virtual box версии 6.1.18, на которых установлены ОС Ubuntu server версии 20.04.2. ПК для проведения эксперимента работает на процессоре Intel Core i5-9400F, в соответствии с рис.4.

Также понадобятся программы:

· IP PBX Asterisk 16.2.1 –IP-ATC

· Sipp – инструмент для генерации тестовых вызовов

· PuTTY – удобный терминал для работы с Ubuntu

Первая виртуальная машина с Asterisk имеет 50Гб свободного места и 4Гб оперативной памяти.

Вторая и третья виртуальная машина с Sipp (инициатор и приёмник) имеет 10Гб свободного места и 2Гб оперативной памяти.

-5

Рис. 4 - Лабораторный стенд

2.1 Установка Virtual Box 6.1.18 и Ubuntu Server 20.04.2 (64-bit)

Для начала работы необходимо установить программу virtual box, в которой будем устанавливать три операционные системы Ubuntu. В первую машину установим Asterisk, а в две оставшиеся по инструменту Sipp для нагрузочного тестирования. У каждого инструмента SIPp своя роль, SIPp 1 инициатор, а SIPp 2 это приёмник (он понадобится во втором тесте). Была выбрана ОС Ubuntu Server 20.04.2, благодаря доступности программ и библиотек, своей стабильностью, она подходит для наших целей [13,14].

Начнём с главного окна Virtual Box. Здесь необходимо нажать на кнопку «Создать» выделенная красным квадратом, и появляется окно, в соответствии с рис.5.

-6

Рис. 5 - Создание виртуального образа OC Ubuntu

Дальше следует выбор типа нашей Операционной системы. Даём ей имя, выбираем разрядность, в соответствии с рис.6.

-7

Рис. 6 - Выбор типа OC

После проведённых манипуляций нажимаем «Далее». Появляется окно, в котором следует указать объем оперативной памяти для виртуальной машины, в этом случае 4096 МБ этого должно хватить для наших целей в соответствии с рис.7.

-8

Рис. 7 - Объем оперативной памяти машины

Дальше нужно определиться с форматом хранения памяти и количеством, в соответствии с рис.8 и рис.9.

-9

Рис. 8 - Формат хранения данных

-10

Рис. 9 - Количество памяти виртуального жёсткого диска

Для этой виртуальной машины было выделено 50Гб места на виртуальном жестком диске, чтобы быть уверенным в доступности свободного места.

Перед запуском обязательно настраиваем два сетевых адаптера в Virtul box, пошагово выполняем действия, приведённые в соответствии с рис.8. На главном экране нажимаем на кнопку «Настроить», следующее «Сеть» и выбираем вкладку «Адаптер 2», выбираем тип подключения «Внутренняя сеть». Теперь нужно сохранить наши настройки и приступить к установке первой ОС. С двумя другими виртуальными машинами необходимо проделать аналогичную операцию, в соответствии с рис.10.

-11

Рис. 10 - Настройка адаптеров сети

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

После проделанных шагов запустится старт сервисов установочного образа и первым делом попадаем в меню выбора языка в соответствии с рис.11.

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

-12

Рис. 11 - Меню выбора языка

-13

Рис. 12 - Настройка сетевого подключения

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

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

-14

Рис. 13 - Создание пользователя и имени сервера

Следующие шаги по выбору дополнительных программ и open SSH сервера пропускаем и дожидаемся конца установки и перезагрузки в соответствии с рис.14.

-15

Рис. 14 - Завершение установки

Установка IP PBX Asterisk 16.2.1

Для нагрузочного тестирования понадобится программное обеспечение Asterisk для создания будущей АТС.

Для начала необходимо открыть терминал в Ubuntu и ввести команду для установки Аsterisk в соответствии с рис.15, он в свою очередь находится в репозиториях ОС:

$ sudo apt install asterisk

-16

Рис. 15 - Установка Asterisk в терминале

После завершения установки необходимо проверить версию программы и её состояние в соответствии с рис.16.

С помощью команды:

$ sudo asterisk -rvvv

-17

Рис. 16 - Проверка состояния Asterisk

Видно, что виртуальная IP-ATC успешно установилась и готова к работе.

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

$ ifconfig

Видно 3 доступных сетевых интерфейса в соответствии с рис.17, lo – локальная петля, enp0s3 – через него идет интернет-трафик, enp0s8 – виртуальный адаптер хоста нужный нам для присвоения статического ip и именно на него утилита Sipp будет генерировать вызовы.

-18

Рис. 17 - Доступные сетевые интерфейсы

Следующим шагом присваиваем интерфейсу enp0s8 статический ip адрес командой:

$ sudo ip address add dev enp0s8 192.168.10.10/24

Теперь необходимо настроить Asterisk на работу с Sipp. На сервере Asterisk создаём SIP транк по которому будут приниматься генерируемые вызовы. Редактируем файл sip.conf командой:

$ sudo etc/asterisk/sip.conf

И вставляем в конец файла следующие строки:

[sipp]

type=friend

context=in

defaultuser=sip

host=192.168.10.20

dtmfmode=rfc2833

disallow=all

allow=ulaw

insecure=port,invite

qualify=yes

Чтобы сервер принимая звонок проигрывал мелодию нужно прописать ему шаг действий, это можно сделать с помощью редактирования файла extensions.conf, введя следующую команду:

$ sudo /etc/asterisk/extensions.conf

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

[in]

exten => 100,1,Answer ()

exten => 100,n,Playback (/usr/share/asterisk/moh/macroform-cold_day)

Готово, настройка первой машины закончена, мы к ней вернемся в первом нагрузочном тесте.

2.2 Установка двух виртуальных машин и настройка Sipp 3.6.1

Для установки двух виртуальных машин повторяем все действия в главе 2.1, при этом выделяем на две машины всего по 10Гб свободного места и 2 Гб оперативной памяти, этого вполне хватит для выполнения работы.

Запускаем машины и начинаем установку Sipp, будем загружать его с открытого источника и настраивать следующими командами, которые вводим в терминал:

$ wget https://github.com/SIPp/sipp/releases/download/v3.6.1/sipp-3.6.1.tar.gz

$ tar xzvf sipp-3.6.1.tar.gz

$ cd sipp-3.6.1/

$ sudo apt -y update

$ sudo apt -y install build-essential

$ sudo apt -y install cmake

$ sudo apt -y install libncurses5-dev libncursesw5-dev

$ cmake .

$ make

$ sudo cp sipp /usr/bin/

Теперь проверяем, в соответствии с рис.18, успешно ли всё установилось командами:

$ cd ~

$ sipp -v

-19

Рис. 18 - Состояние Sipp

Вызываем сетевые интефейсы:

$ ifconfig

Прописываем SIPp 1 ip-адресс:

$ sudo ip address add dev enp0s8 192.168.10.20/24

А для второй машины SIPp 2 прописываем ip-адресс:

$ sudo ip address add dev enp0s8 192.168.10.30/24

Успешно, две виртуальные машины готовы к работе.

2.3 Установка соединения Asterisk и SIPp 1. Первое нагрузочное тестирование

Устанавливаем с главного сайта программу PuTTY. Данный терминал выполняет функцию, аналогичному таковому в Ubuntu. Он поддерживает вставку путём нажатия ПКМ по рабочему окну, что значительно облегчает работу в терминале.

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

-20

Рис. 19 - Главное окно PuTTY.

Когда две машины запущены, проверяем их соединение простой командой ping в соответствии с рис.20.

-21

Рис. 20 - Проверка соединения машин

Теперь можно приступать к первому нагрузочному тестированию необходимо задать параметры работы Sipp, вводим следующую команду [15]:

$ sipp 192.168.10.10 -i 192.168.10.20 -s 100 -d 60s -l 1000 -aa -mi 192.168.10.20 -rtp_echo -nd -r 10 –nr

Эту команду нужно редактировать исходя из нужд теста, каждый элемент имеет свои функции, например:

· 192.168.10.10 — IP адрес SIP сервера, куда будут генерироваться вызовы

· -s 100 — Указывает номер который будет вызван на SIP сервере

· -i 192.168.10.20 — Локальный IP адрес источника генерации вызовов.

· -d 60s — Устанавливает длительность звонков. Сейчас установлен в режим 60 секунд.

· -l 1000 — Ограничивает максимальное количество одновременных звонков.

· -aa — Включает автоматические ответы 200 OK на сообщения INFO, UPDATE и NOTIFY.

· -mi 192.168.10.20 — Устанавливает локальный IP для RTP.

· -rtp_echo — Включает режим RTP эха. Все RTP пакеты полученные от удалённой стороны — отправляются обратно.

· -nd —sipp будет прерывать звонки в случае получения неправильных SIP сообщений.

· -r 10 — Устанавливает максимальную «скорость звонков» в данном случае — не более 10 звонков в секунду. По ходу работы утилиты sipp можно этот параметр регулировать клавиши +/- на Numpad

Запускаем нагрузочное тестирование и наблюдаем за работой Sipp и Asterisk в соответствии с рис.21. В этом тесте имитируем систему IVR которая даёт абоненту прослушать в начале вызова заранее заготовленный звуковой файл.

-22

Рис. 21 – Окна тестовой нагрузки

Сначала инициатор SIPp осуществляет звонок на номер 100, IP-ATC в свою очередь отвечает на его вызов сообщением и начинает проигрывать аудиофайл, после чего завершает звонок.

В процессе теста наблюдаем за критическими изменениями показателей процессора и памяти в пике вызовов. Такой метод тестирования подойдёт, например, для определения производительности при использовании голосовых меню.

Asterisk уверенно держит не более 300 одновременных вызовов, в которых проигрывается аудиофайл прописанный нами в файле extensions.conf, при этом загрузка ЦПУ 60%.

2.4 Установка соединения Asterisk, SIPp 1 и SIPp 2. Второе нагрузочное тестирование

Для второго тестирования, будет использоваться три виртуальные машины. С заранее установленными Asterisk и двумя SIPp.

Тест будет проводится с использованием встроенных сценариев SIPp. Приведена схема второго теста, где участвуют уже два инструмента: инициатор и приёмник вызовов в виде запущенных процессов SIPp, а также IP-ATC Asterisk в соответствии с рис.22 [16].

-23

Рис. 22 – Схема второго теста

Перед началом работы необходимо настроить на IP-ATC план набора. План набора записывается в конфигурационный файл /etc/asterisk/extensions.conf в соответствии с рис.23.

-24

Рис. 23 Настройка плана набора

Во второй части плана набора обрабатывается входящий звонок на номер 200. Полученный звонок соединяется с хостом, на котором запущен приёмник (в данном случае SIPp 2).

В файл /etc/asterisk/sip.conf необходимо добавить настройки для подключения хостов к IP-АТС по протоколу SIP в соответствии с рис.24.

-25

Рис. 24 Настройка хостов

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

-26

Рис. 25 План работы второго сценария

Слева работа инициатора, отправляющего вызовы, а справа инициатора, который их принимает.

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

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

-27

Рис. 26 – Сценарий UAC часть 1

После чего описывается следующий шаг, где инициатор отправляет пакет invite в котором приложены параметры заданные через командную строку, например: service-номер телефона, remote_ip и порт ip-atc, а также call id для отслеживания звонка в соответствии с рис.27.

-28

Рис. 27 – Сценарий UAC часть 2

Далее инициатор ожидает сообщение 200 которое говорит об успешном соединении в соответствии с рис.28.

-29

Рис. 28 – Сценарий UAC часть 3

После чего следует еще одна передача пакета в котором уточняется кодек, который должен использоваться командой pcma/8000 это кодек g711a, в соответствии с рис.29.

-30

Рис. 29 – Сценарий UAC часть 4

Командой action инициатор проигрывает аудио файл, который мы прописали в файле extensions.conf в соответствии с рис.30,

-31

Рис. 30 – Сценарий UAC часть 5

После чего ожидает 3 тысячи миллисекунд и отправляет команду bye заканчивающую вызов. На этом шаге сценарий инициатора SIPp 1 закончен.

Также прописан и второй сценарий на приёмнике (UAS). Начало сценария ничем не отличается от инициатора, кроме названия файла.

Приёмник ожидает получение сообщения invite с приложенным параметрами, в соответствии с рис.31.

-32

Рис. 31 – Сценарий UASчасть 1

И отправляет сообщение со статусом 200 говоря об успешном соединении и принятом кодеке в соответствии с рис.32.

-33

Рис. 32 – Сценарий UASчасть 2

Далее приёмник воспроизводит аудиофайл, после его окончания получает сообщение bye, отправляет сообщение со статусом 200, ожидает 2 секунды и завершает вызов в соответствии с рис.33 и рис.34.

-34

Рис. 33 – Сценарий UASчасть 3

-35

Рис. 34 – Сценарий UASчасть 4

Запускается тест 2 командами, в которых мы уточняем параметры, которые будут ретранслироваться в код сценария, а также прописываем директиву где взять этот сценарий в соответствии с рис.35. Мы указываем ip-адрес, на который будет отправляться пакет, номер телефона, длительность звонка и количество вызовов в секунду. Для начала нужно запустить приёмную сторону (SIPp 2, UAC) куда будут поступать звонки и только потом инициатора (SIPp 1, UAS) откуда они будут генерироваться.

-36

Рис. 35 – Команды запуска

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

3 Рекомендация на основе проведённого исследования

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

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

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

В первом стресс тесте было выявлено что наша система успешно выдерживает не более 300 постоянных абонентов с нагрузкой процессора 60%. Этот метод необходим для проверки количества абонентов, которое сможет выдержать система в режиме IVR (Interactive Voice Response). Такая система поддерживает автоматический приём входящих вызовов, где абонент имеет возможность выбрать один из нескольких тематических разделов в меню. В нашем случае прослушивает выбранный в работе аудиофайл. В случае использования системы для этой цели, рекомендуем использовать именно такой сценарий для тестирования приведённой в главе 2.3.

Второй вариант теста проводился с использованием встроенных сценариев SIPp. Где участвовало уже 3 виртуальные машины, инициатор генерировал вызовы, которые доставлялись через ip-atc приёмнику, проигрывался аудио файл и вызов завершался.

Заключение

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

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