Exemple #1
0
        public CStateMachine(CCallManager manager)
        {
            // store manager reference...
              _manager = manager;

              // create call proxy
              _sigProxy = _manager.Factory.createCallProxy();

              // initialize call states
              _stateIdle = new CIdleState(this);
              _stateAlerting = new CAlertingState(this);
              _stateActive = new CActiveState(this);
              _stateCalling = new CConnectingState(this);
              _stateReleased = new CReleasedState(this);
              _stateIncoming = new CIncomingState(this);
              _stateHolding = new CHoldingState(this);
              // change state
              _state = _stateIdle;

              // initialize data
              Time = System.DateTime.Now;
              Duration = System.TimeSpan.Zero;

              // Initialize timers
              if (null != _manager)
              {
            _noreplyTimer = _manager.Factory.createTimer();
            _noreplyTimer.Interval = 15000; // hardcoded to 15s
            _noreplyTimer.Elapsed = new TimerExpiredCallback(_noreplyTimer_Elapsed);

            _releasedTimer = _manager.Factory.createTimer();
            _releasedTimer.Interval = 5000; // hardcoded to 15s
            _releasedTimer.Elapsed = new TimerExpiredCallback(_releasedTimer_Elapsed);
              }
        }
Exemple #2
0
        public CStateMachine(CCallManager manager)
        {
            // store manager reference...
            _manager = manager;

            // create call proxy
            _sigProxy = _manager.Factory.createCallProxy();

            // initialize call states
            _stateIdle     = new CIdleState(this);
            _stateAlerting = new CAlertingState(this);
            _stateActive   = new CActiveState(this);
            _stateCalling  = new CConnectingState(this);
            _stateReleased = new CReleasedState(this);
            _stateIncoming = new CIncomingState(this);
            _stateHolding  = new CHoldingState(this);
            // change state
            _state = _stateIdle;

            // initialize data
            Time     = System.DateTime.Now;
            Duration = System.TimeSpan.Zero;

            // Initialize timers
            if (null != _manager)
            {
                _noreplyTimer          = _manager.Factory.createTimer();
                _noreplyTimer.Interval = 15000; // hardcoded to 15s
                _noreplyTimer.Elapsed  = new TimerExpiredCallback(_noreplyTimer_Elapsed);

                _releasedTimer          = _manager.Factory.createTimer();
                _releasedTimer.Interval = 5000; // hardcoded to 15s
                _releasedTimer.Elapsed  = new TimerExpiredCallback(_releasedTimer_Elapsed);
            }
        }
Exemple #3
0
 /// <summary>
 /// CCallManager Singleton
 /// </summary>
 /// <returns></returns>
 public static CCallManager getInstance()
 {
     if (_instance == null)
     {
         _instance = new CCallManager();
     }
     return(_instance);
 }
Exemple #4
0
            public void Activate()
            {
                switch (_actionType)
                {
                case EPendingActions.EUserAnswer:
                    CCallManager.getInstance().onUserAnswer(_sessionId);
                    break;

                case EPendingActions.ECreateSession:
                    CCallManager.getInstance().createOutboundCall(_number, _accountId);
                    break;

                case EPendingActions.EUserHold:
                    CCallManager.getInstance().onUserHoldRetrieve(_sessionId);
                    break;
                }
            }
Exemple #5
0
 /// <summary>
 /// CCallManager Singleton
 /// </summary>
 /// <returns></returns>
 public static CCallManager getInstance()
 {
     if (_instance == null)
       {
     _instance = new CCallManager();
       }
       return _instance;
 }