Основи IP-телефонії, базові принципи, терміни та протоколи. Ази IP-телефонії від Cisco або знайомство з Cisco CallManager Express


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

Під IP-телефонією мається на увазі голосовий зв'язок, яка здійснюється за мережами передачі даних, зокрема по IP-мережах (IP - Internet Protocol). На сьогоднішній день IP-телефонія все більше витісняє традиційні телефонні мережі за рахунок легкості розгортання, низької вартості дзвінка, простоти конфігурування, високої якості зв'язку та порівняльної безпеки з'єднання. У цьому викладі дотримуватимемося принципів еталонної моделі OSI (Open Systems Interconnection basic reference model) і розповідатимемо про предмет “знизу-вгору”, починаючи з фізичного та канального рівнів і закінчуючи рівнями даних.

"
Модель OSIта інкапсуляція даних

Принципи IP-телефонії

При здійсненні дзвінка голосовий сигнал перетворюється на стислий пакет даних (докладніше цей процес буде розглянуто у розділах “Імпульсно кодова модуляція” та “Кодеки”). Далі відбувається пересилання даних пакетів поверх мереж з комутацією пакетів, зокрема IP мереж. При досягненні пакетами одержувача вони декодуються в оригінальні голосові сигнали. Ці процеси можливі завдяки великій кількості допоміжних протоколів, частина яких буде розглянута далі.

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

На відміну від традиційної телефонії

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

При цьому IP-телефонія виявляється дешевшим рішенням як для оператора, так і для абонента. Відбувається це завдяки тому, що:

  • Традиційні телефонні мережі мають надмірну продуктивність, в той час, як IP-телефонія використовує технологію стиснення голосових пакетів і дозволяє повністю використовувати ємність телефонної лінії.
  • Як правило, на сьогоднішній момент доступ у глобальну мережує у всіх бажаючих, що дозволяє скоротити витрати на підключення або виключити їх.
  • Дзвінки у локальній мережі можуть використовувати внутрішній серверта відбуватися без участі зовнішньої АТС.
Разом з перерахованим вище, IP-телефонія дозволяє поліпшити якість зв'язку. Досягається це, знову ж таки, завдяки трьом основним факторам:
  • Телефонні сервери постійно вдосконалюються та алгоритми їх роботи стають більш стійкими до затримок чи інших проблем IP-мереж.
  • У приватних мережах їхні власники мають повним контролемнад ситуацією можуть змінювати такі параметри, як ширина смуги пропускання, кількість абонентів на одній лінії, і, як наслідок, величину затримки.
  • Мережі з комутацією пакетів розвиваються, і щорічно запроваджуються нові протоколи та технології, що дозволяють покращити якість зв'язку (наприклад, протокол резервування смуги пропускання RSVP).
Завдяки IP-телефонії дуже елегантно вирішується проблема зайнятої лінії, оскільки переадресація, або переведення в режим очікування можуть бути здійснені кількома командами конфігураційному файліна АТС.

Фізичний рівень (Physical Layer)

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

PoE

Цікаво розглянути технологію PoE (Power Over Ethernet) – стандарти IEEE 802.3 af-2003 та IEEE 802.3at-2009. Її суть полягає в можливості забезпечення живленням пристроїв за допомогою стандартної кручений пари. Більшість сучасних IP-телефонів, зокрема модельний ряд Cisco Unified IP Phones 7900 Series, поставляються з підтримкою PoE. Відповідно до стандарту 2009 року, пристрої можуть отримувати струм потужністю до 25,5 Ватт.

При подачі живлення використовуються лише дві кручені пари кабелю 100BASE-TX, проте деякі виробники задіють всі чотири, досягаючи потужності до 51 Ватт. Слід зазначити, що технологія не вимагає модифікації вже існуючих кабельних систем, у тому числі і кабелів Cat 5.

Для визначення того, чи є пристрій, що підключається живильним (PD - powered device) на кабель подається напруга 2,8 - 10 В. Тим самим обчислюється опір пристрою, що підключається. Якщо цей опір знаходиться в діапазоні 19 - 26,5 кОм, то процес переходить на наступний етап. Якщо ж ні – перевірка повторюється з інтервалом ≥2 мс.

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

Канальний рівень (Data Link Layer)

Відповідно до специфікації IEEE 802 канальний рівень поділяється на два підрівні:
  1. MAC (Media Access Control) – забезпечує взаємодію з фізичним рівнем;
  2. LLC (Logical Link Control) – обслуговує мережевий рівень.
на канальному рівніпрацюють комутатори - пристрої, що забезпечують з'єднання кількох вузлів комп'ютерної мережіта розподіл кадрів між хостами на основі фізичної (MAC) адресації.

Необхідно згадати механізм віртуальних локальних мереж (Virtual Local Area Network). Ця технологія дозволяє створювати логічну топологію мережі без огляду на її фізичні властивості. Досягається це тегування трафіку, що докладно описано в стандарті IEEE 802.1Q.


