LoRaMac-node cannot send uplinks with empty payloads. The payload must have at least one byte. Since the uplink must contain a port number which identifies a remote service or end point, allowing empty payload might makes sense if the target service does not expect any arguments.
Related discussion: Lora-net/LoRaMac-node#1328
Related issue: Lora-net/LoRaMac-node#1329