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); }
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); } }
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"); }