Кирилл Золотавин
05.11.2019
51146

Установка и настройка SIP шлюза для Telegram

Telegram — кроссплатформенный мессенджер, позволяющий обмениваться сообщениями и медиафайлами многих форматов. Так же данный  мессенджер позволяет осуществлять аудио звонки между пользователями Telegram, благодаря разработки с открытым исходным кодом https://github.com/Infactum/tg2sip появилась возможность взаимодействия между Asterisk и Telegram по SIP протоколу. В рамках данной статьи будет рассмотрено как выполнить установку и настройку SIP шлюза для Telegram. Возможности […]

Telegram — кроссплатформенный мессенджер, позволяющий обмениваться сообщениями и медиафайлами многих форматов. Так же данный  мессенджер позволяет осуществлять аудио звонки между пользователями Telegram, благодаря разработки с открытым исходным кодом https://github.com/Infactum/tg2sip появилась возможность взаимодействия между Asterisk и Telegram по SIP протоколу.

В рамках данной статьи будет рассмотрено как выполнить установку и настройку SIP шлюза для Telegram. Возможности SIP шлюза:

  1. Звонки из Telegram на внутренний номер Asterisk
  2. Звонки из Asterisk пользователю Telegram по никнейму или номеру телефона
Все описанные действия в статье необходимо выполнять от имени суперпользователя (root). Установка и настройка производилась на предустановленной системе CentOS 7 + Asterisk 13 + FreePBX 13.

При написании статьи так же использовались следующие библиотеки и программные продукты с открытым исходным кодом:

  1. Кроссплатформенная библиотека для построения клиентов Telegram — <td-master.zip>
  2. Библиотека для организации PJSIP медиа стека — <pjproject-master.zip>
  3. Библиотека для логирования — <spdlog-1.x.zip>
  4. SIP шлюз для Telegram – <tg2sip-master.zip>
  5. Скрипт установки кроссплатформенной системы автоматизации сборки программного обеспечения из исходного кода Cmake — <cmake-3.9.6-Linux-x86_64.sh>
  6. Кодек OPUS – <codec_opus-13.0_current-x86_64.tar.gz>

Инструкция:

1. Перейдём в WEB панель управления FreePBX через интернет обозреватель(Opera, Firefox, Google Chrome, Yandex Browser….) по ссылке вида: http://IP_адрес_сервера_Asterisk/ В примере ссылка имеет вид: http://192.168.1.231/

WEB панель FreePBX.
WEB панель FreePBX.

2. Пройдём авторизацию во FreePBX, нажмём «FreePBX Administration», введем «username и password» и нажмём «Continue»

 Авторизация во FreePBX.
Авторизация во FreePBX.

3. Перейдем в меню Connectivity → Trunks → Add Trunk(SIP) и заполним ключевые параметры транка:

1) Trunk Name – наименование транка на вкладке General
2)  Trunk Name — наименование sip пира на вкладке «sip Settings»
3) PEER Details – параметры транка. В примере SIP шлюз будет установлен на тот же сервер, что и Asterisk(т.е. локально), IP сервера 192.168.1.231 и порт шлюза должен быть отличным от используемого порта в Asterisk(в примере 5062)

[telegram]
deny=0.0.0.0/0.0.0.0
type=peer
qualify=yes
permit=192.168.1.231/255.255.255.255
host=192.168.1.231
port=5062
fromdomain=192.168.1.231
nat=no
insecure=port,invite
canreinvite=no
dtmfmode=rfc2833
disallow=all
allow=opus
context=from-inbound-telegram
Добавление SIP транка без регистрации
Добавление SIP транка без регистрации
Добавление SIP транка без регистрации
Добавление SIP транка без регистрации
Добавление SIP транка без регистрации
Добавление SIP транка без регистрации

4. Для возможности звонков  на telegram с использованием коротких внутренних номеров, рассмотрим вариант создания Custom номеров, для этого перейдем в меню Applications → Extensions → Add Extension → Add New Custom Extension и заполним ключевые параметры:

1) User Extension – короткий внутренний номер, на вкладке General.
2) Display Name – имя внутреннего номера, на вкладке General.
3) Dial – строка вызываемого номера, на вкладке Advanced. Для звонка по никнейму должна иметь вид: SIP/tg#<ник>@192.168.1.231:5062. Для звонка по номеру мобильного должна иметь вид:   SIP/[email protected]:5062.

