Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2012-08-22 12:16:30 +0400

exseos Gravatar exseos

При трансфере задваивается UID записи звонка

Основная цель - ровная статистика при переводе вызова. Для перевода используется Если не употреблять local и/или ForkCDR, то получаю 2 записи в CDR:

"2012-08-22 12:05:57";"";"3452888888";"1503";"directdial-in";"IAX2/e1-2766";"SIP/1503-00001b7c";...;"1345615557.8257";...
"2012-08-22 12:06:00";"";"3452888888";"666";"phones-it";"SIP/1503-00001b7c";"IAX2/e1-14607";...;"1345615560.8258";...

тут всё красиво, но при этом в файлы плюхается uid первого соединения

IN..83452888888.2012.08.22.12.06.00.1345615557.8257.wav
OUT.999999...2012.08.22.12.06.07.1345615557.8257.wav

Вызов поступает с внешки, Dial'ится с SIP/1503 Затем оператор тычит **1(blindxfer) и набирает 666 Конфиг перевода такой:

    [perevod]
    exten => 666,1,NoOp()
    same => n,Set(CALLERID(all)=999999)
    same => n,StopMixMonitor()
    same => n,Gosub(sub-recording,8912231234,1)
    same => n,Dial(IAX2/e1/89121231234,,Tt)
    same => n,Hangup()

    [sub-recording]
    exten => _.,1,MixMonitor(${CALLREC_PREFIX}/${STRFTIME(,,%G)}/${STRFTIME(,,%m)}/
${STRFTIME(,,%d)}/OUT.${CALLERID(num)}.${CALLER}.${CALLERID(dnid)}.
${STRFTIME(,,%G.%m.%d.%H.%M.%S)}.${UNIQUEID}.wav,b)
    same => n,Return

На протяжении всех звонков/переводов, переменная ${UNIQUEID} содержит:

 -- Executing [666@phones-it:6] NoOp("IAX2/e1-2766", "1345615557.8257") in new stack

Т.е. данные канала входящего звонка и его UID

Вопроса два: 1. Откуда в базе берётся второй UID, если переменная ${UNIQUEID} нифига не меняется? =-) 2. Как на этапе перевода мне можно получить ${UNIQUEID} исходящего вызова, что бы подставить корректный UID в название файла? (сами записи разделяются, как и положено)

При трансфере задваивается UID записи звонка

Основная цель - ровная статистика при переводе вызова. Для перевода используется Если не употреблять local и/или ForkCDR, то features(blindxfer), получаю 2 записи в CDR:

"2012-08-22 12:05:57";"";"3452888888";"1503";"directdial-in";"IAX2/e1-2766";"SIP/1503-00001b7c";...;"1345615557.8257";...
"2012-08-22 12:06:00";"";"3452888888";"666";"phones-it";"SIP/1503-00001b7c";"IAX2/e1-14607";...;"1345615560.8258";...

тут всё красиво, но при этом в файлы плюхается uid первого соединения

IN..83452888888.2012.08.22.12.06.00.1345615557.8257.wav
OUT.999999...2012.08.22.12.06.07.1345615557.8257.wav

Вызов поступает с внешки, Dial'ится с SIP/1503 Затем оператор тычит **1(blindxfer) и набирает 666 Конфиг перевода такой:

    [perevod]
    exten => 666,1,NoOp()
    same => n,Set(CALLERID(all)=999999)
    same => n,StopMixMonitor()
    same => n,Gosub(sub-recording,8912231234,1)
    same => n,Dial(IAX2/e1/89121231234,,Tt)
    same => n,Hangup()

    [sub-recording]
    exten => _.,1,MixMonitor(${CALLREC_PREFIX}/${STRFTIME(,,%G)}/${STRFTIME(,,%m)}/
${STRFTIME(,,%d)}/OUT.${CALLERID(num)}.${CALLER}.${CALLERID(dnid)}.
${STRFTIME(,,%G.%m.%d.%H.%M.%S)}.${UNIQUEID}.wav,b)
    same => n,Return

На протяжении всех звонков/переводов, переменная ${UNIQUEID} содержит:

 -- Executing [666@phones-it:6] NoOp("IAX2/e1-2766", "1345615557.8257") in new stack

Т.е. данные канала входящего звонка и его UID

Вопроса два: 1. Откуда в базе берётся второй UID, если переменная ${UNIQUEID} нифига не меняется? =-) 2. Как на этапе перевода мне можно получить ${UNIQUEID} исходящего вызова, что бы подставить корректный UID в название файла? (сами записи разделяются, как и положено)

При трансфере задваивается UID записи звонка

Основная цель - ровная статистика при переводе вызова. Для перевода используется features(blindxfer), получаю 2 записи в CDR:

