Решил по-своему, забыл сюда скинуть. Может кому пригодится смысл.
Код: Выделить всё
exten => 7*номер*,1,Set(CDR(userfield)=input) ; нарисовали для црмки вызов
same => n(notwork),NoOp(called region ${CALLERID(num):1:3}) ;рисуем строчку для отладки. Можно убрать.
same => n,GotoIf($[${REGEX("353|341|342|343|345|346|347|351|922|912|982|992|965" ${CALLERID(num):1:3})}]?dekat); список префиксов для Екатеринбурга. Если не совпало - в Новосиб.
same => n,GotoIf($[${REGEX("301|388|411|394|390|385|391|395|384|383|382|302|415|423|421|381|905|951|953|913|983|984|923|924|904|950|951|952|994" ${CALLERID(num):1:3})}]?dnsk:drdn); список для Новосиба, если не совпало - в Ростов.
same => n(dekat),MixMonitor(/маршрутзаписей/${UNIQUEID}.wav) ;начинаем запись
same => n,NoOp(${CALLERID(num):1:3} switched to dekb) ; строчка для отладки
same => n,Queue(bekb,rt,,,300) ;постановка в очередь екб
same => n,Goto(dout)
same => n(dnsk),MixMonitor(/маршрутзаписей/${UNIQUEID}.wav) ;начинаем запись
same => n,NoOp(${CALLERID(num):1:3} switched to dnsk) ;строчка для отладки
same => n,Queue(nsk2,rt,,,300) ;постановка в очередь нск
same => n,Goto(dout)
same => n(drdn),MixMonitor(/маршрутзаписей/${UNIQUEID}.wav) ;начинаем запись
same => n,NoOp(${CALLERID(num):1:3} switched to drdn) ;строчка для отладки
same => n,Queue(rdnrt,rt,,,300) ;постановка в очередь рдн
same => n,Goto(dout)
same => n(dout),Hangup ; Поидее всё должно пиликать.
Вроде все довольны, писают кипятком от радости что тратиться не надо и получилось удобочитаемо.
Для общего понимания вопрос: На сколько адекватно было принятое мною решение?