//接続単位の処理 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(詳細) ステータス受信をプリント { } //このメソッドを抜けると切断される }
//接続単位の処理 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(詳細) ステータス受信をプリント } //このメソッドを抜けると切断される }