"2012-08-22 12:05:57";"";"3452888888";"1503";"directdial-in";"IAX2/e1-2766";"SIP/1503-00001b7c";...;"1345615557.8257";...
12:05:57";"";"3452888888";"1503";"directdial-in";"IAX2/e1-2766";"SIP/1503-00001b7c";...
    ;"1345615557.8257";...
"2012-08-22 12:06:00";"";"3452888888";"666";"phones-it";"SIP/1503-00001b7c";"IAX2/e1-14607";...;"1345615560.8258";...
12:06:00";"";"3452888888";"666";"phones-it";"SIP/1503-00001b7c";"IAX2/e1-14607";...
    ;"1345615560.8258";...

тут всё красиво, но при этом в файлы плюхается uid первого соединения

IN..83452888888.2012.08.22.12.06.00.1345615557.8257.wav
OUT.999999...2012.08.22.12.06.07.1345615557.8257.wav

Вызов поступает с внешки, Dial'ится с SIP/1503 Затем оператор тычит **1(blindxfer) и набирает 666 Конфиг перевода такой:

    [perevod]
    exten => 666,1,NoOp()
    same => n,Set(CALLERID(all)=999999)
    same => n,StopMixMonitor()
    same => n,Gosub(sub-recording,8912231234,1)
    same => n,Dial(IAX2/e1/89121231234,,Tt)
    same => n,Hangup()

    [sub-recording]
    exten => _.,1,MixMonitor(${CALLREC_PREFIX}/${STRFTIME(,,%G)}/${STRFTIME(,,%m)}/
${STRFTIME(,,%d)}/OUT.${CALLERID(num)}.${CALLER}.${CALLERID(dnid)}.
${STRFTIME(,,%G.%m.%d.%H.%M.%S)}.${UNIQUEID}.wav,b)
    same => n,Return

На протяжении всех звонков/переводов, переменная ${UNIQUEID} содержит:

 -- Executing [666@phones-it:6] NoOp("IAX2/e1-2766", "1345615557.8257") in new stack

Т.е. данные канала входящего звонка и его UID

Вопроса два: 1. Откуда в базе берётся второй UID, если переменная ${UNIQUEID} нифига не меняется? =-) 2. Как на этапе перевода мне можно получить ${UNIQUEID} исходящего вызова, что бы подставить корректный UID в название файла? (сами записи разделяются, как и положено)

При трансфере задваивается UID записи звонка

Основная цель - ровная статистика при переводе вызова. Для перевода используется features(blindxfer), получаю 2 записи в CDR:

"2012-08-22 12:05:57";"";"3452888888";"1503";"directdial-in";"IAX2/e1-2766";"SIP/1503-00001b7c";...
    ;"1345615557.8257";...
12:05:57";"";"3452888888";"1503";
"directdial-in";"IAX2/e1-2766";"SIP/1503-00001b7c";...;"1345615557.8257";...
"2012-08-22 12:06:00";"";"3452888888";"666";"phones-it";"SIP/1503-00001b7c";"IAX2/e1-14607";...
    ;"1345615560.8258";...
12:06:00";"";"3452888888";"666";
"phones-it";"SIP/1503-00001b7c";"IAX2/e1-14607";...;"1345615560.8258";...

тут всё красиво, но при этом в файлы плюхается uid первого соединения

IN..83452888888.2012.08.22.12.06.00.1345615557.8257.wav
OUT.999999...2012.08.22.12.06.07.1345615557.8257.wav

Вызов поступает с внешки, Dial'ится с SIP/1503 Затем оператор тычит **1(blindxfer) и набирает 666 Конфиг перевода такой:

    [perevod]
    exten => 666,1,NoOp()
    same => n,Set(CALLERID(all)=999999)
    same => n,StopMixMonitor()
    same => n,Gosub(sub-recording,8912231234,1)
    same => n,Dial(IAX2/e1/89121231234,,Tt)
    same => n,Hangup()

    [sub-recording]
    exten => _.,1,MixMonitor(${CALLREC_PREFIX}/${STRFTIME(,,%G)}/${STRFTIME(,,%m)}/
${STRFTIME(,,%d)}/OUT.${CALLERID(num)}.${CALLER}.${CALLERID(dnid)}.
${STRFTIME(,,%G.%m.%d.%H.%M.%S)}.${UNIQUEID}.wav,b)
    same => n,Return

На протяжении всех звонков/переводов, переменная ${UNIQUEID} содержит:

 -- Executing [666@phones-it:6] NoOp("IAX2/e1-2766", "1345615557.8257") in new stack

Т.е. данные канала входящего звонка и его UID

