Подсистема аутентификации пользователя в системе предоставления услуг связи "Виртуальный офис"

Виды телеком-услуг и анализ их качества. Предпосылки создания системы предоставления услуг связи "Виртуальный офис", основные требования к ней, функциональные особенности, внутренняя структура и принцип действия. Обоснование программного обеспечения.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 29.03.2015
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

На основании выше перечисленных критериев для реализации сервера с компонентами MySQL и Apache выбран SuperServer 6015B-3R фирмы-производителя SuperMicro (США) [9, 10]. Внешний вид сервера представлен на рисунке 18, его технические характеристики приведены в таблице 3.

Рисунок 18 - Внешний вид сервера SuperServer 6015B-3R
(фирма-производитель SuperMicro (США))

Таблица 3 - Основные характеристики сервера SuperServer 6015B-3R

Производитель

SuperMicro

Модель

SuperServer 6015B-3RB

Назначение

сервер

Описание

Корпус SC815TQ-R650UB с установленной в нем МП Super X7DBR-3

Цвета, использованные в оформлении

Черный

Чипсет мат. Платы

Intel 5000P + 6321ESB (ESB2) + 6702PXH (PXH-V)

Количество разъемов UIO

1

Кнопки

Reset, Power

«Опции»

Опции (RAID-контроллеры)

AOC-LPZCR2

Опции (модули управления)

AOC-SIMSO, AOC-SIMSO+

«Особенности корпуса»

Индикаторы

Power, HDD, 2 индикатора активности сетевых контроллеров, индикатор перегрева системы |вид кнопок и индикаторов

«Процессор»

Гнездо процессора

Socket LGA771 x2

Поддержка типов процессоров

1 или 2 процессора Intel Xeon серии 50 хх, 51 хх, 52xx, 53 хх, 54xx (Dempsey, Woodcrest, Clovertown, Harpertown, Wolfdale). |совместимые процессоры

Частота шины

1333, 1066, 667 МГц

«Видео»

Видео

Интегрировано (ATI ES1000, видеопамять 16 Мб)

«Поддержка памяти»

Количество разъемов FBD DDRII

8, четырехканальный контроллер памяти, модули памяти устанавливаются только парами одинакового объема.

Тип поддерживаемой памяти

FB-DIMM (Fully Buffered DIMM) DDR667 (PC5300), DDR533 (PC4200) с поддержкой ECC.

Max объем оперативной памяти

32 Гб

«Конфигурация»

Внешних отсеков 3,5 дюйма

4 корзины для SAS или SATA HDD с возможностью горячей замены и поддержкой SES2 Enclosure Management.

Оптический привод

DVD-ROM встроенный низкопрофильный IDE привод (для ноутбука)

FDD

Возможна установка низкопрофильного привода (приобретается отдельно)

Интегрированный RAID-контроллер

Встроен в чипсет, возможно построение RAID массивов уровней 0, 1, 10, 5 из Serial ATA устройств, Adaptec AIC-9410 с поддержкой RAID 0, 1, 10 из SAS или SATA HDD, возможна установка приобретаемого отдельно ZCR RAID5 контроллера с аппаратным XOR Supermicro AOC-LPZCR2

BIOS

Phoenix BIOS, 8 Мбит

«Коммуникации»

Сеть

2х канальный интегрированный в чипсет контроллер + интерфейс физического уровня Intel 82563EB 10/100/1000 Мбит/с

«Интерфейс, разъемы и выходы»

Количество разъемов PCI-X/PCI-64

2 разъема PCI-X 64 бита/133 МГц, переходная плата для установки 1 полноразмерной (Full-height, Full-length) и одной низкопрофильной карты расширения в комплекте (устанавливаются вместо переходных карт для PCI Express плат)

Количество разъемов PCI Express

2 слота 8x, переходная плата для установки 1 полноразмерной и 1 низкопрофильной карты расширения в комплекте

Serial ATA-II

6 каналов с возможностью подключения 6и устройств.

Поддержка UDMA/100

1 канал с возможностью подключения 2х IDE устройств или одной карты CF.

SAS-контроллер

Встроенный 8-канальный контроллер Adaptec AIC-9410W, 1 внутренний коннектор с поддержкой 4 SAS или SATA устройств + 1 внещний коннектор

Управление

Поддерживается Intelligent Platform Management Interface v. 2.0 при установке приобретаемой отдельно платы AOC-SIMSO или AOC-SIMSO+

