Skip to main content
Нижче описано можливі помилки, які можуть виникати під час роботи Шлюзу (режим PBX→Telegram) — як на етапі реєстрації (PBX→SIP.TG), так і в момент установлення дзвінка (SIP→Telegram або Telegram→SIP). Деякі з них з’являються в логах АТС, деякі — як відображуваний код при спробі викликати акаунт Telegram. При цьому не всі помилки часто зустрічаються в реальній експлуатації, але знати про них корисно для діагностики. Для довідки:
  • Manager — керуючий компонент SIP.TG, відповідальний за підключення до Worker-серверів і Сховищ сесій.
  • Worker — робочий компонент, який обробляє дзвінки, RTP-трафік і виконує SIP-сигналізацію.
Якщо ви тільки починаєте роботу зі Шлюзом, рекомендуємо також ознайомитися зі статтями:

Часті питання (FAQ)

Акаунт Telegram під час налаштування Шлюзу передає вхідні виклики до АТС.
Якщо людина в списку дозволених викликаючих, дзвінок буде спрямований до АТС, а на пристрої, де відкрито цей акаунт, можна вручну також прийняти дзвінок.
Зазвичай рекомендується вимкнути прийом дзвінків на інших пристроях, щоб усе йшло через АТС.
Так, у підписці «Шлюз» можна оплачувати кілька акаунтів Telegram. Перший акаунт коштує 15 EUR/міс, кожен додатковий — 150 EUR/міс.
Шлюз може обробляти вхідні повідомлення, якщо ввімкнути опцію «Обробка повідомлень» у налаштуваннях шлюзу. Вона вмикає автовідповідь, режим Callback і обробку повідомлень зовнішнім ботом.
Докладніше див. Налаштування сесії SIP.TG.
Уся інфраструктура SIP.TG розподілена по кількох дата-центрах. Проте для критично важливих систем можна розглянути власні Worker-сервери.
Рекомендується завести окремий робочий акаунт для компанії — щоб особистий Telegram не змішувався з бізнес-дзвінками. Важливо, щоб цей акаунт був завжди онлайн (або зберігайте сесію в хмарному Сховищі SIP.TG).
Так, але це означає, що всі користуватимуться одним обліковим записом Telegram, а вхідні дзвінки надходитимуть на всі пристрої одночасно. Щойно один відповість, у решти виклик скинеться.
Це нормальна поведінка Шлюзу: АТС бачить, що виклик уже прийнято. Іншим клієнтам надсилається CANCEL. Якщо потрібно, щоб кожен співробітник мав свій акаунт Telegram, використовуйте кілька підписок шлюзу.
Акаунт Telegram створюється на основі номера телефону. Зазвичай беруть будь-яку SIM-карту, реєструють у Telegram, а далі номер може не використовуватися для голосових викликів класичного оператора. Головне — не втрачати доступ до цього номера для відновлення Telegram.
Наш SIP-стек базується на Yate, де за замовчуванням використовується діапазон UDP-портів 16384–32768.

Проблеми загального характеру

  • Перевірте, що акаунт Telegram активний, не заблокований месенджером.
  • Переконайтеся, що в налаштуваннях конфіденційності Telegram дозволено дзвінки від усіх.
Як і у випадку з Софтфоном, найчастіше це питання кодеків або мережевих обмежень.
  • Спробуйте вказати конкретний кодек (alaw або mulaw).
  • Переконайтеся, що UDP-трафік дозволено.
  • Переконайтеся, що в налаштуваннях SIP-акаунта (Шлюзу) обрано метод RFC2833 або INFO, сумісний із вашою АТС.
  • Спробуйте перемкнути кодек, іноді inband DTMF і високе стиснення не дружать.

Загальні SIP-помилки

Такі відповіді можуть з’являтися як під час дзвінків, так і при простій реєстрації SIP-транка. Зазначений нижче код відповідає сервер SIP.TG вашій АТС.
Суть: Стандартна відповідь при використанні SIP Digest Auth. АТС надсилає INVITE або REGISTER без повного набору авторизаційних даних, а сервер SIP.TG запитує авторизацію.
Якщо помилка 401 з’являється багато разів поспіль, це означає, що або пароль/логін невірні, або на стороні АТС відключено підтримку Digest Auth.
Що робити:
  • Переконатися, що логін/пароль із бота @siptg_bot (розділ /gateway) введено коректно в налаштуваннях вашої АТС.
  • Перевірити, що в самій АТС увімкнено режим SIP-авторизації (Digest Auth).
  • За потреби змінити пароль у /gateway і ввести його заново.