Добавление Custom внутреннего номера.
Добавление Custom внутреннего номера.
Добавление Custom внуреннего номера.
Добавление Custom внутреннего номера.
Добавление Custom внутреннего номера.
Добавление Custom внутреннего номера.

5. Для взаимодействия с Telegram необходимо выполнить регистрацию приложения и получить APP ID и API HASH, для этого перейдем на страницу https://my.telegram.org/auth и пройти авторизацию с использование мобильного номера

Авторизация в Telegram.
Авторизация в Telegram.

По смс или на авторизованный клиент Telegram-а придет сообщение с кодом авторизации, скопируем его и введем на странице авторизации. После успешного прохождения авторизации нам станет доступен раздел «API development tools», перейдем в него

Код подтверждения авторизации
Код подтверждения авторизации
Личный кабинет Telegram
Личный кабинет Telegram

Для регистрации приложения необходимо заполнить следующие поля:

1) App title – название приложения
2) Short name – упрощенное наименование приложения
3) URL – ссылка на сайт проекта
4) Platform – платформа создаваемого приложения, т.к. наше приложение не попадает не под один из критериев то выберем Other
5) Description – описание создаваемого приложения

Регистрация приложения Telegram
Регистрация приложения Telegram

SIP2TG_13.

После успешного заполнения формы система сгенерирует автоматически необходимые значения  APP ID и API HASH, скопируем данные значения для последующей настройки.

APP ID и API HASH
APP ID и API HASH

6. Выполним подключение по SSH к серверу IP АТС Asterisk. В зависимости от используемой системы(Windows, Linux, MacOS), подключение по SSH можно выполнить с использованием различного дополнительного программного обеспечения(Putty), либо системного терминала.

7. Прежде чем приступить к установке шлюза, нам необходимо выполнить установку ряда зависимостей, для этого в SSH консоли на сервере Asterisk выполним команды:

# yum -y install centos-release-scl yum-utils
# yum-config-manager --enable rhel-server-rhscl-7-rpms
# yum install -y devtoolset-7-gcc devtoolset-7-gcc-c++
# set -xe
# yum install -y make git wget zlib-devel openssl-devel gperf pkgconfig ccache gperf unzip libpng-devel libjpeg-devel epel-release
# yum install -y opus-devel patchelf
Установка зависимостей
Установка зависимостей
Установка зависимостей
Установка зависимостей
Установка зависимостей
Установка зависимостей
Установка зависимостей
Установка зависимостей

8. Для сборки из исходников ряда зависимостей и SIP шлюза для Telegram, потребуется кроссплатформенная система автоматизации сборки программного обеспечения из исходного кода Cmake 3.9.6, для установки Cmake в SSH консоли на сервере Asterisk выполним команды:

# cd /usr/src/
# wget https://cmake.org/files/v3.9/cmake-3.9.6-Linux-x86_64.sh
# sh cmake-3.9.6-Linux-x86_64.sh --prefix=/usr --exclude-subdir
Установка Cmake
Установка Cmake

9. Одной из необходимых зависимостей является кроссплатформенная библиотека для построения клиентов Telegram «Tdlib», приступим к её сборке и установке, для этого в SSH консоли на сервере Asterisk выполним команды:

# cd /usr/src/
# wget https://github.com/Infactum/tg2sip/raw/master/buildenv/tdlib_header.patch
# wget https://github.com/Infactum/tg2sip/raw/master/buildenv/tdlib_threadname.patch
# source /opt/rh/devtoolset-7/enable
# git clone https://github.com/tdlib/td.git
# cd td
# git reset --hard a53cb30e99f937cfd64e0266fa558785a184a553 
# git apply /usr/src/tdlib_header.patch
# git apply /usr/src/tdlib_threadname.patch
# mkdir build
# cd build
# cmake -DCMAKE_BUILD_TYPE=Release ..
# cmake --build . --target install
Сборка и установка Tdlib
Сборка и установка Tdlib
Сборка и установка Tdlib
Сборка и установка Tdlib
Сборка и установка Tdlib
Сборка и установка Tdlib

10. Так же необходимой зависимостью является библиотека для организации PJSIP медиа стека «PJProject», приступим к её сборке и установке, для этого в SSH консоли на сервере Asterisk выполним команды:

