Exemplo n.º 1
0
        protected void RegisterOutgoingRequest(Requests.OutgoingCallRequest request)
        {
            if ((request.Source != default(PhoneNumber) && request.Target != default(PhoneNumber)) &&
                (GetCallInfo(request.Source) == null && GetConnectionInfo(request.Source) == null))
            {
                var callInfo = new CallInfo()
                {
                    Source  = request.Source,
                    Target  = request.Target,
                    Started = DateTime.Now
                };

                ITerminal targetTerminal = GetTerminalByPhoneNumber(request.Target);
                IPort     targetPort     = GetPortByPhoneNumber(request.Target);

                if (targetPort.State == PortState.Free)
                {
                    _connectionCollection.Add(callInfo);
                    targetPort.State = PortState.Busy;
                    targetTerminal.IncomingRequestFrom(request.Source);
                }
                else
                {
                    OnCallInfoPrepared(this, callInfo);
                }
            }
        }
Exemplo n.º 2
0
 protected virtual void OnOutgoingCall(object sender, PhoneNumber target)
 {
     if (OutgoingConnection != null)
     {
         ServerIncomingRequest = new Requests.OutgoingCallRequest()
         {
             Source = this.Number, Target = target
         };
         OutgoingConnection(sender, ServerIncomingRequest);
     }
 }