SoftPhone. Система голосових дзвінків

Автор работы: Пользователь скрыл имя, 25 Июня 2013 в 22:01, дипломная работа

Краткое описание

Останім часом все ширше стає застосовуватись мережі Інтернет. І якщо років 10 тому аналітики заперечували можливість передачі голосу і відео через мережу Інтернет, то сьогодні їхні погляди на ці речі повністю змінились. Наприклад, з прогнозу дослідницької фірми Analysys у 2003 році на Інтернет-телефонію буде припадати 36% всіх міждународних переговорів.
Великим поштовхом для прогресивного розвитку Інтернет-телефонії стало те що використання мережі Інтернет для передавання голосових і відео повідомлень є досить зручним і є набагато дешевшим чим звичайний телефоний дзвінок.
ІР - телефонія , за допомогою Інтернету дозволяє організовувати дзвінки між комп'ютерами . В ІР - телефонії використовуються канали зв'язку мережі Інтернет. При розмові наші голосові сигнали перетворюються в пакети даних які стискаються

Содержание

ВСТУП 9
Розділ 1. IP - ТЕЛЕФОНІЯ і SIP ПРОТОКОЛ 13
1.1. Історія розвитку ІР - телефонії 13
1.2. Принцип дії ІР - телефонії 13
1.3. Якість Зв'язку ІР - телефонії 14
1.4. Протокол SIP 16
1.5.Можливості протоколу SIP 17
1.6. Повідомлення SIP 18
1.7. Приклад встановлення з'єднання 20
1.8.Мережа на базі протоколу SIP 22
1.9. Висновок до першого розділу 26
2. ВИБІР ЗАСОБІВ ДЛЯ РЕАЛІЗАЦІЇ ПРОГРАМИ 27
2.1. Вибір мови програмування 27
2.2. Опис мови програмування і її основні елементи 27
2.3. Структура програми 29
2.4. Характеристики Delphi SIP Component 31
2.5. Вимог до апаратних 32
2.6. Призначення програми 32
2.7. Вимоги до програми загалом 32
2.8. Розробка узагальненого алгоритму функціонування програми 33
2.9. Висновок до другого розділу 35
3. ПРОГРАМНА РЕАЛІЗАЦІЯ СИСТЕМИ 36
3.1. Розробка архітектури програмного рішення 36
3.1.1. MainForm - головне вікно 36
3.1.2 DialForm - форма дизайну і розташування всіх компонентів 37
3.1.3 AudiFrm - форма налаштування звуку. 38
3.1.4 AccountsFrm - форма налаштування користувачів. 39
3.2. Проектування інтерфейсу користувача 40
3.2.1 Головне вікно 40
3.2.2 Вікно "Account Settings" 41
3.2.3 Вікно "Audio Settings" 43
3.2.4 Вікно "About" 43
3.2.5 Розробка діаграм функцій для програми. 44
3.3. Тестування роботи програми 51
3.4. Висновок до третього розділу 53
4. ЕКОНОМІЧНА ЧАСТИНА 54
4.1. Розрахунок витрат на розробку та впровадження проектного рішення 54
4.3. Визначення комплексного показника якості 60
4.4. Визначення експлуатаційних витрат 62
4.5. Розрахунок ціни споживання проектного рішення 64
4.6. Визначення показників економічної ефективності 65
4.6.1. Показник конкурентоздатності: 65
4.6.2. Економічний ефект в сфері проектування рішення: 65
4.6.3. Економічний ефект в сфері експлуатації : 65
4.6.4. Оскільки Епр>0 і Еекс>0, розраховуємо додатковий економічний ефект в сфері проектування: 66
4.6.5. Сумарний ефект 66
4.7.Висновок до четвертого розділу 67
ВИСНОВОК 68

Вложенные файлы: 1 файл

1True1.docx

— 1.12 Мб (Скачать файл)

Рис 1.5. Мережа SIP з проксі-сервером