# cd /usr/src/
# wget https://github.com/Infactum/tg2sip/raw/master/buildenv/config_site.h
# source /opt/rh/devtoolset-7/enable
# git clone https://github.com/pjsip/pjproject.git
# cd pjproject
# git reset --hard 2.9
# cp /usr/src/config_site.h pjlib/include/pj
# ./configure --disable-sound CFLAGS="-O3 -DNDEBUG"
# make dep && make && make install
Сборка и установка библиотеки для организации PJSIP медиа стека «PJProject»
Сборка и установка библиотеки для организации PJSIP медиа стека «PJProject»
Сборка и установка библиотеки для организации PJSIP медиа стека «PJProject»
Сборка и установка библиотеки для организации PJSIP медиа стека «PJProject»
Сборка и установка библиотеки для организации PJSIP медиа стека «PJProject»
Сборка и установка библиотеки для организации PJSIP медиа стека «PJProject»

11. Последней  необходимой зависимостью является библиотека для организации логирования в C++ SPDlog, приступим к её сборке и установке, для этого в SSH консоли на сервере Asterisk выполним команды:

# cd /usr/src/
# source /opt/rh/devtoolset-7/enable
# git clone -n https://github.com/gabime/spdlog.git
# cd spdlog
# git checkout tags/v0.17.0
# mkdir build
# cd build
# cmake -DCMAKE_BUILD_TYPE=Release -DSPDLOG_BUILD_EXAMPLES=OFF -DSPDLOG_BUILD_TESTING=OFF ..
# cmake --build . --target install
Сборка и установка библиотеки для организации логирования SDPlog
Сборка и установка библиотеки для организации логирования SDPlog
Сборка и установка библиотеки для организации логирования SDPlog
Сборка и установка библиотеки для организации логирования SDPlog
Сборка и установка библиотеки для организации логирования SDPlog
Сборка и установка библиотеки для организации логирования SDPlog

12. Успешно завершив сборку и установку всех вышеописанных зависимостей, приступим к сборке и установке SIP шлюза для Telegram, для этого в SSH консоли на сервере Asterisk выполним команды:

# cd /usr/src/
# git clone https://github.com/Infactum/tg2sip.git
# cd tg2sip
# mkdir build
# cd build
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig && cmake -DCMAKE_BUILD_TYPE=Release -DUSE_SYSTEM_CIMG=0 ..
# cmake --build .
# mkdir /opt/tg2sip
# cp -vr tg2sip /opt/tg2sip/
# cp -vr gen_db /opt/tg2sip/
# cp -vr settings.ini /opt/tg2sip/
# chmod +x /opt/tg2sip/tg2sip
# chmod +x /opt/tg2sip/gen_db
Сборка и установка Tg2SIP
Сборка и установка Tg2SIP
Сборка и установка Tg2SIP
Сборка и установка Tg2SIP
Сборка и установка Tg2SIP
Сборка и установка Tg2SIP

13. Успешно выполнив сборку и установку SIP шлюза для Telegram, приступим к его настройке, для этого в SSH консоли на сервере Asterisk выполним команду:

# nano /opt/tg2sip/settings.ini

И приведем конфигурационный файл к виду:

[logging]
core=1
tgvoip=5
pjsip=2
sip_messages=true
console_min_level=0
file_min_level=0
;tdlib=3

[sip]
public_address=0.0.0.0
;stun_server=
port=5062
;port_range=0
id_uri=sip:[email protected]
callback_uri=sip:[email protected]:5060
raw_pcm=false
;thread_count=1

[telegram]
api_id=XXXXXXX
api_hash=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
system_language_code=ru-RU
;device_model=PC
;system_version=Linux
;application_version=1.0
;database_folder=
;udp_p2p=false
;udp_reflector=true
;enable_aec=false
;enable_ns=false
;enable_agc=false

use_proxy=true
proxy_address=
proxy_port=
proxy_username=
proxy_password=

;use_voip_proxy=false
;voip_proxy_address=
;voip_proxy_port=0
;voip_proxy_username=
;voip_proxy_password=

[other]
;extra_wait_time=30
;peer_flood_time=86400

