Exemple #1
0
        protected override void OnLineStatusChanged(LineStatusMessageBase msg)
        {
            if (msg.Type == eLineStatusType.PO_Status || msg.Type == eLineStatusType.PO_Tone)
            {
                var e = new POStatusChangedEventArgs(msg.Address);
                if (msg.Type == eLineStatusType.PO_Status)
                {
                    e.Status = (((POStatusMessage)msg).Status == eStatus.On) ? ePOStatus.OffHook : ePOStatus.OnHook;
                }
                else
                {
                    e.Tone = ((NumberReceivedMessage)msg).Number;
                }

                if (this.OnPOStatusChanged != null)
                {
                    OnPOStatusChanged(this, e);
                }
            }
            else
            {
                var e = new ChannelStatusChangedEventArgs(msg.Address);

                switch (msg.Type)
                {
                case eLineStatusType.Line:
                    var lmsg = msg as LineStatusMessage;
                    e.Status = lmsg.Status;
                    break;

                case eLineStatusType.Revert:
                    break;

                case eLineStatusType.Tone:
                case eLineStatusType.CallerId:
                    var nmsg = msg as NumberReceivedMessage;
                    if (msg.Type == eLineStatusType.Tone)
                    {
                        e.Tone = nmsg.Number;
                    }
                    else
                    {
                        e.CallerId = nmsg.Number;
                    }
                    break;
                }

                if (this.OnChannelStatusChanged != null)
                {
                    OnChannelStatusChanged(this, e);
                }
            }
        }
Exemple #2
0
        protected virtual void OnLineStatusChanged(LineStatusMessageBase msg)
        {
            switch (msg.Type)
            {
            case eLineStatusType.Line:
                break;

            case eLineStatusType.Revert:
                break;

            case eLineStatusType.Tone:
                break;

            case eLineStatusType.PO_Status:
                break;

            case eLineStatusType.PO_Tone:
                break;
            }
        }