Beispiel #1
0
        //接続単位の処理
        override protected void OnSubThread(SockObj sockObj)
        {
            var sockUdp = (SockUdp)sockObj;

            //受信データの解析
            var reception = new Reception(sockUdp.RecvBuf);

            //スタートラインの形式に問題がある
            if (reception.StartLine.ReceptionKind == ReceptionKind.Unknown)
            {
                //Logger
                return;
            }
            //未対応のSIPバージョン
            if (reception.StartLine.SipVer.No != 2.0)
            {
                //Logger
                return;
            }
            //リクエストの処理
            if (reception.StartLine.ReceptionKind == ReceptionKind.Request)
            {
                //Logger(詳細) リクエスト受信をプリント

                switch (reception.StartLine.SipMethod)
                {
                case SipMethod.Register:
                    var jobRegister = new JobRegister(_user);
                    break;

                case SipMethod.Invite:
                    break;
                }
                if (reception.StartLine.SipMethod == SipMethod.Invite)
                {
                    var oneCall = new OneCall();
                    //oneCall.Invite(lines);
                }
            }
            else   //ステータスの処理
                   //Logger(詳細) ステータス受信をプリント

            {
            }



            //このメソッドを抜けると切断される
        }
Beispiel #2
0
        //接続単位の処理
        protected override void OnSubThread(SockObj sockObj)
        {
            var sockUdp = (SockUdp)sockObj;

            //受信データの解析
            var reception = new Reception(sockUdp.RecvBuf);

            //スタートラインの形式に問題がある
            if (reception.StartLine.ReceptionKind == ReceptionKind.Unknown) {
                //Logger
                return;
            }
            //未対応のSIPバージョン
            if (reception.StartLine.SipVer.No != 2.0) {
                //Logger
                return;
            }
            //リクエストの処理
            if (reception.StartLine.ReceptionKind == ReceptionKind.Request) {

                //Logger(詳細) リクエスト受信をプリント

                switch (reception.StartLine.SipMethod) {
                    case SipMethod.Register:
                        var jobRegister = new JobRegister(_user);
                        break;
                    case SipMethod.Invite:
                        break;

                }
                if (reception.StartLine.SipMethod == SipMethod.Invite) {
                    var oneCall = new OneCall();
                    //oneCall.Invite(lines);
                }

            } else{//ステータスの処理
                //Logger(詳細) ステータス受信をプリント

            }

            //このメソッドを抜けると切断される
        }