IP АТС Asterisk - принципи роботи та варіанти використання. Астериск (Asterisk) - основний функціонал Програмування asterisk

Головна / 2 Cool Reader

Що таке IP-АТС Asterisk, як це працює, варіанти використання та перспективи

О. Терещенко

На сьогоднішній день купувати звичайну чи цифрову АТС у невеликий офіс чи Call-центр не вигідно. На зміну традиційної телефонії прийшла IP-телефонія, якій властива низька вартість дзвінка, легкість розгортання, простота конфігурування, масштабованість та безпека з'єднання.

IP АТС – телефонна станція, що забезпечує передачу голосу через Інтернет (на основі протоколу Voice over IP).

У цій статті розповімо про IP-телефонію, організовану на базі програмної IP АТС «Asterisk».

IP АТС Asterisk на сьогодні – найкраще рішення для організації офісної телефонії та недорогого call-центру. Це програмний продукт класу Open Source - вільне програмне забезпечення з відкритим кодом. За рахунок унікального поєднання багатьох функцій Asterisk займає лідируючі позиції серед платформ для створення офісної телефонії. Важливу роль грає ціна. Вартість IP-телефонії офісу на платформі Asterisk в рази нижча за вартість рішень на традиційних IP АТС - Panasonic, Samsung та ін.

Апаратна частина

Asterisk підтримує будь-яке обладнання для Voice over IP (VoIP). Пристрої різних виробників VoIP обладнання можна підключати без особливих проблем.

Функціональні можливості

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

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

Реалізація

1. Почнемо з того, що Asterisk встановлюється на Linux.

Перше питання – який варіант реалізації вибрати. Власне, головний вибір - «плоский» Asterisk, керований через командний інтерфейс (за допомогою командного рядка),

або система «Asterisk» з Web-інтерфейсом (їх, як згадувалося, написано достатню кількість).

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

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

2. Друге практичне питання, яке треба вирішити – яку платформу вибрати для використання Asterisk. Варіантів два: локальний сервер чи «хмара»?

Локальний сервер для IP-АТС в сучасних умовах може обійтися майже безкоштовно: припустимо є старі (або не дуже старі) комп'ютери. Потрібно всього: 2 GB ОЗУ та один процесор (можна навіть якийсь старий та не дуже потужний).

Але - увага: якщо старий комп'ютер зовсім вже барахло ... Такий сервер може вас підвести, відмовивши в самий невідповідний момент. І тоді ефект економії грошей компанії може виявитися абсолютно зворотним.

На сьогоднішній день вартість системного блоку комп'ютера для розгортання IP-АТС в офісі не перевищує $200.

Отже, питання з сервером або вирішене, або - прямуємо «в хмари».

Віртуальна АТС

Очевидний плюс хмари – за надійність роботи відповідає хмарний провайдер і не треба витрачати гроші на сервер. Щомісячна плата за віртуальний "сервер" з одного ядра та 2 GB ОЗУ буде не високою: близько 1000 руб (або навіть менше). Також можна використовувати хмарну АТС (експлуатація віртуального сервера та хмарна АТС має незначну різницю).

Трохи про «підводне каміння» віртуальної АТС

Оператори телефонії пропонують різні умови використання своїх хмарних АТС. Є обмеження. Це можуть бути обмеження кількості внутрішніх номерів, всілякі функціональні особливості. Наприклад, не всі такі системи надають можливість запису розмов, не всі типи IP-телефонів обслуговуються, іноді страждає на якість зв'язку.

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

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

Ще варто звернути увагу на ситуацію, в якій одному внутрішньому абоненту необхідно зателефонувати до іншого внутрішнього абонента. У цьому випадку розмова абонентів проходитиме «великим колом», тобто від апарата внутрішнього Абонента 1 сигнал пройде до маршрутизатора офісу з виходом у зовнішню мережу (на якому мають бути відкриті відповідні порти, що у свою чергу збільшує «площу атаки», оскільки потрібно відкривати SIP-порти для кожного апарату), прийти на віртуальний сервер IP-АТС (хмарну АТС), розташований в дата-центрі, після чого повернеться на вихідний маршрутизатор і з зовнішньої лінії буде відправлений на внутрішню на апарат внутрішнього Абонента 2. Довгий шлях чи не так? А якщо таких з'єднань більше десятка?

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

