public void SimpleNodeIdRequest() {
try {
if (EnrollmentserverAvailable) {
HttpWebRequest httpWebPost;
/* get node id */
if (m_ReloadConfig.IMSI != null && m_ReloadConfig.IMSI != "")
httpWebPost = (HttpWebRequest)WebRequest.Create(new Uri(EnrollmentUrl + "?type=imsi&IMSI=" + m_ReloadConfig.IMSI));
else
httpWebPost = (HttpWebRequest)WebRequest.Create(new Uri(EnrollmentUrl + "?type=vnode"));
/* As of RELOAD draft, use POST */
httpWebPost.Method = "POST";
#if !WINDOWS_PHONE
// Additional HttpWebRequest parameters are not supported
httpWebPost.Timeout = ReloadGlobals.WEB_REQUEST_TIMEOUT;
#endif
HttpWebResponse httpPostResponse = null;
//Send Web-Request and receive a Web-Response
httpPostResponse = (HttpWebResponse)httpWebPost.GetResponse();
//Translate data from the Web-Response to a string
Stream dataStream2 = httpPostResponse.GetResponseStream();
TextReader tr_xml2 = new StreamReader(dataStream2, Encoding.UTF8);
string response = tr_xml2.ReadToEnd();
string[] words = response.Split(':', ',', '/', '@');
if (m_ReloadConfig.IMSI != null && m_ReloadConfig.IMSI != "") {
m_ReloadConfig.E64_Number = words[1];
ReloadConfigResolve res = new ReloadConfigResolve(m_ReloadConfig);
m_ReloadConfig.SipUri = res.ResolveNaptr(m_ReloadConfig.E64_Number);
if (m_ReloadConfig.SipUri == null) {
m_ReloadConfig.Logger(ReloadGlobals.TRACEFLAGS.T_WARNING, "DNS Enum fallback to sip uri analysis");
m_ReloadConfig.SipUri = m_ReloadConfig.E64_Number;
m_ReloadConfig.SipUri = m_ReloadConfig.SipUri.TrimStart(' ');
m_ReloadConfig.SipUri = m_ReloadConfig.SipUri.Replace(" ", "");
m_ReloadConfig.SipUri = m_ReloadConfig.SipUri + "@" + m_ReloadConfig.OverlayName;
}
m_ReloadConfig.LocalNodeID = new NodeId(HexStringConverter.ToByteArray(words[7]));
m_ReloadConfig.Logger(ReloadGlobals.TRACEFLAGS.T_TOPO, String.Format("Enrollment Server assigned: NodeId = '{0}' SipUri = '{1}' ", m_ReloadConfig.LocalNodeID, m_ReloadConfig.SipUri));
}
else {
m_ReloadConfig.LocalNodeID = new NodeId(HexStringConverter.ToByteArray(words[4]));
m_ReloadConfig.Logger(ReloadGlobals.TRACEFLAGS.T_TOPO, String.Format("Enrollment Server assigned: NodeId = '{0}'", m_ReloadConfig.LocalNodeID));
}
}
}
catch (Exception ex) {
m_ReloadConfig.Logger(ReloadGlobals.TRACEFLAGS.T_ERROR, "SimpleNodeIdRequest: " + ex.Message);
}
}