Инструменты пользователя

Инструменты сайта


module-telegram-provider

Настройка звонков через Telegram

Структура приложения

Обратите внимание: Все данные авторизации / секретные коды / данные переписки Telegram используются исключительно ЛОКАЛЬНО на вашей АТС и НЕ передаются на сервера МИКО.

Модуль состоит из нескольких компонент:

  • Шлюз SIP ↔ Telegram - позволяет принимать звонки от telegram и совершать исходящие звонки через telegram. Шлюз не зависит от прочих компонент, они лишь его дополняют
  • Телеграм клиент - работает совместно с ботом, во время входящего звонка звонящему отправляется клавиатура для ввода добавочного номера.
  • Телеграм бот - служит для формирования клавиатуры и отправки тональных команд в текущий канал. Для работы необходимо предварительно получить токен через интерфейс бота «@BotFather»

При звонке в компанию клиенту будет отправлена с сообщением клавиатура для ввода добавочного номера: После завершения звонка клавиатура будет скрыта.

После неудачного звонка из компании (клиент не ответил). Клиенту будет отправлена визитка: Текст визитки и клавиатуры ввода добавочного можно исправить в настройках модуля:

Настройка Telegram

  1. Необходимо настроить видимость номера телефона:
  2. Необходимо разрешить ВСЕМ звонить на номер телефона:

Создание бота

  1. Откройте чат с @BotFather в любом удобном клиенте Телеграм
  2. Отправьте команду
    /newbot
  3. Введите «name» нового бота, к примеру new_keyboard_bot, имя должно быть коротким и понятным, имя увидит клиент при получении клавиатуры
  4. Введите «username» для нового бота, к примеру new_keyboard_bot
  5. Отправьте боту команду
    /setinline
  6. Выберите созданного ранее бота
  7. Скопируйте значение «token»
  8. Пример диалога с ботом:
  9. Для редактирования свойств бота выполните команду
    /mybots

    Можно изменить имя бота, токен, прочее…

  10. Перейдите в настройки своего бота «Bot settings»
  11. Активируйте «Inline Mode»
  12. Отправьте из аккаунта телеграмм новому боту команду
    /start

Получение "App api_id" и "App api_hash"

«App api_id» и «App api_hash» - это секретные параметры, которые привязываются к вашему telegram аккаунту. Никому не сообщайте эти значения! Они необходимы для подключения к API Telegram. Подробнее можно почитать в документации.
  1. Перейдите по ссылке https://my.telegram.org/auth
  2. Укажет номер телефона, привязанный к telegram аккаунту
  3. Перейдите в раздел «API development tools»
  4. Опишите параметры нового приложения
  5. «App title» - заголовок приложения
  6. «Shot name» - уникальное короткое имя приложения
  7. «URL»- произвольный адрес сайта
  8. «Platform» - Other
  9. «Description» - произвольное описание
  10. Выполните действие «Create application»
  11. Скопируйте значения App api_id« и «App api_hash»

Настройки модуля MikoPBX

При восстановлении из бекапа может потребоваться повторная авторизация в telegram.
  1. Установите дополнительный модуль «Провайдер Telegram», (см. инструкции по установке модулей в разделе Управление модулями)
  2. Ведите значения «App api_id» и «App api_hash», полученные на предыдущем этапе
  3. Сохраните изменения
  4. Добавьте новый номер по кнопке «Добавить»
  5. Запустите процесс авторизации для Шлюза, Клиента Telegram, для Бота
  6. На ваш telegram аккаунт придет уведомление с кодом подтверждения:
  7. В интерфейсе MIkoPBX откроется форма ввода кода подтверждения:
  8. Введите код и подтвердите выбор. Через некоторое время линия отобразиться как активная
Кнопки авторизации отображают статус подключения:
  • Красный - Необходима авторизация
  • Оранжевый - Ожидается запуск сервиса
  • Зеленый - Соединение установлено

В любом из состояний возможно запустить процесс авторизации заново.

В случае возникновения проблем, может потребоваться очистить служебные каталоги (с помощью SSH-клиента):
  • /storage/usbdisk1/mikopbx/custom_modules/ModuleTelegramProvider/db/7906660000
  • /storage/usbdisk1/mikopbx/custom_modules/ModuleTelegramProvider/db/madeline/7906660000

где 7906660000 - номер телефона, логин телеграмм аккаунта

Настройка провайдера

  1. Скопируйте адрес и порт из активной линии «127.0.0.1:30001»
  2. Перейдите в раздел »Провайдеры телефонии«
  3. Добавьте нового провайдера
  4. Введите «Название провайдера» - произвольное значение
  5. Укажите «Тип учетной записи» - «Аутентификация по IP адресу, без пароля»
  6. Введите «Хост или IP адрес» - 127.0.0.1
  7. «Расширенные настройки» - «Порт соединения SIP» - укажите порт линии, в текущем примере «30001»
  8. «Расширенные настройки» - «Отключить использование поля fromuser»
  9. Сохраните изменения
  10. В разделе «Общие настройки» разрешите использование кодека Opus

Входящий маршрут

Для настройки входящих маршрутов ознакомьтесь с документацией »Входящие маршруты«

Порядок определения callerid:
Telegram может передавать следующие идентификаторы:
  1. X-TG-Phone - номер телефона
  2. X-TG-Username - ник пользователя
  3. X-TG-ID - идентификатор пользователя

Некоторые идентификаторы могут быть скрыты клиентом в настройках приватности. Caller ID будет установлен исходя из этих полей, X-TG-Phone - имеет наивысший приоритет, X-TG-ID - низший.

Исходящий маршрут

Для настройки исходящих маршрутов ознакомьтесь с документацией »Исходящие маршруты«

Обязательно добавить плюс при наборе номера! См. пример ниже.

Пример маршрута:

  1. «Название правила» - siptg
  2. «Номер начинается с» - 7
  3. «Остальная часть номера состоит из указанного количества цифр» - 10
  4. «Перед тем как начать звонок отсекаем» - 0
  5. «цифр в начале номера, затем добавляем в начало » - символ плюс »+«
module-telegram-provider.txt · Последние изменения: 2022/07/25 13:37 — Алексей Портнов