Разъемы на задней панели

1x PS/2 клавиатура, 1x PS/2 мышь, 2x USB 2.0, 1x COM, 1x SAS, 2x RJ-45 LAN, 1x VGA монитор

Клавиатура/мышь

PS/2

«Безопасность»

Безопасность

Датчик вскрытия

«Питание»

Блок питания

SSI 24+8+4 pin |блок питания

Мощность блока питания

650 Вт

«Потребительские свойства»

Формат

Extended ATX (305 x 330 мм)

Высота

1U

Охлаждение

4 вентилятора 40х40 мм в центре корпуса. Радиаторы для процессоров SNK-P0017 в комплекте

Установка в стойку 19»

Возможна, крепеж на телескопических рельсах CSE-PT51L в комплекте. |подходящий серверный шкаф

«Прочие характеристики»

Формат платы

Enhanced Extended ATX (347x330 мм)

Размеры (ширина x высота x глубина)

437 x43 x650 мм

Вес

18.6 кг

Рабочая температура

10 ~ 35°C

«Логистика»

Размеры упаковки (измерено в НИКСе)

84.5 x 59 x 21 см

Вес брутто (измерено в НИКСе)

19.36 кг

Для реализации сервера с компонентом Asterisk выбран Supermicro SYS-5017C-TF фирмы-производителя SuperMicro (США) [9, 10]. Внешний вид сервера представлен на рисунке 19, его технические характеристики приведены в таблице 4.

Рисунок 19 - Внешний вид сервера Supermicro SYS-5017C-TF
(фирма-производитель SuperMicro (США))

Таблица 4 - Характеристики серверной платформы

Установленные процессоры

Количество процессоров

0

Максимальное количество процессоров

1

Модельный ряд

Intel Xeon

Техпроцесс

32 нм

Охлаждение

Воздушное

Материнская плата

Модель

MBD-X9SCM-F

Форм-фактор

µATX

Чипсет

Intel C204

Сокет

LGA1155

Поддерживаемые процессоры

Xeon® processor E3-1200 family, 2nd Generation Core i3 & Intel® Pentium® family

Поддержка PCI Express 2.0

Есть

Частота системной шины

100 МГц

Наличие слота под райзер-карту

Нет

Количество PCI-E 8x

4 шт.

Количество SATA 6 Gb/s

2 шт.

Количество SATA 3 Gb/s

4 шт.

Аудиочипсет

Отсутствует

Наличие IPMI

Есть

BIOS/UEFI

64Mb SPI Flash EEPROM with AMI BIOS

Оперативная память

Тип

DIMM DDR3

Количество слотов Registered оперативной памяти

4

Поддержка ECC

Есть

Максимальный объем

32 ГБ

Жесткий диск

Форм-фактор

3,5»

Максимальное кол-во жестких дисков

2 шт.

RAID

Поддерживаемые уровни RAID

0, 1

Поддерживаемые дисковые интерфейсы

SAS/SATA

Число портов

2 шт.

Графический адаптер

Количество графических адаптеров

1 шт.

Чипсет интегрированного графического адаптера

Matrox G200

Устройства считывания информации

Оптический привод

Встраиваемый slim

FDD

Нет

Корпус

Модель

CSE-811TQ-350B

Форм-фактор

Rack Mount

Горячая замена жесткого диска

Количество внешних отсеков 3.5»

2 шт.

Цвет

Черный

Габариты

426 x 44 x 574 мм

Количество юнитов

1 U

Количество встроенных вентиляторов

2 шт.

Мощность блока питания

350 Вт

Количество блоков питания

1 шт.

Разъемы на передней панели

USB 2.0

2 шт.

Разъемы на задней панели

PS/2

2 шт.

USB 2.0

2 шт.

D-Sub

1 шт.

Сетевой интерфейс

LAN 1000 Мбит/с (RJ-45)

Количество сетевых интерфейсов

2

COM (serial, DB9 RS232)

1 шт.

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

4.1 Разработка алгоритма процедуры аутентификации и его реализация

Подсистема аутентификации пользователя в системе предоставления услуг связи «Виртуальный офис» представляет собой совокупность нескольких подсистем. Сюда входит подсистема аутентификации пользователя в Личном кабинете, доступном через WWW интерфейс и подсистема аутентификации пользователя при доступе к услугам, предоставляемым посредством телефонной связи - «Корпоративный ПИН-код», «Обратный звонок».

