Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
module-telegram-provider [2022/01/31 10:20] Портнов Алексей [Получение "App api_id" и "App api_hash"] |
module-telegram-provider [2024/03/14 06:13] (текущий) Бекетов Николай |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Настройка звонков через Telegram ====== | ====== Настройка звонков через Telegram ====== | ||
+ | <note warning>Поддержка модуля приостановлена, проблема в базовой библиотеке, пока она не будет решена, модуль не будет корректно работать. | ||
+ | Рекомендуем использовть сервис https://www.sip.tg/</note> | ||
+ | |||
+ | ===== Структура приложения ===== | ||
+ | |||
+ | <note tip>**Обратите внимание**: Все данные авторизации / секретные коды / данные переписки Telegram используются исключительно ЛОКАЛЬНО на вашей АТС и НЕ передаются на сервера МИКО. | ||
+ | </note> | ||
+ | Модуль состоит из нескольких компонент: | ||
+ | * **Шлюз SIP <-> Telegram** - позволяет **принимать звонки** от telegram и **совершать исходящие** звонки через telegram. Шлюз не зависит от прочих компонент, они лишь его дополняют | ||
+ | * **Телеграм клиент** - работает совместно с ботом, во время входящего звонка звонящему отправляется клавиатура для ввода добавочного номера. | ||
+ | * **Телеграм бот** - служит для формирования клавиатуры и отправки тональных команд в текущий канал. Для работы необходимо предварительно получить токен через интерфейс бота "**@BotFather**" | ||
+ | |||
+ | При звонке в компанию клиенту будет отправлена с сообщением клавиатура для ввода добавочного номера:{{ ::tg-23.png?700 |}} | ||
+ | После завершения звонка клавиатура будет скрыта. | ||
+ | |||
+ | После неудачного звонка из компании (клиент не ответил). Клиенту будет отправлена визитка: {{ ::tg-24.png?700 |}} | ||
+ | Текст визитки и клавиатуры ввода добавочного можно исправить в настройках модуля: {{ ::tg-25.png?700 |}} | ||
+ | |||
+ | ===== Настройка Telegram ===== | ||
+ | ==== Аккаунт ==== | ||
+ | |||
+ | - Необходимо настроить видимость номера телефона: {{ ::tg-18.png?700 |}} | ||
+ | - Необходимо разрешить ВСЕМ звонить на номер телефона: {{ ::tg-17.png?700 |}} | ||
+ | |||
+ | ==== Telegram Bot ==== | ||
+ | |||
+ | === Создайте бота === | ||
+ | |||
+ | - Откройте чат с **@BotFather** в любом удобном клиенте Телеграм | ||
+ | - Отправьте команду <code>/newbot</code> | ||
+ | - Введите "**name**" нового бота, к примеру **new_keyboard_bot**, имя должно быть коротким и понятным, **имя увидит клиент при получении клавиатуры** | ||
+ | - Введите "**username**" для нового бота, к примеру **new_keyboard_bot** | ||
+ | |||
+ | === Включите Inline Mode === | ||
+ | |||
+ | - Отправьте боту команду <code>/setinline</code> | ||
+ | - Выберите созданного ранее бота {{ ::telegramprovider-12.png?700 |}} | ||
+ | |||
+ | === Получите Token === | ||
+ | |||
+ | - Отправьте команду <code>/mybots</code> | ||
+ | - Выберите созданного ранее бота | ||
+ | - Кликните по кнопке "**API Token**" | ||
+ | - Скопируйте значение "**token**" | ||
+ | |||
+ | === Начните диалог с ботом === | ||
+ | |||
+ | - Отправьте из аккаунта телеграмм вашему боту команду <code>/start</code> | ||
+ | - Напишите боту произвольное сообщение, к примеру "Привет!" | ||
+ | |||
+ | <note important>С ботом должен быть открытый диалог, если не отправить ему команду "**/start**", то часть функционала работать не будет. </note> | ||
===== Получение "App api_id" и "App api_hash" ===== | ===== Получение "App api_id" и "App api_hash" ===== | ||
- | <note important>"**App api_id**" и "**App api_hash**" - это серкретные параметры, которые привязываются к вашему telegram аккаунту. **Никому не сообщайте эти значения!** Они необходимы для подключения к API Telegram. Подробнее можно почитать в [[https://core.telegram.org/api/obtaining_api_id | документации]]. </note> | + | <note important>"**App api_id**" и "**App api_hash**" - это секретные параметры, которые привязываются к вашему telegram аккаунту. **Никому не сообщайте эти значения!** Они необходимы для подключения к API Telegram. Подробнее можно почитать в [[https://core.telegram.org/api/obtaining_api_id | документации]]. </note> |
- Перейдите по ссылке [[https://my.telegram.org/auth|https://my.telegram.org/auth]] | - Перейдите по ссылке [[https://my.telegram.org/auth|https://my.telegram.org/auth]] | ||
Строка 16: | Строка 67: | ||
- Выполните действие "**Create application**" | - Выполните действие "**Create application**" | ||
- Скопируйте значения **App api_id**" и "**App api_hash**" {{ ::tg-4.png?450 |}} | - Скопируйте значения **App api_id**" и "**App api_hash**" {{ ::tg-4.png?450 |}} | ||
- | |||
- | ===== Настройка Telegram ===== | ||
- | |||
- | - Необходимо настроить видимость номера телефона: {{ ::tg-18.png?700 |}} | ||
- | - Необходимо разрешить ВСЕМ звонить на номер телефона: {{ ::tg-17.png?700 |}} | ||
- | |||
===== Настройки модуля MikoPBX ===== | ===== Настройки модуля MikoPBX ===== | ||
Строка 30: | Строка 75: | ||
- Сохраните изменения | - Сохраните изменения | ||
- Добавьте новый номер по кнопке "**Добавить**" | - Добавьте новый номер по кнопке "**Добавить**" | ||
- | - Запустите процесс авторизации {{ ::tg-5.png |}} | + | - Запустите процесс авторизации для **Шлюза**, **Клиента Telegram**, для **Бота**{{ ::tg-21.png |}} |
- | - На ваш telegram аккаунт придет уведомление с кодом подтверждения:{{ ::tg-6.png |}} | + | - На ваш **telegram** аккаунт придет уведомление с кодом подтверждения:{{ ::tg-6.png?700 |}} |
- В интерфейсе MIkoPBX откроется форма ввода кода подтверждения: {{ ::tg-7.png |}} | - В интерфейсе MIkoPBX откроется форма ввода кода подтверждения: {{ ::tg-7.png |}} | ||
- | - Введите код и подтвердите выбор. Через некоторое время линия отобразиться как активная {{ ::tg-8.png |}} | + | - Введите код и подтвердите выбор. Через некоторое время линия отобразиться как активная {{ ::tg-22.png |}} |
+ | |||
+ | <note important>Кнопки авторизации отображают статус подключения: | ||
+ | * **Красный** - Необходима авторизация | ||
+ | * **Оранжевый** - Ожидается запуск сервиса | ||
+ | * **Зеленый** - Соединение установлено | ||
+ | В любом из состояний возможно запустить процесс авторизации заново. | ||
+ | </note> | ||
+ | |||
+ | <note important>В случае возникновения проблем, может потребоваться очистить служебные каталоги ([[:faq:putty|с помощью SSH-клиента]]): | ||
+ | * /storage/usbdisk1/mikopbx/custom_modules/ModuleTelegramProvider/db/**7906660000** | ||
+ | * /storage/usbdisk1/mikopbx/custom_modules/ModuleTelegramProvider/db/madeline/**7906660000** | ||
+ | где 7906660000 - номер телефона, логин телеграмм аккаунта | ||
+ | |||
+ | </note> | ||
===== Настройка провайдера ===== | ===== Настройка провайдера ===== | ||
- | - Скопируйте адрес и порт из активной линии "**127.0.0.1:30012**" | + | - Скопируйте адрес и порт из активной линии "**127.0.0.1:30001**" |
- Перейдите в раздел "[[:providers|Провайдеры телефонии]]" | - Перейдите в раздел "[[:providers|Провайдеры телефонии]]" | ||
- Добавьте нового провайдера | - Добавьте нового провайдера | ||
- Введите "**Название провайдера**" - произвольное значение | - Введите "**Название провайдера**" - произвольное значение | ||
+ | - Укажите "**Тип учетной записи**" - "**Аутентификация по IP адресу, без пароля**" | ||
- Введите "**Хост или IP адрес**" - **127.0.0.1** | - Введите "**Хост или IP адрес**" - **127.0.0.1** | ||
- | - "**Расширенные настройки**" - "**Порт соединения SIP**" - укажите порт линии, в текущем примере "**30012**" {{ ::tg-9.png |}} | + | - "**Расширенные настройки**" - "**Порт соединения SIP**" - укажите порт линии, в текущем примере "**30001**" {{ ::tg2sip-10.png |}} |
- | - "**Расширенные настройки**" - "**Отключить использование поля fromuser**" | + | - "**Расширенные настройки**" - "**Отключить использование поля fromuser**" {{ ::tg2sip-11.png |}} |
- | - "**Расширенные настройки**" - "**Отключить регистрацию**" | + | |
- | - "**Расширенные настройки**" - "**Доверять этому провайдеру и принимать от него любые звонки без аутентификации**" {{ ::tg-15.png |}} | + | |
- Сохраните изменения | - Сохраните изменения | ||
- В разделе "**Общие настройки**" разрешите использование кодека **Opus** {{ ::tg-16.png |}} | - В разделе "**Общие настройки**" разрешите использование кодека **Opus** {{ ::tg-16.png |}} |