Custom device over UDP or MQTT

I would like to integrate in this network a MQTT or UDP end device with lorawan protocol. It can directly push the frames over UDP or MQTT to network server and request for the downlinks (in this case this custom device would cover end device and gateway functionality). Can you elaborate on this is it possible to implement such operation with chirpstack? It would be nice to have in one place true lora communication device and custom devices with the same lorawan protocol in one server.
The question is it necessary that in this case each custom device pushe frame with unique gateway mac preambule or is it possible that each device pushes the frames with the same gateway mac, but then subscribes only to the single device downlinks for that gateway and does not get all the downlinks of all the devices?