Целью дипломного проекта было модернизировать процесс аутентификации пользователя для доступа к услуге Корпоративный ПИН-код. Необходимо пояснить, какова суть данной услуги и как организован доступ к ней. Сервис «Корпоративный ПИН-код» виртуального офиса, предназначен для осуществления междугородных и международных звонков. Схема использования сервиса следующая: Пользователь осуществляет телефонный звонок на номер сервера доступа и в соответствие с подсказками автоинформатора вводит с клавиатуры телефона свой ПИН-код, представляющий комбинацию из 10 или более цифр, а потом набирает междугородный или международный телефонный номер.

Считывание вводимого пользователем ПИН-кода на стороне оператора производит ПО IP АТС Asterisk. Для этих целей изначально было использовано внутреннее приложение Asterisk - Read(), однако в процессе эксплуатации были выявлены недостатки такого решения.

Приложение Read() считывает в указанную переменную, вводимую пользователем, DTMF последовательность, завершенную символом '#', заданное число раз и имеет следующий формат вызова:

Read (variable[, filename [&filename2…]] [, maxdigits] [, option] [, attempts] [, timeout])

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

1. Для служебных ПИН-кодов, серия 0 ххххххх длина ввода должна быть ограничена 8-ю цифрами;

2. Для прочих ПИН-кодов длина ввода определяется передаваемым параметром;

3. Нажатие на * в процессе набора ПИН-кода должно сопровождаться завершением работы скрипта и возвращением признака повтора набора;

4. Приложение должно обеспечивать проговаривание приветственной фразы перед вводом ПИН-кода, которое может быть прервано вводом первой цифры;

5. Приложение должно обеспечивать тайм-аут ввода цифр ПИН-кода, который задается передаваемым параметром;

6. Приложение должно интерпретировать нажатие # аналогично нажатию на *;

7. Набранный ПИН-код должен возвращаться в переменную, имя которой определяется передаваемым параметром;

8. Приложение должно обеспечить контроль вводимых знаков и интерпретировать ввод знаков, отличных от цифр и символов * и # как ошибку с завершением работы и возвратом признака ошибочности ПИН-кода.

Вносимые изменения призваны снизить нагрузку на систему аутентификации (и как следствие на СУБД), отсекая очевидно неверные ПИН-коды на ранней стадии, а также повысить комфортность процедуры для пользователей путем устранения тайм-аута по окончании набора и введением возможности оперативно повторить набор в случае ошибки нажатием * или #. Как показала практика, при доставке ПИН-кода посредством DTMF сигналов, нередко возникают искажения информации, связанные как с качеством телефонных линий так и самих телефонных аппаратов. Вследствие данных искажений может происходить дублирование или выпадение вводимых цифр, появление в ПИН-коде кодов A, B, C, D, которые также могут быть кодированы DTMF. В общем случае коды A, B, C, D не могут быть введены с клавиатуры телефонного аппарата, однако могут появляться вследствие ошибок программирования офисных АТС, ошибок детектирования DTMF на фоне помех или низкого качества генераторов DTMF отдельных телефонных аппаратов.

Решением указанных проблем стала разработка альтернативной процедуры ввода ПИН-кода и реализация программы на языке Perl. Взаимодействие программы с Asterisk должно происходить посредством интерфейса AGI.

Результатом явилась представленная ниже блок - схема алгоритма работы альтернативной процедуры ввода ПИН-кода (рис. 20).

Как видно из схемы, программа начинается проигрыванием звукового файла, путь к которому передан в переменной ARGV[0]. Далее в блоке 3, происходит ввод первого символа ПИН-кода и признака возникновения тайм-аута в переменные result и to соответственно.

Блоки 4-7 осуществляют анализ введенных значений на допустимость.

Блок 4 призван выявить ситуацию, в которой ничего не было набрано, и просто была нажата #. В этом случае программа завершается с передачей кода 2 (признак необходимости повтора ввода) в переменную, имя которой передано через ARGV[4] (блок 8).

Блок 5 выявляет наступление тайм аута при отсутствии введенной информации. В этом случае программа завершается с передачей кода 1 (ничего не набрано к истечению тайм-аута) в переменную, имя которой передано через ARGV[4] (блок 9).

