É a chamada GetSpecificPortMappingEntry() que está falhando, não a AddPortMapping() one. Você pode usar o comando upnpc -l para ver se o mapeamento de portas foi adicionado.
GetSpecificPortMappingEntry() retornará o erro 402 se os argumentos NewExternalPort , NewProtocol ou NewRemoteHost estiverem faltando.
NewRemoteHost é verificado apenas se o miniupnpd for compilado no modo STRICT .
Para dar uma resposta mais completa, preciso saber qual é a sua plataforma e quais opções de compilação foram usadas para miniupnpd (no arquivo config.h ).