         }.first
     }
     
+    private var numberOfPausedCalls: UInt {
+        return UInt(callVCs.values.filter { (callVC) -> Bool in
+            guard let call = callVC.mxCall else {
+                return false
+            }
+            return call.isOnHold
+        }.count)
+    }
+    
     //  MARK: - Public
     
     /// Maximum number of concurrent calls allowed.

        
        switch call.state {
        case .createAnswer:
            if call.isIncoming, isCallKitEnabled, let callVC = callVCs[call.callId] {
                presentCallVC(callVC)
                return
            }
            NSLog("[CallService] callStateChanged: call created answer: \(call.callId)")
        case .connected:
            callTimer.fire()
        case .onHold:
            callTimer.fire()
            NSLog("[CallService] callStateChanged: call holded: \(call.callId)")
        case .remotelyOnHold:
            callTimer.fire()
            NSLog("[CallService] callStateChanged: call remotely holded: \(call.callId)")
        case .ended:
            NSLog("[CallService] callStateChanged: call ended: \(call.callId)")
            endCall(withCallId: call.callId)
            return
        default:
            break
        }

    
    @objc private func callTimerFired(_ timer: Timer) {
        guard let inBarCallVC = inBarCallVC else {
            return
        }
        guard let call = inBarCallVC.mxCall else {
            return
        }
        guard call.state != .ended else {
            return
        }
        