Блок 6 анализирует наличие нажатия *. Реакция программы в этом случае аналогична реакции на нажатие # в блоке 4 (блок 10).

Блок 7 выявляет возможное появление в ПИН-коде символов A, B, C, D. В этом случае программа завершается с передачей кода 3 (признак ошибочности ПИН-кода) в переменную, имя которой передано через ARGV[4] (блок 11).

Блок 12 устанавливает в переменной count количество введенных символов = 1.

Рисунок 20 - Схема алгоритма работы альтернативной процедуры
ввода ПИН-кода

В пояснении нуждается тот факт, что первый введенный символ анализируется отдельно от последующих. Дело в том, что ввод первого символа и всех остальных производится разными средствами. Для ввода первого символа применен вызов процедуры GET DATA интерфейса AGI, которая позволяет одновременно проигрывать указанный звуковой файл. Последующие символы вводятся и анализируются в цикле при помощи процедуры WAIT FOR DIGIT, ценность которой состоит в том, что символ # для нее не является признаком окончания ввода и может быть получен в качестве результата наряду с остальными.

Блок 13 является проверкой условия вечного цикла, в котором производится ввод остальных знаков ПИН-кода.

Блок 14 вводит второй и все последующие символы ПИН-кода в переменную digit.

Блок 15 анализирует наступление тайм-аута в процессе ввода. В этом случае блоком 23 устанавливается признак ошибочности ПИН-кода в переменной, имя которой передано через ARGV[4] и программа завершается.

Блок 16 увеличивает количество введенных символов на 1.

Блок 17 проверяет введенный символ на соответствие * или #. В случае положительного результата сравнения программа завершается с передачей кода 2 (признак необходимости повтора ввода) в переменную, имя которой передано через ARGV[4] (блок 24).

Блок 18 выявляет возможное появление в ПИН-коде символов A, B, C, D. В этом случае программа завершается с передачей кода 3 (признак ошибочности ПИН-кода) в переменную, имя которой передано через ARGV[4] (блок 25).

Блок 19 добавляет очередной введенный символ к ПИН-коду.

Блок 20 Проверяет ПИН-код на соответствие техническим. Если ПИН-код начинается с 0 и его длина достигла 8-и цифр, программа считает, что введен технический ПИН-код. Вслед за этим блоком 22 в переменной, имя которой передано через ARGV[3], устанавливается окончательное значение ПИН-кода, а в переменной, имя которой передано через ARGV[4] устанавливается признак успешной операции и программа завершается.

Если ПИН-код в блоке 20 не признан техническим, происходит проверка его текущей длины на соответствие величине, переданной через ARGV[2]. Если необходимая длина достигнута, блоком 22 в переменной, имя которой передано через ARGV[3], устанавливается окончательное значение ПИН-кода, а в переменной, имя которой передано через ARGV[4] устанавливается признак успешной операции и программа завершается. В противном случае программа возвращается к началу вечного цикла и производит ввод очередного символа блоком 14.

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

5. Расчет цены системы предоставления услуг связи «Виртуальный офис»

5.1 Расчет себестоимости разработки и внедрения проекта

Себестоимость - это величина расходов данного предприятия, приходящаяся на единицу продукции. Уровень себестоимости зависит от многих факторов: технического прогресса, объема выпускаемой продукции, производительности труда, норм расхода рабочей силы, материалов, топлива, энергии.

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

· материалы, покупные изделия и полуфабрикаты;

· электроэнергия на технологические цели;

· заработная плата;

· начисления в фонд заработной платы (отчисления на социальные нужды);

· накладные расходы.

Затраты по статье расходов «Определение затрат на материалы, покупные изделия и полуфабрикаты» приведены в таблице 5.

5.2 Расчет затрат на электроэнергию

Разработка подсистемы велась в течение 60 дней по 4 часа, примерный расход электроэнергии составил:

P=60 4 0,8 = 192 кВт (5.1)

Стоимость одного киловатта электроэнергии составляет 2,32 руб. Стоимость потраченной электроэнергии составит:

Sэ=192 2,32 =445,44 руб. (5.2)

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

Таблица 5 - Определение затрат на материалы, покупные изделия и полуфабрикаты

п /п

Наименование

Единица измерения

Количество

Цена за единицу, руб.

Стоимость, руб.

1

Системный блок iRU Corp 510

Core i3-540 (3060)/4096/500/Intel HD Graphic/DVD-RW/k+m/black

штук