где ключевые параметры для изменения:

  1. logging — уровни логирования(0-трасировка  2-информационные  4-ошибки   6-отключено 1-отладка  3-warn  5-критические)
  2. port — порт который будет слушать шлюз, должен быть отличным от порта Asterisk, в примере данной статьи используем 5062 порт
  3. id_uri — SIP ID, строка должна иметь вид: SIP_ID@IP_Asterisk
  4. callback_uri – uri строка для организации входящего звонка на Asterisk(sip:EXTEN@IP_Asterisk:Port_Asterisk)
  5. api_id – ID зарегистрированного приложения(п.5 данной статьи)
  6. api_hash — HASH зарегистрированного приложения(п.5 данной статьи)
  7. use_proxy – использование прокси для работы клиентской части Telegram клиента в SIP шлюзе, может принимать два значения «true» или «false»
  8. proxy_address – адрес прокси сервера
  9. proxy_port — порт прокси сервера
  10. proxy_username — имя пользователя прокси
  11. proxy_password — пароль пользователя прокси
Настройка SIP2TG шлюза
Настройка SIP2TG шлюза

14. Для корректного прохождения голоса потребуется установка OPUS кодека, для этого в SSH консоли на сервере Asterisk выполним команды:

# cd /usr/src
# wget http://downloads.digium.com/pub/telephony/codec_opus/asterisk-13.0/x86-64/codec_opus-13.0_current-x86_64.tar.gz
# tar -xzf codec_opus-13.0_current-x86_64.tar.gz
# cd codec_opus-13.0_1.3.0-x86_64
# cp -vr codec_opus.so /usr/lib64/asterisk/modules/
# cp -vr codec_opus_config-en_US.xml /var/lib/asterisk/documentation/thirdparty
# nano /etc/asterisk/codecs.conf
Скачивание кодека OPUS
Скачивание кодека OPUS

Приведем конфигурационный файл к виду:

[opus]
type=opus
fec=yes
packet_loss=10
dtx=yes
cbr=yes
bitrate=48000
complexity=8
max_playback_rate=48000
Настройка кодека OPUS
Настройка кодека OPUS

Выполним подключение кодека:

# asterisk -rvvvv
# core restart now
# module load codec_opus.so
# module load res_format_attr_opus.so
Подключение кодека OPUS
Подключение кодека OPUS

15. Т.к. SIP шлюз не позволяет в строку callback_uri подставлять разные внутренние номера, то для удобства созвона с нужным внутренним номером направим входящий звонок для экстена telegram в контекст быстрого голосового набора рассмотренного в статье

# nano /etc/asterisk/extensions_custom.conf

Добавим контекст вида:

