示例#1
0
        static void AppResponseRecvEvent(object sender, SipMessageEventArgs e)
        {
            Message response    = e.Message;
            string  requestType = response.First("CSeq").ToString().Trim().Split()[1].ToUpper();

            SIPLog.Info(response);
            ConsoleLog.Info(response.ResponseCode + " response received for " + requestType + " request");

            switch (requestType)
            {
            case "PUBLISH":
            {
                if (response.ResponseCode == 200)
                {
                    DebugLog.Info("Successfully sent service information to SRS");
                }
                else
                {
                    ConsoleLog.Warn("Received non 200 OK response");
                    ConsoleLog.Warn(response);
                }
                break;
            }

            default:
                ConsoleLog.Warn("Response for Request Type " + requestType + " is unhandled ");
                break;
            }
        }
示例#2
0
        private void AppRequestRecvEvent(object sender, SipMessageEventArgs e)
        {
            Log.Info("Request Received:" + e.Message);
            Message request = e.Message;

            switch (request.Method.ToUpper())
            {
            case "MESSAGE":
            {
                _app.Useragents.Add(e.UA);
                Message m = e.UA.CreateResponse(200, "OK");
                e.UA.SendResponse(m);
                if (request.First("Content-Type").ToString().ToUpper().Equals("APPLICATION/SERVLIST+XML"))
                {
                    ProcessMessageBody(request.Body);
                }
                break;
            }

            default:
            {
                Log.Info("Request with method " + request.Method.ToUpper() + " is unhandled");
                Message m = e.UA.CreateResponse(501, "Not Implemented");
                e.UA.SendResponse(m);
                break;
            }
            }
        }
示例#3
0
        static void AppRequestRecvEvent(object sender, SipMessageEventArgs e)
        {
            Message request = e.Message;

            SIPLog.Info(request);
            ConsoleLog.Info(request.Method.ToUpper() + " request received");

            switch (request.Method.ToUpper())
            {
            case "INVITE":
            {
                LogCallDetails(request);
                Message m = e.UA.CreateResponse(183, "Call Is Being Forwarded");
                e.UA.SendResponse(m);
                Proxy pua = (Proxy)(e.UA);
                RouteNewMessage(request, pua);
                break;
            }

            default:
            {
                DebugLog.Info("Request with method " + request.Method.ToUpper() + " is unhandled");
                Message m = e.UA.CreateResponse(501, "Not Implemented");
                e.UA.SendResponse(m);
                break;
            }
            }
        }
示例#4
0
        static void AppRequestRecvEvent(object sender, SipMessageEventArgs e)
        {
            Message request = e.Message;

            SIPLog.Info(request);
            ConsoleLog.Info(request.Method.ToUpper() + " request received");

            switch (request.Method.ToUpper())
            {
            case "INVITE":
            {
                if (callerIsBlacklisted(request))
                {
                    Message m = e.UA.CreateResponse(403, "Forbidden");
                    e.UA.SendResponse(m);
                    break;
                }
                else
                {
                    Message m = e.UA.CreateResponse(183, "Call Is Being Forwarded");
                    e.UA.SendResponse(m);
                }

                break;
            }

            default:
            {
                DebugLog.Info("Request with method " + request.Method.ToUpper() + " is unhandled");
                Message m = e.UA.CreateResponse(501, "Not Implemented");
                e.UA.SendResponse(m);
                break;
            }
            }
        }
示例#5
0
        static void AppResponseRecvEvent(object sender, SipMessageEventArgs e)
        {
            //Log.Info("Response Received:" + e.Message);
            Message response    = e.Message;
            string  requestType = response.First("CSeq").ToString().Trim().Split()[1].ToUpper();

            switch (requestType)
            {
            case "SUBSCRIBE":
            {
                if (response.ResponseCode == 200)
                {
                    Log.Info("Successfully subscribed to " + response.First("To") + "'s status");
                }
                break;
            }

            case "MESSAGE":
            {
                if (response.ResponseCode == 200)
                {
                    Log.Info("Successfully sent SCIM status information");
                }
                else
                {
                    Log.Info("Problem sending SCIM status information");
                }
                break;
            }

            default:
                Log.Info("Response for Request Type " + requestType + " is unhandled ");
                break;
            }
        }