При цьому трафік, що проходить між внутрішніми абонентами, необхідно шифрувати, оскільки в цьому варіанті всі розмови між внутрішніми абонентами не складе труднощів прослухати (перехопити).

IP-АТС з використанням сервера


У разі використання "свого" сервера (розташованого всередині мережі) картина буде іншою.

Свій сервер:

Мінімізує «площу атаки» (оскільки скорочує кількість відкритих портів);

Дозволяє унеможливити саму можливість прослухати (перехопити) переговори внутрішніх абонентів або підключитися сторонньому абоненту від імені внутрішнього, навіть якщо є віддалені офіси (оскільки внутрішні абоненти розмовляють між собою, не виходячи у «зовнішню мережу»);

Що вибрати як офісну міні-АТС? Panasonic АТС або безкоштовний Asterisk? Сьогодні я пропоную поміркувати над питанням – Asterisk VS Panasonic, розвіяти деякі міфи та поглянути на реальність вибору. Питання, позначене у заголовку цієї статті, постає перед кожним системним адміністратором, якому керівництво поставило завдання оснащення офісу сучасною системою зв'язку. Далекоглядному штатному комп'ютернику хочеться, щоб можна було використовувати IP-телефонію, запис розмов, необмежену конференцію, WEB-управління, особисті кабінети, інтеграцію з CRM, і ще більше! Керівництву хочеться, щоб було все що потрібно і бажано якомога дешевше. Всі ці просунуті функції притаманні сучасним програмним АТС. Але також усім відомий факт, що готові рішення від солідних виробників коштують дуже дорого. Але системний адміністратор знає, що на світі існує безкоштовний Asterisk, який все це може і при цьому нічого не вартий. І це найголовніший міф, який міцно засів у головах сисадмінів і потихеньку просочується в голови керівників. Тож чому це міф і де реальність? Спробуємо відповісти на це запитання.

Типове рішення, побудоване на базі Asterisk

Наприклад візьмемо типове завдання: потрібно поставити систему зв'язку на 20 абонентів, 8 IP-транків, 2 аналогові телефонні лінії. Коротше кажучи, типовий невеликий офіс.