Вопроса два: 1. Откуда в базе берётся второй UID, если переменная ${UNIQUEID} нифига не меняется? =-) 2. Как на этапе перевода мне можно получить ${UNIQUEID} исходящего вызова, что бы подставить корректный UID в название файла? (сами записи разделяются, как и положено)

При трансфере задваивается UID записи звонкау обеих записей одинаков

Астер 1.8.7.1 Основная цель - ровная статистика при переводе вызова. Для перевода используется features(blindxfer), получаю 2 записи в CDR:

"2012-08-22 12:05:57";"";"3452888888";"1503";
"directdial-in";"IAX2/e1-2766";"SIP/1503-00001b7c";...;"1345615557.8257";...
"2012-08-22 12:06:00";"";"3452888888";"666";
"phones-it";"SIP/1503-00001b7c";"IAX2/e1-14607";...;"1345615560.8258";...

тут всё красиво, но при этом в файлы плюхается uid первого соединения

IN..83452888888.2012.08.22.12.06.00.1345615557.8257.wav
OUT.999999...2012.08.22.12.06.07.1345615557.8257.wav

Вызов поступает с внешки, Dial'ится с SIP/1503 Затем оператор тычит **1(blindxfer) и набирает 666 Конфиг перевода такой:

    [perevod]
    exten => 666,1,NoOp()
    same => n,Set(CALLERID(all)=999999)
    same => n,StopMixMonitor()
    same => n,Gosub(sub-recording,8912231234,1)
    same => n,Dial(IAX2/e1/89121231234,,Tt)
    same => n,Hangup()

    [sub-recording]
    exten => _.,1,MixMonitor(${CALLREC_PREFIX}/${STRFTIME(,,%G)}/${STRFTIME(,,%m)}/
${STRFTIME(,,%d)}/OUT.${CALLERID(num)}.${CALLER}.${CALLERID(dnid)}.
${STRFTIME(,,%G.%m.%d.%H.%M.%S)}.${UNIQUEID}.wav,b)
    same => n,Return

На протяжении всех звонков/переводов, переменная ${UNIQUEID} содержит:

 -- Executing [666@phones-it:6] NoOp("IAX2/e1-2766", "1345615557.8257") in new stack

Т.е. данные канала входящего звонка и его UID

Вопроса два: 1. Откуда в базе берётся второй UID, если переменная ${UNIQUEID} нифига не меняется? =-) 2. Как на этапе перевода мне можно получить ${UNIQUEID} исходящего вызова, что бы подставить корректный UID в название файла? (сами записи разделяются, как и положено)

При трансфере UID у обеих записей одинаковразговоров одинаковый UID

Астер 1.8.7.1 Основная цель - ровная статистика при переводе вызова. Для перевода используется features(blindxfer), получаю 2 записи в CDR:

"2012-08-22 12:05:57";"";"3452888888";"1503";
"directdial-in";"IAX2/e1-2766";"SIP/1503-00001b7c";...;"1345615557.8257";...
"2012-08-22 12:06:00";"";"3452888888";"666";
"phones-it";"SIP/1503-00001b7c";"IAX2/e1-14607";...;"1345615560.8258";...

тут всё красиво, но при этом в файлы плюхается uid первого соединения

IN..83452888888.2012.08.22.12.06.00.1345615557.8257.wav
OUT.999999...2012.08.22.12.06.07.1345615557.8257.wav

Вызов поступает с внешки, Dial'ится с SIP/1503 Затем оператор тычит **1(blindxfer) и набирает 666 Конфиг перевода такой:

    [perevod]
    exten => 666,1,NoOp()
    same => n,Set(CALLERID(all)=999999)
    same => n,StopMixMonitor()
    same => n,Gosub(sub-recording,8912231234,1)
    same => n,Dial(IAX2/e1/89121231234,,Tt)
    same => n,Hangup()

    [sub-recording]
    exten => _.,1,MixMonitor(${CALLREC_PREFIX}/${STRFTIME(,,%G)}/${STRFTIME(,,%m)}/
${STRFTIME(,,%d)}/OUT.${CALLERID(num)}.${CALLER}.${CALLERID(dnid)}.
${STRFTIME(,,%G.%m.%d.%H.%M.%S)}.${UNIQUEID}.wav,b)
    same => n,Return

На протяжении всех звонков/переводов, переменная ${UNIQUEID} содержит:

 -- Executing [666@phones-it:6] NoOp("IAX2/e1-2766", "1345615557.8257") in new stack

Т.е. данные канала входящего звонка и его UID

Вопроса два: 1. Откуда в базе берётся второй UID, если переменная ${UNIQUEID} нифига не меняется? =-) 2. Как на этапе перевода мне можно получить ${UNIQUEID} исходящего вызова, что бы подставить корректный UID в название файла? (сами записи разделяются, как и положено)

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.