Алгоритми встановлення з’эднання
Протокол SIP є керуючим протоколом для встановлення, модифікації і розриву з'єднання, орієнтованого на передачу потокових даних. Параметри передачі медіа-потоків описуються в протоколі SIP допомогою SDP (протокол опису сесії). Потокові медіа-дані можуть передаватися різними засобами, серед яких найбільш популярні транспортні протоколи RTP і RTCP.
Протокол SIP визначає 3 основні сценарії встановлення з'єднання: за участю проксі-сервера, за участю сервера переадресації і безпосередньо між користувачами. Сценарії відрізняються по тому, як здійснюється пошук і запрошення викликається користувача. Основні алгоритми встановлення з'єднання описані в RFC 3665.
Приклад сценарію встановлення з'єднання: Сервер Проксі Аліса Перенаправлення сервер 3 Борис | | | | | INVITE F1 | | | |--------------->| | | | 302 F2 | | | |<---------------| | | | ACK F3 | | | |--------------->| | | | INVITE F4 | | |-------------------------------->| INVITE F5 | | 100 F6 |--------------->| |<--------------------------------| 180 F7 | | 180 F8 |<---------------| |<--------------------------------| | | | 200 F9 | | 200 F10 |<---------------| |<--------------------------------| | | ACK F11 | | |-------------------------------->| ACK F12 | | |--------------->| | Двустороння передача RTP Media | |<================================================>| | | BYE F13 | | BYE F14 |<---------------| |<--------------------------------| | | 200 F15 | | |-------------------------------->| 200 F16 | | |--------------->| | | |
2.2 Вибір програмного забезпечення В данному розділі я описую програмні та апаратні рішення
2.2.1 Програмна АТС – Asterisk
Asterisk - вільне рішення комп'ютерної телефонії (в тому числі, VoIP) з відкритим вихідним кодом від компанії Digium, спочатку розроблене Марком Спенсером. Додаток працює на операційних системах Linux, FreeBSD, OpenBSD і Solaris. Ім'я проекту походить від назви символу «*» (англ. asterisk - «зірочка»). Asterisk в комплексі з необхідним обладнанням володіє всіма можливостями класичної АТС, підтримує безліч VoIP-протоколів і надає багаті функції управління дзвінками, серед них: · Голосова пошта. · Конференції. · Інтерактивне голосове меню (IVR). · Центр обробки викликів (постановка дзвінків у чергу і розподіл їх по агентам використовуючи різні алгоритми). · Запис (Call Detail Record). Для створення додаткової функціональності можна скористатися власною мовою Asterisk для написання плану нумерації, написавши модуль на мові Сі, або скориставшись AGI - гнучким і універсальним інтерфейсом для інтеграції із зовнішніми системами обробки даних. Модулі, що виконуються через AGI, можуть бути написані на будь-якій мові програмування. Asterisk поширюється на умовах подвійної ліцензії, завдяки якій одночасно з основним кодом, поширюваним за відкритої ліцензії GNU GPL, можливе створення закритих модулів, що містять ліцензований код: наприклад, модуль для підтримки кодека G.729.
Завдяки вільній ліцензії Asterisk активно розвивається і підтримується тисячами людей з усієї планети. Протягом останніх двох років ринок Asterisk-додатків активно розвивається в США. Для того щоб піти від проблем, створюваних подвійним ліцензуванням, був створений форк проекту, в даний час називається CallWeaver.
|