public override HttpMessageWriter ProcessPutItem(ByteArrayPart username, ByteArrayPart domain, HttpMessageReader reader, ArraySegment<byte> content) { var statusCode = StatusCodes.OK; int sipIfMatch = simpleModule.InvalidEtag; if (reader.Count.IfMatches > 0) { if (HexEncoding.TryParseHex8(reader.IfMatches[0].Bytes, reader.IfMatches[0].Begin, out sipIfMatch) == false) statusCode = StatusCodes.PreconditionFailed; } if (statusCode == StatusCodes.OK) { if (simpleModule.Publish(username.ToString() + "@" + domain.ToString(), ref sipIfMatch, 60, content) == false) statusCode = StatusCodes.BadRequest; } HttpMessageWriter response; if (statusCode != StatusCodes.OK) { response = CreateResponse(statusCode); } else { response = CreateNotFinishedResponse(statusCode, ContentType.None); response.WriteEtag(sipIfMatch); response.WriteCRLF(); } return response; }
public void It_should_trim_sws_at_begin() { var part1 = new ByteArrayPart("\r\n X"); part1.TrimStartSws(); var part2 = new ByteArrayPart(" \r\n X"); part2.TrimStartSws(); var part3 = new ByteArrayPart(" \r\n X"); part3.TrimStartSws(); var part4 = new ByteArrayPart(" \r\n "); part4.TrimStartSws(); var part5 = new ByteArrayPart(" \r\n "); part5.TrimStartSws(); var part6 = new ByteArrayPart(" X"); part6.TrimStartSws(); Assert.AreEqual("X", part1.ToString()); Assert.AreEqual("X", part2.ToString()); Assert.AreEqual("X", part3.ToString()); Assert.AreEqual("", part4.ToString()); Assert.AreEqual("", part5.ToString()); Assert.AreEqual("X", part6.ToString()); }
public void It_should_trim_sws_at_end() { var part1 = new ByteArrayPart("X\r\n "); part1.TrimEndSws(); var part2 = new ByteArrayPart("X \r\n "); part2.TrimEndSws(); var part3 = new ByteArrayPart("X \r\n "); part3.TrimEndSws(); var part4 = new ByteArrayPart(" \r\n "); part4.TrimEndSws(); var part5 = new ByteArrayPart(" \r\n "); part5.TrimEndSws(); var part6 = new ByteArrayPart("X "); part6.TrimEndSws(); var part7 = new ByteArrayPart(""); part7.TrimEndSws(); Assert.AreEqual("X", part1.ToString()); Assert.AreEqual("X", part2.ToString()); Assert.AreEqual("X", part3.ToString()); Assert.AreEqual("", part4.ToString()); Assert.AreEqual("", part5.ToString()); Assert.AreEqual("X", part6.ToString()); Assert.AreEqual("", part7.ToString()); }
/// <summary> /// Обработчик события evRegisteredAORContact от Location Service. /// </summary> private void LocationService_ContactAdded(ByteArrayPart aor1, LocationService.Binding contact, SipMessageReader request) { var aor = aor1.ToString(); bool ep = false; for (var i = 0; i < request.Count.SupportedCount; i++) { if (request.Supported[i].Option.ToString() == @"msrtc-event-categories") { ep = true; break; } } enhancedPresence.EndpointRegistered(aor, contact.SipInstance.Length != 0 ? contact.SipInstance.ToString() : contact.AddrSpec.ToString(), ep); }
public override HttpMessageWriter ProcessGetItem(ByteArrayPart username, ByteArrayPart domain) { var document = simpleModule.GetDocument(username.ToString() + "@" + domain.ToString()); if (document == null) { return(base.CreateResponse(StatusCodes.NotFound)); } else { var response = base.CreateNotFinishedResponse(StatusCodes.OK, ContentType.ApplicationPidfXml); document.WriteLenghtAndContent(response); return(response); } }
public override HttpMessageWriter ProcessGetItem(ByteArrayPart username, ByteArrayPart domain) { var document = simpleModule.GetDocument(username.ToString() + "@" + domain.ToString()); if (document == null) { return base.CreateResponse(StatusCodes.NotFound); } else { var response = base.CreateNotFinishedResponse(StatusCodes.OK, ContentType.ApplicationPidfXml); document.WriteLenghtAndContent(response); return response; } }
private string GetPassword(int accountId, ByteArrayPart username) { var username2 = username.ToString(); for (int i = 0; i < userz.Count; i++) { if (userz[i].HasPasswords) { var user = userz[i].GetByName(accountId, username2); if (user != null) { return(user.Password); } } } return(null); }
public override HttpMessageWriter ProcessPutItem(ByteArrayPart username, ByteArrayPart domain, HttpMessageReader reader, ArraySegment <byte> content) { var statusCode = StatusCodes.OK; int sipIfMatch = simpleModule.InvalidEtag; if (reader.Count.IfMatches > 0) { if (HexEncoding.TryParseHex8(reader.IfMatches[0].Bytes, reader.IfMatches[0].Begin, out sipIfMatch) == false) { statusCode = StatusCodes.PreconditionFailed; } } if (statusCode == StatusCodes.OK) { if (simpleModule.Publish(username.ToString() + "@" + domain.ToString(), ref sipIfMatch, 60, content) == false) { statusCode = StatusCodes.BadRequest; } } HttpMessageWriter response; if (statusCode != StatusCodes.OK) { response = CreateResponse(statusCode); } else { response = CreateNotFinishedResponse(statusCode, ContentType.None); response.WriteEtag(sipIfMatch); response.WriteCRLF(); } return(response); }
public IEnumerable <LocationService.Binding> GetEnumerableBindings(ByteArrayPart aor) { return(GetEnumerableBindingsEv(aor.ToString())); }
//public IEnumerable<LocationService.Binding> GetEnumerableBindings(SipMessageReader reader) //{ // return GetEnumerableBindings(reader.To.AddrSpec.Value); //} public IEnumerable <LocationService.Binding> GetEnumerableBindings(ByteArrayPart user, ByteArrayPart domain) { return(GetEnumerableBindingsEv("sip:" + user.ToString() + "@" + domain.ToString())); }
//public IEnumerable<LocationService.Binding> GetEnumerableBindings(SipMessageReader reader) //{ // return GetEnumerableBindings(reader.To.AddrSpec.Value); //} public IEnumerable<LocationService.Binding> GetEnumerableBindings(ByteArrayPart user, ByteArrayPart domain) { return GetEnumerableBindingsEv("sip:" + user.ToString() + "@" + domain.ToString()); }
private void LocationService_AorRemoved(ByteArrayPart aor) { enhancedPresence.UserUnregistered(aor.ToString()); }
private string GetPassword(int accountId, ByteArrayPart username) { var username2 = username.ToString(); for (int i = 0; i < userz.Count; i++) { if (userz[i].HasPasswords) { var user = userz[i].GetByName(accountId, username2); if (user != null) return user.Password; } } return null; }
private void LocationService_ContactRemoved(ByteArrayPart aor1, LocationService.Binding binding) { enhancedPresence.EndpointUnregistered(aor1.ToString(), binding.SipInstance.IsValid ? binding.SipInstance.ToString() : binding.AddrSpec.ToString()); }
public IEnumerable<LocationService.Binding> GetEnumerableBindings(ByteArrayPart aor) { return GetEnumerableBindingsEv(aor.ToString()); }
public IAccount GetAccount(ByteArrayPart domain) { return domain.IsInvalid ? null : accounts2.GetValue(domain.ToString()); }
public bool HasDomain(ByteArrayPart domain) { return domain.IsValid && accounts2.ContainsKey(domain.ToString()); }
public bool HasDomain(ByteArrayPart domain) { return(domain.IsValid && accounts2.ContainsKey(domain.ToString())); }
public bool HasDomain(ByteArrayPart domain) { return domain.ToString() == "officesip.local"; }
public bool HasDomain(ByteArrayPart domain) { return(domain.ToString() == "officesip.local"); }
public IAccount GetAccount(ByteArrayPart domain) { return(domain.IsInvalid ? null : accounts2.GetValue(domain.ToString())); }