internal void Publish(string sipUri, string basic, string note, int expires) { UserAgent pua = new UserAgent(Stack) { LocalParty = PublicServiceIdentity, RemoteParty = new Address(sipUri) }; Useragents.Add(pua); Message request = pua.CreateRequest("PUBLISH"); request.InsertHeader(new Header("presence", "Event")); request.InsertHeader(new Header(pua.LocalParty.ToString(), "P-Preferred-Identity")); request.InsertHeader(new Header("application/pidf+xml", "Content-Type")); StringBuilder sb = new StringBuilder(); sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); sb.Append( "<presence xmlns=\"urn:ietf:params:xml:ns:pidf\" xmlns:im=\"urn:ietf:params:xml:ns:pidf:im\" entity=\"" + sipUri + "\">\n"); sb.Append("<tuple id=\"Sharp_IMS_Client\">\n"); sb.Append("<status>\n"); sb.Append("<basic>" + basic + "</basic>\n"); sb.Append("</status>\n"); sb.Append("<note>" + note + "</note>\n"); sb.Append("</tuple>\n"); sb.Append("</presence>\n"); request.Body = sb.ToString(); pua.SendRequest(request); }
private void ParsInfo(Zillow zillow) { Thread thread = new Thread(() => { LinkParser linkParser; ReqParametres reqParametres; do { //Парсим предварительную ссылку reqParametres = new ReqParametres(zillow.URL); reqParametres.SetUserAgent(Useragents.GetNewUseragent()); reqParametres.SetProxy(); linkParser = new LinkParser(reqParametres.Request); SavedCookies = linkParser.Cookies; } while (isCaptcha(linkParser.Data)); string newLink = linkParser.Data.ParsFromTo("<link rel=\"canonical\" href=\"", "\""); //Проверяем на неверную ссылку if (newLink.Contains("https://www.zillow.com/homes/for_sale/")) { zillow.Status = "No such adress"; } else { zillow.URL = newLink; do { reqParametres = new ReqParametres(zillow.URL); reqParametres.SetUserAgent(Useragents.GetNewUseragent()); reqParametres.SetProxy(); linkParser = new LinkParser(reqParametres.Request); } while (isCaptcha(linkParser.Data)); zillow.Status = CheckOnStatus(linkParser.Data.ToLower()).Replace("<span tabindex=\"0\" role=\"button\"><span class=\"zsg-tooltip-launch_keyword\">", "") .Replace("<Span Tabindex=\"0\" Role=\"Button\"><Span Class=\"Zsg-Tooltip-Launch_Keyword\">", ""); if (zillow.Status.Equals("Undefined")) { DebugBox.WriteLine(linkParser.Data); } else { //Zestimate set List <string> rawZestimate = linkParser.Data.ParsRegex("Zestimate<sup>®</sup></span></span>(.*?)\\$([0-9,./a-zA-Z]+)<", 2); if (rawZestimate.Count != 0) { zillow.Zestimate = "$" + rawZestimate[0]; } zillow.SoldPrice = CheckPrice(linkParser.Data); } SavedCookies = linkParser.Cookies; } threadCount--; progress++; DebugBox.WriteLine($"Обработано ссылок: {progress} из {results.Count}."); double val = 100.0f / results.Count * progress; WorkProgress.SetValue(val); }); thread.IsBackground = true; thread.Start(); }
internal void AcceptCall(SDP sdp, Message incomingCall) { foreach (UserAgent userAgent in Useragents.ToArray()) { if (userAgent.CallID == incomingCall.First("Call-ID").Value.ToString()) { Message response = userAgent.CreateResponse(200, "OK"); response.InsertHeader(new Header("application/sdp", "Content-Type")); response.Body = sdp.ToString(); userAgent.SendResponse(response); } } }
public void SendInvite(string uri) { uri = checkURI(uri); UserAgent cua = new UserAgent(Stack) { LocalParty = PublicServiceIdentity, RemoteParty = new Address(uri) }; Useragents.Add(cua); Message invite = cua.CreateRequest("INVITE"); cua.SendRequest(invite); }
public void SendMessage(string uri, string message, string contentType = "text/plain") { uri = checkURI(uri); UserAgent mua = new UserAgent(Stack) { LocalParty = PublicServiceIdentity, RemoteParty = new Address(uri) }; Useragents.Add(mua); Message m = mua.CreateRequest("MESSAGE", message); m.InsertHeader(new Header(contentType, "Content-Type")); mua.SendRequest(m); }
public void SendInvite(string uri, SDP sdp) { uri = checkURI(uri); UserAgent cua = new UserAgent(Stack) { LocalParty = PublicServiceIdentity, RemoteParty = new Address(uri) }; Useragents.Add(cua); Message invite = cua.CreateRequest("INVITE"); invite.InsertHeader(new Header("application/sdp", "Content-Type")); invite.Body = sdp.ToString(); cua.SendRequest(invite); }
public void SendIM(string uri, string message, string contentType = "text/plain") { uri = checkURI(uri); if (IsRegistered()) { UserAgent mua = new UserAgent(Stack) { LocalParty = RegisterUA.LocalParty, RemoteParty = new Address(uri) }; Useragents.Add(mua); Message m = mua.CreateRequest("MESSAGE", message); m.InsertHeader(new Header(contentType, "Content-Type")); mua.SendRequest(m); } }
private void CookieSet() { LinkParser linkParser; do { ReqParametres reqParametres = new ReqParametres("https://www.zillow.com/"); reqParametres.SetUserAgent(Useragents.GetNewUseragent()); //reqParametres.SetProxy(); if (SavedCookies != null) { reqParametres.SetCookie(SavedCookies); } linkParser = new LinkParser(reqParametres.Request); SavedCookies = linkParser.Cookies; } while (isCaptcha(linkParser.Data)); }
public void Invite(string uri) { uri = checkURI(uri); if (IsRegistered()) { UserAgent cua = new UserAgent(Stack) { LocalParty = RegisterUA.LocalParty, RemoteParty = new Address(uri) }; Useragents.Add(cua); Message invite = cua.CreateRequest("INVITE"); cua.SendRequest(invite); } else { Log.Error("isRegistered failed in invite message"); } }
public void Invite(string uri, SDP sdp) { uri = checkURI(uri); if (IsRegistered()) { UserAgent cua = new UserAgent(Stack) { LocalParty = RegisterUA.LocalParty, RemoteParty = new Address(uri) }; Useragents.Add(cua); Message invite = cua.CreateRequest("INVITE"); invite.InsertHeader(new Header("application/sdp", "Content-Type")); invite.Body = sdp.ToString(); cua.SendRequest(invite); } else { Log.Error("isRegistered failed in invite message"); } }
public override void DialogCreated(Dialog dialog, UserAgent ua, SIPStack stack) { Useragents.Remove(ua); Useragents.Add(dialog); Log.Info("New dialog created"); }