示例#6
0
        static void AppRequestRecvEvent(object sender, SipMessageEventArgs e)
        {
            Message request = e.Message;

            SIPLog.Info(request);
            ConsoleLog.Info(request.Method.ToUpper() + " request received");

            switch (request.Method.ToUpper())
            {
            case "MESSAGE":
            {
                ServiceLog.Info(request.First("From") + " says " + request.Body);
                _app.Useragents.Add(e.UA);
                Message m = e.UA.CreateResponse(200, "OK");
                e.UA.SendResponse(m);
                if (!request.First("Content-Type").ToString().ToUpper().Equals("APPLICATION/IM-ISCOMPOSING+XML"))
                {
                    SendEmail("*****@*****.**", request.Body);
                    ServiceLog.Info("Sent email to [email protected]");
                }
                break;
            }

            default:
            {
                DebugLog.Info("Request with method " + request.Method.ToUpper() + " is unhandled");
                Message m = e.UA.CreateResponse(501, "Not Implemented");
                e.UA.SendResponse(m);
                break;
            }
            }
        }
示例#7
0
        private void AppResponseRecvEvent(object sender, SipMessageEventArgs e)
        {
            Log.Info("Response Received:" + e.Message);
            Message response    = e.Message;
            string  requestType = response.First("CSeq").ToString().Trim().Split()[1].ToUpper();

            switch (requestType)
            {
            default:
                Log.Info("Response for Request Type " + requestType + " is unhandled ");
                break;
            }
        }
示例#8
0
        private static void AppRequestRecvEvent(object sender, SipMessageEventArgs e)
        {
            Log.Info("Request Received:" + e.Message);
            Message request = e.Message;

            switch (request.Method.ToUpper())
            {
            case "INVITE":
            {
                SessionLog.Info("Call received from " + request.First("From"));
                _app.Useragents.Add(e.UA);
                Message m = e.UA.CreateResponse(200, "OK");
                e.UA.SendResponse(m);
                break;
            }

            case "BYE":
            {
                SessionLog.Info("Call ended from    " + request.First("From"));
                _app.Useragents.Add(e.UA);
                Message m = e.UA.CreateResponse(200, "OK");
                e.UA.SendResponse(m);
                break;
            }

            case "CANCEL":
            {
                _app.Useragents.Add(e.UA);
                Message m = e.UA.CreateResponse(200, "OK");
                e.UA.SendResponse(m);
                break;
            }

            default:
            {
                Log.Info("Request with method " + request.Method.ToUpper() + " is unhandled");
                Message m = e.UA.CreateResponse(501, "Not Implemented");
                e.UA.SendResponse(m);
                break;
            }
            }
        }
示例#9
0
        private static void AppResponseRecvEvent(object sender, SipMessageEventArgs e)
        {
            Log.Info("Response Received:" + e.Message);
            Message response    = e.Message;
            string  requestType = response.First("CSeq").ToString().Trim().Split()[1].ToUpper();

            switch (requestType)
            {
            case "PUBLISH":
            {
                if (response.ResponseCode == 200)
                {
                    Log.Info("Successfully sent service information to SRS");
                }
                break;
            }

            default:
                Log.Info("Response for Request Type " + requestType + " is unhandled ");
                break;
            }
        }
示例#10
0
        static void AppRequestRecvEvent(object sender, SipMessageEventArgs e)
        {
            Message request = e.Message;

            SIPLog.Info(request);
            ConsoleLog.Info(request.Method.ToUpper() + " request received");

            switch (request.Method.ToUpper())
            {
            //Add own request handlers here

            /*case "MESSAGE":
             *  {
             *      break;
             *  }*/
            default:
            {
                DebugLog.Info("Request with method " + request.Method.ToUpper() + " is unhandled");
                Message m = e.UA.CreateResponse(501, "Not Implemented");
                e.UA.SendResponse(m);
                break;
            }
            }
        }
示例#11
0
        static void AppRequestRecvEvent(object sender, SipMessageEventArgs e)
        {
            //Log.Info("Request Received:" + e.Message);
            Message request = e.Message;

            switch (request.Method.ToUpper())
            {
            case "NOTIFY":
            {
                Message m = e.UA.CreateResponse(200, "OK");
                e.UA.SendResponse(m);
                ProcessRequest(request);
                break;
            }

            default:
            {
                Log.Info("Request with method " + request.Method.ToUpper() + " is unhandled");
                Message m = e.UA.CreateResponse(501, "Not Implemented");
                e.UA.SendResponse(m);
                break;
            }
            }
        }