Страница 1 из 1

ael switch и CDR

Добавлено: 25 апр 2013, 12:00
d771
давно заметил, что при использовании switch в cdr лезут левые данные. например:

Код: Выделить всё

// баны входящих по упрощеной схеме
macro deny_spam() {
    switch (${CALLERID(num)}) {
        case 8123199999:
            Set(CDR(userfield)=LOVUSHKA);
            goto deny_exec;
        default:
            goto cont_exec;
    }
    deny_exec:
        Hangup(17);
    cont_exec:
    return;
}

.....

_X. => {
    &deny_spam();
    Dial(SIP/144&SIP/100&SIP/101,,gt);
}
при этом в cdr вижу:
OOH323 source:8123199999 application:Hangup destination:~~s~~

откуда берется в поле destination "~~s~~"?

вообще, часто сталкиваюсь с тем, что switch что-то делает с cdr, в основном в dst появляются всякие sw_12_123 итд.
При этом если переписать в стиле "идусского кода" с кучей if - левые записи исчезают.