[from-inbound-telegram]
exten => telegram,1,Noop(Call Telegram)
same => n,Set(CHANNEL(language)=ru)
same => n,AGI(agi://localhost:3000)
same => n,GotoIf($[${RECOGNITION_RESULT}=SUCCESS]?:from-internal,101,1)
same => n,Dial(${RECOGNITION_TARGET})
Контекст быстрого голосового набора
Контекст быстрого голосового набора

16. На этом установка и подготовка завершены, выполним запуск SIP шлюза. Для первого раза единожды необходимо будет запустить gen_db для заведения базы необходимой созданному клиенту Telegram, для этого в SSH консоли на сервере Asterisk выполним команды:

# cd /opt/tg2sip/
# ./gen_db
# ./tg2sip
Генерация базы для клиента Telegram
Генерация базы для клиента Telegram
 Запуск SIP шлюза для Telegram
Запуск SIP шлюза для Telegram

17. Звонок с Telegram на внутренний номер

Звонок с Telegram на внутренний номер
Звонок с Telegram на внутренний номер
Звонок с Telegram на внутренний номер
Звонок с Telegram на внутренний номер

18. Звонок с внутреннего номера на кастом внутренний номер с закрепленным за ним никнеймом telegram пользователя

Звонок с внутреннего номера на Telegram
Звонок с внутреннего номера на Telegram
Звонок с внутреннего номера на Telegram
Звонок с внутреннего номера на Telegram
Подписаться
Уведомить о
guest
31 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
emm
emm
07.01.2020 02:40

very helpful, many thanks!

Дмитрий
Дмитрий
14.04.2020 13:44

А как бы так сделать что бы любой кто имеет номер телеграмма мог позвонить на один из внутренних номеров АТС

Andr
Andr
04.05.2020 22:00

Завис с ./gen_db после ввода номера нет строки с указанием кода

Кирилл
Кирилл
06.05.2020 11:48
Ответить на  Andr

Нет подключения к серверу Telegram…. Рекомендуется использовать рабочий прокси.

igor
igor
29.05.2020 12:02

Какие адреса и порты нужно открывать на прокси сервере?

Сергей
Сергей
30.05.2020 09:17

А можно расписать конфиг со стороны астера?

Андрей
Андрей
02.07.2020 10:32

куда нужно писать сертификаты? пишет ошибку
[pjsip][error] Request verification failed: Not Acceptable Here [status=170488]
 

Andry
Andry
11.07.2020 22:58

можете подсказать с tg2sip, пытаюсь звонить на sip:[email protected] — звонок вообще не идёт мне подсказали попробовать без domain.ru — получилось звонок идёт но при попытке поднять трубку всё обрывается, входящие(в телеграм) не принимаются — пишет телефон не в сети(
с @siptg / @siptg_bot всё получилось без проблем
+ не понятно как указать пароль

Кирилл
Кирилл
23.07.2020 09:49

Доброго дня. вылетает такая ошибка [06:46:18.653][t:7189][p:7186][pjsip][error] Request verification failed: Not Acceptable Here [status=170488]

Павел
Павел
01.08.2020 14:38

при попытке совершить звонок на телеграм выдаёт
[pjsip][error] Request verification failed: Not Acceptable Here [status=170488]

Warning: 399 8dd4fa48ce4c «No suitable codec for remote offer (PJMEDIA_SDPNEG_NOANSCODEC)»

paco
paco
25.09.2020 01:05
Ответить на  Павел

У меня такая же проблема … Вам удалось ее решить?

Leonid
Leonid
15.10.2020 19:06
Ответить на  Павел

Таже хрень. Не работает. На кодек ругается чота.

Сергей
Сергей
19.12.2020 15:08
Ответить на  Павел

Видел такую проблему, оказалось что кодек Opus был отключен в PJSIP, которую использует tg2sip и (в зависимости от конфигурации) Астериск

Arman
Arman
15.04.2021 14:20
Ответить на  Сергей

Есть ли готовый docker контейнер с asterisk + pjsip + opus?

Tim
Tim
06.08.2020 22:31

обновите статью. Она не рабочая поскольку вышло обновление

Psh
Psh
06.09.2020 19:55

Прикручивал всё к FreePBX 15 и при ВХОДЯЩИМ звонке из телеграма звнок не попадает в контекст from-inbound-telegram. ловить приходится в from-sip-external. Не знаю как его отправить в кастомный контекст.

Гарник
Гарник
08.10.2020 08:35

Может кто сказать, звоню через телеграм к себе на номер, перенаправляется на внутренний, все нормально, когда пытаюсь позвонить со внутреннего на номер друга(исходящий маршрут создал), звонок висит, висит, а потом говорит номер «Не доступен», и потом сбрасывается, но после этого на телеграм к нему звонок доходит. Весь интернет обшарил. Ничего внятного не могу найти. Вот лог астера:
chan_sip.c:4068 retrans_pkt: Retransmission timeout reached on transmission [email protected] for seqno 102 (Critical Request) — See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 6400ms with no response
[2020-10-08 05:21:32] WARNING[11774]: chan_sip.c:4092 retrans_pkt: Hanging up call [email protected] — no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).

Сергей
Сергей
30.12.2020 11:22

после команды git apply /usr/src/tdlib_header.patch окно putty вырубается(закрывается), куда копать?

Сергей
Сергей
18.01.2021 21:58
Ответить на  Сергей

ответил выше или ниже)

Последний раз редактировалось 3 лет назад Сергей ем
Сергей
Сергей
18.01.2021 21:37

