public void ProcessRequest(SipRequestEvent requestEvent) { if (_logger.IsDebugEnabled) { _logger.Debug("Dialog[Id={0}] received as request[method={1}]", GetId(), requestEvent.Request.RequestLine.Method); } var result = new DialogResult(); result.InformToUser = true; var seqNr = requestEvent.Request.CSeq.Sequence; /* If the remote sequence number is empty, it MUST be set to the value * of the sequence number in the CSeq header field value in the request. * If the remote sequence number was not empty, but the sequence number * of the request is lower than the remote sequence number, the request * is out of order and MUST be rejected with a 500 (Server Internal * Error) response. remoteSequenceNr = unset value = -1*/ if (seqNr < _remoteSequenceNr) { throw new SipException(SipResponseCodes.x500_Server_Internal_Error); } _remoteSequenceNr = seqNr; ProcessRequestOverride(result, requestEvent); if (result.InformToUser) { /*forward TODO: check rfc*/ _listener.ProcessRequest(requestEvent); } }
public void ProcessRequest(SipRequestEvent requestEvent) { EventAggregator.Instance.Publish(new LogEvent("<<<< [RECEIVED REQUEST] " + SipFormatter.FormatMessageEnvelope(requestEvent.Request))); _listener.ProcessRequest(requestEvent); // EventAggregator.Instance.Publish(new LogEvent(">>>> [SEND RESPONSE] " + SipFormatter.FormatMessageEnvelope(response))); //MainForm.SendMessage(new LogMessage() { Text = "<<<<" + SipFormatter.FormatMessageEnvelope(requestEvent.Response) }); }
public void ProcessRequest(SipRequestEvent requestEvent) { EventAggregator.Instance.Publish(new LogEvent("<<<< [RECEIVED REQUEST] " + SipFormatter.FormatMessageEnvelope(requestEvent.Request))); if (_siplistener != null) { _siplistener.ProcessRequest(requestEvent); } //MainForm.SendMessage(new LogMessage() { Text = "<<<<" + SipFormatter.FormatMessageEnvelope(requestEvent.Response) }); }