Взаємодія з АТС
Взаємодія з АТС відбувається через SIP-підключення, які налаштовуються спільно як на стороні АТС, так і на стороні SIP.TG.
Щоб створити SIP-підключення на стороні SIP.TG:
- Запустіть бота @siptg_bot і перейдіть до розділу
/gateway
. - Оберіть сесію Telegram, яку хочете підключити до АТС, або створіть нову за допомогою кнопки «Підключити» (докладніше див. Покрокове підключення сесії).
- Натисніть одну з кнопок для створення нового SIP-підключення, що відповідає типу підключення: «🆕 PBX→SIP․TG», «🆕 SIP․TG→PBX» або «🆕 IP⇿IP».
Налаштування SIP-підключення до АТС
Більшість налаштувань відображаються прямо на кнопках у вигляді поточних значень. Щоб змінити ці налаштування, достатньо натиснути відповідну кнопку та ввести нове значення за запитом бота.
Однак деякі кнопки працюють інакше:
- Worker: при натисканні з’являється список доступних Worker-серверів. Оберіть потрібний сервер зі списку, щоб побачити його детальний опис і призначити.
- Кнопки з прапорцями, такі як «DTMF вх.», «DTMF вих.», «Передзвонити», «Лінії», «Обробка повідомлень», «Callback» і «Поділитися підпискою», працюють як перемикачі. Одне натискання активує або деактивує опцію.
- Протокол з’єднання (UDP/TCP/TLS): при кожному натисканні відбувається переключення на наступний доступний протокол.
- Показати акаунт і Скинути пароль: відображають параметри підключення до SIP.TG, які потрібно вказати на стороні АТС.
Нижче наведено опис специфічних налаштувань для кожного типу SIP-підключення.
PBX → SIP.TG
У цьому режимі ваша АТС реєструється на SIP.TG як SIP-клієнт. Ви отримуєте SIP-логін і пароль від бота та вказуєте їх у вашій АТС.
Це найпростіший спосіб підключення і підходить для більшості систем (Asterisk, 3CX, FreePBX тощо).
Скріншот із налаштуваннями SIP-підключення PBX→SIP.TG
SIP.TG → PBX
Тут Worker-сервер SIP.TG реєструється на вашій АТС. У боті ви задаєте параметри вашої АТС: логін, пароль і адресу.
Не забудьте додати IP-адреси SIP.TG до білого списку на вашій АТС. Актуальний список: files.sip.tg/fw.txt.
Скріншот із налаштуваннями SIP-підключення SIP.TG→PBX
IP ⇿ IP
Обидві сторони знають IP-адресу одна одної. Використовується в випадках, коли реєстрація неможлива або не потрібна (наприклад, статична маршрутизація).
Підходить для досвідчених користувачів. Потребує налаштування маршрутів на стороні АТС.
Скріншот із налаштуваннями SIP-підключення IP⇿IP
Типи ідентифікаторів абонента
Кожен користувач Telegram може мати до трьох типів ідентифікаторів:
- Номер телефону, на який зареєстровано акаунт. Він завжди присутній, але за замовчуванням прихований налаштуваннями конфіденційності для сторонніх користувачів. З великими обмеженнями, але за номером телефону можна встановлювати контакт із користувачем.
- Username — це унікальне буквене ім’я користувача. За замовчуванням його немає, багато користувачів його встановлюють, але, строго кажучи, воно може бути відсутнім. А може бути навпаки — користувач може мати кілька колекційних Username. За Username можна встановлювати контакт із користувачем, і обмеження значно м’якші, ніж для номера телефону, але хмарні АТС часто не передбачають використання нечислових ідентифікаторів абонента.
- User ID — внутрішній числовий ідентифікатор. Є завжди, ніколи не змінюється, але встановити контакт із користувачем лише за User ID неможливо — його можна використовувати тільки після того, як контакт було встановлено одним із інших способів.
Тип ідентифікатора | Формат | Можливість контакту | Обов’язковий | Змінюваний | Підтримка АТС |
---|---|---|---|---|---|
Номер телефону | числовий | обмежена | так | так | так |
Username | буквений | так | ні | так | обмежена |
User ID | числовий | ні | так | ні | так |
З таблиці видно, що кожен ідентифікатор має серйозні обмеження, які не дозволяють використовувати його в усіх сценаріях. SIP.TG підтримує всі типи ідентифікаторів і їх комбінації, а також дозволяє задавати пріоритет їх використання відповідно до ваших потреб.
Telegram → АТС
Для кожного SIP-підключення можна встановити правила формування Caller ID, який передаватиметься в полі From
у повідомленні INVITE
під час дзвінків Telegram → АТС.
Правила формування Caller ID складаються з кількох рядків, по одному правилу в кожному рядку. Кожне правило — це шаблонний рядок, у якому як шаблонні параметри допустимі {phone}
, {username}
і {userid}
. Під час формування остаточного Caller ID використовується перше правило, усі шаблонні параметри якого містять значення про користувача Telegram, що дзвонить.
Окрім Caller ID, поле From також може містити ім’я абонента (Caller Name), формуванням якого також можна керувати за допомогою аналогічних правил, але, крім перелічених вище параметрів, є ще два:
{name}
— відображуване ім’я в UTF-8 (через смайлики може викликати проблеми на стороні АТС);{name_ascii}
— відображуване ім’я, перетворене в ASCII (безпечний варіант).
АТС → Telegram
Під час отримання запиту INVITE
зі сторони АТС викликаний ідентифікатор інтерпретуватиметься в повній відповідності з тим самим параметром Caller ID, який описано вище. Однак алгоритм визначення типу ідентифікатора та відсікання в ньому префіксів і сторонніх символів уже не виглядає так очевидно.
Інтеграція з CRM
Інтеграція з CRM зазвичай реалізується не безпосередньо з SIP.TG, а через АТС, до якої SIP.TG підключається як стандартний SIP-транк. Сама CRM «бачить» дзвінки та контакти завдяки можливостям АТС. Окремих модулів чи плагінів саме для SIP.TG у CRM, як правило, встановлювати не потрібно.
Найчастіше взаємодія влаштована так:
- Дзвінок із Telegram надходить на Шлюз SIP.TG (акаунт Telegram).
- Шлюз SIP.TG конвертує дзвінок у SIP і передає його до АТС (через SIP-транк).
- АТС, маючи потрібний модуль або плагін інтеграції з CRM, розпізнає вхідний виклик, відображає картку клієнта, реєструє дзвінок або виконує інші дії.
- Після закінчення розмови дані про дзвінок (наприклад, тривалість, результат) також зберігаються в CRM.
Коли потрібне додаткове налаштування
Розширені поля SIP-заголовків
Якщо ваша CRM формує або очікує якісь специфічні заголовки (наприклад, X-CRM-ID), такі ситуації вирішуються засобами вашої АТС (AGI-скрипти в Asterisk, кастомні налаштування в 3CX тощо). На стороні SIP.TG немає можливості безпосередньо впливати на довільні SIP-заголовки.
Потрібен CallerID, що перенаправляється
У деяких випадках CRM потрібно бачити вихідний номер того, хто дзвонить, повністю (наприклад, для «прив’язки» до конкретного клієнта). Якщо дзвінок із Telegram, то номер може бути будь-яким (або взагалі бути відсутнім), і тут уже від логіки вашої АТС залежить, як підставляти CallerID. Іноді додають додаткову базу відповідності «Telegram ID → телефон клієнта».
Увімкнення запису розмов у CRM
Запис розмов можна ввімкнути як у самій АТС, так і в режимі «Запис дзвінків» на стороні SIP.TG (у Софтфоні). Якщо ви хочете зберігати записи саме в CRM, уточніть, чи вміє ваша АТС передавати файли запису туди. З точки зору SIP.TG, це «прозора» передача звуку по SIP, і додаткових налаштувань для запису немає.
Додаткові поради
- Єдиний підхід: усі налаштування, пов’язані з CRM, зазвичай виконуються в інтерфейсі вашої АТС. Ви сприймаєте SIP.TG як звичайного оператора зв’язку (SIP-транк).
- Типові АТС (Asterisk, 3CX, FreeSWITCH, Yate, Oktell, Panasonic тощо) мають плагіни або REST-інтерфейси для інтеграції з CRM. Вивчіть документацію АТС: найімовірніше, там є готовий приклад.
- Сценарії прийому та маршрутизації викликів (IVR, черга операторів, автоматичне перенаправлення) — усе це загальні функції АТС. Шлюз SIP.TG не обмежує і не ускладнює такі сценарії: вони працюють так само, як і при інших SIP-транках.
Не ускладнюйте. Щоб «подружити» CRM із дзвінками Telegram, достатньо підключити Шлюз SIP.TG до вашої АТС і використати стандартні інструменти інтеграції CRM, які є в АТС.
Якщо виникли проблеми чи помилки, скористайтеся розділом Питання та вирішення проблем.