Техническое задание: Исправление WebRTC аудиозвонков в React/TypeScript приложении<h2>Описание проблемы</h2><p>Система аудиозвонков работает нестабильно с критическими ошибками:</p><p><b>Проблема 1: Асимметричная работа звонков</b></p><ul><li><p>Звонки компьютер ? телефон работают</p></li><li><p>Звонки телефон ? компьютер падают с ошибкой "connection state failed"</p></li></ul><p><b>Проблема 2: ICE connection failures на мобильных устройствах</b></p><ul><li><p>ICE соединение не устанавливается на телефонах</p></li><li><p>Ошибки NAT traversal в мобильных сетях</p></li></ul><h2>Технический стек</h2><ul><li><p><b>Frontend</b>: React, TypeScript, Next.js</p></li><li><p><b>WebRTC</b>: нативные браузерные API</p></li><li><p><b>Backend</b>: Node.js, <a href="http://Socket.io">Socket.io</a>, NestJS</p></li><li><p><b>Архитектура</b>: P2P аудиозвонки через WebRTC</p></li></ul><h2>Что нужно исправить</h2><h3>1. WebRTC конфигурация для мобильных</h3><ul><li><p>Настроить правильную приоритизацию TURN серверов</p></li><li><p>Исправить <code>iceTransportPolicy</code> для мобильных устройств</p></li><li><p>Оптимизировать <code>iceCandidatePoolSize</code></p></li></ul><h3>2. Обработка событий</h3><ul><li><p>Исправить дублирование обработки <code>call_accepted</code></p></li><li><p>Устранить race conditions в <code>handleWebRTCAnswer</code></p></li><li><p>Правильная буферизация WebRTC offer</p></li></ul><h3>3. ICE connection handling</h3><ul><li><p>Улучшить обработку ICE failures</p></li><li><p>Реализовать корректный restart механизм</p></li><li><p>Исправить NAT traversal для мобильных сетей</p></li></ul><h2>Требования к кандидату</h2><p><b>Обязательно:</b></p><ul><li><p>Опыт с WebRTC API (RTCPeerConnection, ICE, STUN/TURN)</p></li><li><p>Знание TypeScript и React</p></li><li><p>Понимание P2P сетей и NAT traversal</p></li><li><p>Опыт отладки мобильных браузеров</p></li></ul><p><b>Желательно:</b></p><ul><li><p>Опыт с <a href="http://Socket.io">Socket.io</a></p></li><li><p>Знание особенностей мобильных сетей</p></li><li><p>Опыт с NestJS</p></li></ul><h2>Результат работы</h2><ul><li><p>Стабильные двусторонние аудиозвонки</p></li><li><p>Работа на всех устройствах (десктоп/мобайл)</p></li><li><p>Устранение всех ICE connection errors</p></li><li><p>Документация по внесенным изменениям</p></li></ul><h2>Бюджет и сроки</h2><p><b>Бюджет</b>: $150 - $200 <b>Срок</b>: 3-5 дней <b>Оплата</b>: 50% аванс, 50% после приемки<br />!!Оплату буду делать в крипте!!</p>