Для обеспечения данных требований архитектура IVR платформы должна быть:
- Многоуровневой. Уровни должны взаимодействовать друг с другом с помощью абстрактных, четко определенных и минимизированных интерфейсов. Это необходимо для того, чтобы у разработчика в дальнейшем была возможность быстрого изменения уровня, не затрагивая другие. Например, для поддержки телефонного оборудования нового производителя.
- Каждый уровень должен состоять из заменяемых функциональных подсистем. Такая архитектура обеспечит защиту IVR от остановки, в случае если какая-то подсистема вышла из строя. В этом случае IVR потеряет часть функциональности, но остается работоспособной системой. При сбое в какой-либо подсистеме IVR должен информировать оставшимися доступными средствами администратора о проблеме. Также такая организация позволяет наращивать функциональность IVR платформы добавлением новых подсистем на соответствующие уровни, не затрагивая другие.
- Необходимо обеспечить достаточный уровень дублирования серверов или даже иметь возможность “горячего дублирования”. При “горячем дублировании” в случае выхода из строя одного сервера, резервный автоматически обработает все активные звонки без разрыва соединения и потери информации.