I know there is an ArduinoOTA library for sending OTA update to Arduino framework based board (ESP32). To best of my knowledge, the device needs to have static IP address to get the OTA update using this library.
However, If a client device use dynamic IP - like sometime WiFi or cellular network internet, is there any solution, preferably using MQTT message, to send OTA to the client device.