private void OnFirstLine(string firstLine) { if (_logger.IsDebugEnabled) _logger.Debug("OnFirstLine called. firstLine:'{0}'", firstLine); if (firstLine.EndsWith(SipConstants.SipTwoZeroString)) { if (_logger.IsDebugEnabled) _logger.Debug("Firstline is expected to be a SipRequestLine. Try parsing..."); var requestLine = new SipRequestLineParser().Parse(firstLine); _message = _messageFactory.CreateRequest(requestLine); if (_logger.IsDebugEnabled) _logger.Debug("RequestLine parsed. Continuing SipRequest parsing..."); } else if (firstLine.StartsWith(SipConstants.SipTwoZeroString)) { if (_logger.IsDebugEnabled) _logger.Debug("Firstline is expected to be a SipStatusLine. Try parsing..."); var statusLine = new SipStatusLineParser().Parse(firstLine); _message = _messageFactory.CreateResponse(statusLine); if (_logger.IsDebugEnabled) _logger.Debug("SipStatusLine parsed. Continuing SipResponse parsing.."); } else { if (_logger.IsDebugEnabled) _logger.Debug("Firstline format could not be recognized."); throw new ParseException(ExceptionMessage.InvalidFirstLineFormat); } }
public void Parse_ValidFormats_ExpectNotToFail() { String[] strings = { "SIP/2.0 407 Proxy Authentication Required", "SIP/2.0 1 2" }; foreach (string s in strings) { var h = new SipStatusLineParser().Parse(s); } }
private void OnFirstLine(string firstLine) { if (_logger.IsDebugEnabled) { _logger.Debug("OnFirstLine called. firstLine:'{0}'", firstLine); } if (firstLine.EndsWith(SipConstants.SipTwoZeroString)) { if (_logger.IsDebugEnabled) { _logger.Debug("Firstline is expected to be a SipRequestLine. Try parsing..."); } var requestLine = new SipRequestLineParser().Parse(firstLine); _message = _messageFactory.CreateRequest(requestLine); if (_logger.IsDebugEnabled) { _logger.Debug("RequestLine parsed. Continuing SipRequest parsing..."); } } else if (firstLine.StartsWith(SipConstants.SipTwoZeroString)) { if (_logger.IsDebugEnabled) { _logger.Debug("Firstline is expected to be a SipStatusLine. Try parsing..."); } var statusLine = new SipStatusLineParser().Parse(firstLine); _message = _messageFactory.CreateResponse(statusLine); if (_logger.IsDebugEnabled) { _logger.Debug("SipStatusLine parsed. Continuing SipResponse parsing.."); } } else { if (_logger.IsDebugEnabled) { _logger.Debug("Firstline format could not be recognized."); } throw new ParseException(ExceptionMessage.InvalidFirstLineFormat); } }
private SipMessage ProcessFirstLine(string firstLine) { if (firstLine.EndsWith(SipConstants.SipTwoZeroString)) { var message = new SipRequest(); SipRequestLine requestLine = new SipRequestLineParser().Parse(firstLine); message.RequestLine = requestLine; return(message); } else if (firstLine.StartsWith(SipConstants.SipTwoZeroString)) { var message = new SipResponse(); var statusLine = new SipStatusLineParser().Parse(firstLine); message.StatusLine = statusLine; return(message); } throw new SipParseException(ExceptionMessage.InvalidFirstLineFormat); }
private SipMessage ProcessFirstLine(string firstLine) { if (firstLine.EndsWith(SipConstants.SipTwoZeroString)) { var message = new SipRequest(); SipRequestLine requestLine = new SipRequestLineParser().Parse(firstLine); message.RequestLine = requestLine; return message; } else if (firstLine.StartsWith(SipConstants.SipTwoZeroString)) { var message = new SipResponse(); var statusLine = new SipStatusLineParser().Parse(firstLine); message.StatusLine = statusLine; return message; } throw new SipParseException(ExceptionMessage.InvalidFirstLineFormat); }
public bool ParseFirstLine() { _reader.Consume('\r', '\n'); if (!_reader.Contains('\n')) throw new ParseException("Invalid firstline."); var firstLine = _reader.ReadFoldedLine(); if (firstLine.EndsWith(SipConstants.SipTwoZeroString)) { SipRequestLine requestLine = new SipRequestLineParser().Parse(firstLine); _listener.OnRequest(requestLine); } else if (firstLine.StartsWith(SipConstants.SipTwoZeroString)) { var message = new SipResponse(); var statusLine = new SipStatusLineParser().Parse(firstLine); _listener.OnResponse(statusLine); } else { throw new ParseException(ExceptionMessage.InvalidFirstLineFormat); } _parserMethod = GetHeaderName; return true; }