На рис.1.5 представлений алгоритм встановлення з'єднання за допомогою протоколу_SIP_за_участю_проксі-сервера: 
1)_Проксі-сервер приймає запит з'єднання INVITE від  користувача; 
2)_Проксі-сервер встановлює місцезнаходження клієнта за допомогою сервера позиціонування_(location_server); 
3)_Проксі-сервер передає запит INVITE викликуваному користувачу; 
4)_Обладнання користувача повідомляє про вхідний виклик і повертає проксі-серверу повідомлення про те, що запит INVITE обробляється (код 100). Проксі-сервер, у свою чергу, направляє цю інформацію обладнанню; 
5)_Коли абонент, що викликається приймає виклик, його обладнання сповіщає про це проксі-серверу (код 200), який переправляє інформацію про те, що виклик прийнятий; 
6)_Викликаюча сторона підтверджує встановлення з'єднання передачею запиту АСК, яке проксі-сервер переправляє викликаючі стороні. Встановлення з'єднання закінчено, абоненти можуть обмінюватися мовною інформацією.

Сервер переадресації (Redirect server) визначає поточне місце розташування абонента, що викликається і повідомляє його користувачеві (рис. 1.6). Для визначення поточного місця розташування абонента, що викликається сервер переадресації звертається до сервера визначення місця розташування.

Алгоритм  встановлення з'єднання з використанням  протоколу SIP за участю сервера переадресації  виглядає наступним чином: 
 1) Сервер переадресації приймає від сторони запит з'єднання INVITE і зв'язується з сервером визначення місцезнаходження, який видає поточний адресу_викликаючого_клієнта; 
 2) Сервер переадресації передає цю адресу стороні. На відміну від проксі-сервера, запит INVITE до устаткування викликається користувача сервер переадресації_не_передається; 
 3) Обладнання викликає користувача підтверджує завершення транзакції з сервером_переадресації_запитом_АСК; 
 4) _Далі обладнання користувача передає запит INVITE на адресу, отриманий від__сервера__переадресації; 
 5) Устаткування користувача повідомляє про вхідний виклик і повертає обладнанню повідомлення про те, що запит INVITE обробляється (код 100); 
 6) Коли абонент, що викликається приймає виклик, про це сповіщається обладнання користувача (код 200). Встановлення з'єднання закінчено, абоненти можуть обмінюватися мовною інформацією.

 

 

 

Рис. 1.6. Мережа SIP з сервером переадресації

Існує також і безсерверний варіант з'єднання, коли один термінал може передати запит іншому терміналу безпосередньо. Протокол SIP передбачає 5 запитів_і_відповідей_на_них. 
Сигналізація SIP дає можливість  агентам і мережевим серверам визначати місце розташування, видавати запити і керувати з'єднаннями.

INVITE - запит приваблює користувача до участі в сеансі зв'язку і містить опис параметрів цього зв'язку. За допомогою цього запиту користувач може визначити функціональні можливості терміналу свого партнера по зв'язку і почати сеанс зв'язку, використовуючи обмежене число повідомлень і підтверджень_їх_прийому. 
 АСК - запит підтверджує прийом від сторони відповіді на команду INVITE і_завершує_транзакцію. 
 OPTIONS - запит дозволяє отримати інформацію про функціональні можливості користувацьких агентів і мережевих серверів. Однак цей запит не використовується_для_організації_сеансів_зв'язку. 
 BYE - запит використовується для руйнування з'єднання. Перед тим як зруйнувати з'єднання, призначені для користувача агенти відправляють цей запит до сервера, повідомляючи про намір припинити сеанс зв'язку. 
 CANCEL - запит дозволяє користувальницьким агентам і мережевим серверам скасувати будь який раніше переданий запит, якщо відповідь на запит ще не була отримана.

1.9. Висновок до першого розділу

В першому розділі було проведено  загальний огляд технології яка  використовується в системі.

SIP є протокол , за допомогою якого  ми можемо здійснювати голосові  і відео дзвінки за допомогою  мережі інтернет. Це дає нам  змогу заощаджувати  кошти на  спілкуванні і отримувати якісний  зв'язок.

IP-телефонія досягла загальносвітового рівня і дозволяє зв'язати абонентів з усього світу. Це дозволить значно заощадити на міжнародних і міжміських розмовах користувача .

 

 

 

 

 

 

 

 

2. ВИБІР ЗАСОБІВ ДЛЯ РЕАЛІЗАЦІЇ  ПРОГРАМИ

2.1. Вибір мови програмування

