Example #1
0
 void IDicomServerHandler.OnReceiveAssociateRequest(DicomServer server, ServerAssociationParameters association)
 {
     _sessionDebug.SetAssociationDumpString(association);
     server.SendAssociateAccept(association);
     Logger.LogInfo("Accepting association between {0} and {1}.",
                    association.CallingAE, association.CalledAE);
 }
Example #2
0
 void IDicomServerHandler.OnReceiveAssociateRequest(DicomServer server, ServerAssociationParameters association)
 {
     //_sessionDebug.SetAssociationDumpString(association);
     server.SendAssociateAccept(association);
     Platform.Log(LogLevel.Info, string.Format("Accepting association between {0} and {1}.",
                                               association.CallingAE, association.CalledAE));
 }
Example #3
0
        void IDicomServerHandler.OnReceiveAssociateRequest(DicomServer server, ServerAssociationParameters association)
        {
            if (_verifier != null)
            {
                DicomRejectResult result;
                DicomRejectReason reason;
                bool verified = _verifier(_context, association, out result, out reason);
                if (verified == false)
                {
                    server.SendAssociateReject(result, DicomRejectSource.ServiceUser, reason);
                    LogAdapter.Logger.Info("Association rejected from {0} to {1}",
                                           association.CallingAE, association.CalledAE);
                    return;
                }
            }

            // Let the extensions have its say on whether a presentation context is really acceptable.
            //
            bool atLeastOneAccepted = false;

            foreach (byte pcid in association.GetPresentationContextIDs())
            {
                if (association.GetPresentationContextResult(pcid) == DicomPresContextResult.Accept)
                {
                    IDicomScp <TContext>   scp = _extensionList[pcid];
                    DicomPresContextResult res = scp.VerifyAssociation(association, pcid);
                    if (res != DicomPresContextResult.Accept)
                    {
                        association.GetPresentationContext(pcid).ClearTransfers();
                        association.SetPresentationContextResult(pcid, res);
                    }
                    else
                    {
                        atLeastOneAccepted = true;
                    }
                }
            }

            if (!atLeastOneAccepted)
            {
                LogAdapter.Logger.Info("None of the proposed presentation context is accepted. Rejecting association from {0} to {1}", association.CallingAE, association.CalledAE);
                server.SendAssociateReject(DicomRejectResult.Permanent, DicomRejectSource.ServiceUser, DicomRejectReason.NoReasonGiven);
                return;
            }

            server.SendAssociateAccept(association);

            // Optimization to speed query performance
            Task.Factory.StartNew(() => LogAdapter.Logger.Info("Received association:\r\n{0}", association.ToString()));
        }
Example #4
0
        public void OnReceiveAssociateRequest(DicomServer server, ServerAssociationParameters association)
        {
            if (_delayAssociationAccept.Checked)
            {
                Thread.Sleep(TimeSpan.FromSeconds(35));
            }

            if (_rejectAssociation.Checked)
            {
                server.SendAssociateReject(DicomRejectResult.Permanent, DicomRejectSource.ServiceUser, DicomRejectReason.CallingAENotRecognized);
            }
            else
            {
                server.SendAssociateAccept(association);
            }
        }
Example #5
0
 void IDicomServerHandler.OnReceiveAssociateRequest(DicomServer server, ServerAssociationParameters association)
 {
     server.SendAssociateAccept(association);
 }
Example #6
0
 /// <summary>
 /// Association request.
 /// </summary>
 /// <param name="server"></param>
 /// <param name="association"></param>
 void IDicomServerHandler.OnReceiveAssociateRequest(DicomServer server, ServerAssociationParameters association)
 {
     server.SendAssociateAccept(association);
     ClearCanvas.Common.Platform.Log(LogLevel.Info, "Association request received from {0} ({1}).", association.CallingAE, association.RemoteEndPoint.Address);
 }
 /// <summary>
 /// Association request
 /// </summary>
 /// <param name="server"></param>
 /// <param name="association"></param>
 void IDicomServerHandler.OnReceiveAssociateRequest(DicomServer server, ServerAssociationParameters association)
 {
     log.Debug("Associate request received");
     server.SendAssociateAccept(association);
 }