#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. Есть готовые коммерческие продукты, есть открытые и гибридные. Выбирай то, что тебе подходит и вперёд.
Комментариев нет:
Отправить комментарий