Для реалізації поставленої задачі я  вибрав мову програмування Delphi, тому що за допомогою цієї мови легко можна  створювати прикладні програми з  графічним інтерфейсом ,  а також  для Delphi існує уже готовий компонент  для роботи з протокол SIP. Компілятор я вибрав Delphi 2007,  на даний момент він один з найкращих і провідних компіляторів для мови Delphi, який підтримує безліч корисних компонентів що полегшують написання програм.

2.2. Опис мови програмування і її основні елементи

Delphi -- мова програмування, що ґрунтується  на діалекті мови Pascal від компанії Borland. До версії 7.0 мала назву Object Pascal. Окрім того Delphi - середовище  розробки (IDE) для однойменної мови. Ця плутанина часто викликає  непорозуміння. По суті, Delphi є  об'єктно-орієнтованим розширенням мови Pascal.

Delphi - це нащадок Турбо Паскаля,  який був випущений для операційної  системи Cp/m в 1983 році. У лютому 1994 року Турбо Паскаль був перенесений  на операційну систему MS-DOS. На  ранньому етапі розвитку комп'ютерів IBM РС, Турбо Паскаль був однією з найбільш популярних мов розробки програмного забезпечення - головним чином тому, що це був цілком серйозний компілятор, який, включаючи компілятор, редактор і відгадчик. Середовище мало змогу працювати на машині з 64 Kb оперативної пам'яті.  Але в 2010 році вийшла нова версія компілятора ,яка стала одною із провідних , цю версію випустила фірма Embarcadero.

Embarcadero Delphi — це інтегроване середовище  швидкої розробки програмного  забезпечення для роботи під  Microsoft Windows. Воно підтримує розробку Windows-застосунків на мові програмування  Delphi, яка є наступницею мови Object Pascal.

Дана  версія стабільно працює на всі ліній  ОС XP і вище , підтримує х32/х64 розрядність. Для цієї версії є багато корисних і зручних , а саме головне безплатних компонентів , що прискорюють написання  програм, в більшості прикладних - графічних.

Інтегроване середовище Delphi 2007 складається з чотирьох основних елементів: головне вікно, вікно інспектора об'єктів, вікно форми та вікно модуля (вікно коду).

Головне меню - стандартне меню в стилі Windows. Це меню дозволяє керувати всіма аспектами  роботи в Delphi. Рядок меню можна налаштувати  за власним бажанням, наприклад, додати власні елементи до пункту меню інструментів Tools.

Кнопки  і гарячі клавіші. Кнопки використовуються для швидкого доступу до найнеобхідніших  пунктів меню. Вони розташовані в  лівій частині екрану на панелі швидкого доступу. Серед них є кнопки для  компіляції і запуску програм, для  перегляду вихідного коду рядок  за рядком тощо. Для того, щоб з'ясувати  призначення кнопки досить навести  на неї вказівник миші і прочитати  підказку.

Палітра компонентів - це каталог візуальних і не візуальних об'єктів, які можна  включати до власних форм і програм. У Delphi компоненти об'єднані в кілька основних груп: стандартна, додаткова, група Windows 95, група доступу до даних, група управління даними, група Windows 3.1, діалогова група, системна група, група звітів, OCX група і група  взірців. Кожна з цих груп представлена на окремій сторінці палітри компонент. Щоб з'ясувати призначення компоненти, досить лише виділити її і натиснути F1.

Вікно, яке знаходиться у центрі, називається  формою. Під час розробки форма  являє собою вікно програми. У  цьому вікні проходить основна  частина роботи по проектуванню програми. Деякі елементи у вікні форми (лінії сітки, невізуальні компоненти) не будуть видимими під час виконання  програми. Але, оскільки Delphi - це середовище програмування типу WYSIWYG (What - You - See - Is - What - You - Get, що бачите, те й отримаєте), то більша частина того, що ми бачимо під час проектування є тим, що ми побачимо і під час виконання програми. Є можливість змінити різні його властивості, наприклад, прибрати кнопки максимізації та мінімізації вікна тощо.

Вікно коду працює аналогічно до простого текстового редактора. Можна використовувати  клавіші PgUp i PgDn, клавіші курсору, мишу, можна виділити, скопіювати, вставити текст за допомогою меню EDIT і відповідних  гарячих клавіш.

Вгорі вікна коду є закладка. Вона належить до файлу, який зараз редагується. Якщо відкрити декілька файлів, кожен з  них буде мати свою закладку.