1

14 575,00

14 575,00

2

Монитор LCD 17» Acer V173Abm

штук

2

4 606,00

9 212,00

3

ПО Microsoft «Windows 7 Домашняя Базовая» Русская версия (клиентская часть)

штук

1

2 650,00

2 650,00

4

ПО Kaspersky Anti-Virus 2011 Russian Edition. 2-Desktop

штук

1

610,00

610,00

5

ОС Ubuntu 10.04 LTS Server Edition

штук

1

-

-

6

Системный блок Celeron 430 (1800MHz)/1Gb/160GB/

штук

1

5 100,00

5 100,00

7

Принтер Samsung ML-1910 Laser Printer

штук

1

3 250,00

3 250,00

8

Клавиатура A4 KBS-8, A-Shape, черная, м-медиа, 19 доп. клавиш,

штук

2

406,00

812,00

9

Мышь A4Tech OP-620D

штук

2

128,00

256,00

10

Сервер SuperServer 6015B-3R

штук

1

40 000,00

40 000,00

11

Supermicro SYS-5017C-TF

штук

1

40 000,00

40 000,00

Итого: 116 465, 00

Транспортно-экспидиционные расходы (10%):

11 646,5

Всего: 128 111,5

5.3 Расчет затрат на заработную плату

Расходы на заработную плату складываются из заработной платы основной и заработной платы дополнительной, составляющей 10% от основной.

Основная заработная плата рассчитывается по формуле:

Зоснi · TCi= Тi · Зм /163,1 (5.3)

где TCi - часовая тарифная ставка исполнителя i-той работы, руб.;

Тi - фактическое время выполнения i-той работы, руб.;

Зм - месячная зарплата исполнителя i-той работы, руб.;

163,1 - месячная норма рабочего времени.

Результаты расчета заработной платы приводятся в таблице 6.

Таблица 6 - Заработная плата

Этапы

Исполнитель

Тариф. ставка, руб.

Время, час

Зарплата, руб.

Постановка задачи

Руководитель

25 000,00

32

4 158,19

Ознакомительный

Программист

25 000,00

40

4 961,99

Подготовительный

Программист

25 000,00

16

2 080,00

Отладка

Программист

25 000,00

64

8 316,38

Системный администратор

25 500,00

48

5 862,23

Итого

25 378,79

Дополнительная зар. плата

2 537,88

Всего

27 916,67

5.4 Расчет затрат на накладные расходы

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

Затраты на освоение программно-аппаратного средства:

Зосв = Число обучающихся · стоимость обучения (5.4)

Зосв = 1 · 15000 = 15000 руб.

Подсчитаем затраты на амортизацию ЭВМ (6), на которой происходит разработка подсистемы взаимодействия поездного и станционного диспетчера, и расходы на ее эксплуатацию.

Заморт = (ЦЭВМ / Тсл) Ч (Тразр / 12), (5.5)

где ЦЭВМ - балансовая стоимость ЭВМ, примем ее равной 15400 руб.

Тсл - срок службы ЭВМ. Примем его равным 3 года - это примерный срок «морального» старения ЭВМ;

Тразр - продолжительность работ, выражено в месяцах и поэтому делится на 12, чтобы получить число лет.

Заморт = (15400 / 3) Ч (6 / 12) = 2566 руб.

Результаты расчетов заносятся в таблицу 7

Таблица 7 - Итоговая таблица сметы затрат

п /п

Наименование статьи расходов

Сумма, руб.

1

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

128 111,5

2

Электроэнергия на технологические цели

445,44

3

Заработная плата

27 916,67

4

Отчисления на социальные нужды

5 154,83

5

Накладные расходы

17 566,00

Общая сумма затрат

179 194,44

Удельный вес статей расходов представлен на диаграмме (рис. 21). Большая часть себестоимости приходится на статью «Стоимость материалов, покупных изделий», так как приобретается дорогостоящее оборудование. Себестоимость может быть снижена за счет покупки более дешевого оборудования, но это может привести к повышению риска выхода системы из строя.

Рисунок 21 - Удельный вес статей расходов

6. Патентный поиск

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

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

