It's now miniupnpd 2.0, and this feature is still tagged as experimental. The most important line is "Dynamic external ip adresses are not supported when this option is enabled", and in natpmp.c:259, syslog(LOG_INFO, "NAT-PMP public address request"); FillPublicAddressResponse(resp, senderaddr->sin_addr.s_addr);
FillPublicAddressResponse is called each time public address is requested. However, this function will always return static addresses when MULTIPLE_EXTERNAL_IP is set. This will confuse UPnP devices. Not to say the breaking changes in .conf file due to multiple external ip. I believe dynamic ip (and moreover, ip that changes during service run) is 95% of cases who use UPnP, and this feature is disabled deliberately by upstream. We must ensure the usability of dynamic ip. A fulll patch for this will definitely requires huge amount of work. Since there is little hope it can be settled down, if no action/patch in the next few weeks, I will close this bug.