Формат кадру

У контексті IP-телефонії відзначимо Voice VLAN, що широко використовується для ізоляції голосового трафіку, що генерується IP-телефонами, від інших даних. Її використання доцільно з двох причин:

  1. Безпека. Створення окремої голосової VLAN зменшує ймовірність перехоплення та аналізу голосових пакетів.
  2. Підвищення якості передачі. Механізм VLAN дозволяє задати підвищений пріоритет голосовим пакетам, і, як наслідок, покращити якість зв'язку.

Мережевий рівень (Network Layer)

На мережному рівні відбувається маршрутизація, відповідно до основних пристроїв. мережевого рівняє маршрутизатори (Router). Саме тут визначається, яким шляхом дані досягнуть одержувача з певною IP-адресою.

Основний протокол, що маршрутизується - IP (Internet Protocol), на основі якого і побудована IP-телефонія, а також Всесвітня мережаІнтернет. Також існує безліч динамічних протоколівмаршрутизації, найпопулярніший серед яких OSPF (Open Shortest Path First) – внутрішній протокол, заснований на поточному стані каналів зв'язку;

На сьогоднішній момент існують спеціальні VoIP-шлюзи (Voice Over IP Gateway), що забезпечують підключення стандартних аналогових телефонів до IP-мережі. Як правило, вони мають і вбудований маршрутизатор, що дозволяє вести облік трафіку, авторизувати користувачів, автоматично роздавати IP-адреси, керувати смугою пропускання.

Серед стандартних функцій VoIP-шлюзів:

  • функції безпеки (створення списків доступу, авторизація);
  • Підтримка факсимільного зв'язку;
  • Підтримка голосової пошти;
  • Підтримка протоколів H.323, SIP (Session Initiation Protocol).
Для боротьби із можливими затримками передачі IP необхідно доповнювати додатковими засобаминаприклад протоколами встановлення черговості (щоб голосові дані не конкурували зі звичайними).
Як правило, у цих цілях на маршрутизаторах використовується черговість з малою затримкою (LLQ – Low-Latency queuing), або зважена організація черг на основі класів (CBWFQ – Class-Based Weighted Fair Queuing).
Крім того, необхідні схеми маркування із завданням пріоритетів для розгляду голосових даних як найбільш важливих для передачі.

Транспортний рівень (Transport Layer)

Для транспортного рівня характерні:
  • Сегментація даних додатків верхнього рівня;
  • Забезпечення наскрізної сполуки;
  • Гарантія надійності даних.
Основні протоколи транспортного рівня - TCP (Transmission Control Protocol), UDP (User Datagram Protocol), RTP (Real-time Transport Protocol). Безпосередньо в IP-телефонії використовуються протоколи UDPі RTP, причому основна їхня відмінність від TCP полягає в тому, що вони не забезпечують надійність доставки даних. Це є більш прийнятним варіантом, ніж здійснення контролю за доставкою (TCP), оскільки телефонний зв'язок надзвичайно залежить від затримок передачі, але менш чутливий до втрат пакетів.

UDP

UDP базується на мережевому протоколі IP і надає транспортні послугиприкладним процесам. Його головна відмінність від TCP - забезпечення негарантованої доставки, тобто при надсиланні та отриманні даних жодних підтверджень не запитується. Також при надсиланні інформації не обов'язково встановлення логічного з'єднання між модулями UDP (джерело та приймач).

RTP

Незважаючи на те, що RTP прийнято вважати протоколом транспортного рівня, зазвичай він працює поверх UDP. За допомогою RTP реалізується розпізнавання типу трафіку, робота з мітками часу, контроль передачі та нумерація послідовності пакетів.

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

Рівні даних (Data Layers)

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

H.323

Насамперед необхідно описати стек протоколів H.323, розроблений 1996 року. Цей стандартмістить опис обладнання, мережевих службта термінальних пристроїв, призначених для здійснення аудіо- та відеозв'язку в мережах з комутацією пакетів (Інтернет). Для будь-якого пристрою стандарту H.323 обов'язковою є підтримка обміну голосовою інформацією.
  • Платформенну незалежність.
  • Стандарти кодування аналогових даних.
  • Управління смугою пропускання.
  • Гнучкість та сумісність.
Зазначимо дуже важливий факт: у рекомендаціях не визначено фізичне середовище передачі, транспортний протокол та мережевий інтерфейс. Це означає, що пристрої, що підтримують стандарт H.323, можуть працювати в будь-яких існуючих мережах з комутацією пакетів.

Згідно з H.323 чотирма основними компонентами VoIP-з'єднання є:

  • термінал;
  • шлюз;
  • контролер зони;
  • контролер управління багатоточкової конференції (MCU – Multipoint Control Unit).


Приклад структурної схеми мережі IP-телефонії

Витяг з документа, що описує стек протоколів H.323

