Lidgren.Network.NetUPnP.GetExternalIP C# (CSharp) Method

GetExternalIP() public method

Retrieve the extern ip using UPnP
public GetExternalIP ( ) : IPAddress
return System.Net.IPAddress
        public IPAddress GetExternalIP()
        {
            if (m_serviceUrl == null && !m_discoveryComplete.WaitOne(c_discoveryTimeOutMillis))
                return null;
            try
            {
                XmlDocument xdoc = SOAPRequest(m_serviceUrl, "<u:GetExternalIPAddress xmlns:u=\"urn:schemas-upnp-org:service:WANIPConnection:1\">" +
                "</u:GetExternalIPAddress>", "GetExternalIPAddress");
                XmlNamespaceManager nsMgr = new XmlNamespaceManager(xdoc.NameTable);
                nsMgr.AddNamespace("tns", "urn:schemas-upnp-org:device-1-0");
                string IP = xdoc.SelectSingleNode("//NewExternalIPAddress/text()", nsMgr).Value;
                return IPAddress.Parse(IP);
            }
            catch (Exception ex)
            {
                m_peer.LogWarning("Failed to get external IP: " + ex.Message);
                return null;
            }
        }