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.

Таблиця 1.1.

Оцінки якості зв'язку

Якість оцінки

Висока

4.0 - 5.0

Стандартна телефонна

3.5 – 4.0

Допустима

3.0 – 3.5

Синтезований звук

2.5 – 3.0


 

На  рис. 1.2 показано графік оцінки загальної думки популярних кодерів - декодерів звуку.

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

Рис. 1.2.  Залежність якості зв'язку від ширини каналу пропускання

Затримки  є головною проблемою ІР - телефонії. Є декілька причин їх появи. Одні з  них пов'язані з принципом побудови TCP/IP мережі і особливо комутацією пакетів, інші залежать від  завантаженості мережі , якості лінії зв'язку і скорості модема. Якщо затримка більша ніж 250 мс, то вона стає помітною. Оскільки програма в суть розмови не вникає, тому паузи можуть виникати хаотично, найчастіше на півслові. Закінчення пролунає  після секундної затримки. Покращити якість звуку можна коли придбати  кращий модем і вибрати нового провайдера який забезпечить більшу швидкість.

Для того що би покращити якість зв'язку , розробляються нові алгоритми стискання. Це один з провідних способів покращення зв'язку.

1.4. Протокол SIP

Протокол SIP (Session Initiat Protocol, протокол установки з'єднання) не є першопрохідцем в області IP-телефонії. Протокол H.323 вже давно використовується для цілей IP-телефонії, проте спочатку він не розроблявся для IP-мереж, що знижує "оптимальність" їх спільної роботи. За роки роботи з протоколом H.323 накопичений великий досвід використання, який дозволив виявити як його позитивні риси, так і недоліки, які були враховані при розробці протоколу SIP.

Протокол H.323 використовує двійковий формат. Одним з наслідків цього є необхідність стандартизації всіх можливостей даного протоколу, оскільки у разі якщо певна можливість не підтримується пристроєм, то такі пристрої із двійкового формату не зможуть працювати один з одним. SIP-протокол використовує текстовий формат повідомлень, якщо одному з пристроїв не знайомий певний тип повідомлення або заголовка, то воно просто ігнорується (як і в HTTP, який за своїм форматом дуже схожий формат протоколу SIP). До того ж сам протокол SIP значно простіший ніж H.323.

1.5.Можливості протоколу SIP

Основні переваги SIP

1. Масштабованість - можливість збільшення кількості клієнтів при розширенні мережі.

2. Мобільність - можливість отримання сервісу незалежно від місцеположення (як наприклад електронна пошта), а кожному користувачеві видається персональний ідентифікатор, по якому він може бути знайдений.

3. Розширюваність - можливість доповнення протоколу новими функціями (за рахунок введення нових заголовків і повідомлень). Як вже говорилося вище, якщо пристрою зустрічається невідоме йому розширення протоколу, воно просто ігнорується. Так як протокол H.323 використовує повідомлення двійкового формату, то невідомі функції можуть привести до неможливості надання сервісу.

Протокол SIP розроблявся з розрахунком на можливість використання будь-яких транспортів, але, тим не менше, найбільш переважним є використання UDP-пакетів (це дозволяє підвищити продуктивність в порівнянні з використанням протоколу TCP, але вимагає використання додаткових механізмів перевірки доставки сигнальних повідомлень).

Так як телефонія з використанням протоколу SIP дозволяє використовувати велику кількість різноманітних сервісів (крім передачі голосу, можлива передача відео, текстових повідомлень, факсів та ін), необхідний механізм обміну інформацією про те, які сервіси може використовувати. Для цієї мети використовується протокол SDP (Session Description Protocol) - протокол опису сесії. Даний протокол дозволяє визначити які звукові (відео та інші) кодеки і інші можливості може використовувати віддалена сторона.

Власне сама передача голосу здійснюється завдяки використанню протоколу RTP (Real-time Transport Protocol, протокол транспортування в реальному часі). Сам протокол SIP безпосередньої участі в передачі голосових, відео та інших даних не приймає, він відповідає тільки за встановлення зв'язку (по протоколах SDP, RTP і ін), тому під SIP-телефонією розуміється не передача голосу по протоколу SIP, а передача голосу з використанням протоколу SIP. Використання протоколу SIP надає нові можливості встановлення з'єднань (а також можливість безпроблемного розширення даних можливостей), а не безпосередньої передачі голосового та інших видів трафіку.

Формат адрес використовуваних протоколом SIP нагадує формат E-Mail-адреси: ім'я @ ідентіфікатор_хоста. На початку адреси сатвиться приставка "sip:" (приклад: sip: user@host.com). В якості ідентифікатора хоста може служити його IP-адресу, домен або ім'я хоста (IP-адреса визначається з використанням DNS, так що в результаті все одно виходить звернення за адресою sip: ім'я @ IP-адресу).

1.6. Повідомлення SIP

Повідомлення SIP-протоколу мають наступну структуру:

  • Стартовий рядок  (start-line);
  • Заголовки повідомлення (*message-header);
  • Пустий рядок (CRLF);
  • Тіло повідомлення.

Стартовий рядок розрізняється залежно від того чи є повідомлення запитом або відповіддю (у разі запиту - в ній повідомляється тип запиту, адресат і номер версії протоколу, а в разі відповіді - номер версії протоколу, статус і текстову__розшифровку_статусу. 
 У заголовках містяться відомості про джерело адресата, шляху проходження повідомлення і т.д. Цих заголовків може бути досить багато і ця кількість може мінятися на шляху проходження пакетів.

У протоколі SIP версії 2.0 існує 6 типів запитів (тип запиту задається в стартовою рядку):

INVITE — викликає адресата для встановлення зв'язку. За допомогою цього повідомлення адресату передаються види підтримуваних сервісів (які можуть бути використані ініціатором сеансу), а також види сервісів, які бажає передавати ініціатор зв'язку.

ACK —повідомлення підтверджує згоду адресата встановити з'єднання. У цьому повідомленні можуть бути передані остаточні параметри сеансу зв'язку (остаточно вибираються види сервісів і їх параметри які будуть використані)

Cancel  —  відміна раніше переданих запитів (використовується у випадку якщо необхідності в них більше немає.

BYE — запит завершення з'єднання

Register — даним запитом користувач ідентифікує своє поточне місце розташування

ОPTIONS — запит інформації про функціональні  можливості терміналу (застосовується у разі, якщо ці дані потрібно отримати до встановлення з'єднання, тобто до фактичного обміну даною інформацією  за допомогою запитів INVITE і ACK).

На кожен запит, відправникові прямує відповідь, що містить код результату виконання запиту. Формат цих відповідей успадкований від протоколу HTTP.  Відповіді кодуються 3-хзначним числом, перша цифра якого вказує на клас відповідей, а інші дві - ідентифікують конкретну відповідь в кожному класі.  Пристрій може не знати, що означає код відповіді, але повинно обов'язково знати клас відповіді. Всього існує 6 класів відповідей:

1?? —  інформаційна відповідь

2?? —  успішне закінчення запиту

3?? — інформація про зміни місця розташування абонента, що викликається

4?? — інформація про помилку

5?? — інформація про помилку сервера

6?? — інформація про неможливість виклику абонента (користувача з такою адресою не існує, або користувач відмовляється прийняти виклик)

 

Інформаційні  відповіді повідомляють про стадію виконання запиту, вони не є завершенням  запиту. Інші ж класи відповідей завершують виконання запиту[3].

1.7.  Приклад встановлення з'єднання

Розглянемо  приклад процесу встановлення з'єднання  з використанням SIP-протоколу (приклад  взятий з RFC 3261). Даний приклад відображає роботу базових функцій телефонії  і відповідно не зачіпає такі можливості як відеозв'язок передача текстових  повідомлень і т.д. Загальний принцип  роботи протоколу залишається незмінним.

 

Рис 1.3. Користувач Alice (sip:alice@atlanta.com)  викликаєкористувача Bob (sip:bob@biloxi.com)

Користувач Alice (sip: alice@atlanta.com) викликає користувача Bob (sip: bob@biloxi.com).

1. Користувач Alice посилає повідомлення INVITE проксі-серверу за замовчуванням (atlanta.com) Якби користувачеві Alice був відомий IP-адресу користувача Bob і він міг до нього звернутися безпосередньо, то запит INVITE в цьому випадку міг бути посланий безпосередньо користувачеві.

2. Проксі-сервер посилає запит INVITE серверу абонента, що викликається (biloxi.com).

3. Далі проксі-сервер користувача Bob при необхідності визначає його поточний IP-адресу і посилає йому повідомлення INVITE,  у користувача починає дзвонити телефон, про що повідомляється у відповіді 180

4. Якщо користувач, що викликається  відповів на дзвінок, то на  запит INVITE висилається відповідь  200 (OK).

5. Користувач відправляє повідомлення ACK, що повідомляє  про те, що він отримав відповідь на свій запит INVITE, їм задаються остаточні параметри з'єднання. На цьому етапі все готово до встановлення з'єднання по протоколу RTP__(Real-time__Transport__Protocol). 
6. Встановлюється RTP-з'єднання з наперед узгодженими параметрами. 
7. Для завершення з'єднання, користувач (кладе слухавку) надсилається запит BYE, на яке висилається відповідь 200 (OK)

Поки повідомлення встановлення з'єднання (INVITE) ходять між проксі-серверами і невідомо чи доступний користувач, що викликається, у відповідь на INVITE посилається відповідь 100 (Trying), що повідомляє про спробу__встановлення__з'єднання. 
 Так як проксі-сервер може встановлювати власні з'єднання, його використання дозволяє без проблем долати NAT. Також можлива побудова декількох проксі-серверів в один ланцюжок, що дозволяє долати відразу декілька NAT.

 

1.8.Мережа на базі протоколу SIP

SIP представляє із себе тексто - орієнтований  протокол, який являється частиною  глобальної архітектури мультимедії  , розробленої комітетом Internet Engineering Task Force (IETF). Ця архітектура також  включає в себе протокол резервування  ресурсів , транспортний протокол  реального часу,протокол передачі  потоків в реальному часі, протокол  опису параметрів зв'язку, протокол  сповіщення про зв'язок. Але функції  протоколу SIP не залежать  від  цих параметрів.

Підхід  до побудови SIP мережі набагато простіший чим Н.323, але менше підходить для організації взаємодії з телефонними мережами. В основному це пов'язано з тим що протокол сигналізації SIP, базується на протоколі HTTP. Тому протокол SIP більше підходить для ІР - телефонії.

Тим паче протокол SIP підтримує послуги  інтелектуальної мережі , такі як перетворення імен, пере адресація і маршрутизація. Також важливим в протоколі SIP є  те що він підтримує мобільність  користувача, тобто вміння получати доступ  до заказаних послуг  будь де з любого терміналу, а також  вміння мережі  ідентифікувати і аутентифікувати  користувача при його переміщені з одного місця в друге.  Перейдемо до архітектури мережі  яка базується на протоколі SIP (Рисунок 5 ).

Рис 1.4. Приклад мережі на базі протоколу SIP

Мережа SIP містить основні елементи трьох видів: агенти користувача, проксі-сервери і сервери переадресації. Агенти користувача (User Agent або SIP client) є додатками термінального обладнання і включають в себе дві складові: агент користувача - клієнт (User Agent Client - UAC) і агент користувача - сервер (User Agent Server - UAS), інакше відомі як клієнт і сервер відповідно. Клієнт UAC ініціює SIP-запити,. Сервер UAS приймає запити і повертає відповіді.

Крім  того, існує два типи мережевих  серверів SIP: проксі-сервери (сервери-посередники) і сервери переадресації. Сервери SIP можуть працювати як в режимі зі збереженням станів поточних з'єднань (statefull), так і в режимі без збереження станів поточних з'єднань (stateless). Сервер SIP, що функціонує в режимі stateless, може обслужити яку завгодно велику кількість  користувачів, на відміну від Н.323, який може одночасно працювати з  обмеженою кількістю користувачів.

Проксі-сервер (Proxy-server) діє «від імені інших клієнтів» і містить функції клієнта (UAC) і сервера (UAS). Цей сервер інтерпретує і може перезаписувати заголовки запитів перед відправленням їх до інших серверів (Рисунок 6). Відповідні повідомлення слідують по тому ж шляху назад до проксі-сервера, а не до клієнта.

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