Інспектор об'єктів або Object Inspector як правило  знаходиться в лівій частині  екрану і містить інформацію про  виділений обєкт. Інспектор об'єктів  складається з таких елементів: комбінованої панелі (Combo box) вибору об'єкту, сторінки властивостей (Properties Page) та сторінки подій (Events Page) вибраного об'єкту.

У інспекторі об'єктів описані всі  властивості об'єкту, і його використовують для зміни цих властивостей. Наприклад, можна змінити заголовок кнопки, клацнувши на ній мишкою, а потім  записавши нову назву в полі Caption інспектора об'єктів.

Крім  того за допомогою інспектору об'єктів  можна переглянути та змінити  всі події, що пов'язані з виділеним  об'єктом.

2.3. Структура програми

В основі будь-якої Delphi-програми лежить проект. Основою проекту в свою чергу є форма, на якій розміщаються необхідні для розвязку конкретної задачі компоненти. Проект складається  з різних частин, кожна з яких розміщена в окремому файлі й  виконує чітко визначені функції. Набір файлів, необхідних для створення  програми, називається проектом. Компілятор послідовно обробляє файли проекту і будує з них EXE-програму, що виконується. Проект складається з таких файлів:

Головний  файл проекту - текстовий файл з розширенням DPR, який містить головний програмний блок. Файл проекту підключає всі  програмні модулі і містить методи для запуску програми. Цей файл створює і контролює автоматично  середовище Delphi.

Файли опису форм - двійкові файли з  розширенням DFM, які описують форми  з компонентами. В цих файлах запамятовуються  початкові значення властивостей, встановлених в Інспекторі Обєктів.

Файли програмних модулів - текстові файли  з розширенням PAS, які містять  код на мові Object Pascal. У цих файлах містяться методи обробки подій, які генеруються компонентами і  формами.

Файл  ресурсів з розширенням RES. У ньому, наприклад, зберігається піктограма програми, яку видно на Панелі Задач Windows.

Обєктні файли з розширенням OBJ, написані на інших мовах програмування.

Файл  опцій з розширенням DOF, де розміщені  задані програмістом параметри компіляції і компонування проекту.

Файл  з розширенням DSK, де розміщені настройки  візуального середовища для даного проекту[1].

Це  все можна побачити на рис.2.1. який представлений нижче.

Рис. 2.1.Робоча оболонка компілятора Delphi

2.4. Характеристики Delphi SIP Component

Delphi SIP Component - був створений з метою  полегшення розробки програм  , які працюють з SIP протоколом. У ньому зразу є вбудовано  рішення які економлять велику  кількість часу що би писати  це самому.

До  складу готових рішень входять:

  • Голосові дзвінки на комп'ютери і телефони
  • Мульти-конференції користувачів
  • Автоматичні переадресації виклику
  • переадресація виклику в ручному режимі
  • Виявлення DTMF користувача введення
  • Запис дзвінків і зберігання. WAV файлів
  • Відтворювання WAV файлів
  • Відтворювання  тексту за допомогою Text-To-Speech (TTS) голосів
  • Надіслати DTMF (вхідні, SIP INFO, RFC2833)
  • Очікування дзвінків
  • Вибирання Аудіо вхід / вихід пристрою
  • G.711 A-law/Mu-law
  • GSM.610
  • Speex
  • Обробка кількох дзвінків SIP одночасно

Ці  всі функції доступні у повні  версії компоненту. За допомогою них  досить зручно  розробити власну програму SoftPhone.

2.5. Вимог до апаратних

Для даного програмного продукту потрібні мінімально наступні характеристики ПК:

  • ОС  XP і вище
  • ОП 256МБ
  • Звукова карта
  • Мікрофон
  • Графічний Адаптер
  • Підключення до інтернету

2.6. Призначення програми

Програма  що розробляється, являє собою клієнт який забезпечить розмову між двома користувачами. Цільова аудиторія користувачів є люди які знаходяться один від одного на відстані і прагнуть спілкування.

Дана  програма відносить до виду прикладних програм з простим і зрозумілим графічним інтерфейсом для користувачів.

2.7. Вимоги до програми загалом

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

2.8. Розробка узагальненого алгоритму  функціонування програми

Информация о работе SoftPhone. Система голосових дзвінків