Одним из видов собственности является интеллектуальная собственность, объекты которой представляют собой творения человеческого разума. Интеллектуальной собственностью признается исключительное право гражданина или юридического лица на результаты интеллектуальной деятельности и приравненные к ним средства индивидуализации юридического лица, продукции, выполняемых работ или услуг (фирменное наименование, товарный знак, знак обслуживания и т.п.). Использование результатов интеллектуальной деятельности и средств индивидуализации, которые являются объектами исключительных прав, может осуществляться третьими лицами только с согласия правообладателя.

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

§ произведения литературы и искусства;

§ программы для ЭВМ и базы данных, которые могут быть выражены на любом языке и в любой форме.

§ топологии интегральных микросхем.

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

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

Регламент поиска: «Программный модуль аутентификации пользователя в системе предоставления услуг связи «Виртуальный офис»».

Источники информации:

- официальный бюллетень ФИПС «Программы для ЭВМ. Базы данных. Топологии интегральных микросхем» за период с 2005 г. по 2013 г.

- автоматизированная база данных СамГУПС.

Вывод

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

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

В результате поиска выявлены программы, предназначенные для виртуальных гибко масштабируемых корпоративных сетей на основе проводных каналов связи с предоставлением современных видов телекоммуникационных услуг (свидетельство №2012618973), предоставления услуг телефонии, которое предоставляет мультисервисные услуги связи, интеллектуальную маршрутизацию вызовов, услуги мониторинга управления с учетом разграничения прав доступа пользователей (свидетельство №2012619093), исследования бизнес-процесса предоставления услуг доступа к ресурсам сети Интернет (свидетельство №2013611654), исследования процессов управления инцидентами телекоммуникационных услуг (свидетельство №2013611655), аудиорегистрирования речевой информации в режиме чтения и записи аудиофайлов (свидетельство №2013611539), для генерации и подготовки настроечной информации в мобильных и стационарных комплексах автоматизированных систем, имеющих в своем составе средства защиты, а также осуществлять проверку аутентификационных данных (свидетельство №2013611568), обеспечения сбора данных о состоянии самоорганизующейся радиосети (СР) широкополосного доступа (свидетельство №2013611567), мониторинга сетевой активности и записи пакетов, переданных узлом в файл формата PC АР (свидетельство №2013611742).

Из рассмотренных программных средств для разработки программного модуля аутентификации пользователя в системе предоставления услуг связи «Виртуальный офис» могут быть использованы отдельные функции, такие как услуга заказа вызова, проверка аутентификационных данных, мультисервисные услуги связи на базе протокола SIP с учетом прав доступа, применение BPF-фильтрации пакетов.

Разрабатываемый в данном дипломном проекте программный модуль аутентификации пользователя в системе предоставления услуг связи «Виртуальный офис» призван снизить нагрузку на систему аутентификации (и как следствие на СУБД), отсекая очевидно неверные ПИН-коды на ранней стадии, а также повысить комфортность процедуры для пользователей путем устранения тайм-аута по окончании набора и введением возможности оперативно повторить набор в случае ошибки.

Заключение

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

- уменьшение стоимости средств технического обслуживания, то есть, фирме нет необходимости иметь большую емкость офиса;

- уменьшение стоимость оборудования, поскольку дистанционные пользователи могут совместно использовать машинные ресурсы;

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

В дипломном проекте спроектирована автоматизированная система обработки информации компании-оператора по предоставлению услуг IP-телефонии, реализована подсистема аутентификации пользователя. В результате модификации получено приложение, которое имеет возможность контролировать данные в процессе ввода и принимать решение об окончании процедуры в соответствии с предопределенной логикой. Вносимые изменения позволили снизить нагрузку на систему аутентификации (и как следствие на СУБД), а также повысить комфортность процедуры для пользователей путем устранения тайм-аута по окончании набора и введением возможности оперативно повторить набор в случае ошибки.

Приложение

Листинг программы «Альтернативная процедура ввода ПИН-кода»

#!/usr/bin/perl

# $ARGV[0] - путь к файлу приветствия

# $ARGV[1] - тайм-аут ввода очередной цифры в миллисекундах

# $ARGV[2] - длина ПИН-кода

# $ARGV[3] - собранный ПИН-код

# $ARGV[4] - код завершения

# $ARGV[4] = 0 - нормальное завершение

# $ARGV[4] = 1 - ничего не набрано к истечению тайм-аута

# $ARGV[4] = 2 - признак необходимости повторить ввод

# $ARGV[4] = 3 - ошибочный ПИН-код

# Подключаем модуль работы с AGI интерфейсом

use Asterisk:AGI;