Суть: Обмеження підписки «Шлюз». Це означає, що в акаунта Telegram немає оплачених ліній для режиму Шлюз, підписка закінчилася або обсяг ресурсів перевищено.Що робити:
  • У боті @siptg_bot командою /subscriptions перевірте, чи активний тариф «Шлюз» і чи достатньо ліній.
  • Якщо термін підписки минув або потрібні додаткові лінії, оформіть продовження / розширення підписки (див. Огляд підписок).
  • Переконайтеся, що конкретний акаунт Telegram дійсно прив’язаний до потрібної підписки (при оплаті кількох акаунтів).
Суть: Внутрішня помилка на стороні SIP.TG, пов’язана з базою даних. Такі випадки вкрай рідкісні.Що робити:
  • Зазвичай носить тимчасовий характер і усувається автоматично.
  • Повторіть спробу, при регулярному повторенні помилки зверніться по допомогу. Докладніше див. Як отримати допомогу.
Суть: Worker не може зв’язатися з Manager-сервером SIP.TG через внутрішню мережеву проблему. Ваша АТС побачить це як відповідь 503.Що робити:
  • Як правило, це короткочасні збої. Спробуйте зачекати 1–2 хвилини і повторити виклик.
  • Якщо проблема не вирішується, можна перемкнути SIP-транк на інший Worker-сервер (див. Взаємодія з АТС).

Помилки при реєстрації PBX → SIP.TG

Тут зібрано відповіді, які можуть надійти, коли ваша АТС намагається зареєструватися на Worker-сервері SIP.TG (підключення типу PBX→SIP.TG). Усі зазначені нижче помилки зазвичай мають код 403 або 404.
Суть: АТС коректно намагається авторизуватися, але вказаний пароль не збігається з тим, що очікує SIP.TG.Що робити:
  • Перевірте пароль у розділі /gateway бота @siptg_bot і порівняйте з тим, що введено на АТС.
  • За потреби змініть пароль у боті (кнопка «Змінити пароль») і введіть новий на стороні АТС.
  • Переконайтеся, що логін (username) також не містить помилок.
Суть: Пароль правильний, але ваша IP-адреса не входить до списку дозволених для цього SIP-підключення.Що робити:
  • У боті @siptg_bot, розділ /gateway, відкрийте налаштування відповідного SIP-підключення і:
    • Додайте вашу IP-адресу до списку довірених.
    • Або очистіть список, щоб дозволити підключення з будь-якої IP (але дотримуйтесь заходів безпеки).
  • Якщо у вашій мережі змінюється зовнішня IP, враховуйте це під час налаштування (можливо, варто повністю відключити ACL).
Суть: Акаунт Telegram, до якого здійснюється прив’язка, неактивний (втрачено авторизацію). У результаті SIP.TG відмовляється реєструвати транк, оскільки реального з’єднання Telegram немає.Що робити:
  • У боті @siptg_bot у розділі /gateway перепідключіть акаунт Telegram (проведіть авторизацію номера телефону).
  • Якщо акаунт Telegram було видалено, доведеться призначити інший номер телефону для Шлюзу.
  • Докладніше див. Взаємодія з Telegram.
Суть: Сховище, де збережена сесія Telegram (хмарне або ваше власне Сховище сесій), наразі відключене або недоступне. Відповідно, немає можливості працювати з сесією Telegram.Що робити:
  • Якщо використовуєте хмарне сховище SIP.TG, перевірте статус у /gateway. Зазвичай такі збої короткочасні.
  • Якщо у вас власне Сховище сесій, переконайтеся, що воно запущене і доступне. За потреби перемкніться на хмару SIP.TG.
