Страницы

Поиск по вопросам

среда, 22 января 2020 г.

Создание приложения для голосового звонка

#c_sharp #aspnet_core #voip #телефония


Техническое задание

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

Я пока новичок в этой сфере и не знаю, как правильно это называется Интернет-телефония,
IP-телефония или VoIP. Пока даже не понял, что из этого является частным другого.



"Что говорит Google?"

Термины. Сразу конечно проблема с терминологией: по таким запросам как "voice chat"
почему-то я в основном получаю ссылки на исходники по пересылке записанных аудио, т.е.
не разговор в реальном времени, а как в современных мессенджерах предварительное записывание
голоса с задерживанием кнопки микрофона. Если пишу "Интернет телефония" то тогда получаю
ссылки по созданию приложений для звонка на мобильный телефон. Но мне не надо звонить
на мобильный телефон, а необходимо связать два компьютера в интернете как это делает
Skype и т.п.

P2P. Мне, я так понимаю лучше сразу обеспечить связь P2P между клиентами?

.NET. Как .NET разработчик мне конечно хочеться использовать в основе этот стек технологий
или лучше использовать другой стек?

XMPP. Если можно так выразится, то часто предлагающее было использование для моих
целей протокола XMPP (бывший Jabber).

SignalR. У меня есть небольшой опыт написание чата, где я использовал библиотеку
SignalR и на мое удивление никто не предлагал использовать SignalR.



Вопрос

Если попытаться спросить конкретно без слов "с чего начать", то мой вопрос звучит так: 
Для начала мне бы хватил какой-нибудь маленький пример для разговора двух клиентов
в локальной сети, ведь там у всех белые IP и скорость хорошая. Есть ли что-то готовое
с чем я могу сделать прототип или библиотека/фреймворк с чего я могу менее безболезненно
начать?
    


Ответы

Ответ 1



Пример собственного велосипеда о котором ты спрашиваешь, можно найти здесь. В целом скоп задач, которые необходимо решить для разработки эффективной системы огромен, поэтому я бы на твоём месте смотрел исключительно в сторону готовых фреймворков. Большая часть из них строится на основе протокола SIP. Есть готовые коммерческие продукты, есть открытые и гибридные. Выбирай то, что тебе подходит и вперёд.

Комментариев нет:

Отправить комментарий