code: func (n *upnp) AddMapping(protocol string, extPort, intPort int,
  	desc string, lifetime time.Duration) error {
  	ip, err := n.internalAddress()
  	if err != nil {
  		return nil
  	}
  	protocol = strings.ToUpper(protocol)
  	lifetimeS := uint32(lifetime / time.Second)
  	n.DeleteMapping(protocol, extPort, intPort)
  	return n.client.AddPortMapping("", uint16(extPort),
  		protocol, uint16(intPort), ip.String(), true, desc, lifetimeS)
  }
docs: // AddMapping maps an external port to a local port for a specific
  // service to UPnP interface.