@Alexzanderk

VoIP Node.js SIP client объеденить в единый сервис для соединения звонка с необходимым аккаунтом?

Есть задача реализовать следующие цели:
1 есть две стороны А и В, которые не должны знать друг о друге (не владеть реальными контактными данными)
2 когда сторона А звонит стороне В - по факту звонок попадает на наш сервис, задача объеденить этот кол со стороной В- найти в ДБ связь и скорее всего конфференц связью объеденить
3 таже ситуация относится к СМС

Информации довольно мало в данной связке и из того что я нашел вижу два решения:
1. установить свою АТС - SIP-trunc + Asterisk - но тут я до конца не понял момент мы вроде как можем получить на АТС кол и по идее сделать запрос на наш сервис чтобы получить контакт с которым необходимо соеденить и дальше АТС соеденит с абонентом таже картина с СМС и эта вся логика описывается в конфиге Asterisk

2. есть уже сервисы которые имеют свои клиенты в т/ч/ для Nodejs которые можем использовать: как я понимаю кол будет прилетать прям на наш сервис на клиент и мы делее можем юзать АПИ этого сервиса чтобы законектить с с необходимым контактом

Это все должно быть реализовано на серверной части под Node.JS, UI есть но для жругих целей.

Вопрос верно ли я определил два возможных направления реализации?
У кого был опыт подобной задачи может быть подсакжете как реализовывали на что стоит обратить внимание, может быть с какими ресурсами стоит ознакомиться?

Спасибо за ранее за ответы возможно за критику!
  • Вопрос задан
  • 293 просмотра
Пригласить эксперта
Ответы на вопрос 1
flapflapjack
@flapflapjack
на треть я прав
Чтобы не палить номер B, можно использовать выдуманный номер, хранящийся в БД и привязанный к абоненту.

В asterisk любой звонок можно обработать в файле плана набора так:

exten => _FAKENUMBER,1,Dial(SIP/trunkname/REAL_NUMBER)

то бишь позвоня на астериск на номер FARENUMBER вызов будет переведен на REAL_NUMBER.

Файл плана набора можно генерировать динамически скриптом.
Можно поставить на астериск модуль lua и присать логику на Lua,
Можно как я - писать на псеводязыке AEL. Соответственно от типа плана набора и ьудет зависеть то, как вы будете поступать - генерировать каждый раз новый extensions.conf или обращаться к БД напрямую из скрипта AEL/LUA.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы