ЛЕКЦИЯ 3_2014_Использование IP-АТС Asterisk.ppt
- Количество слайдов: 59
ЛЕКЦІЯ 3 Використання IP-АТС ASTERISK для організації мультимедійного зв’язку 1
План • 1. Теоретичні відомості щодо IP-АТС Asterisk • 2. Опис схеми організації зв’язку на базі IPАТС Asterisk • 3. Опис протоколу SIP: архітектура мережі SIP; повідомлення протоколу SIP; схема взаємодії SIP-терміналів; алгоритми встановлення з’єднання. • 4. Налаштування схеми організації зв’язку на базі IP-АТС Asterisk. 2
1. Теоретичні відомості щодо IP-АТС Asterisk — является свободным программным обеспечением компьютерной телефонии от компании Digium. Asterisk, работает на операционных системах Linux, Free. BSD и Solaris, поддерживает множество Vo. IP протоколов и в комплексе с необходимым оборудованием, обладает всеми возможностями классической АТС. IP-АТС может рассматриваться как частный как телефонный коммутатор, подключенный к одному или нескольким телефонам, с одной стороны, и обычно подключенный к одному или нескольким телефонным линиям ТФОП или GSM, с другой. 3
Используя протоколы Vo. IP, Asterisk предоставляет возможность совершения телефонных разговоров, используя IP сеть или сеть интернет в качестве среды передачи голосовых данных. При наличии компьютерной и телефонной сети, существует возможность конвергенции предоставляемых ими услуг и возможностей в единую телекоммуникационную среду. Asterisk может работать как с аналоговыми линиями FXO/FXS , так и цифровыми ISDN BRI/PRI. С помощью определённых компьютерных плат Asterisk можно подключить к линиям Т 1/E 1, которые позволяют работать с десятками и сотнями телефонных линий. 4
IP-АТС Asterisk поддерживает следующие Vo. IP протоколы: • Персонального обмена версия 1 и 2 (IAX 1/2); • Мультимедийного обмена H. 323; • Мультимедийного обмена SIP; • Управления шлюзами MGCP; • "Тонкого" подсоединения SCCP; • Двухтональный DTMF; • Многочастотный MF/MFC-R 2; • Абонентский цифровой EDSS 1; • Выносного управления GR-303/V 5. 1/V 5. 2; • Общеканальной сигнализации SS 7; • Skype; • Google Talk. 5
• IP-АТС Asterisk поддерживает следующие аудио кодеки: • G. 711 (A-Law, μ-Law) • G. 722 • G. 723. 1 • G. 726 • G. 729 • GSM • i. LBC • Linear • LPC-10 • Speex 6
Типичная схема подключения IP-АТС Asterisk 7
8
• • • • • IP-АТС Asterisk предоставляет следующие функции управления звонками: Получение напоминаний Голосовая почта Аутентификация Автоматический секретарь Черные списки Безусловная переадресация Запись подробной информации о звонке (CDR) Переадресация звонка, если абонент занят Переадресация звонка, если абонент не отвечает Запись телефонных переговоров Прослушивание телефонных переговоров Постановка звонка в простую очередь Маршрутизация звонка в зависимости от номера инициатора или получателя звонка Переадресация звонка Ожидание звонка Определение номера/имени звонящего Многопользовательские конференции 9 Работа с базами данных из сценария работы АТС и т. д.
В качестве корпоративной IP-АТС Asterisk предоставляет: • Подключение внутренних абонентов корпоративной телефонной сети. • Подключение к операторам телефонии: – местная фиксированная телефонная связь; – мобильная связь в стандартах GSM и CDMA; – операторы IP-телефонии. • Подключение удаленных сотрудников к корпоративной АТС. • Подключение удаленных офисов. • Традиционные функции УАТС (переадресация, удержание, перехват звонка, и т. д. ) • Организация аудио-конференций для проведения совещаний. • Создание интерактивных голосовых меню (IVR). • Голосовая почта с персональными ящиками сотрудников. • Запись детальной статистики звонков (CDR). • Маршрутизация вызовов по наименьшей стоимости звонка (LCR). • Возможность записи и прослушивания телефонных 10 переговоров.
Программные IP-телефоны • • • IP-телефон — телекоммуникационное устройство, обеспечивающее возможность голосового общения удаленных абонентов, используя в качестве среды для передачи голоса IP-сеть. Программный IP-телефон – это приложение, которое обеспечивает функциональность телефона устройству, не являющемуся телефоном, например, такому как ПК. Программный телефон еще также называют софтфон. Все IP-телефоны подразумевают использование технологии Vo. IP , описывающей процедуру передачи голоса по IP-сетям. 11
X-Lite – наиболее известный бесплатный программный телефон разработанный компанией Counter. Path. X-Lite поддерживает до 2 независимых номерных или безномерных телефонных линий. Для того чтобы получать и совершать звонки, необходимо внести данные SIP аккаунта и подключить микрофон с наушниками к звуковой карте компьютера. На сегодняшний день X-Lite является одним из лучших программных телефонов. 12
• • • Характеристики: Работа по протоколу SIP. Поддержка Qo. S, NAT, STUN. Кодеки: G. 711 U/A, i. LBC, GSM, Speex. Поддержка 2 -х одновременных разговоров. Поддержка передачи текстовых сообщений. Функция конференц-связи. Функция видеотелефона. Адресная книга. Определение идентификатора вызывающего абонента. Голосовая почта. Запись разговоров. Поддерживаемые ОС: Windows XP/VISTA/7, Mac OS X 13
3 CX Vо. IP телефон – это бесплатная программа для Windows, которая позволяет осуществлять телефонные звонки с ПК или ноутбука. Разработчик 3 CX Vо. IP телефона – компания 3 CX SIP телефон имеет удобный и понятный интерфейс с кнопочной наборной панелью и кнопками переадресации и удержания вызовов. 3 CX SIP телефон также дает пользователю возможность просматривать историю звонков, удерживать вызовы, записывать 14 звонки и др.
Express Talk –программа, позволяющая совершать как телефонные вызовы с компьютера на компьютер, так и с помощью Vo. IP провайдеров. Характеристики: -Поддержка до 4 линий с возможностью удержания вызова. - Голосовые кодеки (GSM, u. Law, ALaw и PCM), устранение эхо, шумов. -Поддержка протокола SIP -Поддержка работы с NAT и брандмауэрами. -Идентификация звонящего абонента. -Телефонная книга с быстрым 15 дозвоном.
Планируемые лабораторные работы • 1. Налаштування відображення номеру абонента, що викликає, на базі IP-AТС Asterisk. Конференц-зв’язок на базі IP-AТС Asterisk (2 години). • 2. Повтор останнього набраного номеру на базі IP-AТС Asterisk. Налаштування сервісу прослуховування розмов на базі IP-AТС Asterisk (2 години). • 3. Налаштування сервісу музики на утриманні на базі IP-AТС Asterisk. Налаштування сервісу інтерактивного голосового меню на базі IP-AТС 16 Asterisk (2 години).
• 4. Налаштування голосової пошти на базі IPAТС Asterisk. Налаштування запису розмови на базі IP-AТС Asterisk. Налаштування автоматичного дзвінка в заданий час на IP-AТС Asterisk (2 години). 17
• 2. Опис схеми організації зв’язку на базі IP -АТС Asterisk 18
Організація Vo. IP-зв’язку на базі Asterisk PBX • Організація Vo. IP-зв’язку на базі Asterisk PBX провадиться на двох фізичних комп’ютерах, з’єднаних в локальну мережу Ethernet. • На одному з комп’ютерів інстальовано віртуальну машину на базі ОС Linux, яка виконує роль сервера голосового зв’язку. Віртуальна машина працює під керуванням програмного забезпечення Virtual. Box. В якості гостьової операційної системи використовується дистрибутив Linux під назвою Ubuntu Server. В якості хост-системи використовується Windows XP. • На обох комп’ютерах інстальовано програмний SIPтелефон Phoner Lite. Таким чином, один фізичний комп’ютер виконує роль як клієнта, так і сервера, а інший — тільки сервера. 19
Програмний SIP-телефон Phoner Lite. 20
Для настроювання Asterisk PBX потрібно: 1. На одному з комп’ютерів інсталювати програмне забезпечення Virtual. Box (https: //www. virtualbox. org/). 2. У Virtual. Box потрібно створити віртуальну машину, підключити до неї інсталяційний диск Ubuntu Server (використовується версії 11. 10) і виконати інсталяцію мінімального оточення ОС Linux. 3. Настроїти мережеве з’єднання. Оскільки віртуальна машина під’єднана через програмний міст до тієї ж канальної мережі, що й фізичні комп’ютери, потрібно вказати IP-адресу з діапазону виділених IP-адрес для даної канальної мережі. 4. Після настроювання Ubuntu Server потрібно інсталювати Asterisk PBX. Для цього потрібно: • підключити репозиторії програмного забезпечення; • виконати оновлення операційної системи до останньої версії; • виконати інсталювання Asterisk PBX. Зауваження. Гостьова система повинна мати вихід в мережу Інтернет для інсталювання Asterisk PBX «з нуля» . Якщо використовується готовий образ настроєної віртуальної машини, з’єднання з Інтернетом непотрібно. 21
5. Після інсталювання Asterisk PBX його потрібно настроїти. Для цього: • змінити файл /etc/asterisk/sip. conf, створивши двох користувачів; • змінити файл /etc/asterisk/extensions. conf, створивши діалплан: • відкрити консоль керування Asterisk командою sudo asterisk -r і виконати команди sip reload, dialplan reload. 6. На клієнтських комп’ютерах, обладнаних гарнітурами, потрібно інсталювати програмний SIP-телефон Phoner Lite, вказати в ньому IP-адресу сервера, логін і пароль користувача і зателефонувати за номером 600 для здійснення тестового дзвінка (на автовідповідач) або за номерами 101 чи 102 для здійснення дзвінка до іншого абонента. 22
3. Опис протоколу SIP — протокол ініціювання сеансів зв’язку, є протоколом прикладного рівня, призначається для організації, модифікації і завершення сеансів зв’язку: мультимедійних конференцій, телефонних з’єднань і розподілу мультимедійної інформації. Користувачі мережі SIP можуть брати участь у сеансах зв’язку, запрошувати інших користувачів і бути запрошеними до нового сеансу зв’язку. Запрошення можуть бути адресовані певному користувачеві або групі користувачів. 23
Протокол ініціювання Прикладний рівень сеансів зв’язку (SIP) Протокол TCP Транспортний рівень Протоколи IPv 4 й IPv 6 Мережний рівень PPP, ATM, Ethernet Канальний UTP 5, SDH Фізичний рівень Рис. 2. Місце протоколу SIP у стеку протоколів TCP/IP 24
SIP, хоча й може використовуватися в IPтелефонії, не є протоколом для передачі тільки голосових даних — він взагалі не прив’язаний до передачі даних якогось певного виду. Сама назва протоколу означає, що SIP забезпечує ініціювання, контроль і ліквідацію сеансів обміну інформацією, а в якості переданої інформації може виступати що завгодно: мова (як у випадку IP-телефонії), музика, відео, і, наприклад, текст. Тип переданих визначається окремим протоколом SDP (Session Description Protocol — протокол опису сеансу), що використовується в парі з SIP і має здатність змінювати параметри сеансу в ході обміну даними, зокрема визначає мережні порти для прийому й передачі голосових даних протоколу RTP. Протокол SIP розроблений групою MMUSIC (Multiparty Multimedia Session Control) комітету IETF (Internet Engineering Task Force), а специфікації протоколу представлені в документі RFC 3261. 25
В основу протоколу робоча група MMUSIC заклала такі принципи: • Персональна мобільність користувачів. Користувачі можуть переміщатися без обмежень у межах мережі, тому послуги зв’язку повинні надаватися їм у будь-якому місці цієї мережі. Користувачеві присвоюється унікальний ідентифікатор і мережа надає йому послуги зв’язку незалежно від тог, де він перебуває. • Масштабованість мережі. Вона характеризується, у першу чергу, можливістю збільшення кількості елементів мережі при її розширенні. 26 •
• Розширюваність протоколу. Вона характеризується можливістю доповнення протоколу новими функціями при введенні нових послуг і його адаптації до роботи з різними додатками. Розширення функцій протоколу SIP може бути здійснене за рахунок введення нових заголовків повідомлень, а також впровадженням нових типів повідомлень. • Інтеграція в стек наявних протоколів Internet, розроблених IETF. • Взаємодія з іншими протоколами сигналізації. Протокол SIP може бути використаний разом із протоколом Н. 323. Можливо також взаємодія протоколу SIP із системами сигналізації Тф. ЗК — DSS 1 й ОКС 7. Однією з найважливіших особливостей протоколу SIP є його незалежність від транспортних технологій. 27
3. 1. Архітектура мережі SIP • Протокол SIP успадкував від протоколу перенесення гіпертексту — HTTP синтаксис і архітектуру «клієнтсервер» . Керування процесом обслуговування виклику розподілено між різними елементами мережі SIP. На рис. 2 представлений приклад мережі на базі протоколу SIP. Основним функціональним елементом, що реалізує функції керування з’єднанням, є термінал. Інші елементи мережі відповідають за маршрутизацію викликів, а в деяких випадках надають додаткові послуги. • У випадку, коли клієнт і сервер взаємодіють безпосередньо з користувачем, тобто реалізовані в кінцевому обладнанні користувача, вони називаються, відповідно, клієнтом агента користувача — User Agent Client (UAC) — і сервером агента користувача — User Agent Server (UAS). • Якщо в пристрої присутні і сервер UAS, і клієнт UAC, то він називається агентом користувача — User Agent (UA), і по своїй суті являє собою апаратний або програмний термінал 28 SIP.
29 Рис. 2 Приклад мережі на базі протоколу SIP
• Крім терміналів, визначені два основних типи мережних елементів SIP: проксі-сервер (proxy server) і сервер переадресації (redirect server). • Проксі-сервер представляє інтереси користувача в мережі. В якості проксі-сервера може виступати IP-ATC Asterisk. Він приймає запити, обробляє їх і, залежно від типу запиту, виконує певні дії. Проксісервер складається із клієнтської і серверної частин, тому може приймати виклики, ініціювати власні запити і повертати відповіді. Проксі-сервер може бути фізично з’єднаний із сервером визначення місця розташування або існувати окремо від цього сервера, але мати змогу взаємодіяти з ним використовуючи певні протоколи. 30
• Передбачено два типи проксі-серверів — зі збереженням станів і без збереження станів. • Сервер першого типу зберігає в пам’яті вхідний запит, що являється причиною генерації одного або декількох вихідних запитів. Такий сервер дозволяє надати більшу кількість послуг, але працює повільніше, ніж сервер другого типу. Він може застосовуватися для обслуговування невеликої кількості клієнтів, наприклад, у локальній мережі. • Сервер без збереження станів просто ретранслює запити й відповіді, які одержує. Він працює швидше, ніж сервер першого типу, тому що ресурси процесора не витрачається на запам'ятовування станів, внаслідок чого сервер цього типу може обслужити більшу кількість користувачів. Недоліком такого сервера є те, що на його базі можна реалізувати лише найбільш прості послуги. Втім, проксісервер може функціонувати як сервер зі збереженням станів для одних користувачів і як сервер без збереження 31 станів - для інших.
• Сервер переадресації призначений для визначення поточної адреси користувача, який викликається. Користувач, який викликає, передає до сервера повідомлення з відомою йому адресою користувача, який викликається, а сервер забезпечує переадресацію виклику на поточну адресу цього користувача. Для реалізації цієї функції сервер переадресації повинен взаємодіяти із сервером визначення місця розташування. • Сервер переадресації повідомляє адресу або користувача, що викликається, або проксі-сервера. За цією адресою ініціатор запиту передає новий запит. Сервер переадресації не містить клієнтську частину програмного забезпечення. 32
• Але користувачеві не обов’язково зв’язуватися з яким-небудь SIP-сервером. Він може сам викликати іншого користувача за умови, що знає його поточну адресу. • Користувач може переміщатися в межах мережі, тому необхідно забезпечити механізм визначення його місця розташування в даний момент часу. • Для зберігання поточної адреси користувача використовується сервер визначення місця розташування користувачів, що представляє собою базу даних адресної інформації. • Цей сервер може бути сполучений із проксісервером або бути реалізований окремо, але повинен мати можливість зв'язуватися з ним. 33
3. 2. Повідомлення протоколу SIP • Відповідно до архітектури «клієнт-сервер» всі повідомлення діляться на запити, передані від клієнта до сервера, і на відповіді сервера клієнтові. • Щоб ініціювати встановлення з’єднання користувач повинен повідомити серверу ряд параметрів, зокрема, адресу викликуваного користувача, параметри інформаційних каналів й ін. Ці параметри передаються в спеціальному SIP-запиті. Від викликуваного користувача передається відповідь на запит, що також містить ряд параметрів. • Всі повідомлення протоколу SIP, запити й відповіді, являють собою послідовності закодованих текстових рядків. Структура й синтаксис повідомлень SIP ідентична використовуваним у протоколі HTTP. На рисунку 3 представлена структура повідомлень протоколу SIP. 34
Стартовий рядок Заголовки Пустий рядок Тіло повідомлення Рис. 3 Структура повідомлень протоколу SIP 35
• Стартовий рядок являє собою початковий рядок будь-якого SIP-повідомлення. Якщо повідомлення є запитом, у цьому рядку вказуються тип запиту, адресат і номер версії протоколу. Якщо повідомлення є відповіддю на запит, у стартовому рядку вказуються номер версії протоколу, тип відповіді і його коротка розшифровка, призначена тільки для користувача. • Заголовки повідомлень містять відомості про відправника, адресата, шлях проходження і ін. , тобто, переносять інформацію, необхідну для обслуговування даного повідомлення. Про тип заголовка можна дізнатися по його імені. • Повідомлення протоколу SIP можуть містити так зване тіло повідомлення. У запитах АСК, INVITE й OPTIONS тіло повідомлення містить опис сеансів зв’язку. Запит BYE тіла повідомлення не містить. При цьому будь-які відповіді можуть містити тіло повідомлення, але вміст тіла в них буває різним. 36
У протоколі SIP визначено чотири види заголовків: • загальні заголовки, що є присутніми у запитах і відповідях; • заголовки змісту, переносять інформацію про розмір тіла повідомлення або про джерело запиту (починаються зі слова «Content» ); • заголовки запитів, що передають додаткову інформацію про запит; • заголовки відповідей, що передають додаткову інформацію про відповідь. • Заголовок містить назву, за якою, відділене двокрапкою, слідує значення заголовка. У полі значення містяться передані. Слід зазначити, що якщо сервер приймає повідомлення, заголовки яких йому не відомі, то ці заголовки ігноруються. 37
Перелік найбільш поширених заголовків протоколу SIP • Заголовок Call-ID - унікальний ідентифікатор сеансу зв’язку або всіх реєстрації окремого клієнта, він складається з буквено-числового значення і імені робочої станції, що привласнила значення цьому ідентифікатору. Між ними повинен стояти символ @. • Заголовок То - визначає адресата. • Заголовок From - ідентифікує відправника запиту; за структурою аналогічний полю То. • Заголовок CSeq - унікальний ідентифікатор запиту, що відноситься до одного з'єднання. Він служить для кореляції запиту з відповіддю на нього. 38
• Заголовок Via служить для того, щоб уникнути ситуації, у яких запит піде по замкнутому шляху, а також для тих випадків, коли необхідно, щоб запити й відповіді обов’язково проходили по однакових шляхах. Тобто в заголовку Via вказується весь шлях, пройдений запитом. • Заголовок Content-Type визначає формат опису сеансу зв’язку. • Заголовок Content-Length указує розмір тіла повідомлення. • У дійсній версії протоколу SIP 2. 0 визначено шість типів запитів. Кожний з них призначений для виконання досить широкого кола завдань, що є явною позитивною можливістю протоколу SIP, тому що завдяки цьому число повідомлень, якими обмінюються 39 термінали й сервери, зведено до мінімуму.
• За допомогою запитів клієнт повідомляє про поточне місце розташування, запрошує користувачів взяти участь у сеансах зв’язку, модифікує вже встановлені сеанси, завершує їх і т. д. • Сервер визначає тип прийнятого запиту за назвою, зазначеному в стартовому рядку. В тому ж рядку в полі Request-URI зазначена SIPадреса терміналу, якому цей запит адресований. Зміст полів То і Request-URI може різнитися, наприклад, у полі То може бути зазначена адреса абонента, а в полі Request-URI — поточна адреса користувача. 40 • Розглянемо запити.
• INVITE — запит залучає користувача або послугу до участі в сеансі зв’язку й містить опис параметрів цього зв’язку. За допомогою цього запиту користувач може визначити функціональні можливості термінала абонента і почати сеанс зв’язку, використовуючи обмежене число повідомлень і підтверджень їхнього прийому. • АСК — запит підтвердження прийому від викликуваної сторони відповіді на команду INVITE і завершує транзакцію. • OPTIONS — запит дозволяє одержати інформацію про функціональні можливості агентів користувачів і мережних серверів. Однак цей запит не використовується для організації сеансів зв'язку. 41
• BYE — запит використається ініціаторами і викликуваною сторонами для руйнування з’єднання. Перед тим як зруйнувати з’єднання, користувачі відправляють цей запит до сервера, повідомляючи про намір припинити сеанс зв’язку. • CANCEL — запит дозволяє агентам користувачів і мережним серверам скасовувати раніше передані запити, якщо відповіді на них ще не були отримані. • REGISTER — запит застосовується клієнтами для реєстрації інформації про місце розташування з використанням серверів SIP. 42
• Після прийому й інтерпретації запиту, адресат (проксі-сервер ) передає відповідь на цей запит. Зміст відповідей буває різним: підтвердження встановлення з’єднання, передача запитуваної інформації, відомості про несправності тощо. Структуру відповідей і їхні види протокол SIP успадкував від протоколу HTTP. • Визначено шість типів відповідей, що несуть різні функціональні навантаження. Тип відповіді кодується тризначним числом. Найважливішою є перша цифра, що визначає клас відповіді, інші дві цифри лише доповнюють першу. У деяких випадках обладнання навіть може не знати всі коди відповідей, але воно обов’язково повинне 43 інтерпретувати першу цифру відповіді.
• Всі відповіді поділяються на дві групи: інформаційні і фінальні. • Інформаційні відповіді показують, що запит перебуває на стадії обробки. Вони кодуються тризначним числом, що починається з одиниці — 1 хх. • Фінальні відповіді кодуються тризначними числами, що починаються із цифр 2, 3, 4, 5 і 6. Вони означають завершення обробки запиту й містять, коли це потрібно, результат обробки запиту. • Відповіді 2 хх означають, що запит був успішно оброблений. У цей час із всіх відповідей типу 2 хх визначений лише один — 200 ОК. Його значення залежить від того, на який запит він відповідає. 44
• Відповіді 3 хх інформують термінал користувача про нове місце розташування викликуваного користувача або переносять іншу інформацію, що може бути використана для нового виклику. • Відповіді 4 хх інформують про те, що в запиті виявлена помилка. Після одержання такої відповіді користувач не повинен передавати той же самий запит без його модифікації. • Відповіді 5 хх інформують про те, що запит не може бути оброблений через відмову сервера. • Відповіді 6 хх інформують про те, що з’єднання з викликуваним користувачем установити неможливо. 45
• Запити й відповіді на них утворюють SIPтранзакцію. Вона здійснюється між клієнтом і сервером і містить у собі всі повідомлення, починаючи з першого запиту й закінчуючи фінальною відповіддю. • Крім того, протокол SIP передбачає різні алгоритми встановлення з’єднання. При цьому ті самі відповіді можна інтерпретувати по-різному залежно від конкретної ситуації. 46
3. 3 Схема взаємодії SIP-терміналів • Розглянемо типи SIP запитів і відповідей, які передаються при взаємодії двох SIPтерміналів у мережі з одним проксісервером, а також процеси які виникають в цьому випадку. Схема взаємодії представлена на рис. 4. • При здійсненні SIP-дзвінка, виникають процеси обміну SIP-заголовками, які керують з’єднанням, а також передача мультимедійних даних по протоколу RTP. 47
Термінал А SIP Проксі-сервер Термінал Б Рис. 4 Схема взаємодії SIP терміналів 48
Основні процеси, що виникають при здійсненні SIP-дзвінка від термінала А к терміналу Б: Реєстрація SIP-термінала на сервері • Термінал повинен зареєструватися на проксісервері для того, щоб інші термінали змогли його знайти і зв'язатися. У цьому випадку, обидва термінали посилають запити на реєстрацію у вигляді SIP-заголовків «REGISTER» з відповідними полями «From» і «To» . Проксі-сервер , що працює також як і сервер місця розташування, визначає можливість реєстрації терміналів і посилає відповіді у вигляді SIP-заголовків «OK» з кодом відповіді 200 якщо реєстрація пройшла успішно. 49
Встановлення сеансу зв’язку • Сеанс зв’язку починається відправленням терміналом А запиту «INVITE» проксі-серверу. Проксі-сервер відповідає відповіддю «TRYING 100» який означає, що потрібно почекати поки сервер зв’яжеться з терміналом Б і перевірить можливість встановлення з ним з'єднання. Термінал Б посилає відповідь проксі-серверу у вигляді заголовка «Ringing 180» якщо він вільний і готовий почати сеанс. Цей запит також переадресовується терміналу А і він чує гудки виклику. І нарешті відповідь «OK 200» від термінала Б означає прийом дзвінка. • Протікання сеансу зв'язку • У цей момент зв’язок встановлений і починається безпосередній процес обміну мультимедійними даними по протоколу RTP, використовуючи параметри (порт, адреса, тип вокодера тощо) 50 передані за допомогою SDP.
Завершення сеансу зв’язку • Завершення сеансу зв’язку відбувається відправленням запиту «BYE» до проксісерверу, що ретранслює його терміналу Б. Термінал Б відповідає повідомленням «OK 200» підтверджуючи роз’єднання. Сеанс зв’язку завершений, передача даних по протоколу RTP припиняється. 51
3. 4 Алгоритми встановлення з’єднання Протоколом SIP передбачені 3 основних сценарії встановлення з’єднання: • за участю проксі-сервера, • за участю сервера переадресації і • безпосередньо між користувачами. Розходження між перерахованими сценаріями полягає в тім, що по-різному здійснюється пошук і запрошення викликуваного користувача. У першому випадку ці функції покладає на себе проксі-сервер, а користувачеві -ініціатору сеансу - необхідно знати тільки постійну SIP-адресу викликуваного користувача. У другому випадку агент користувача самостійно встановлює з'єднання, а сервер переадресації лише реалізує перетворення постійної адреси викликуваного абонента в його поточну адресу. І, нарешті, у третьому випадку користувачеві для встановлення з’єднання необхідно знати поточну транспортну адресу 52 викликуваного користувача.
4. Налаштування схеми організації зв’язку на базі IP-АТС Asterisk • а. Для настроювання IP-АТС Asterisk потрібно на одному з комп’ютерів інсталювати програмне забезпечення Virtual. Box згідно з інформацією на сайті https: //www. virtualbox. org/ або у файлі User. Manual. pdf (файл видається викладачем). • б. У Virtual. Box потрібно створити віртуальну машину, підключити до неї інсталяційний диск Ubuntu Server (використовується версія 11. 10) і виконати інсталяцію мінімального оточення ОС Linux. • в. Після інсталювання Ubuntu Server потрібно настроїти мережеве з’єднання. Оскільки віртуальна машина під’єднана через програмний міст до тієї ж канальної мережі, що й фізичні комп’ютери, потрібно вказати IPадресу з діапазону виділених IP-адрес для даної канальної мережі. Для цього потрібно, наприклад, зробити наступне: 53
1. відкрити файл /etc/network/interfaces і внести в нього такі рядки: • auto eth 0 #автоматична активація мережевого інтерфейсу • #під час завантаження системи • iface eth 0 inet static #настроювання статичної адреси IPv 4 • address 10. 30. 2. 150 #IP-адреса сервера • netmask 255. 254. 0 #маска під мережі сервера • network 10. 30. 2. 0 #канальна під мережа сервера • broadcast 10. 3. 255 #широкомовна IP-адреса • gateway 10. 30. 2. 1 #шлюз в інші підмережі • Детальний опис цього файлу конфігурації можна знайти за адресою http: //ubuntologia. ru/network-manual-configuration. 2. перезапустити мережеве з’єднання гостьової системи, виконавши таку команду: sudo service networking restart або якщо на сервері не інстальовано програму для керування службами, перезапустити мережевий скрипт напряму: sudo /etc/init. d/networking restart 54
4. 1. Інсталяція Asterisk PBX а. Після настроювання Ubuntu Server потрібно інсталювати Asterisk PBX. Для цього потрібно: 1. підключити репозиторії програмного забезпечення, відкривши файл /etc/apt/sources. list та внісши до нього такі рядки: • deb http: //ua. archive. ubuntu. com/ubuntu/ oneiric main restricted universe multiverse • deb http: //ua. archive. ubuntu. com/ubuntu/ oneiric-updates main restricted universe multiverse • deb http: //ua. archive. ubuntu. com/ubuntu/ oneiricbackports main restricted universe multiverse • deb http: //security. ubuntu. com/ubuntu oneiric-security main restricted universe multiverse • deb http: //archive. canonical. com/ubuntu oneiric partner • deb http: //extras. ubuntu. com/ubuntu oneiric main 55
Розшифровку значень файла конфігурації потрібно знайти за адресою https: //help. ubuntu. com/community/Repositories/Ubuntu в якості домашнього завдання. 2. виконати оновлення операційної системи до останньої версії, виконавши такі команди: • sudo aptitude update #оновлення бази пакетів • sudo aptitude full-upgrade #оновлення власне пакетів • виконати інсталяцію Asterisk PBX, ввівши таку команду: • sudo aptitude install asterisk • Зауваження. Гостьова система повинна мати вихід в мережу Інтернет для інсталяції IP-АТС Asterisk «з нуля» . Якщо використовується готовий образ настроєної віртуальної машини, з’єднання з Інтернетом непотрібно. (Готовий образ віртуальної машини видається викладачем. ) 56
• б. Після інсталяції IP-АТС Asterisk необхідно його настроїти. Для цього потрібно: 1. змінити файл /etc/asterisk/sip. conf, створивши, наприклад, двох користувачів наступним чином: • [general] ; розділ загальних параметрів • context=default ; стандартний контекст • allowguest=no ; заборонити гостьову реєстрацію • udpbindaddr=0. 0 ; слухати всі мережеві інтерфейси по протоколу UDP • externrefresh=60 ; інтервал оновлення DNS-імені, якщо вказується externhost • nat=yes ; дозволяти клієнтів, які працюють за NAT • canreinvite=no ; заборонити користувачам змінювати адреси й порти • • [customer 1] ; перший користувач • type=friend ; повноправний клієнт • context=phones ; входить у контекст phones • host=dynamic ; може реєструватися з різних мережевих вузлів • secret=password 1 ; пароль користувача • • [customer 2] ; другий користувач, значення параметрів, як для першого • type=friend • context=phones • host=dynamic 57 • secret=password 2
2. змінити файл /etc/asterisk/extensions. conf, створивши, наприклад, наступний діалплан: • [general] ; розділ загальних параметрів • autofallthrough=yes ; автоматично чекати нові розширення • • [default] ; стандартні параметри • exten => _X. , 1, Hangup ; повісити слухавку • • [internal] ; внутрішні параметри • exten => 101, 1, Dial(SIP/customer 1, 60) ; customer 1 має номер 101, • ; чекати на відповідь 60 с • exten => 101, n, Hangup() ; після розмови вішати слухавку • • exten => 102, 1, Dial(SIP/customer 2, 60) ; аналогічно • exten => 102, n, Hangup() • 58
• exten => 600, 1, Answer() • • • • ; відповідь автовідповідача за номером 600 exten => 600, 2, Playback(demo-echotest) ; вітання exten => 600, 3, Echo() ; відтворення відлуння exten => 600, 4, Playback(demo-echodone) ; повідомлення про закінчення розмови exten => 600, 5, Hangup() ; повісити слухавку [phones] ; у групу phones include => internal ; входить група внутрішніх користувачів Після цього потрібно відкрити консоль керування Asterisk командою: sudo asterisk –r і виконати такі команди: sip reload 59 dialplan reload