$|=1;

$AGI = new Asterisk:AGI;

my % input = $AGI->ReadParse();

# Удаляем пробелы в начале и конце передаваемых параметров (если они есть)

$ARGV[0] =~ s/^\s+|\s+$ //g;

$ARGV[1] =~ s/^\s+|\s+$ //g;

$ARGV[2] =~ s/^\s+|\s+$ //g;

$ARGV[3] =~ s/^\s+|\s+$ //g;

$ARGV[4] =~ s/^\s+|\s+$ //g;

# Если звонок еще в предответном состоянии - отвечаем

$AGI->answer();

my % AGI;

# Инициализируем переменные

$status=»»;

$result=»»;

$to=»»;

# Заставляем Asterisk выполнить команду GET DATA

# Формат команды: GET DATA <file to be streamed> [timeout] [max digits]

# где <file to be streamed> - путь к медиафайлу, который надо воспроизвести абоненту

# [timeout] - тайм-аут ожидания ввода цифры

# [max digits] - максимальное количество цифр

# Ждем ввода одной цифры

print «GET DATA $ARGV[0] $ARGV[1] 1\n»;

# Возвращаемый результат:

# неудачное завершение: 200 result=-1

# тайм-аут с введенными цифрами: 200 result=<digits> (timeout)

# тайм-аут без введенных цифр: 200 result= (timeout)

# удачное завершение: 200 result=<digits>

# Получаем и разбираем результат

$result = <STDIN>;

$tt=$result;

($status,$res_str,$to)=split / /, $result;

($fake,$result)=split /=/, $res_str;

$to =~ s/^\s+|\s+$ //g;

$result =~ s/^\s+|\s+$ //g;

# Если команда завершилась удачно, но цифр не введено - была просто нажата #

# возвращаем признак необходимости повторить набор ПИН-кода и выходим

if (($result eq «) && ($to eq «)) {

$AGI->set_variable ($ARGV[4], 2);

exit(0);

}

# Ничего не набрали в течение тайм-аута - возвращаем соотвтетствующий признак и выходим

if ($result eq «) {

$AGI->set_variable ($ARGV[4], 1);

exit(0);

}

# Была нажата * - возвращаем признак необходимости повторить набор ПИН-кода и выходим

if ($result eq «*») {

$AGI->set_variable ($ARGV[4], 2);

exit(0);

}

# Получены символы отличные от цифр - (A, B, C, D) -

# возвращаем признак ошибочного ПИН-кода и выходим

if ($result =~ /^\D+$/) {

$AGI->set_variable ($ARGV[4], 3);

exit(0);

}

# Файл приветствия воспроизведен, первая цифра получена. Подолжаем сбор далее

$count = 1;

while (1) {

# Ожидаем очередной символ с заданным тайм-аутом

$digit = $AGI->wait_for_digit ($ARGV[1]);

# Произошел тайм-аут, возвращаем признак ошибочного ПИН-кода и выходим

if ($digit == 0) {

$AGI->set_variable ($ARGV[4], 3);

exit(0);

}

$count++;

# Анализируем полученное

# Нам был возвращен код символа. Получаем сам символ функцией chr()

$digit = chr($digit);

# Нажата * или # - возвращаем признак необходимости повторить набор ПИН-кода и выходим

if (($digit eq «*») || ($digit eq «#»)) {

$AGI->set_variable ($ARGV[4], 2);

exit(0);

}

# Получены символы отличные от цифр - (A, B, C, D) -

# возвращаем признак ошибочного ПИН-кода и выходим

if ($result =~ /^\D+$/) {

$AGI->set_variable ($ARGV[4], 3);

exit(0);

}

# Добавляем очередную цифру в ПИН-код

$result = «$result». «$digit»;

# Если собрано 8 цифр - проверяем ПИН-код на принадлежность к техническим

# если верно - завершаем цикл сбора цифр

if (($count == 8) && (substr ($result, 0,1) eq «0»)) {last;}

# Если собрано к-во цифр, заданное $ARGV[2], завершаем цикл сбора цифр

if ($count == $ARGV[2]) {last;}

}

# Устанавливаем в $ARGV[3] собранный ПИН-код

$AGI->set_variable ($ARGV[3], $result);

# Устанавливаем в $ARGV[4] признак успешной операции

$AGI->set_variable ($ARGV[4], 0);

# Завершаем работу

exit(0);

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.