Можно ли как-то штатными средствами FPBX анализировать CID входящего звонка кроме как в Inbound route? Например, для всех входящих общий IVR, а донабор в ring-group в зависимости от CID?
Запросто. Для этого надо создать в Inbound route общий DID = 7654321/Any CID => IVR
и также DID = 7654321/+79012345678 => ring-group1
DID = 7654321/+79012345679 => ring-group2
и так далее.
Нет, смысл такой, чтобы все слышали один и тот же IVR c одинаковым набором команд, но, например, при нажатии 1, вызов отправлялся на некий анализатор CID, если одна маска > ring-group1, если другая > ring-group2.
Для этого надо создать в Inbound route общий DID = 7654321/Any CID => Main_IVR=> нажимаем 1-- ring-group1
и также DID = 7654321/+79012345678 =>Main_IVR=> нажимаем 1--- ring-group2
DID = 7654321/+79012345679 =>Main_IVR=> нажимаем 1--- ring-group2
Не соображу, если это один и тот же "Main_IVR", то почему в одном месте 1 > ring-group1, в другом 1 > ring-group2 если для "Main_IVR" прописано жесткое соответствие донабора?
Ну, там как бы три ИВР, у них общего Main_ только приветствие.
И три (или более) входящих маршрута и сценария. Сообразите пожалуйста, вставлять кастомный код во freePBX Вам ещё трудней будет.
А вообще эта фича уже реализована там как модуль, называется - Обход очереди, для VIPов.