Пока есть два решения:
- остаться на варианте «поллинг сервера» через UDP/DTLS с возможностью пробросить reverse SSH on-demand (и дальше уже пробрасывать порты с девайса через SSH, если понадобится)
- организовать VPN из устройств, автоматически получив надёжный encrypted channel между сервером и нодами и «прозрачный» доступ к любому из устройств
В первом случае всё топорно и понятно и в плане масштабируемости, и в плане нагрузок/трафика, и в плане реализации. Второй же даёт больше плюсов, но непредсказуем с учётом нашей квалификации.