This doesn’t show anything at all related to UPnP in the logs which is why I had to dive deeper and collect packets.
Also, Maybe I am using upnpc incorrectly? I tried it using it like,
upnpc -r 27015 27015 tcp
and this gives the 729 error. But applications like EA Launcher(Electronics Arts games launcher) are successfully able to create port mapping entries.
Exact same command works here just fine. I found this:
NAT port mapping rules can be created by other mechanisms besides UPnP IGD. Therefore, it is possible that port mappings done by independent mechanisms MAY overlap or conflict. It is left to vendors to determine a suitable algorithm to resolve conflicting mappings. A new error code has
been created (729 ConflictWithOtherMechanisms) in order to allow an IGD to deny a request due to conflict with other mechanisms.
But AFAIK there’s no “other mechanism” in RouterOS, only manual dstnat rules, but RouterOS UPnP doesn’t seem to care about those. If I add such conflicting manual rule, UPnP will happily add another same one. So that’s not it.
Try to capture packets from those clients that work, maybe there will be some obvious difference.