Що потрібно для вирішення цього завдання:

  • Комп'ютер серверного типу призначений для цілодобової роботи протягом тривалого часу.
  • Встановлення операційної системи Linux.
  • Установка якоїсь збірки Asterisk.
  • VoIP шлюз на 2 аналогові лінії.
  • 20 IP-телефонів або VoIP шлюз на 20 аналогових портів.
  • Налаштування та програмування всієї системи.
  • Підключення до мереж загального користування та відповідні налаштування.
  • Спробуємо оцінити вартість заліза:

  • Сервер - якщо пристойний, то не нижче 30 000 руб.
  • VoIP шлюз на 2 лінії - рахуємо 4 000 руб.
  • 20 IP-телефонів по 3000 руб. - 60 000 руб.
  • Разом: 94 000 руб.

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

    Як бачимо, безкоштовний Asterisk виявився не таким уже й безкоштовним.

    А тепер найцікавіше, особливо для керівників: оскільки програмний продукт Asterisk є вільно розповсюджуваним, то у разі виникнення проблем у роботі системи жоден виробник не надасть вам гарантії. На комп'ютер – будь ласка, на шлюзи – не питання, а систему? Здавалося б, хтось ставив систему, той нехай і вирішує проблему. Начебто логічно, але за фактом виходить так, що ставить зазвичай сисадмін, а коли виникла проблема, виявляється, що він уже не працює в конторі і що він робив, які паролі залишив собі, як усе запрограмував, ніхто не знає і в кращому разі нова людина прийде і почне робити все наново. І все знову повториться, тільки через деякий час.

    Є вихід – спочатку звернутися до компанії, яка професійно займається встановленням Asterisk для клієнтів. Нормальний вихід, тільки їхня робота коштує грошей. Як правило, це в районі 10000 руб. Разом у мінімальному варіанті ми отримуємо вартість "безкоштовної" системи не нижче 70 000 руб. При цьому зверніть увагу, що питання гарантій так і не вирішене.

    Є ще один фактор, який слід врахувати: оскільки Asterisk безплатний сам по собі, то зазвичай їм займаються просунуті сисадміни у вигляді випадкових заробітків, тому що до них звертаються, щоб вирішити подешевше питання, що призводить до того, що не існує широкого кола професійно підготовлених. фахівців, які завжди готові виконати будь-які роботи, для яких саме Asterisk є основним бізнесом. Тобто продаж безкоштовного Asterisk не є бізнесом з усіма наслідками. Типова ситуація для світу Open Source технологій, до яких належить продукт Asterisk. Власне, він так і замислювався як рішення «для себе».

    Залізниця від Panasonic

    Тепер давайте подивимося, а якщо використовувати стандартну апаратну платформу від Panasonic. Наскільки дорожче це буде і чи взагалі буде дорожче?

    IP АТС Panasonic KX-NCP500 на зазначену ємність, у разі використання аналогових телефонів, коштуватиме 49 000 руб. Що стосується 20 IP-телефонів – 106 000 крб.

    Що ми спостерігаємо? У випадку аналогових телефонів Panasonic дешевше, а IP-телефонів практично в одній ціні. При цьому для розрахунку прийнято ціни на дешеві китайські SIP-телефони для Asterisk та фірмові системні IP-телефони Panasonic. Питання гарантії, обслуговування, ремонту або розширення у компанії Panasonic вирішено на найвищому рівні. Сервіс Panasonic найкращий у Росії!

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

    Так, можна було б сказати, що Asterisk набагато функціональніша система. Раніше це так і було, але тепер це вже не так. Є деякі функції, які потрібно додатково встановлювати у разі використання апаратної АТС Panasonic, але зараз усі ці рішення вже існують і вартість їхня цілком помірна. Крім того, потрібно розуміти, чи варто взагалі купувати функцію, якою не користуватимешся?

    Таким чином, відповідь на задане на початку статті питання не так однозначне і кожен керівник сам повинен прийняти рішення про те, що йому вибрати: ризиковий, але більш гнучкий варіант на Asterisk, або стабільний, функціонально достатній і більш дешевий варіант на базі АТС Panasonic. Вирішуйте самі!


    Asterisk – це повноцінна програмна АТС. Вона може працювати на таких операційних системах, як Linux, BSD, Windows та OS X і надає Вам усі можливості, які є у звичайної міні-АТС і навіть більше. Функціонування Asterisk засноване на протоколах, які забезпечують передачу голосу через мережі на основі IP протоколу (VOIP) і, завдяки цьому, дана АТС може працювати практично з будь-яким обладнанням для IP-телефонії, які використовують стандартні протоколи для VOIP, при цьому використовуючи відносно недороге апаратне забезпечення.

    Asterisk надає функції голосової пошти (Voicemail), конференцій, інтерактивного голосового меню (IVR), центру обробки дзвінків та їхньої обробки (Call Queuing). Він також має підтримку таких сервісів, як переклад викликів іншому абоненту, сервіс визначення та передачі абоненту, що викликається, номера абонента (callerID), протоколи ADSI, (як у режимі терміналу, так і в режимі гейтування), (тільки для call manager) і SCCP /Skinny (не повністю). У розділі Можливості можна знайти більш повний список функцій, які може виконувати Asterisk.

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

    Для забезпечення комунікацій між цифровим та аналоговим телефонним обладнанням Asterisk має підтримку деяких апаратних пристроїв, які можна позначити, як обладнання, яке виробляється спонсором проекту Asterisk - Digium. Digium виробляє одинарні та четиреверенние та інтерфейсні плати для комунікацій з каналами та . На додаток, виробляються інтерфейси, від одного до чотирьох портів на плату, для комунікації з аналоговими телефонними лініями, які популярні при побудові невеликої АТС. Інтерфейсні пристрої інших виробників можуть бути використані для організації каналів (ISDN2) з чотирма та вісьмома портами, якщо вони сумісні з CAPI або засновані на чіпсеті HFC.

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

    Попередня стабільна версія Asterisk – Asterisk v1.2|1.2.40
    Попередня стабільна версія Asterisk – Asterisk v1.4|1.4.41
    Попередня стабільна версія Asterisk – Asterisk v1.6|1.6.2.16.1
    Попередня стабільна версія Asterisk – Asterisk v1.8|1.8.2.1
    Попередня стабільна версія Asterisk – Asterisk v11|11.25.1
    Поточна стабільна версія Asterisk-Asterisk v13|13.15.0
    Наступний (не стабільний) реліз сервера Asterisk – Asterisk 14|14.4.0
    У розробці версія Asterisk - Asterisk 15

    Початок Вступна інформація : - З ЦЬОГО МІСЦЯ НАЙКРАЩЕ ПОЧАТИ! . сторонніх розробників. FAQта допомога у пошуку рішення: Шукайте відповіді на свої запитання? Пошукайте й тут. Asterisk tips and tricks: Вирішення різних проблем та підказки в питаннях, що ж ще можна зробити за допомогою цього програмного забезпечення. Локальні інформаційні ресурси у Вашому регіоні. Новини, Статус проекту та історія його розвитку. Списки розсилки Asterisk Linux 101: Деяка документація по Linux для початківців (eng) Огляд нетехнічних аспектів Asterisk- Основна інформація та аналізи (eng). Asteriskguru TutorialsВеличезна колекція документації по серверу Asterisk (eng). Апаратне забезпечення Asterisk phones: Телефони, які часто використовуються для роботи спільно з сервером Asterisk. : Апаратне забезпечення, протестоване на сумісність із Asterisk. : Яка потрібна процесорна потужність і скільки одночасних викликів витримає система? Hardware use cases: Рекомендоване апаратне забезпечення для різних потреб. : Підтримка Video у Asterisk. Asterisk text: Підтримка надсилання текстових повідомлень до Asterisk. Asterisk legacy integration: Як з'єднати Asterisk та звичайну АТС Asterisk Embedded Systems: Сервер Asterisk на простому (екзотичному) апаратному забезпеченні. Asterisk and VoIP GSM gateway: Як з'єднати VOIP GZM шлюз VoiceBlue із сервером Asterisk. Asterisk and Cable Modems with embedded ATAs: Як з'єднати embedded ATA із сервером Asterisk.Адміністрування . : Який процесор потрібний, скільки одночасних викликів може потягнути моє апаратне забезпечення? : (SIP проксі, розподіл навантаження). : Asterisk та підключення SIP через NAT. підтримка білінгу. - конфігурація Asterisk за допомогою бази даних Конфігурація Asterisk, використовуючи файли шаблонів. Asterisk password files: Де Ви можете знайти опис користувачів та їх паролі у конфігураційних файлах Asterisk? : розділ, створений, щоб допомогти Вам знайти потрібну функцію АТС в Asterisk. Asterisk QoS: як Asterisk підтримується QoS.
    Asterisk rollout tips: Допомога у переході від випробувань до практичного використання. Asterisk security: Безпека Вашої АТС. : Моніторинг сервера та періодична перевірка його працездатності Asterisk High Availability Solutions: Програмні та апаратні рішення для збільшення надійності роботи сервера. Asterisk Bootable CDROM: Завантаження та запуск сервера Asterisk з CDROM. Asterisk OS Platforms: На яких операційних системах може працювати Asterisk. Посилання Конфігурація: Повний список! : Опис конфігураційних файлів Asterisk. : Змінні, які використовуються під час конфігурації та в плані набору. : Вбудована база даних, яка використовується у плані набору. - конфігурація Asterisk із використанням бази даних. Конфігурація Asterisk за допомогою файлів шаблонів. : Потужний інтерфейс створення програмних скриптів : Asterisk Extension Language (Мова Розширень Астериска) : Asterisk Extension Language (Мова Розширень Астериска) версія 2 – конфігурація Asterisk для підтримки DUNDi та з'єднань по SIP – налаштування Asterisk для роботи з пристроями Ranch Networks за протоколом MIDCOM

    Як настроїти підключення сервера Asterisk з іншими провайдерами VOIP. Asterisk Configuration Examples: Повні приклади конфігурації Asterisk від різних користувачів. Asterisk Data Configuration: Zaptel and Asterisk data and hybrid configuration Зауваження щодо конфігурації сервера Asterisk для роботи з деякими специфічними телефонами. Asterisk Slimming: How can we slim-up about se many modules Asterisk tips and tricks: Безліч прикладів розв'язання різних завдань з використанням файлів конфігурації.

    Управління: кодеки, що підтримуються. Asterisk libpri: Open Source бібліотека. Asterisk Paging and Intercom. : Стандартні звукові файли та їх призначення. Asterisk multi-language: Зауваження щодо багатомовної конфігурації сервера Asterisk. Asterisk vertical service activation codes: *XX ​​коди, які у Zap каналах.
    Asterisk debugging: Як отримати налагоджувальну інформацію в Asterisk. Asterisk PSTN interface debugging: Проблеми з луною, рівнем сигналу і т.д.

    5 / 5 ( 1 голос )

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

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

    Особливості встановлення IP АТС Asterisk

    Для програмного сервера Астерікс використовується аналоговий та цифровий телефонний зв'язок. Установка сервера здійснюється шляхом підключення до спеціальних широкосмугових ліній Т1/E1, при цьому все офісне обладнання має бути призначене саме для IP телефонії.

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

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

    Для створення IP АТС Asterisk у себе в офісі слід сплатити лише основні дії: Аsterisk встановлення та налаштування, а також майбутнє обслуговування. Особливістю системи є можливість підключення необмеженої кількості абонентів. Якщо є необхідність зробити додаткове розширення точок, то ця дія піде набагато менше часу, ніж на створення нової телефонної станції та синхронізація з іншими станціями.

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

    ATC Asterisk для офісів дає величезні можливості IP телефонії:
    • записувати та зберігати розмови по телефону;
    • відстежувати активний дзвінок;
    • користуватися голосовим меню;
    • використовувати голосову пошту та надсилати листи на електронну пошту;
    • працювати з факсами в електронному форматі;
    • ведення деталізації дзвінків;
    • створити Сall-центр для внутрішньої роботи офісу;
    • підтримувати популярні протоколи зв'язку: skype, google talk, sip, iax, jabber. Це дає додаткову можливість відеозв'язку, а також передбачає обмін документами або зображеннями;
    • підключати віддалених абонентів до системи;
    • проводити конференції між трьома користувачами;
    • утримувати в режимі очікування необмежену кількість дзвінків, якщо не можна відразу відповісти;
    • створювати чорні списки абонентів;
    • робити відразу обдзвонити кілька номерів;
    • астериск налаштування дозволяє за допомогою програмного забезпечення керувати дзвінками;
    • створювати додаткові модулі ТЗ.
    Переваги IP АТС Asterisk
    • Інтегрування IP телефонії до офісів.
    • Обслуговування на найвищому рівні.
    • Можливість об'єднання Астерікс з бухгалтерською програмою 1С Підприємство або системою CRM.
    • Управління зв'язком не вимагає особливих витрат і дозволяє кожному абоненту створити окрему лінію.
    • Налаштування АТС asterisk дозволяє робити доопрацювання за бажання клієнта.
    • Доступність усім компаніям завдяки створенню телефонії на основі існуючої цифрової АТС.
    • Цей вид комунікації функціонує на базі операційної системи Unix, яка зарекомендувала себе як надійне та якісне програмне забезпечення. За будь-яких збоїв виконуватися автоматичне копіювання роботи сервера IP-телефонії на інший сервер.
    • Астерікс дозволяє створити єдину мережу навіть між офісами компанії, що знаходяться у різних точках міста. Тому не потрібно купувати кілька традиційних станцій.

    Незважаючи на розвиток різних систем обміну інформацією, таких як електронна пошта та служби миттєвого обміну повідомленнями, звичайний телефон ще довго залишатиметься найпопулярнішим засобом зв'язку. Ключовою подією в історії телекомунікацій та інтернету стала поява технології передачі голосу поверх IP-мереж, тому останніми роками змінилося саме поняття телефону. Використання VoIP сучасне, зручне, дешеве, тому що можна об'єднати віддалені офіси, навіть не вдаючись до послуг операторів телефонного зв'язку. Які ще аргументи потрібні для того, щоб підняти свій сервер IP-телефонії?

    Проект Asterisk

    Asterisk є у репозитаріях пакетів більшості дистрибутивів. Так, в Ubuntu команда sudo apt-cache search Asterisk видає пристойний список пакетів, після встановлення яких відразу можна розпочинати налаштування. Але установка з репозитарію має один мінус – як правило, у ньому версія Asterisk пристойно відстає від поточної, яку можна завантажити з офіційного сайту. Тому розглянемо універсальний спосіб установки на прикладі того ж Ubuntu, хоча все сказане (за рідкісним винятком) відноситься і до інших дистрибутивів.

    Встановлюємо пакети, необхідні компіляції:

    $ sudo apt-get install build-essential automake
    autoconf bison flex libtool libncurses5-dev libssl-dev

    Крім того, рекомендується встановити бібліотеку libpri, навіть якщо не потрібна підтримка Primary Rate ISDN (первинний тип цифрової мережі з інтеграцією послуг). Це можна зробити через репозитарій: sudo apt-get install libpri1.2, або використовуючи вихідні тексти:

    $wget -c downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz

    Компіляція бібліотеки стандартна, тому не будемо на цьому зупинятись.

    Тепер викачуємо з сайту вихідні тексти Asterisk та конфігуруємо:

    $ wget -c downloads.digium.com/pub/Asterisk/Asterisk-1.4.11.tar.gz
    $ tar xzvf Asterisk-1.4.11.tar.gz
    $ cd Asterisk-1.4.11
    $./configure --prefix=/usr

    Після закінчення роботи скрипта в консолі ми побачимо емблему проекту та деяку інформацію про налаштування.

    $ make
    $ sudo make install

    Примітка: якщо встановлена ​​версія 1.2, то для підтримки формату mp3 перед командою make слід ввести «make mpg123», версія 1.4 вже ніяк не реагує на цю команду.

    Після компіляції, крім усього іншого, будуть встановлені такі файли, що виконуються:

  • /usr/sbin/Asterisk - демон сервера Asterisk, який забезпечує всю роботу;
  • /usr/sbin/safe_Asterisk - скрипт для запуску, перезапуску та перевірки роботи сервера Asterisk;
  • /usr/sbin/astgenkey – скрипт для створення закритого та публічного RSA ключів у форматі PEM, які необхідні для роботи Asterisk.
  • Щоб встановити шаблони конфігураційних файлів та документацію, набираємо:

    $ sudo make samples

    Приклади конфігураційних файлів будуть скопійовані в /etc/Asterisk. Якщо в цьому каталозі вже є файли конфігурації, вони будуть перейменовані з префіксом .old. Для складання документації потрібно пакет doxygen, якщо його немає, встановлюємо:

    $ sudo apt-get install doxygen
    $ sudo make progdocs

    Аналогічно ставимо і пакет із розширеннями Asterisk -addons (цей крок не обов'язковий, його можна сміливо пропустити). Багато модулів, що входять до складу цього набору, є експериментальними. Їх варто встановлювати тільки якщо потрібно запис інформації в БД, підтримка mp3-файлів і протоколу ooh323c (Objective Systems Open H.323 for C):

    $ wget -c downloads.digium.com/pub/Asterisk/Asterisk-addons-1.4.2.tar.gz
    $ tar xzvf Asterisk-addons-1.4.2.tar.gz
    $ cd Asterisk-addons-1.4.2
    $./configure; make; sudo make install; sudo make samples

    Встановлення Asterisk завершено. Спочатку рекомендується запустити сервер у налагоджувальному режимі та переглянути висновок на наявність помилок:

    $ sudo /usr/sbin/Asterisk -vvvgc

    Якщо отримуємо повідомлення «Asterisk Ready» та запрошення консолі керування, значить все гаразд. Виходимо:

    *CLI> stop now

    Тепер можна переходити до подальшого налаштування.

    Налаштування підтримки інтерфейсних карток

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

    З репозитарію встановлюємо пакети zaptel, zaptel-source та збираємо модулі під свою систему:

    $ sudo apt-get install zaptel zaptel-source
    $ sudo module-assistant prepare
    $ sudo m-a -t build zaptel

    У /usr/src з'явиться пакет zaptel-modules-*_i386.deb, встановлюємо його за допомогою dpkg. Після цього перевіряємо роботу модулів ядра:

    $ sudo depmod -a
    $ sudo modprobe ztdummy

    І якщо потрібна підтримка пристроїв:

    $ sudo modprobe zaptel
    $ sudo modprobe wcfxo

    Щоб забезпечити їхнє автоматичне завантаження, виконуємо наступну команду:

    $ echo "ztdummy\nzaptel\nwcfxo" >> /etc/modules

    Створюємо правила для UDEV:

    $ sudo mcedit /etc/udev/rules.d/51-zaptel.rules

    KERNEL="zapctl", NAME="zap/ctl"
    KERNEL="zaptimer", NAME="zap/timer"
    KERNEL="zapchannel", NAME="zap/channel"
    KERNEL="zappseudo", NAME="zap/pseudo"
    KERNEL="zap0-9*", NAME="zap/%n"

    Ви також можете використовувати вихідні тексти або CVS-версію драйвера. При самостійній компіляції знадобляться заголовні файли ядра (або вихідні тексти):

    $ sudo apt-get install linux-headers-`uname -r`

    $ sudo ln -s /usr/src/linux-headers-2.6.20-15-generic /usr/src/linux-2.6

    Тепер отримуємо останню версію драйверів:

    $ cd /usr/src
    $ wget -c downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz

    Компілюємо та встановлюємо:

    $ tar xzvf zaptel-1.4-current.tar.gz
    $ cd /usr/src/zaptel-1.2.17.1
    $./configure
    $ make
    $ sudo make install

    І щоб вручну не створювати конфігураційні файли:

    $ sudo make config

    Після цієї команди буде створено скрипт для автоматичного запуску модулів, що входять до складу Zaptel, та конфіг /etc/default/zaptel (або /etc/sysconfig/zaptel), в якому буде вказано, які модулі необхідно завантажувати. Рекомендую залишити в цьому файлі тільки необхідне. Пробуємо завантажити модуль:

    $ sudo modprobe ztdummy
    $lsmod | grep ztdummy
    ztdummy 6184 0
    zaptel 189860 1 ztdummy

    Все нормально. Після встановлення в системі з'являться ще два файли:

  • /etc/zaptel.conf – визначає конфігурацію апаратного забезпечення;
  • /etc/Asterisk/zapata.conf – налаштування сервера Asterisk для роботи драйвера Zap-каналу.
  • Детальні вказівки для різних пристроїв наведено в документації. Російською з цього приводу можна почитати в документі «Конфігурація драйвера ядра Zaptel». Але на цьому не зупиняємося, попереду ще багато роботи. Після налаштування перевіряємо роботу командою ztcfg-vv.

    Реєстрація користувачів

    Якщо тепер подивитися в каталог /etc/Asterisk , можна знайти велику кількість файлів. Але розмір журнальної статті дозволить нам познайомитись лише з деякими з них. Так, в Asterisk .conf вказані каталоги, які задіятимуть Asterisk під час роботи, розташування та власник сокету, що використовується для підключення віддаленої консолі управління, а також дефолтні параметри запуску сервера. Деякі каталоги під час встановлення не створюються, це доведеться зробити вручну:

    $ sudo mkdir -p /var/(run,log,spool)/Asterisk
    $ sudo adduser --system –-no-create-home Asterisk
    $ sudo addgroup --system Asterisk

    Додамо користувача Asterisk до групи audio:

    $ sudo adduser Asterisk audio
    $ sudo chown Asterisk:Asterisk /var/run/Asterisk
    $ sudo chown -R Asterisk:Asterisk /var/(log,spool)/Asterisk

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

    $ sudo mcedit /etc/Asterisk/sip.conf


    type=friend
    host=dynamic
    ; defaultip=192.168.1.200
    username=grinder
    secret=password
    language=ua
    nat = no
    canreinvite=no
    context=office
    callerid=grinder
    mailbox=1234@office
    ; перед використанням allow слід вимкнути всі кодеки
    disallow=all
    ; порядок дотримання кодеків не має значення
    allow=ulaw
    allow=alaw

    Поле типу вказує, що може робити цей клієнт. При значенні user йому буде дозволено лише приймати вхідні дзвінки, при peer він зможе лише дзвонити, а friend означає всі дії відразу, тобто user+peer. У полі host вказується IP-адреса, з якої дозволено підключення цього клієнта. Якщо може підключатися з будь-якої адреси, вказуємо host=dynamic. А щоб у цьому випадку викликати клієнта, коли він ще не зареєстрований, у defaultip слід записати IP-адресу, за якою її завжди можна буде знайти. У username і secret вказуємо логін та пароль, які використовуються клієнтом при підключенні. Параметр Language задає код мови вітання та специфічні налаштування сигналів телефонів,
    визначені у файлі indications.conf. При роботі клієнта за NAT"ом у відповідному полі необхідно встановити значення yes. Відключення canreinvite змушує весь голосовий RTP-трафік проходити через Asterisk . Якщо клієнти підтримують SIP re-invites, їм можна дозволити з'єднуватися безпосередньо, вказавши canreinvite=yes. Поле сontext визначає план набору, в який потрапляють виклики, що надходять від цього клієнта, а callerid - рядок, який буде виводитися при дзвінку від клієнта За замовчуванням використовується контекст default, який бере всі налаштування з контексту demo. створити свій контекст.
    Поле mailbox вказує на голосову скриньку 1234 у контексті office. Інші клієнти налаштовуються аналогічно.
    Після визначення SIP-акаунтів наші клієнти можуть реєструватися на сервері Asterisk та здійснювати вихідні дзвінки. Щоб вони мали можливість приймати дзвінки, слід звернутися до файлу extensions.conf, у якому описується план набору (Dialplan), розподіляє дзвінки у системі. Тут же зазначаються всі дозволені розширення.

    $ sudo mcedit /etc/Asterisk/extensions.conf


    include => default
    exten => 1234,1,Dial(SIP/grinder,20)
    exten => 1234,2, Voicemail (grinder)

    Тут усе просто. За користувачем grinder закріплюємо номер 1234, і якщо він не відповість на дзвінок, йому можна буде залишити повідомлення в голосовій пошті. Цифра після номера означає пріоритет, що визначає послідовність виконання завдань. Тепер, якщо Asterisk запущено, слід підключитися до його консолі, виконавши на тій же машині Asterisk -r, і за допомогою команди reload змусити його перечитати файли конфігурації. Існують і команди для перезавантаження конкретного файлу. Наприклад, план набору перечитується командою extensions reload.

    Сервер готовий приймати клієнтів. За адресою www.Asterisk guru.com/tutorials/configuration_Asterisk _softphone.html вибираємо собі софт-клієнт та пробуємо з'єднатися. Мені, наприклад, подобається безкоштовна версія простої та зрозумілої у використанні програми ZoIPer (раніше Idefisk). Є версії для Linux, Windows і Mac OS X. Ще один непоганий і мультиплатформний клієнт - X-Lite.

    Якщо все нормально, у консолі має з'явитися повідомлення на кшталт "Registered SIP "grinder" at 192.168.0.1 port 5060", набираємо номер і телефонуємо.

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

    © 2023 androidas.ru - Все про Android