1. Управління з'єднанням та сигналізація:
1.а. H.225.0: протоколи сигналізації та пакетування мультимедійного потоку (використовує підмножину протоколу сигналізації Q.931).
1.б. H.225.0/RAS: процедури реєстрації, допуску та стану.
1.в. H.245: протокол керування для мультимедіа.
2. Обробка звукових сигналів:
2.а. G.711: імпульсно-кодова модуляція тональних частот.
2.б. G.722: кодування звукового сигналу 7 кГц 64 кбіт/с.
2.в. G.723.1: мовні кодери на дві швидкості передачі організації мультимедійного зв'язку зі швидкістю передачі 5.3 і 6.3 кбіт/с.
2.р. G.728: кодування мовних сигналів 16 кбіт/с за допомогою лінійного передбачення з кодуванням сигналу збудження з малою затримкою.
2.д. G.729: кодування мовних сигналів 8 кбіт/с за допомогою лінійного передбачення з кодуванням алгебри сигналу збудження сполученої структури.
3. Обробка відеосигналів:
3.а. H.261: відеокодеки для аудіовізуальних послуг зі швидкістю 64 кбіт/с.
3.б. H.263: кодування відеосигналу для передачі з малою швидкістю.
4. Конференц-зв'язок передачі:
4.а. T.120: стек протоколів (включає T.123, T.124, T.125) передачі даних між кінцевими пунктами.
5. Мультимедійна передача:
5.а. RTP: транспортний протокол реального часу.
5.б. RTCP: протокол керування передачею в реальному часі.
6. Забезпечення безпеки:
6.а. H.235: забезпечення безпеки та шифрування для мультимедійних терміналів мережі H.323.
7. Додаткові послуги:
7.а. H.450.1: узагальнені функції управління додатковими послугамиу H.323.
7.б. H.450.2: переведення з'єднання на номер телефонутретього абонента.
7.в. H.450.3: переадресація виклику.
7.г. H.450.4: утримання виклику.
7.д. H.450.5: паркування виклику (park) та відповідь на виклик (pick up).
7.е. H.450.6: повідомлення про виклик, що надійшов, у стані розмови.
7.ж. H.450.7: індикація повідомлення, що очікує.
7.з. H.450.8: Ідентифікація імен.
7.і. H.450.9: служба завершення підключення до мереж H.323.


Сценарій з'єднання на основі протоколу H.323

SIP (Session Initiation Protocol)

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

