public When_Idle_a_retransmitted_invite_is_received()
        {
            _idleStateCountable = new SoftPhoneStateProxy(new IdleState());

               Mock<ISoftPhoneStateProvider> softPhoneStateProviderMock = new Mock<ISoftPhoneStateProvider>();
               softPhoneStateProviderMock.Setup(s => s.GetIdle()).Returns(_idleStateCountable);
               _stateProvider = softPhoneStateProviderMock.Object;
        }
        private ISoftPhoneStateProvider CreateStateProviderMock()
        {
            _idleStateProxy = new SoftPhoneStateProxy(new IdleState(), AfterPhoneProcessedRequest, AfterPhoneProcessedResponse, AfterInitialized);
            _ringingStateProxy = new SoftPhoneStateProxy(new RingingState(), AfterPhoneProcessedRequest, AfterPhoneProcessedResponse, AfterInitialized);
            _waitforAckStateProxy = new SoftPhoneStateProxy(new WaitForAckState(), AfterPhoneProcessedRequest, AfterPhoneProcessedResponse, AfterInitialized);
            _establishedStateProxy = new SoftPhoneStateProxy(new EstablishedState(), AfterPhoneProcessedRequest, AfterPhoneProcessedResponse, AfterInitialized);
            _waitForProvStateProxy = new SoftPhoneStateProxy(new WaitForProvisionalState(), AfterPhoneProcessedRequest, AfterPhoneProcessedResponse, AfterInitialized);
            _waitForFinalStateProxy = new SoftPhoneStateProxy(new WaitForFinalState(), AfterPhoneProcessedRequest, AfterPhoneProcessedResponse, AfterInitialized);
            _waitForCancelOkStateProxy = new SoftPhoneStateProxy(new WaitForCancelOkState(), AfterPhoneProcessedRequest, AfterPhoneProcessedResponse, AfterInitialized);
            _waitForByeOkStateProxy = new SoftPhoneStateProxy(new WaitForByeOkState(), AfterPhoneProcessedRequest, AfterPhoneProcessedResponse, AfterInitialized);

            Mock<ISoftPhoneStateProvider> mock = new Mock<ISoftPhoneStateProvider>();
            mock.Setup(s => s.GetIdle()).Returns(_idleStateProxy);
            mock.Setup(s => s.GetRinging()).Returns(_ringingStateProxy);
            mock.Setup(s => s.GetWaitForAck()).Returns(_waitforAckStateProxy);
            mock.Setup(s => s.GetEstablished()).Returns(_establishedStateProxy);
            mock.Setup(s => s.GetWaitProvisional()).Returns(_waitForProvStateProxy);
            mock.Setup(s => s.GetWaitFinal()).Returns(_waitForFinalStateProxy);
            mock.Setup(s => s.GetWaitCancelOk()).Returns(_waitForCancelOkStateProxy);
            mock.Setup(s => s.GetWaitByeOk()).Returns(_waitForByeOkStateProxy);
            return mock.Object;
        }