Example #1
0
        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);
            }
        }
Example #2
0
        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) });
        }
Example #3
0
        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) });
        }