У SIP визначено два типи сигнальних повідомлень - запит та відповідь. Також існує шість процедур:

  • INVITE (запрошення) – запрошує користувача взяти участь у сеансі зв'язку (служить для встановлення нового з'єднання; може містити параметри для узгодження);
  • BYE (роз'єднання) - завершує з'єднання між двома користувачами;
  • OPTIONS (опції) - використовується для передачі інформації про підтримувані характеристики (ця передача може здійснюватися безпосередньо між двома агентами користувачів або через сервер SIP);
  • АСК (підтвердження) – використовується для підтвердження отримання повідомлення або для позитивної відповіді на команду INVITE;
  • CANCEL (скасування) - припиняє пошук користувача;
  • REGISTER (реєстрація) – передає інформацію про місцезнаходження користувача на сервер SIP, який може транслювати її на сервер адрес (Location Server).

Сценарій сеансу зв'язку SIP

Кодеки

Аудіокодеком називають програму або алгоритм, який стискає або розтискає цифрові звукові дані, дозволяючи знизити вимоги до пропускної здатності каналу передачі даних. В IP-телефонії на сьогоднішній день найбільш поширене перетворення за допомогою кодека G.729, а також стиснення G.711 за А-законом (alaw) та μ-законом (ulaw).
G.729
G.729 є кодеком, який стискає вихідний сигнал із втратою даних. Основна ідея, закладена в G.729 - передача не самого оцифрованого сигналу, яке параметрів (спектральної характеристики, кількості переходів через нуль), достатніх для подальшого синтезування на стороні. При цьому всі основні характеристики голосу, такі як амплітуда та тембр, зберігаються.

Пропускна здатність каналу, яку розрахований даний кодек - 8 кбіт/с. Довжина кадру оброблюваного G.729 – 10 мс, частота дискретизації – 8 кГц. Для кожного з таких кадрів визначаються параметри математичної моделі, які надалі передаються в канал у вигляді кодів.

При використанні кодування G.729 затримка становить 15 мс, з яких 5 мс витрачається заповнення попереднього буфера. Зазначимо також, що кодек G.729 пред'являє достатньо високі вимогиресурсів процесора.

G.711
G.711 - голосовий кодек, який передбачає ніякого стиснення, крім компандирования - методу зменшення ефектів каналів з обмеженим динамічним діапазоном. У основі цього методу лежить принцип зменшення кількості рівнів квантування сигналу області високої гучності, зберігаючи у своїй якість звуку. Дві схеми компандування, що широко використовуються в телефонії, - alaw і ulaw.

Сигнал у цьому кодеку наданий потоком величиною 64 кбіт/с. Частота дискретизації – 8000 кадрів по 8 біт за секунду. Якість голосу суб'єктивно краща, ніж при застосуванні кодеку G.729.

alaw
alaw або А-закон - алгоритм стиснення звукових даних із втратою інформації. В основному використовується на території Європи та Росії.

Для сигналу x перетворення за алгоритмом alaw виглядає так:

Де А – параметр стиснення (зазвичай приймається рівним 87,7).

ulaw
ulaw або μ-закон - алгоритм стиснення звукових даних із втратою інформації. В основному використовується на території Японії та Північної Америки.

Для сигналу x перетворення за алгоритмом ulaw виглядає так:

де μ приймається рівним 255 (8 біт) у стандартах Північної Америки та Японії.

Імпульсно кодова модуляція (PCM - Pulse Code Modulation)

Імпульсно кодова модуляція – передача безперервної функції у вигляді серії послідовних імпульсів.

Для отримання на вході каналу зв'язку модульованого сигналу миттєве значення несучого сигналу вимірюється АЦП з певним періодом. При цьому кількість оцифрованих значень за секунду (інакше, частота дискретизації) має бути більшою або дорівнює дворазовій максимальній частотіу спектрі аналогового сигналу.

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


Квантування сигналу

На цьому малюнку представлено кодування за допомогою чотирьох бітів (тобто всі проміжні значення аналогового сигналу округлятимуться до одного із заздалегідь заданих 16 рівнів). Наприклад, за часу рівному нулюсигнал буде представлений подібним чином: 0111.

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

У сучасної телефоніїчисло рівнів квантування має бути більшим або рівним 100, тобто мінімальна кількість біт, яким може кодуватись сигнал - 7.

Питання якості обслуговування в IP-телефонії (Quality of Service - QoS)

У мережах на основі стека TCP/IP висока якість обслуговування трафіку, чутливого до затримок передачі, не забезпечується за замовчуванням. При використанні протоколу TCP є гарантія достовірної доставки інформації, але її перенесення може здійснюватись із непередбачуваними затримками. Для UDP характерна мінімізація затримок, але гарантія правильної доставки пакета відсутня.

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

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

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

Для покращення якості зв'язку використовуються такі механізми:

  1. Перемаршрутизація. При навантаженні одного з каналів зв'язку дозволяє здійснити доставку за допомогою резервних маршрутів.
  2. Резервування ресурсів каналу зв'язку на час з'єднання.
  3. Пріоретизація трафіку. Дає можливість помічати пакети відповідно до рівня їх важливості та здійснювати обслуговування на основі міток.
Як було сказано раніше, голосовий трафік надзвичайно чутливий до затримок передачі. Максимальний часзатримки має перевищувати 400 мс (сюди включається і тривалість обробки інформації на кінцевих станціях). Розрізняють два основні типи затримок:

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


Джерела затримки в IP-телефонії

Джіттер

Ще одне явище, характерне для IP-телефонії – джиттер, або, інакше, випадкова затримка розповсюдження пакета.

Обумовлюється джиттер трьома факторами:

  • Обмежена смуга пропускання або некоректна роботаактивних мережевих пристроїв;
  • Висока затримка розповсюдження сигналу;
  • Тепловий шум.
Метод боротьби з джиттером, що найчастіше застосовується - джиттер-буфер, що зберігає певну кількість пакетів.

Зазвичай передбачається динамічне підстроювання довжини буфера протягом всього часу існування з'єднання. Для вибору найкращої довжини застосовуються евристичні алгоритми.

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

Джіттер буфер

Розмір буфера приймальний VOIP пристрій розраховує в процесі роботи, або примусово задається в налаштуваннях. З одного боку, він не може бути занадто великим, щоб не збільшувати транспортну затримку. З іншого боку, невеликий розмір буфера викликає втрати пакетів при зміні часу затримки в IP мережі.

Звідси й походить одна з головних протиріч, між інтернет провайдерами та користувачами IP телефонії. З погляду провайдера всі пакети доставлені абоненту, тобто втрат немає. А з погляду VoIP пристрою, різниця у часі між приходом пакетів значно перевищує джиттер буфер. Тож фактично втрати є. Насправді втрата понад 1% викликає певні неприємні відчуття. При 2% розмова виявляється утрудненою. За значень більше 4% розмова вже практично неможлива.

Розмір джиттер буфера
Випадкова затримка поширення Ji для i пакету може визначатися за формулою:

де:
Di – відхилення від очікуваного часу прибуття i пакету.
Відхилення від очікуваного часу прибуття i пакету Di визначається за формулою:

де:
R – час прибуття пакета у мітках часу RTP,
S – тимчасова мітка RTP, взята з пакета.

Наведемо приклад розрахунку очікуваного розміру випадкової затримки розповсюдження 5-го пакета на основі двох попередніх.

Нехай J4 = 10 мс; R4=10, R3=11, S4=6, S3=5, тоді D5 дорівнюватиме (10-11)-(6-5)=-2.

У середньому випадкова затримка часу поширення для одного пакета в поточному прикладі складе 10 мс (точніше можна порахувати за формулою, наведеною вище). Тоді для того, щоб жоден пакет не був відкинутий, розмір джиттера буфера повинен дорівнювати 10 мс.

Для визначення необхідного розміру джиттер буфера в мегабайтах домножимо отримане значення на 100 мбіт/сек – середню пропускну спроможністьмережі: 1010^-3100 = 128 кб.

Розмір джиттер-буфера повинен бути більшим, ніж флуктуація транзитного часу в мережі. Наприклад, якщо для 10 пакетів час транзиту коливається від 5 до 10 мс, буфер повинен бути хоча б 8 мс, щоб жоден пакет не був втрачений. Краще якщо буфер ще більше, наприклад 12 мс, тоді зможе працювати механізм перезапиту втрачених пакетів.

Рішення для розгортання телефонної мережі

Asterisk

Asterisk - програмна АТС, здатна комутувати як VoIP виклики, і виклики, здійснювані між IP-телефонами і традиційної телефонної мережею загального користування.

Підтримувані протоколи: IAX, SIP, H.323, Skinny, UNIStim.
Кодеки, що підтримуються: G.711 (ulaw і alaw), G.722, G.723, G.729, GSM, iLBC, LPC-10, Speex.

Asterisk - відкрите програмне забезпечення, що динамічно розвивається, яке може бути встановлено без огляду на ліцензування. Це робить цю програмну АТС привабливою для малого та середнього бізнесу. Кількість абонентів у мережі може досягати 2000 та обмежена лише потужністю сервера.

Ще одна перевага Asterisk - можливість гнучкого налаштування. Весь необхідний функціонал або вже реалізований, або може бути дописаний самостійно без істотних тимчасових та фінансових витрат. Цьому сприяє принцип: одне завдання – один програмний модуль.

У порівнянні з рішеннями від таких вендорів, як Cisco або Avaya, Asterisk привабливий ще й вартістю розгортання. Практично всі витрати зводяться тільки до покупки телефонів і сервера, здатного забезпечити необхідне навантаження на мережу. Сама програма абсолютно безкоштовна.

Cisco Unified Communication Manager (CallManager)

CallManager призначений швидше для великих мереж, що включають до 30 000 абонентів. Даний програмно-апаратний комплекс забезпечує надійність роботи та дозволяє конфігурувати безліч параметрів, таких як переадресація дзвінків або голосове меню. Існує і полегшена express версія, призначена скоріше для невеликих офісів.

З переваг Cisco CallManager слід відзначити насамперед знамениту технічну підтримку компанії Cisco. При відповідному рівні контракту на обслуговування, будь-яка проблема, починаючи з питань з налаштування і закінчуючи обладнанням, що вийшло з ладу, буде вирішена практично миттєво. Тому Cisco CallManager підійде компаніям, готовим платити чималі гроші, але й отримувати високу якість обслуговування.

Avaya IP Office


Система IP Office може стати хорошим вибором для середнього розміру телефонної мережі. Кількість абонентів тут обмежена як потужністю сервера, а й кількістю придбаних ліцензій. Ліцензувати необхідно практично всі – плати розширення, використовувані додатки тощо, що може завдати певних незручностей.

Конфігурування може здійснюватися через ряд програм, але найпопулярніша і найпростіша в користуванні - Avaya IP Office Manager. Також можливе керування через консоль за допомогою Avaya Terminal Emulator.

Загалом продукція корпорації Avaya не обмежується одним IP Office. Avaya, що в 2009 році злилася з ще одним відомим виробником Nortel є визнаним лідером на ринку обладнання для IP-телефонії.

19 липня 2011 о 01:51

Ази IP-телефонії від Cisco або знайомство з Cisco CallManager Express

  • Розробка систем зв'язку
  • Tutorial

Нещодавно на нашу організацію вийшов клієнт, який попросив налаштувати IP-ATS на основі платформи Cisco 2921 і софту Cisco CallManager Express (CME). Клієнтами розкидатися не пристойно в наш час, тому вирішили цю послугунадати.

Взявся я за цю справу не стільки з метою зрубати бабла для компанії, скільки з метою ознайомитися як у цієї самої Cisco влаштована IP-телефонія, з метою саморозвитку чи то пак.

Ознайомився. Тема приємна; для мене як для цискаря працювати набагато зручніше ніж з Asterisk.

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

Початкове налаштування CME
Нульовим пунктом вважається налаштування dhcp-сервера на маршрутизаторі, оскільки практично всі за замовчуванням телефони налаштовані на отримання IP-адреси саме таким способом. Якщо хтось призабув чи не знав, то на Цисках це робиться так:

CME#conf t
CME#(config)ip dhcp pool voicepool
CME#(config-ip-dhcp)network 192.168.101.0 255.255.255.0
CME#(config-ip-dhcp)default-router 192.168.101.1
CME#(config-ip-dhcp)option 150 ip 192.168.101.1
CME#(config-ip-dhcp)lease 0 0 30

Усі налаштування начебто очевидні. Крім, це 150-ой настройки. Ця опція передає в DHCP-налаштуваннях адресу tftp-сервера (про використання tftp-сервера в цій статті я не писатиму, але річ це дуже корисна для роботи з телефонами)

За умовчанням, Cisco дуже добре і з розумінням ставиться до роботи протоколу SCCP (через те, що даний протоколналежить самої Cisco), і не дуже товаришує з більш поширеним SIP-ом. Так, наприклад, щоб просто дозволити дзвінки між SIP-телефонами, підключеними до нашої АТС, необхідно налаштувати:

CME#conf t

CME#(config-voice)allow-connections sip to sip

CME#conf t
CME#(config)voice service voip
CME#(config-voice)sip
CME#(config-voice-sip)registrar server expires max 3600 min 3600

Тепер необхідно створити т.зв. клас кодеків - набір кодеків, які планується використати:

CME#conf t
CME#(config)voice class codec 1
CME#(config-voice)codec preference 1 g711alaw
CME#(config-voice)codec preference 2 g711ulaw
CME#(config-voice)codec preference 3 g729br8

Першим буде зроблено спробу використовувати кодек 711alaw, якщо не вдасться, то g711ulaw, ну і далі інтуїтивно зрозуміло.

Цих налаштувань буде достатньо.

Налаштування для роботи з SCCP
Усі налаштування щодо роботи протоколу SCCP відбуваються у розділі telephony-service

CME#conf t
CME#(config)telefony-service
CME#(config-telephony)max-ephones 10
CME#(config-telephony)max-dn 10
CME#(config-telephony)ip source-address 192.168.101.1 port 2000

ephone- це така штука, яка, спрощено кажучи, символізує собою телефон, тобто образ телефонного апарату в понятті CME. Параметр max-ephonesвідповідає відповідно за те, яка кількість SCCP-телефонів може бути зареєстрована на даній АТС.

dn- (Directory number) це така штука, яка, спрощено кажучи, символізує телефонний номер. За аналогією ясно, за що відповідає параметр max-dn.

До речі, не дуже правильно вказувати занадто велику кількість ephoneі dn, бо під кожен із цих «юнітів» CME виділятиме оперативну пам'ятьпри ініціалізації.

Плюс до всього кількість підтримуваних ephoneі dnзалежить від моделі платформи та версії софту.
ip source-addressзадає IP-адресу (і як наслідок інтерфейс) та порт, на якому будуть слухатися запити від SCCP-телефонів

Налаштування CME для роботи з SIP-телефонами
Усі налаштування щодо роботи протоколу SIP відбуваються у розділі Voice register Global. Ось необхідний нам мінімум:

CME#conf t
CME#(config)voice register Global
CME#(config-voice)mode cme
CME#(config-voice)source-address 192.168.101.1 port 5060
CME#(config-voice)max-dn 50
CME#(config-voice)max-pool 36

Дві відмінності. Перше – необхідно виконати команду mode cme, яка натякає роутеру що відтепер з SIP-телефонами буде працювати CME (це до того, що з протоколом SIP у Cisco працює не тільки софт, що описується нами). Друге – тепер замість ephon-ів ми будемо оперувати voice-pool-амі

Реєструємо телефони
Можна розпочати налаштування нумерації та параметрів реєстрації телефонів.
Технологія в обох протоколах однакова і проста - спочатку створюється dn, потім створюється телефон, і до телефону прив'язується його номер (або кілька).
У нашому прикладі для авторизації телефонів на сервері ми будемо використовувати їх MAC-адреси. Це логічно, тому що на практиці за певною людиноюзакріплюється один і той же телефонний апарат і телефонний номер, а людина зазвичай рідко переміщає своє робоче місце в офісі, а якщо й переміщає, то телефончик із собою переносить.
Реєструємо SCCP-телефон
Створюємо телефонний номер:

CME#conf t
CME#(config)ephone-dn 1
CME#(config-ephone-dn)number 100
CME#(config-ephone-dn)description Beauty-User
CME#(config-ephone-dn)name The Real Man

Створили телефонний номер 100, опис всередині CME - «Beauty-User», ім'я, що відображається на телефоні, буде «The Real Man»

Створюємо образ телефону. прив'язуємо його до MAC-адреси реального апарату, прив'язуємо до неї номер:

CME#conf t
CME#(config)ephone 1
CME#(config-ephone)mac-address B4A4.E328.BDEC
CME#(config-ephone)button 1:1

Прив'язування телефонного апарату (а точніше телефонної лінії нашого апарату) відбувайся командою button 1:1. Формат наступний – спочатку набираємо ключове слово "button"потім вказуємо номер цієї «кнопки» (перший у нашому прикладі), потім вказуємо дію, яку потрібно вчинити (":" - двокрапка означає, що зараз ми прив'яжемо до обраної лінії який-небудь телефонний номер) і потім параметр відповідний дії - в в нашому випадку вказуємо телефонний номер (тобто номер налаштованого заздалегідь dn).

Ви ж напевно бачили в житті на картинках цискофон? Чи бачили там багато всяких кнопок біля екранчика? Це і є ті самі button-и. Насправді кожна з цих кнопок відповідає за свою лінію. А дій над ними можна робити багато (не тільки прив'язувати до якогось номера). Але це гідно окремої статті.

А тим часом ми можемо сміливо включати телефон із зазначеною МАК-адресою в мережу, почекати, поки вона провантажиться, побачити на його екранчику біля першої кнопки номер 100 і заповітне ім'я - The Real Man. Якщо ми піднімемо трубку, то почуємо заповітний зумер

Реєструємо SIP-телефон
directory number створюється так:

CME#conf t
CME#(config)voice register dn 1
CME#(config-voice-register-dn)number 200

CME#conf t
CME#(config)voice register pool 1
CME#(config-voice-register-pool)id mac 1CDF.0F4A.152E
CME#(config-voice-register-pool)number 1 dn 1
CME#(config-voice-register-pool)voice-class codec 1
CME#(config-voice-register-pool)username test password test

Прив'язка до першої лінії першого номера відбувається за командою number 1 dn 1.
Командою voice-class codec 1визначаємо для телефону набір допустимих кодеків (цей набір ми описували на початку).
Далі командою username\passwordзадаємо автентифікаційні дані.

Щоб телефон зареєструвався, необхідно зайти на його веб-морду та в налаштуваннях першої лінії вказати адресу сервера - 192.168.101.1 та автентифікаційні дані. Зберігаємо.
Перезавантажуємо.

PROFIT!

IP-адресу телефону можна дізнатися за інформацією з dhcp-пулу по маку використовуючи команду show ip dhcp binding або в налаштуваннях самого телефону - голосове, або візуальне меню.

Начебто все. Були описані мінімальні налаштування CME, щоб на ньому могли зареєструватися два телефони (SIP і SCCP), отримавши адресу через DHCP.

Джерела знань
Основним джерелом знань для початку був відео-курс до CCNA Voice від Jeremy Cioara. Досить живою мовою (англійською правда) розповідається про IP-телефонію взагалі і про нюанси налаштування цього самого CME. Щоправда, там ні словом не торкається налаштування SIP-телефонів.

Дуже добрий мануал, звичайно, є на cisco.com. Він називається Cisco Unified Communications Manager Express System Administration Guide. Доступний

IP-телефонія - сучасний спосібпередачі голосу за протоколом Voice-over-IP (VoIP), а саме, за будь-якими мережами передачі даних, що використовують протокол TCP/IP (Internet або локальна мережа організації). IP телефонія сьогодні витісняє традиційний спосіб зв'язку, тому що має незаперечними перевагами, такими як:

  • Зниження вартості дзвінків. Можливість дзвонити у віддалені офіси абсолютно безкоштовно (оплачується лише інтернет трафік). Провайдери IP-телефонії надають нижчі тарифи на міжміський та міжнародний зв'язок.
  • Гнучке керування дзвінками. IP-телефонія дозволяє створювати різні групи користувачів та керувати ними - наприклад, ставити заборону на дзвінки міжгородом.
  • Широкі можливості в області інтеграції телефонної та комп'ютерної мережі: встановивши безкоштовне програмне забезпечення, користувач отримує можливість телефонувати, вибираючи абонента зі списку контактів у MS Outlook.
  • Віддалений доступ до телефонної мережі. Співробітник може підключитися до корпоративної мережі навіть із дому.
  • Мобільність та простота обслуговування. Не потрібні додаткові налаштуваннятелефону співробітника у разі зміни ним робочого місця. Єдина інфраструктура для Вашої мережі та телефонії.
  • Моніторинг завантаження телефонних ліній за допомогою спеціального програмного забезпечення.
  • Зручність адміністрування IP-АТС, з яким може впоратися навіть системний адміністратор, що не має високої кваліфікації.

Компанія CBS з 1998 року є сертифікованим партнером Cisco, світового лідера з виробництва обладнання для IP-телефонії, і має значний досвід реалізації проектів, який включає:

  • Розгортання корпоративної телефонного зв'язкуз урахуванням IP-телефонії.
  • Проектування та створення на базі IP-телефонії call-центрів та контакт-центрів із функціями голосової пошти, автосекретаря (IVR), персональної маршрутизації дзвінків, проведення аудіоконференцій та ін.
  • Проектування та налаштування системи відмови від IP-телефонії.
  • Інтеграція телефонних мереж віддалених офісів у єдину телефонну мережу з використанням каналів Інтернет.

CBS здійснює проектування корпоративних мережна базі IP-телефонії для російських та міжнародних компаній. Розробляючи проект IP-телефонії для міжнародної компанії «Джафра Косметікс», спеціалісти відділу мережевих технологій CBS працювали в тісному контакті з інженерами місцевого провайдера в Мексиці, а також із спеціалістами центру технічної підтримки компанії Cisco у Бельгії (TAC). Професіоналізм компанії CBS у реалізації проектів з IP-телефонії можна оцінити, познайомившись із виконаними

На ринку телефонних станцій, компанія Cisco Systems представлена ​​двома основними продуктами: Cisco Unified Communications Manager (CUCM)та Cisco Unified Communications Manager Express (CME). Про них сьогодні й поговоримо.

Cisco Unified Communication Manager

Cisco Unified Communication Manager- Це система процесингу телефонних викликів на базі ОС Linux. Підтримує основні стандарти, такі як SIP, H.323, MGCP та пропрієтарний SCCP. CUCM – рішення, яке призначене для середніх та великих організацій. При кластеризації серверів один кластер може обробляти 30 000 користувачів. В одному кластері може знаходитися до 20 серверів, причому лише 8 з них призначені безпосередньо для обробки телефонної сигналізації. Інші, це TFTP, MOH (music on hold) сервер, CUC та інші. Серед 8 серверів зазвичай виділяють один Publisher, а решта Subscriber'и. Основна роль Publisher'a полягає у реплікації бази даних на всі інші сервери. CUCM - це програмне забезпечення, зручне в адмініструванні та налаштуванні.

Основний WEB GUI проілюстровано нижче:

Цей інтерфейс називається Cisco Unified CM Administration. Усього їх 5:

  1. Cisco Unified Reporting
  2. Disaster Recovery System
  3. Cisco Unified Serviceability
  4. Cisco Unified OS Administration

Cisco UCM може бути розгорнутий як в віртуальному середовищі, і на фізичному сервері. Інтегрується з іншими продуктами Cisco, такими як: Cisco Unity Connection (CUC), Cisco Unified Presence (CUP, починаючи з 9 версії IM and Presence), Unified Contact Center Express та інші. Також підтримується інтеграція з рішеннями інших вендорів.

Cisco Unified Communication Manager Express (CME)

CME відмінно підходить для малого та середнього бізнесу, віддалених офісів та невеликих майданчиків. Call Manager Express реалізується на ISR (integrated service router) маршрутизаторах, що забезпечує консолідацію сервісів телефонії та інтернету в одному пристрої. Ця платформа здатна підтримувати близько 500 телефонів. Наприклад, маршрутизатор Cisco 3945E ISR G2 може забезпечити роботу 450 телефонів. У CME передбачено роботу голосової пошти, автосекретаря та інших функцій, які реалізуються за допомогою спеціальних модулів. Як правило, адміністрування CME відбувається через CLI (Command Line Interface). Але розробниками передбачено використання аплікації. Cisco Configuration Professional (CCP), за допомогою якого можна керувати dial – планом, адмініструвати телефони, користувачів та багато інших опцій. Cisco Call Manager Express підтримує SRST, що забезпечує відмовостійкість у разі падіння WAN. При плануванні важливу рольграє DSP, яка відповідає за транскодування та перетворення традиційного телефонного трафіку в IP.

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

Інша зручна опція це Call Forwarding. Вона дозволяє перенаправляти вхідні дзвінки на номер, вказаний заздалегідь, якщо отримувач дзвінка зайнятий або не відповідає.

Приклад реалізації нижче:

merion_voice(config)#ephone-dn 15 merion_voice (config-ephone-dn)#call-forward busy 1111

Cisco Call Manager Express підтримує такі опції як:

  • Call Transfer- Переклад виклику. Буває консультативний (англ. Consult – можливість розмови з адресатом до трансферу виклику) та сліпий (англ. Blind – моментальний переклад виклику після набору номера одержувача).
  • Call Park– можливість повісити виклик на «холд» на спеціально виділеному номері, а потім набрати з будь-якого іншого ТА цей номер і продовжити розмову.
  • Call Pickup– можливість відповісти на телефонний виклик, який надійшов на інший телефонний апарат. Зазвичай реалізується у межах одного відділу.
  • Intercom– дозволяє при натисканні однієї кнопки віддати розпорядження. Наприклад, інтерком може бути налаштований на кнопці телефону керівника, швидкого зв'язкуіз секретарем.
  • Paging- Теж саме і інтерком, тільки в широкомовному форматі. Зручно для екстрених оповіщень великої кількостілюдей.

Таким чином, ми розповіли про два основні продукти компанії Cisco Systems у галузі телефонних станцій. У наступних статтях ми докладно розповімо про кожну телефонну станцію.