Модераторы: Glukinho, Zavr2008, Glukinho, Zavr2008
*0,self/both, активировать могут оба, выполнение на стороне активировавшего, так и задумано.ActivateOn/ActivatedBy
Хотя на самом делеpeer/both, ... Опция both - Играет обеим сторонам
Вводите в заблуждениеboth - means that the application can be performed by both caller and callee
Код: Выделить всё
exten => s,1,Verbose(1,Run feature ${CHANNEL})
exten => s,n,GotoIf($["${LEN(${CALLERID(num)})}" > "10"]?step1:cancel)
exten => s,n(step1),n,....
exten => s,n(cancel),Verbose(1, Cancel)
exten => s,n,MacroExit()Код: Выделить всё
[111](locuser)
...
setvar=myConstant=1Код: Выделить всё
exten => s,n,GotoIf($["${myConstant}" = "1"]?step1:cancel)Для исходящих не получится, CALLERID(num) заменяется на внешний номер транка при звонке.Проверять или по длине номера
Т.е. для входящих не сработает. И есть подозрения, что первый же трансфер эту переменную сбросит (и правильно сделает).setvar = variable=value : Channel variable to be set for all calls from this peer/user.
Если фича самописная, а если стандартная типа *1 = начать запись, опять переписывать на свою? Должен быть более правильный способ, чем переопределять все стандартные фичи, имхо.Ещё можно просто GotoIf`ом обойтись в Macro фичи.
postscripter, это был пример идеи как это можно реализовать. Что проверять, номер или не номер и на соответствие чему - это дело ваше.postscripter писал(а):Для исходящих не получится, CALLERID(num) заменяется на внешний номер транка при звонке.
если вы ему это позволяете, не проверяете по шаблону на входе, то безусловно ответ "ДА"postscripter писал(а):А SIP-оператор разве не может передать какой-нибудь левый номер?
а) если не выставлять в соответствующем пире для входящих, то нет.postscripter писал(а):Т.е. для входящих не сработает
Есть поговорка: "Когда кажется - креститься надо"postscripter писал(а):И есть подозрения, что первый же трансфер эту переменную сбросит
Почему, пример. Это единственный и очевидный вариант, кроме $Caller id и $Ampuser других переменных-то нет. Можно установить свои, я это пытаюсь сделать макросом, но получаю вышеописанную проблему.это был пример идеи как это можно реализовать
Согласен :)если вы ему это позволяете, не проверяете по шаблону на входе
Согласен :)))так вам же это и нужно, чтобы при вызове извне не работало