22°C
завтра: 20°C
Погода в Перми
22°C
вечером21°C
ночью13°C
завтра20°C
Подробно
 66,78
+0.1758
Курс USD ЦБ РФна 21 августа
66,7840
+0.1758
 73,98
+0.0282
Курс EUR ЦБ РФна 21 августа
73,9766
+0.0282
PRM.Форум /Компьютеры Интернет Связь / Радиосвязь и телефония /

астерисковые спецы есть? Вопрос нубский.

  • Подскажите, не дайте мозгу взорваться плз.
    Есть астериск, на него приходят звонки как с GoIP шлюза, так и с ISDN. ISDN приходит на внутреннюю плату.
    при звонке на GoIP CallerID отдается 7ХХХХХХХХХХ, при звонке на ISDN - ХХХХХХХХХХ-Х(Х). Код страны злой ISDN съедает, зато дописывает в конце какую-то дополнительную цифирь.

    Лог из * при звонке на ISDN
    Показать скрытый текст
    [May 14 23:13:52] VERBOSE[4698][C-00000007] sig_pri.c: -- Going to extension s|1 because of Complete received

    [May 14 23:13:52] VERBOSE[4698][C-00000007] sig_pri.c: -- Accepting call from 'ХХХХХХХХХХ' to 's' on channel 0/1, span 4

    [May 14 23:13:52] VERBOSE[5047][C-00000007] pbx.c: -- Executing [s@from-dahdi:1] NoOp("DAHDI/i4/ХХХХХХХХХХ-5", "Entering from-dahdi with DID == ") in new stack

    [May 14 23:13:52] VERBOSE[5047][C-00000007] pbx.c: -- Executing [s@from-dahdi:2] Ringing("DAHDI/i4/ХХХХХХХХХХ-5", "") in new stack

    [May 14 23:13:52] VERBOSE[5047][C-00000007] pbx.c: -- Executing [s@from-dahdi:3] Set("DAHDI/i4/ХХХХХХХХХХ-5", "DID=s") in new stack

    [May 14 23:13:52] VERBOSE[5047][C-00000007] pbx.c: -- Executing [s@from-dahdi:4] NoOp("DAHDI/i4/ХХХХХХХХХХ-5", "DID is now s") in new stack

    [May 14 23:13:52] VERBOSE[5047][C-00000007] pbx.c: -- Executing [s@from-dahdi:5] GotoIf("DAHDI/i4/ХХХХХХХХХХ-5", "1?dahdiok:checkzap") in new stack
    Скрыть текст

    В chan_dahdi.conf -
    [channels]
    context=from-dahdi

    В dahdi-channels.conf спаны на карте указаны как "context=from-dahdi"

    Нарыл вот такой костыль, дабы откусить лишнее и приделать недостающее.
    Показать скрытый текст
    в extensions_custom.conf добавил
    [from-dahdi]
    exten => _.,1,Set(CALLERID(all)=7${CALLERID(num):-10:10}) ; :-10 означает что отчет начинам с десятого символа слева, :10 означает что берем с места отчета последующие 10 символов, и 7 означает что ко всему полученному номеру добавляем слева 7.
    exten => _.,2,Set(CALLERID(ANI-all)=${CALLERID(num)}) ; подставляем измененный cid для статистики cdr
    exten => _.,3,Goto(from-dahdi,${EXTEN},1) ; направляем измененные данные во from-trunk для последующей обработки
    Скрыть текст

    Влепил оный костыль, куда положено... ИИИИИ!!!
    Показать скрытый текст
    [May 15 11:38:18] VERBOSE[4698][C-00000009] sig_pri.c: -- Going to extension s|1 because of Complete received

    [May 15 11:38:18] VERBOSE[4698][C-00000009] sig_pri.c: -- Accepting call from 'ХХХХХХХХХХ' to 's' on channel 0/1, span 4

    [May 15 11:38:18] VERBOSE[6899][C-00000009] pbx.c: -- Executing [s@from-dahdi:1] NoOp("DAHDI/i4/ХХХХХХХХХХ-7", "Entering from-dahdi with DID == ") in new stack

    [May 15 11:38:18] VERBOSE[6899][C-00000009] pbx.c: -- Executing [s@from-dahdi:2] Ringing("DAHDI/i4/ХХХХХХХХХХ-7", "") in new stack

    [May 15 11:38:18] VERBOSE[6899][C-00000009] pbx.c: -- Executing [s@from-dahdi:3] Set("DAHDI/i4/ХХХХХХХХХХ-7", "DID=s") in new stack

    [May 15 11:38:18] VERBOSE[6899][C-00000009] pbx.c: -- Executing [s@from-dahdi:4] NoOp("DAHDI/i4/ХХХХХХХХХХ-7", "DID is now s") in new stack
    Скрыть текст

    как нетрудно убедиться - нихренасеньки не вышло. ЧЯДНТ?

    If VEGETarians eat VEGETables, what do HUMANitarians eat?
    Is PROgress controversial to CONgress?

  • Лучше все-таки X писать в шаблонах.

    exten => _X.,1,Set(CALLERID(all)=7${CALLERID(num):-10:10}) ;

    если не сработает всегда можно прямое правило прописать

    exten => s,1,Set(CALLERID(all)=7${CALLERID(num):-10:10}) ;

Записей на странице:

Перейти в форум

Модераторы: