Вы, конечно, можете хранить аудиоданные на своем сервере, и да, вам придется сделать это, чтобы получить какую-либо масштабируемость.
Телекоммуникационные сети давно работают таким образом, отделяя сигнальный трафик от голоса.движение.См. Архитектуру SS7 , архитектуру IMS .
Если ваш проект основан на Интернете, он звучит как типичный VoIP подход..
Вот несколько общих подходов:
- Весь сигнальный и голосовой трафик идет напрямую через один и тот же сервер (ы) (это не масштабируется!)
- Сигнализация проходит через ваш сервер (ы), а голосовой трафик проходит через выделенные серверы (очень хорошо масштабируется - типичный подход в телекоммуникациях)
- Сигнализация проходит через ваш сервер (ы), а голосовой трафик идет напрямую от пользователяпользователю через соединение TCP / IP (хорошо масштабируется, и теперь вам нужно только предоставить сервер сигнализации)
- Сигнализация проходит через ваши серверы, а голосовой трафик проходит через всемирную сеть подключенныхпользователи, работающие с вашим программным обеспечением (отлично масштабируются, и теперь вы конкурируете со Skype!)
Если вы говорите с голосовым трафиком, вам также следует использовать сжатие звука, специфичное длянапример, поскольку речь может быть сильно сжата, что остается разборчивым, и это помогает ограничить потребление пропускной способности на стороне пользователя.
Если вы находитесь в среде браузера, одним из препятствий может быть то, как установить одноранговое соединение между пользователями в целом и обеспечить его безопасность.Здесь стоит ознакомиться с новыми веб-технологиями, такими как Web Sockets .Но для этой конкретной проблемы вопрос типа «как получить одноранговое подключение в веб-приложении» может дать полезные ответы.