Продолжаю пилить свой чатофорум. На ночь глядя поправил пару багов с высотой WYSIWYG. Решил вот выложить свою морду-лица, пока проверял WebRTC.
Вот нашел один баг — когда звоню из Хрома в ФФ, то все работает, сессия устанавливается. А если звонить из ФФ в Хром, то получается какая-то лажа. Короче весь этот ICE там немного через одно место сделан. Скриншаринга до сих пор толком нет, только через экстеншены, которые выставляют флаги.
Еще добавил тултипы, но блин, из-за них что-то жестоко все стало тормозить, особенно в ФФ. Наверно прийдется полностью с нуля свои написать. Вообще может на Angular4 все переписать? Я смотрю, там они прямо серьезно так все сделали. Вроде и не жабаскрипт считай. Хотя у меня доверия к поделкам Микрософта нет.
Вообще будут рад людям на ресурсе. Друзей всех уже достал своими недостартапами. Надеюсь тут не забанят.

Мы продолжаем нашу телепередачу. И так было найдено почему freeswitch работает, а почему asterisk нет. Сравнение выявило наличие поддержки у freeswitch rtcp-mux. Что позволяет ему использовать один порт и что не менее важно, работать так как ожидают браузеры (они по умолчанию хотят именно его). Судя по rfc к rtcp-mux должен работать failback если нет поддержки. Это как раз часть asterisk. Теперь осталось понять почему оно не работает и туда ли вообще отправляется rtp. Потому что судя по статистике того же firefox он не получает пакетов вообще. Хотя порты какие-то выбираются.

Чем больше я смотрю как это сделано в браузерах, тем больше мне хочется удушить тех кто это проектировал. Более ебанутой системы для отладки сделать было нельзя. Что еще меня больше умиляет, что судя по тому что показывает asterisk и что я вижу в tcpdump оно должно бы работать, но звука ноль. Причем что еще прикольнее в chromium сборке rfremix не работает звук на webrtc вообще. В нативном firefox и chrome работает. При этом если вот проблема типа моей возникает, то начинаются шаманские камлания, а не нормальный поиск проблем.

Была для TCP/IP такая полезная утилитка netcat. А потом все повадились ходить через SOCKS, и даже были сети с forced proxy socks. Без SOCKS стало никуда, и тогда был сделан socat. А сейчас все за NAT, Teredo не настроен, и стало никуда без WebRTC. Теперь нужен новый *cat.

Меня огорчает, что я так и не нашёл ни одной реализации Interactive Connection Establishment для libuv