Доброго дня, а как можно сделать автозапуск и работу в фоне(тобишь всегда) шлюза tg2sip А то держать постоянно открытую консоль как то не айс. Решение искал так и не нашел(

Последний раз редактировалось 3 лет назад Сергей ем
Александр
Александр
26.01.2021 12:07
Ответить на  Сергей

Добрый день, можно сделать автозапуск через systemd.

Сергей
Сергей
18.01.2021 21:57

Небольшой апдейд на 18.01.21 Система freepbx последняя на данный момент Стоит перепроверить установку пакета ccache после установки всех зависимостей yum install ccache Здесь сменилась версия с 3.9 на 3.18.0 # cd /usr/src/ # wget https://cmake.org/files/v3.18/cmake-3.18.0-Linux-x86_64.sh # sh cmake-3.18.0-Linux-x86_64.sh —prefix=/usr —exclude-subdir Здесь так же сменилась версия с 1.2 на 1.6: # cd /usr/src/ # wget https://github.com/Infactum/tg2sip/raw/master/buildenv/tdlib_header.patch # wget https://github.com/Infactum/tg2sip/raw/master/buildenv/tdlib_threadname.patch # source /opt/rh/devtoolset-7/enable # git clone https://github.com/tdlib/td.git # cd td # git reset —hard v1.6.0 # git apply /usr/src/tdlib_header.patch # git apply /usr/src/tdlib_threadname.patch # mkdir build # cd build # cmake -DCMAKE_BUILD_TYPE=Release .. # cmake —build . —target install Кодек OPUS в… Подробнее »

MBear
MBear
23.03.2021 06:21
Ответить на  Сергей

Возможно ли вытащить CallerID из звонков Telegram -> SIP?

efr
efr
05.12.2021 13:03
Ответить на  MBear

вот кусок диалплана, который поможет в вашем вопросе:

same => n,Verbose(X-TG-ID:     ${SIP_HEADER(X-TG-ID)})
same => n,Verbose(X-TG-FirstName:  ${SIP_HEADER(X-TG-FirstName)})
same => n,Verbose(X-TG-LastName:  ${SIP_HEADER(X-TG-LastName)})
same => n,Verbose(X-TG-Username:  ${SIP_HEADER(X-TG-Username)})
same => n,Verbose(X-TG-Phone:   ${SIP_HEADER(X-TG-Phone)})

Nurmukhamed Artykaly
Nurmukhamed Artykaly
03.04.2022 09:20
Ответить на  Сергей

https://github.com/Nurmukhamed/docker-centos7-tg2sip-rpms
Если вам нужны rpms, то можете посмотреть в этом репозитории.

Роман
Роман
24.04.2022 14:31
Ответить на  Сергей

[root@ats src]# source /opt/rh/devtoolset-7/enable
[root@ats src]# git clone https://github.com/tdlib/td.git
fatal: destination path ‘td’ already exists and is not an empty directory.
[root@ats src]# cd td
[root@ats td]# git reset —hard v1.6.0
fatal: ambiguous argument ‘—hard’: unknown revision or path not in the working tree.
Use ‘—‘ to separate paths from revisions, like this:
‘git <command> [<revision>…] — [<file>…]’
[root@ats td]# git reset —hard v1.6.0
HEAD is now at 278c7ac Increase version to 1.6.0.
[root@ats td]# git apply /usr/src/tdlib_header.patch
error: patch failed: td/telegram/Td.cpp:4419
error: td/telegram/Td.cpp: patch does not apply
[root@ats td]#

Подскажите что не так?

Дмитрий
Дмитрий
03.02.2021 16:32
 # git clone https://github.com/Infactum/tg2sip.git
# cd tg2sip
# mkdir build
# cd build
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig && cmake -DCMAKE_BUILD_TYPE=Release -DUSE_SYSTEM_CIMG=0 ..

Could not find a configuration file for package "Td" that is compatible
 with requested version "1.6.0".

 The following configuration files were considered but not accepted:

  /usr/local/lib/cmake/Td/TdConfig.cmake, version: 1.7.1

Добрый день, подскажите какие зависимости нужно подправить ?

Роман
Роман
30.04.2022 16:27
Ответить на  Дмитрий

Таже самая ошибка. Как решить?

John
John
29.06.2021 06:04

Tutorial is awesome I was ablet to setup. Only problem how to keep running this file ? Like how to run it from boot ? I tried to setup as service but no luck. Can you explain little bit about this ?

Thank you very much.

funchaser
funchaser
06.12.2021 13:43
Ответить на  John

Need new version of tg2sip !!!

./gen_db
Enter phone number: +7…..
Error: error {
 code = 406
 message = «UPDATE_APP_TO_LOGIN»
}

Amir
Amir
17.02.2022 09:16

Hi,

when I make a call I get this error :

[pjsip] [error] Request verification failed: Not Acceptable Here [status=170488]

Остались вопросы?

Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование


ближайшие курсы

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.