Суть: Обраний Worker-сервер відключений на стороні SIP.TG або перебуває в процесі оновлення/перезавантаження. Сервер не може прийняти реєстрацію PBX→SIP.TG.Що робити:
  • У розділі /gateway бота перевірте налаштування Worker. Якщо сервер відключений, оберіть інший або зачекайте, поки він знову стане активним.
  • Якщо це ваш власний Worker, запустіть/перезавантажте його.
Суть: Конфігурація Worker-сервера не передбачає, що до нього підключатимуться з типом «PBX→SIP.TG». Наприклад, сервер налаштований лише під «SIP.TG→PBX» або «IP⇿IP».Що робити:
  • У боті @siptg_bot перевірте тип підключення (PBX→SIP.TG) і оберіть відповідний Worker.
  • Створіть SIP-підключення іншого типу («SIP.TG→PBX» або «IP⇿IP»).
Суть: Доступ до використаної сесії Telegram відкликано або вона більше не належить вам. Наприклад, адміністратор, який створив сесію, позбавлений прав, і ви не можете використовувати цю сесію.Що робити:
  • Створіть власну сесію Шлюзу. У розділі /gateway бота підключіть номер Telegram, який ви контролюєте.
  • Переконайтеся, що адміністратор, який раніше створював сесію, не забрав у вас доступ.
Суть: Зазначений у SIP-запиті логін не існує або вже видалений. Сервер SIP.TG не знаходить такого «облікового запису».Що робити:
  • Перевірте логін/username, який ви отримали в розділі /gateway.
  • Якщо раніше цей запис було видалено, створіть новий.
  • Переконайтеся, що в вашій АТС прописано саме той логін, що виданий ботом (без зайвих символів або пробілів).

Помилки при дзвінку SIP → Telegram

Ці помилки виникають, коли ваша АТС уже зареєстрована (або IP-to-IP), і при вихідному виклику в Telegram сервер SIP.TG повертає код, якщо не може коректно додзвонитися до акаунта Telegram.
Суть: Користувач Telegram обмежив коло осіб, які можуть йому дзвонити (наприклад, лише контакти або користувачі з преміум-підпискою), а ваш акаунт шлюзу не потрапив до цього списку.Що робити:
  • Попросіть користувача, якого викликають, налаштувати дозвіл дзвінків: «Налаштування → Конфіденційність → Голосові дзвінки» → «Усі користувачі» або додати ваш акаунт шлюзу до «Завжди дозволяти».
  • Або використовуйте акаунт, який дійсно є в контактах цільового користувача.
Суть: SIP.TG не зміг знайти акаунт Telegram за переданим ідентифікатором (номер, user_id, username). Telegram може повернути таку відповідь, якщо:
  • Номер дійсно не зареєстрований у Telegram.
  • Username не існує або звільнений.
  • Профіль недоступний через обмеження.
  • Ваш акаунт шлюзу занадто часто виконує пошук за номером телефону.
Що робити:
  • Переконатися, що ви використовуєте правильний ідентифікатор (якщо використовуєте телефон — це має бути реальний номер Telegram).
  • Якщо виникає часто, перевірте, чи не помилилися у форматі. Можливо, краще використовувати внутрішній user_id.
Суть: Ви надсилаєте INVITE без попередньої реєстрації PBX→SIP.TG, тоді як Worker вимагає повноцінний REGISTER.Що робити:
  • На стороні вашої АТС увімкнути режим «Registration» (зареєструвати транк PBX→SIP.TG). Докладніше див. Взаємодія з АТС.
Суть: Сервер Telegram не відповів вчасно, або запит SIP.TG завис при зверненні до Telegram. Це буває при перевантаженні або антиспам-фільтрі Telegram, коли є багато вихідних викликів за короткий час.Що робити:
  • Знизити інтенсивність вихідних дзвінків.
  • Зачекати і повторити спробу, якщо був тимчасовий збій.
Суть: SIP.TG намагається зателефонувати користувачу за його внутрішнім user_id, з яким немає явного підтвердженого контакту. Telegram відхиляє такі «анонімні» виклики.Що робити:
  • Зазвичай потрібно або зателефонувати за підтвердженим номером чи username, або щоб користувач сам додав вас до контактів чи написав вам спочатку.
