def addPortMapping(nport,lport,proto,desc,client=nil)
            checkProto(proto)
            checkPort(nport)
            checkPort(lport)
            joinThread()
            client ||= @lan if client == nil 
            r = MiniUPnP.UPNP_AddPortMapping(@urls.controlURL,@data.servicetype,
                                nport.to_s,lport.to_s,client,desc,proto)
            if r != 0 then
                raise UPnPException.new , "Failed add mapping: #{code2error(r)}."
            end
        end
def addPortMapping(nport,lport,proto,desc,client=nil)
            checkProto(proto)
            checkPort(nport)
            checkPort(lport)
            joinThread()
            client ||= @lan if client == nil 
            r = MiniUPnP.UPNP_AddPortMapping(@urls.controlURL,@data.servicetype,
                                nport.to_s,lport.to_s,client,desc,proto)
            if r != 0 then
                raise UPnPException.new , "Failed add mapping: #{code2error(r)}."
            end
        end
Add a port mapping on the router.  Parametes are: network
 port, local port, description, protocol, ip address to
 register (or do not specify it to register for yours).
 Protocol must be Protocol::TCP or Protocol::UDP