Example #1
0
        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);
        }
Example #2
0
        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();
        }
Example #3
0
 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);
         }
     }
 }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
 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);
     }
 }
Example #8
0
        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));
        }
Example #9
0
 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");
     }
 }
Example #10
0
 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");
     }
 }
Example #11
0
 public override void DialogCreated(Dialog dialog, UserAgent ua, SIPStack stack)
 {
     Useragents.Remove(ua);
     Useragents.Add(dialog);
     Log.Info("New dialog created");
 }