Суть: Будь-яка інша внутрішня помилка на стороні Telegram. Іноді так позначаються несподівані збої при обробці аудіоканалу, при внутрішньому перевантаженні тощо.Що робити:
  • Перевірити стабільність мережі, повторити виклик.
  • Якщо помилка з’являється регулярно на одному й тому ж номері, зверніться по допомогу. Докладніше див. Як отримати допомогу.
Суть: Worker-сервер SIP.TG отримав INVITE, але фактично немає активної сесії для потрібного акаунта. Тобто PBX могла надіслати INVITE, не дочекавшись відповіді на REGISTER.Що робити:
  • Переконатися, що транк PBX→SIP.TG успішно зареєстрований і Worker бачить активний обліковий запис.
  • Іноді допомагає перезавантажити транк на АТС. За потреби див. Взаємодія з АТС.
Суть: Сесія Telegram фактично відключена. Можливий випадок, коли в боті @siptg_bot сесія відображається, але реально вона не авторизована.Що робити:
  • Перевірити статус сесії в /gateway, за потреби заново авторизувати номер Telegram.
  • Якщо помилка виникає часто, спробуйте перемкнутися на інший Worker або перезавантажити акаунт.
Суть: SIP.TG втратив з’єднання зі сховищем сесій Telegram, тому не може дізнатися поточний статус або створити дзвінок.Що робити:
  • Якщо використовуєте хмарне сховище, зачекайте відновлення (зазвичай хвилина-дві).
  • Якщо власне Сховище сесій, перевірте логи і статус модуля.
Суть: Це захист від спаму Telegram, коли за короткий проміжок відбувається забагато вихідних дзвінків, особливо на незнайомі номери.Що робити:
  • Знизити швидкість обдзвону (на стороні АТС або вашого скрипта).
  • Використовувати кілька різних акаунтів Telegram, щоб розподілити навантаження.
  • Дочекатися зазначеного часу «retry after N», потім повторити.
Суть: Worker нещодавно перезавантажений або оновлюється, і ще не завершив ініціалізацію. У результаті виклики відхиляються на рівні SIP.Що робити:
  • Зачекати 1–2 хвилини і повторити виклик.
  • Або в боті @siptg_bot оберіть інший Worker-сервер для вашого підключення.

Помилки при дзвінку Telegram → SIP

Тут розглядаються ситуації, коли реальний користувач намагається зателефонувати на акаунт Шлюзу з додатка Telegram, а Worker намагається перевести виклик у вашу АТС. Якщо АТС поверне помилку, або якщо помилка виникне на стороні SIP.TG, користувач може побачити помилку в чаті з акаунтом Шлюзу. У цьому розділі ми наводимо лише ті помилки, які можуть виникнути на стороні SIP.TG.
Суть: На акаунті того, хто викликає, також активовано Шлюз SIP.TG. Сервіс блокує таку спробу (Telegram→SIP), щоб не виникало зациклення або непередбачених петель викликів.Що робити:
  • Якщо дійсно потрібно приймати дзвінки від акаунта, який також є шлюзовим, краще використовуйте для нього інший режим (наприклад, Софтфон) або інший акаунт Telegram без Шлюзу.
Суть: Під час вхідного дзвінка зі сторони Telegram Worker не зміг додзвонитися до вашої АТС. Це може статися, якщо транк PBX→SIP.TG упав, або у вас IP-to-IP, але не відповідає потрібний порт.Що робити:
  • Переконатися, що АТС зареєстрована (при PBX→SIP.TG) або що з’єднання IP-to-IP активне.
  • Перевірити, чи не блокуються SIP/UDP-пакети у вашому фаєрволі, і чи відкриті RTP-порти.
  • Докладніше див. Взаємодія з АТС.
Суть: Worker-сервер наразі недоступний для передачі виклику (проблеми мережі або перезавантаження), і виклик відхиляється з кодом 503.Що робити:
  • Зачекати деякий час або перемкнути акаунт Шлюзу на інший Worker (розділ /gateway бота).
  • Якщо це ваш власний Worker-сервер, перевірте його логи і перезавантажте за потреби.
Якщо жодне з перелічених рішень не допомагає, звертайтеся по допомогу. Докладніше див. Як отримати допомогу.
I