ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Странности в CDR

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Странности в CDR

Сообщение Volosko » 03 апр 2018, 16:21

Помогите разобраться пожауйста.

Проблема логирования при входящих звонках.
Иногда несколько внутренних номеров имеют статус ANSWERED при том что по факту такого числа ответов точно не было.


[Показать] Спойлер: extensions.conf
[Incoming]
exten => s,1,wait(2)
exten => номер1,1,GoTo(Incoming-1,s,1)
exten => номер2,1,GoTo(Incoming-2,s,1)
exten => номер3,1,GoTo(Incoming-3,s,1)
exten => номер4,1,GoTo(Incoming-4,s,1)

[Incoming-2]

exten => s,1,wait(1)
exten => s,n,Answer()
exten => s,n,Set(MPATH=/opt/records_mp3/номер2)
exten => s,n,GotoIfTime(22:00-08:00,*,*,*?Incoming-night,s,1)
exten => s,n,GoTo(t,2)

exten => _#,1,NoOp(Прослушать сообщения снова)
exten => _#,n,Goto(Incoming-2,s,restart)

exten => _1,1,NoOp(блаблабла)
exten => _1,n,Set(RECORDING=1)
exten => _1,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _1,n,Dial(SIP/1003&SIP/2001&SIP/4001&SIP/4002&SIP/1004&SIP/4415,,tTgm)
exten => _1,n,Hangup()

exten => _2,1,NoOp(блаблабла)
exten => _2,n,Set(RECORDING=1)
exten => _2,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _2,n,Dial(SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,,tTgm)
exten => _2,n,Hangup()

exten => _3,1,NoOp(блаблабла)
exten => _3,n,Set(RECORDING=1)
exten => _3,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _3,n,Dial(SIP/1002&SIP/2001&SIP/1004,,tTgm)
exten => _3,n,Hangup()

exten => i,1,Dial(SIP/1003&SIP/4415&SIP/4001&SIP/4002&SIP/1004)

exten => t,1,NoOp(Входящий звонок на номер номер2)
exten => t,n(blablabla),Set(RECORDING=1)
exten => t,n,Set(EXTEN=номер2)
exten => t,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => t,n,Dial(SIP/1003&SIP/2001&SIP/1004,12,tTgm)
exten => t,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?answer)
exten => t,n,Dial(SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm)
exten => t,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?answer)
exten => t,n,Dial(SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,55,tTgm)
exten => t,n,PlayBack(${SPATH}/hangup)
exten => t,n(answer),NoOp(Звонок завершен)
exten => t,n,Hangup()


и в логах CDR получается такое:

НОРМАЛЬНАЯ ЗАПИСЬ:
[Показать] Спойлер:
calldate clid src dst dcontext channel dstchannel lastapp lastdata duration billsec disposition
03.04.2018 14:09:52 "****" <****> **** t Incoming-1 SIP/****-00000a56 SIP/2001-00000a5e Dial SIP/1001&SIP/1002&SIP/1004&SIP/1005&SIP/2001,12,tTgm 4 4 NO ANSWER
03.04.2018 14:09:52 "****" <****> **** t Incoming-1 SIP/****-00000a56 SIP/1004-00000a5d Dial SIP/1001&SIP/1002&SIP/1004&SIP/1005&SIP/2001,12,tTgm 4 4 NO ANSWER
03.04.2018 14:09:52 "****" <****> **** t Incoming-1 SIP/****-00000a56 SIP/1002-00000a5c Dial SIP/1001&SIP/1002&SIP/1004&SIP/1005&SIP/2001,12,tTgm 4 4 NO ANSWER
03.04.2018 14:09:28 "****" <****> **** t Incoming-1 SIP/****-00000a56 SIP/1001-00000a5b Dial SIP/1001&SIP/1002&SIP/1004&SIP/1005&SIP/2001,12,tTgm 94 94 ANSWERED
03.04.2018 14:11:02 "****" <****> **** t Incoming-1 SIP/****-00000a56 Hangup 0 0 ANSWERED


НЕНОРМАЛЬНАЯ ЗАПИСЬ:
[Показать] Спойлер:
id calldate clid src dst dcontext channel dstchannel lastapp lastdata duration billsec disposition uniqueid
336 000 03.04.2018 13:26:53 "****" <****> **** t Incoming-RSM SIP/****-000009b5 Hangup 0 0 ANSWERED 1522751092.16666
335 991 03.04.2018 13:24:52 "****" <****> **** t Incoming-RSM SIP/****-000009b5 SIP/1003-000009b6 Dial SIP/1003&SIP/2001&SIP/1004,12,tTgm 13 12 NO ANSWER 1522751092.16666
335 992 03.04.2018 13:24:54 "****" <****> **** t Incoming-RSM SIP/****-000009b5 SIP/2001-000009b7 Dial SIP/1003&SIP/2001&SIP/1004,12,tTgm 11 11 NO ANSWER 1522751092.16666
335 993 03.04.2018 13:24:54 "****" <****> **** t Incoming-RSM SIP/****-000009b5 SIP/1004-000009b8 Dial SIP/1003&SIP/2001&SIP/1004,12,tTgm 11 11 NO ANSWER 1522751092.16666
335 994 03.04.2018 13:25:06 "****" <****> **** t Incoming-RSM SIP/****-000009b5 SIP/1003-000009b9 Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 5 5 NO ANSWER 1522751092.16666
335 995 03.04.2018 13:25:06 "****" <****> **** t Incoming-RSM SIP/****-000009b5 SIP/4415-000009ba Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 5 5 ANSWERED 1522751092.16666
335 996 03.04.2018 13:25:06 "****" <****> **** t Incoming-RSM SIP/****-000009b5 SIP/2001-000009bb Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 5 5 ANSWERED 1522751092.16666
335 997 03.04.2018 13:25:06 "****" <****> **** t Incoming-RSM SIP/****-000009b5 SIP/4001-000009bc Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 5 5 ANSWERED 1522751092.16666
335 998 03.04.2018 13:25:06 "****" <****> **** t Incoming-RSM SIP/****-000009b5 SIP/1004-000009bd Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 5 5 ANSWERED 1522751092.16666
335 999 03.04.2018 13:25:11 "****" <****> **** t Incoming-RSM SIP/****-000009b5 SIP/1001-000009be Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 101 101 ANSWERED 1522751092.16666



Если кратко:
при работе этой строки: exten => t,n,Dial(SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm)
в CDR получается запись что все номера из этой строки имеют статус ANSWERED.
Хотя должен быть один ANSWERED и остальные NO ANSWER

Asterisk 13.1.0~dfsg-1.1ubuntu4.1 built by buildd @ lgw01-13 on a x86_64 running Linux on 2017-04-04 11:28:35 UTC
Volosko
 
Сообщений: 26
Зарегистрирован: 03 апр 2018, 15:46

Re: Странности в CDR

Сообщение Wapo » 03 апр 2018, 16:42

Стандартное поведение в 13-версии астера.
В 11 версии при вызове группы записывается ТОЛЬКО одна запись именно ответившего.
Аватар пользователя
Wapo
 
Сообщений: 795
Зарегистрирован: 02 мар 2011, 18:53

Re: Странности в CDR

Сообщение ded » 03 апр 2018, 16:47

В ваших двух примерах - нормальном и ненормальном, вызов обрабатывается в разных контекстах
Incoming-1 - в первом случае, и
Incoming-RSM - во втором.

Строчка
exten => t,n,Dial(SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm)
присутствует видать и в Incoming-1 и в Incoming-RSM, и это сбивает с толку.
Скорее всего в Incoming-RSM входящий начинается с шага
exten => t,1,Answer
поэтому разночтение в CDR.

Как обычно - все ответы у вас под ногами, внимательно разбирайте по ниточке.
Приведён диалплан
exten => номер1,1,GoTo(Incoming-1,s,1)
exten => номер2,1,GoTo(Incoming-2,s,1)
exten => номер3,1,GoTo(Incoming-3,s,1)
exten => номер4,1,GoTo(Incoming-4,s,1)
и ниже - только контекст Incoming-2. А где остальные? И где Incoming-RSM?
А что такое exten => _1,1 ? exten => _2,1? exten => _3,1? А вы книжку по Астериску читали? Что такое за знак _ - знаете?
Последний раз редактировалось ded 03 апр 2018, 16:51, всего редактировалось 1 раз.
ded
 
Сообщений: 15801
Зарегистрирован: 26 авг 2010, 19:00

Re: Странности в CDR

Сообщение ded » 03 апр 2018, 16:47

Wapo писал(а):Стандартное поведение в 13-версии астера.
В 11 версии при вызове группы записывается ТОЛЬКО одна запись именно ответившего.

У него два различных поведения на одном и том же Астериске.
ded
 
Сообщений: 15801
Зарегистрирован: 26 авг 2010, 19:00

Re: Странности в CDR

Сообщение Volosko » 03 апр 2018, 17:35

Incoming-2 = Incomig-RSM чтобы не путать вас аббревиатурами я заменил все названия, но часть из них пропустил, из-за спешки, извините. :oops:

Начало
[Показать] Спойлер:
[Incoming-1]
exten => s,1,Set(MPATH=/opt/records_mp3/номер1)
exten => s,n,GotoIfTime(22:00-08:00,*,*,*?Incoming-night,s,1)
exten => s,n(restart),BackGround(${SPATH}/WelcomeIVR1)
exten => s,n,WaitExten(2)

[Incoming-2] (он же [Incoming-RSM])
exten => s,1,wait(1)
exten => s,n,Answer()
exten => s,n,Set(MPATH=/opt/records_mp3/номер2)
exten => s,n,GotoIfTime(22:00-08:00,*,*,*?Incoming-night,s,1)
exten => s,n,GoTo(t,2)



про символ "_" В файле extensions.conf имя екстеншена является шаблоном, если оно начинается с символа подчеркивания (_). Или я не правильно понял эту фразу ?


Wapo писал(а):Стандартное поведение в 13-версии астера.
В 11 версии при вызове группы записывается ТОЛЬКО одна запись именно ответившего.


да при переходе с 11 на 13 ую это стало заметно. Но ! Одно НО иногда на все номера из внутреннего дозвона !!всем!! ставится ANSWER.

Еще раз:
[Показать] Спойлер:
Правильная запись одного звонка
lastdata duration billsec disposition
SIP/2001&SIP/2002&SIP/2003&SIP/2004&SIP/1004,,tTgm 149 149 ANSWERED
SIP/2001&SIP/2002&SIP/2003&SIP/2004&SIP/1004,,tTgm 8 8 NO ANSWER
SIP/2001&SIP/2002&SIP/2003&SIP/2004&SIP/1004,,tTgm 8 8 NO ANSWER
SIP/2001&SIP/2002&SIP/2003&SIP/2004&SIP/1004,,tTgm 8 8 NO ANSWER
SIP/2001&SIP/2002&SIP/2003&SIP/2004&SIP/1004,,tTgm 8 8 NO ANSWER

Неправильная запись одного звонка
lastdata duration billsec disposition
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 10 10 NO ANSWER
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 10 10 ANSWERED
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 11 11 ANSWERED
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 11 11 ANSWERED
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 11 11 ANSWERED
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 21 21 ANSWERED
Volosko
 
Сообщений: 26
Зарегистрирован: 03 апр 2018, 15:46

Re: Странности в CDR

Сообщение Volosko » 03 апр 2018, 18:28

Уважаемые форумчане, я нуб, но что такое шаблон вида "_X" , и exten => _1 _2 это рудименты от прошлых попыток настроек с ivr, и в целом я понимаю что эти секции надо переделать.

Я знаю что в 13ой версии каждый диал это отдельная запись в лог, и это хорошо, но и плохо :)

Мне интересно вот что, на одном конфиге, на одном сервере, в одной БД происходит:

Звонок-1
lastdata duration billsec disposition
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 10 10 NO ANSWER
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 10 10 ANSWERED
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 11 11 ANSWERED
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 11 11 ANSWERED
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 11 11 ANSWERED
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 21 21 ANSWERED

И почему астер уверенно считает, что на звонок ответили все телефоны и говорили одно и то же время ?!

Звонок-2
lastdata duration billsec disposition
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 49 49 ANSWERED
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 0 0 NO ANSWER
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 0 0 NO ANSWER
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 0 0 NO ANSWER
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 0 0 NO ANSWER


все incoming extensions.conf


[Показать] Спойлер:
[default]
exten => _X.,1,NoOp(Действие по умолчанию для ${CALLERID(num)})
exten => _X.,n,Hangup()

[Incoming]
exten => s,1,wait(2)
exten => номер1,1,GoTo(Incoming-n1,s,1)
exten => номер2,1,GoTo(Incoming-n2,s,1)
exten => номер3,1,GoTo(Incoming-n3,s,1)
exten => номер4,1,GoTo(Incoming-n4,s,1)

[Incoming-n1]

exten => s,1,Set(MPATH=/opt/records_mp3/номер1)
exten => s,n,GotoIfTime(22:00-08:00,*,*,*?Incoming-night,s,1)
exten => s,n(restart),BackGround(${SPATH}/WelcomeIVR1)
exten => s,n,WaitExten(2)



exten => _#,1,NoOp(Прослушать сообщения снова)
exten => _#,n,Goto(Incoming-n1,s,restart)



exten => _1,1,NoOp(Оператор1)
exten => _1,n,Set(RECORDING=1)
exten => _1,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _1,n,Dial(SIP/2001&SIP/2002&SIP/2003&SIP/2004&SIP/1004,,tTgm)
exten => _1,n,Hangup()


exten => _2,1,NoOp(Ресепшн1)
exten => _2,n,Set(RECORDING=1)
exten => _2,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _2,n,Dial(SIP/1001&SIP/1002&SIP/2001&SIP/1004,,tTgm)
exten => _2,n,Hangup()


exten => _3,1,NoOp(Входящий звонок в XXX)
exten => _3,n,Set(RECORDING=1)
exten => _3,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _3,n,Dial(SIP/1003&SIP/4001&SIP/1004&SIP/4415,,tTgm)
exten => _3,n,Hangup()

exten => i,1,Dial(SIP/1000)
;#Этот звонок пойдет на ресепшн, если абонент выбрал несуществующее направление.

exten => 1000,1,NoOp(RINGGROUP)
exten => 1000,n,Set(RECORDING=1)
exten => 1000,n,Set(MPATH=/opt/records_mp3/номер1)
exten => 1000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 1000,n,Queue(ringgroup-1,tTgm)
exten => 1000,n,HangUp()

exten => 2000,1,NoOp(RINGGROUP)
exten => 2000,n,Set(RECORDING=1)
exten => 2000,n,Set(MPATH=/opt/records_mp3/номер1)
exten => 2000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 2000,n,Queue(ringgroup-2,tTgm)
exten => 2000,n,HangUp()

exten => 3000,1,NoOp(RINGGROUP)
exten => 3000,n,Set(RECORDING=1)
exten => 3000,n,Set(MPATH=/opt/records_mp3/номер1)
exten => 3000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 3000,n,Queue(ringgroup-3,tTgm)
exten => 3000,n,HangUp()

exten => 4000,1,NoOp(RINGGROUP)
exten => 4000,n,Set(RECORDING=1)
exten => 4000,n,Set(MPATH=/opt/records_mp3/номер1)
exten => 4000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 4000,n,Queue(ringgroup-4,tTgm)
exten => 4000,n,HangUp()

exten => 5000,1,NoOp(RINGGROUP)
exten => 5000,n,Set(RECORDING=1)
exten => 5000,n,Set(MPATH=/opt/records_mp3/номер1)
exten => 5000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 5000,n,Queue(ringgroup-5,tTgm)
exten => 5000,n,HangUp()

exten => 6000,1,NoOp(RINGGROUP)
exten => 6000,n,Set(RECORDING=1)
exten => 6000,n,Set(MPATH=/opt/records_mp3/номер1)
exten => 6000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 6000,n,Queue(ringgroup-6,tTgm)
exten => 6000,n,HangUp()

exten => 7000,1,NoOp(RINGGROUP)
exten => 7000,n,Set(RECORDING=1)
exten => 7000,n,Set(MPATH=/opt/records_mp3/номер1)
exten => 7000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 7000,n,Queue(ringgroup-7,tTgm)
exten => 7000,n,HangUp()

exten => 8000,1,NoOp(RINGGROUP)
exten => 8000,n,Set(RECORDING=1)
exten => 8000,n,Set(MPATH=/opt/records_mp3/номер1)
exten => 8000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 8000,n,Queue(ringgroup-8,tTgm)
exten => 8000,n,HangUp()

exten => _XXX[1-9],1,NoOp(local number)
exten => _XXX[1-9],n,Set(RECORDING=1)
exten => _XXX[1-9],n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _XXX[1-9],n,Dial(SIP/${EXTEN},30,tTgm)
exten => _XXX[1-9],n,Hangup()
;#Если тот кто звонит знает внутренний номер сотрудника, то для эти строчки для него.

;#номер куда скидываем неответы и отправляем голос на емыло
exten => 9999,1,NoOp(Voicemail handler)
;exten => 9999,2,Set(MONITOR_FILE=/opt/voicebox/${UNIQUEID})
exten => 9999,2,Set(MONITOR_FILE=/opt/voicebox/${STRFTIME(${EPOCH},,%Y-%m-%d__%H-%M-%S)}__${CALLERID(num)})
exten => 9999,3,MixMonitor(${MONITOR_FILE}.wav,b)
exten => 9999,4,Set(CDR(accountcode)=voicemail)
exten => 9999,5,VoiceMail(9999@voicebox)
exten => 9999,6,Hangup

exten => t,1,NoOp(Входящий звонок на номер номер1)
exten => t,n,Set(RECORDING=1)
exten => t,n,Set(EXTEN=номер1)
exten => t,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => t,n,Dial(SIP/1001&SIP/1002&SIP/1004&SIP/1005&SIP/2001,12,tTgm)
exten => t,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?answer)
exten => t,n,Background(${SPATH}/hold)
exten => t,n,Dial(SIP/2001&SIP/2002&SIP/2003&SIP/2004&SIP/2005&SIP/1004,12,tTgm)
exten => t,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?answer)
exten => t,n,Background(${SPATH}/hold)
exten => t,n,Dial(SIP/1001&SIP/1002&SIP/1004&SIP/1005&SIP/2001&SIP/2002&SIP/2003&SIP/2004&SIP/2005,55,tTgm)
exten => t,n,PlayBack(${SPATH}/hangup)
exten => t,n(answer),NoOp(Звонок завершен)
exten => t,n,Hangup()

[Incoming-n2]
exten => s,1,wait(1)
exten => s,n,Answer()
exten => s,n,Set(MPATH=/opt/records_mp3/номер2)
exten => s,n,GotoIfTime(22:00-08:00,*,*,*?Incoming-night,s,1)
exten => s,n,GoTo(t,2)

exten => _#,1,NoOp(Прослушать сообщения снова)
exten => _#,n,Goto(Incoming-n2,s,restart)
;# для тех кто нажал решетку проигрываем сообщение заново.

exten => _1,1,NoOp(вызов NNN)
exten => _1,n,Set(RECORDING=1)
exten => _1,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _1,n,Dial(SIP/1003&SIP/2001&SIP/4001&SIP/4002&SIP/1004&SIP/4415,,tTgm)
exten => _1,n,Hangup()
;# для тех кто нажал 1

exten => _2,1,NoOp(запись на NNN)
exten => _2,n,Set(RECORDING=1)
exten => _2,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _2,n,Dial(SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,,tTgm)
exten => _2,n,Hangup()
;# для тех кто нажал 2

exten => _3,1,NoOp(В NNNN)
exten => _3,n,Set(RECORDING=1)
exten => _3,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _3,n,Dial(SIP/1002&SIP/2001&SIP/1004,,tTgm)
exten => _3,n,Hangup()
;# для тех кто нажал 3

exten => i,1,Dial(SIP/1003&SIP/4415&SIP/4001&SIP/4002&SIP/1004)
;#Этот звонок пойдет на ресепшн, если абонент выбрал несуществующее направление.


exten => 1000,1,NoOp(RINGGROUP)
exten => 1000,n,Set(RECORDING=1)
exten => 1000,n,Set(MPATH=/opt/records_mp3/номер2)
exten => 1000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 1000,n,Queue(ringgroup-1,tTgm)
exten => 1000,n,HangUp()

exten => 2000,1,NoOp(RINGGROUP)
exten => 2000,n,Set(RECORDING=1)
exten => 2000,n,Set(MPATH=/opt/records_mp3/номер2)
exten => 2000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 2000,n,Queue(ringgroup-2,tTgm)
exten => 2000,n,HangUp()

exten => 3000,1,NoOp(RINGGROUP)
exten => 3000,n,Set(RECORDING=1)
exten => 3000,n,Set(MPATH=/opt/records_mp3/номер2)
exten => 3000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 3000,n,Queue(ringgroup-3,tTgm)
exten => 3000,n,HangUp()

exten => 4000,1,NoOp(RINGGROUP)
exten => 4000,n,Set(RECORDING=1)
exten => 4000,n,Set(MPATH=/opt/records_mp3/номер2)
exten => 4000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 4000,n,Queue(ringgroup-4,tTgm)
exten => 4000,n,HangUp()

exten => 5000,1,NoOp(RINGGROUP)
exten => 5000,n,Set(RECORDING=1)
exten => 5000,n,Set(MPATH=/opt/records_mp3/номер2)
exten => 5000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 5000,n,Queue(ringgroup-5,tTgm)
exten => 5000,n,HangUp()

exten => 6000,1,NoOp(RINGGROUP)
exten => 6000,n,Set(RECORDING=1)
exten => 6000,n,Set(MPATH=/opt/records_mp3/номер2)
exten => 6000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 6000,n,Queue(ringgroup-6,tTgm)
exten => 6000,n,HangUp()

exten => 7000,1,NoOp(RINGGROUP)
exten => 7000,n,Set(RECORDING=1)
exten => 7000,n,Set(MPATH=/opt/records_mp3/номер2)
exten => 7000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 7000,n,Queue(ringgroup-7,tTgm)
exten => 7000,n,HangUp()

exten => 8000,1,NoOp(RINGGROUP)
exten => 8000,n,Set(RECORDING=1)
exten => 8000,n,Set(MPATH=/opt/records_mp3/номер2)
exten => 8000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 8000,n,Queue(ringgroup-8,tTgm)
exten => 8000,n,HangUp()

exten => _XXX[1-9],1,NoOp(local number)
exten => _XXX[1-9],n,Set(RECORDING=1)
exten => _XXX[1-9],n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _XXX[1-9],n,Dial(SIP/${EXTEN},30,tTgm)
exten => _XXX[1-9],n,Hangup()

exten => t,1,NoOp(Входящий звонок на номер номер2)
exten => t,n(blablabla),Set(RECORDING=1)
exten => t,n,Set(EXTEN=номер2)
exten => t,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => t,n,Dial(SIP/1003&SIP/2001&SIP/1004,12,tTgm)
exten => t,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?answer)
exten => t,n,Dial(SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm)
exten => t,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?answer)
exten => t,n,Dial(SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,55,tTgm)
exten => t,n,PlayBack(${SPATH}/hangup)
exten => t,n(answer),NoOp(Звонок завершен)
exten => t,n,Hangup()


[Incoming-n3]
exten => s,1,wait(4)
exten => s,n,Answer()
exten => s,n,Set(MPATH=/opt/records_mp3/номер3)
exten => s,n,GotoIfTime(20:00-08:00,*,*,*?Incoming-night,s,1)
exten => s,n(restart),BackGround(${SPATH}/welcome3)
exten => s,n,WaitExten(2)

exten => 1000,1,NoOp(RINGGROUP)
exten => 1000,n,Set(RECORDING=1)
exten => 1000,n,Set(MPATH=/opt/records_mp3/номер3)
exten => 1000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 1000,n,Queue(ringgroup-1,tTgm)
exten => 1000,n,HangUp()

exten => 2000,1,NoOp(RINGGROUP)
exten => 2000,n,Set(RECORDING=1)
exten => 2000,n,Set(MPATH=/opt/records_mp3/номер3)
exten => 2000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 2000,n,Queue(ringgroup-2,tTgm)
exten => 2000,n,HangUp()

exten => 3000,1,NoOp(RINGGROUP)
exten => 3000,n,Set(RECORDING=1)
exten => 3000,n,Set(MPATH=/opt/records_mp3/номер3)
exten => 3000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 3000,n,Queue(ringgroup-3,tTgm)
exten => 3000,n,HangUp()

exten => 4000,1,NoOp(RINGGROUP)
exten => 4000,n,Set(RECORDING=1)
exten => 4000,n,Set(MPATH=/opt/records_mp3/номер3)
exten => 4000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 4000,n,Queue(ringgroup-4,tTgm)
exten => 4000,n,HangUp()

exten => 5000,1,NoOp(RINGGROUP)
exten => 5000,n,Set(RECORDING=1)
exten => 5000,n,Set(MPATH=/opt/records_mp3/номер3)
exten => 5000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 5000,n,Queue(ringgroup-5,tTgm)
exten => 5000,n,HangUp()

exten => 6000,1,NoOp(RINGGROUP)
exten => 6000,n,Set(RECORDING=1)
exten => 6000,n,Set(MPATH=/opt/records_mp3/номер3)
exten => 6000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 6000,n,Queue(ringgroup-6,tTgm)
exten => 6000,n,HangUp()

exten => 7000,1,NoOp(RINGGROUP)
exten => 7000,n,Set(RECORDING=1)
exten => 7000,n,Set(MPATH=/opt/records_mp3/номер3)
exten => 7000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 7000,n,Queue(ringgroup-7,tTgm)
exten => 7000,n,HangUp()

exten => 8000,1,NoOp(RINGGROUP)
exten => 8000,n,Set(RECORDING=1)
exten => 8000,n,Set(MPATH=/opt/records_mp3/номер3)
exten => 8000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 8000,n,Queue(ringgroup-8,tTgm)
exten => 8000,n,HangUp()

exten => t,1,NoOp(Входящий звонок на номер номер3)
exten => t,n,Set(RECORDING=1)
exten => t,n,Set(EXTEN=номер3)
exten => t,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => t,n,Dial(SIP/6001,20,tTgm)
exten => t,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?answer)
exten => t,n,Background(${SPATH}/hold)
exten => t,n,Dial(SIP/6001&SIP7001&SIP/7002&SIP/7003,15,tTgm)
exten => t,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?answer)
exten => t,n,Background(${SPATH}/hold)
exten => t,n,Dial(SIP/6001&SIP/7001&SIP/7002&SIP/7003,30,tTgm)
exten => t,n,PlayBack(${SPATH}/hangup)
exten => t,n(answer),NoOp(Звонок завершен)
exten => t,n,Hangup()

exten => i,1,NoOp(неправильно набран номер)
exten => i,n,PlayBack(pbx-invalid)
exten => i,n,GoTo(Incoming-n3,restart)

[Incoming-n4]
exten => s,1,wait(3)
exten => s,n,Answer()
exten => s,n,Set(MPATH=/opt/records_mp3/номер4)
exten => s,n,GotoIfTime(20:00-08:00,*,*,*?Incoming-night,s,1)
; # exten => s,n(restart),BackGround(${SPATH}/welcome4)
exten => s,n,WaitExten(1)

exten => 1000,1,NoOp(RINGGROUP)
exten => 1000,n,Set(RECORDING=1)
exten => 1000,n,Set(MPATH=/opt/records_mp3/номер4)
exten => 1000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 1000,n,Queue(ringgroup-1,tTgm)
exten => 1000,n,HangUp()

exten => 2000,1,NoOp(RINGGROUP)
exten => 2000,n,Set(RECORDING=1)
exten => 2000,n,Set(MPATH=/opt/records_mp3/номер4)
exten => 2000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 2000,n,Queue(ringgroup-2,tTgm)
exten => 2000,n,HangUp()

exten => 3000,1,NoOp(RINGGROUP)
exten => 3000,n,Set(RECORDING=1)
exten => 3000,n,Set(MPATH=/opt/records_mp3/номер4)
exten => 3000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 3000,n,Queue(ringgroup-3,tTgm)
exten => 3000,n,HangUp()

exten => 4000,1,NoOp(RINGGROUP)
exten => 4000,n,Set(RECORDING=1)
exten => 4000,n,Set(MPATH=/opt/records_mp3/номер4)
exten => 4000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 4000,n,Queue(ringgroup-4,tTgm)
exten => 4000,n,HangUp()

exten => 5000,1,NoOp(RINGGROUP)
exten => 5000,n,Set(RECORDING=1)
exten => 5000,n,Set(MPATH=/opt/records_mp3/номер4)
exten => 5000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 5000,n,Queue(ringgroup-5,tTgm)
exten => 5000,n,HangUp()

exten => 6000,1,NoOp(RINGGROUP)
exten => 6000,n,Set(RECORDING=1)
exten => 6000,n,Set(MPATH=/opt/records_mp3/номер4)
exten => 6000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 6000,n,Queue(ringgroup-6,tTgm)
exten => 6000,n,HangUp()

exten => 7000,1,NoOp(RINGGROUP)
exten => 7000,n,Set(RECORDING=1)
exten => 7000,n,Set(MPATH=/opt/records_mp3/номер4)
exten => 7000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 7000,n,Queue(ringgroup-7,tTgm)
exten => 7000,n,HangUp()

exten => 8000,1,NoOp(RINGGROUP)
exten => 8000,n,Set(RECORDING=1)
exten => 8000,n,Set(MPATH=/opt/records_mp3/номер4)
exten => 8000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 8000,n,Queue(ringgroup-8,tTgm)
exten => 8000,n,HangUp()

exten => 9000,1,NoOp(RINGGROUP)
exten => 9000,n,Set(RECORDING=1)
exten => 9000,n,Set(MPATH=/opt/records_mp3/номер4)
exten => 9000,n,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 9000,n,Queue(ringgroup-8,tTgm)
exten => 9000,n,HangUp()

exten => t,1,NoOp(Входящий звонок на номер номер4)
exten => t,n,Set(RECORDING=1)
exten => t,n,Set(EXTEN=номер4)
exten => t,n,Macro(recording,${CALLERID(num)},${EXTEN})

exten => t,n,Dial(SIP/4415,15,tTgm)
exten => t,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?answer)
exten => t,n,Dial(SIP/4415,15,tTgm)
exten => t,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?answer)
exten => t,n,Dial(SIP/4415,30,tTgm)
exten => t,n(answer),NoOp(Звонок завершен)
exten => t,n,Hangup()

exten => i,1,NoOp(неправильно набран номер)
exten => i,n,PlayBack(pbx-invalid)
exten => i,n,GoTo(Incoming-n4,restart)


[Incoming-night]
exten => s,1,wait(3)
exten => s,n,NoOp(Voicemail handler)
exten => s,n,Set(MONITOR_FILE=/opt/voicebox/${STRFTIME(${EPOCH},,%Y-%m-%d__%H-%M-%S)}__${CALLERID(num)})
exten => s,n,MixMonitor(${MONITOR_FILE}.wav,b)
exten => s,n,Set(CDR(accountcode)=voicemail)
exten => s,n,VoiceMail(9999@voicebox)
exten => s,n,Hangup



Пожалуйста, посмотрите, вдруг что придет в вашу светлую голову! А то моя сломалась уже.

И это я еще не спросил у вас почему CEL через ODBC пишет в mysql CP1252? хотя при том что в ODBC.ini стоит Charset=utf8 )))
Volosko
 
Сообщений: 26
Зарегистрирован: 03 апр 2018, 15:46

Re: Странности в CDR

Сообщение ded » 03 апр 2018, 19:53

Проверьте мою курсовую работу по матанализу, а то я уже ничего не понимаю!
Для отстающих студентов - повторяю жирным.

[Incoming-n1]

exten => s,1,Set(MPATH=/opt/records_mp3/номер1)
exten => s,n,GotoIfTime(22:00-08:00,*,*,*?Incoming-night,s,1)
exten => s,n(restart),BackGround(${SPATH}/WelcomeIVR1)
exten => s,n,WaitExten(2)

[Incoming-n2]
exten => s,1,wait(1)
exten => s,n,Answer()
exten => s,n,Set(MPATH=/opt/records_mp3/номер2)
exten => s,n,GotoIfTime(22:00-08:00,*,*,*?Incoming-night,s,1)
exten => s,n,GoTo(t,2)
ded писал(а):Скорее всего в Incoming-RSM входящий начинается с шага
exten => t,1,Answer
поэтому разночтение в CDR.?
Volosko писал(а):про символ "_" В файле extensions.conf имя екстеншена является шаблоном, если оно начинается с символа подчеркивания (_). Или я не правильно понял эту фразу ?
Ну и если всё это понятно, то зачем мусор?
Volosko писал(а): что такое шаблон вида "_X" , и exten => _1 _2 это рудименты от прошлых попыток настроек с ivr,
Ну так уберите?
ded
 
Сообщений: 15801
Зарегистрирован: 26 авг 2010, 19:00

Re: Странности в CDR

Сообщение Volosko » 03 апр 2018, 20:31

Ах вы ... неоднозначная личность. Вы сначала написали сарказм с иронией от который я был готов накатать в ответ ряд столь же едких фраз. Но вы же потом исправили сообщение и внесли пояснения! Вы хииитрый :ugeek: хииитрый дед!


Привел контексты в общий вид без этих "_" и без "exten => s,n,Answer()"

Но скажите, разве эта команда не говорит астериску: "Хей приятель возьми ка ты и открой канал на звонок", чтобы потом туда железную тётю проиграть или музыку включить ?
Во всех примерах в сети именно эта команда идет обычно первой "exten => s,n,Answer()".

Можно уточнить почему она тут лишняя и почему она всем внутренним номерам дает статус answered ? Точнее почему тогда она не ломает все записи, а лишь часть из них.
Volosko
 
Сообщений: 26
Зарегистрирован: 03 апр 2018, 15:46

Re: Странности в CDR

Сообщение ded » 03 апр 2018, 20:54

Volosko писал(а):Но скажите, разве эта команда не говорит астериску: "Хей приятель возьми ка ты и открой канал на звонок", чтобы потом туда железную тётю проиграть или музыку включить ?
Хей, приятель, посмотри на меня!
Делай как я, делай как я!
Откройте для себя сообщения железной тёти в предответном состоянии (Early media), изучите хорошенько тему!
Volosko писал(а):Можно уточнить почему она тут лишняя и почему она всем внутренним номерам дает статус answered ?
Она не всем номерам даёт статус answered, а строго говоря - показывает что вся группа номеров 1003, 4415, 2001, 4001 и 4002 со стратегией ringall приняла вызов:
SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 11 11 ANSWERED
ded
 
Сообщений: 15801
Зарегистрирован: 26 авг 2010, 19:00

Re: Странности в CDR

Сообщение Volosko » 03 апр 2018, 22:04

Большое вам спасибо, вы действительно вникли, и действительно помогли.
Я последовал всем вашим советам, убрал мусор, убрал то что вы показали, и завтра буду мониторить логи, и еще раз читать книжку по астеру.
Полагаю что проблема вероятнее всего уйдет благодаря вашим советам, и это будет здорово.

Вы умнее меня в данном вопросе, не буду этого отрицать, я понимаю что вы говорите исходя из того что прочитали в сообщениях.
И я с радостью бы с вами окончательно согласился и можно было бы ставить точку на этом позитивном моменте если бы не одно но.
Понимаете в этом нет повторяемости. Если бы так было то всегда группа номеров всегда имела бы одинаковый статус, не так ли?

Но посмотрите сами:
[Показать] Спойлер:
Не вся группа имеет одинаковый статус.

id calldate clid src dst dcontext channel dstchannel lastapp lastdata duration billsec disposition amaflags accountcode uniqueid
335 994 03.04.2018 13:25:06 t Incoming-n2 SIP/prov1-000009b5 SIP/1003-000009b9 Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 5 5 NO ANSWER 3 1522751092.16666
335 995 03.04.2018 13:25:06 t Incoming-n2 SIP/prov1-000009b5 SIP/4415-000009ba Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 5 5 ANSWERED 3 1522751092.16666
335 996 03.04.2018 13:25:06 t Incoming-n2 SIP/prov1-000009b5 SIP/2001-000009bb Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 5 5 ANSWERED 3 1522751092.16666
335 997 03.04.2018 13:25:06 t Incoming-n2 SIP/prov1-000009b5 SIP/4001-000009bc Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 5 5 ANSWERED 3 1522751092.16666
335 998 03.04.2018 13:25:06 t Incoming-n2 SIP/prov1-000009b5 SIP/1004-000009bd Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 5 5 ANSWERED 3 1522751092.16666
335 999 03.04.2018 13:25:11 t Incoming-n2 SIP/prov1-000009b5 SIP/1001-000009be Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 101 101 ANSWERED 3 1522751092.16666
336 000 03.04.2018 13:26:53 t Incoming-n2 SIP/prov1-000009b5 Hangup 0 0 ANSWERED 3 1522751092.16666

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

id calldate clid src dst dcontext channel dstchannel lastapp lastdata duration billsec disposition amaflags accountcode uniqueid
335 859 03.04.2018 12:43:08 t Incoming-n2 SIP/prov1-00000915 SIP/1003-0000091b Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 3 3 NO ANSWER 3 1522748575.15581
335 860 03.04.2018 12:43:08 t Incoming-n2 SIP/prov1-00000915 SIP/4415-0000091c Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 3 3 NO ANSWER 3 1522748575.15581
335 861 03.04.2018 12:43:08 t Incoming-n2 SIP/prov1-00000915 SIP/2001-0000091d Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 3 3 NO ANSWER 3 1522748575.15581
335 862 03.04.2018 12:43:08 t Incoming-n2 SIP/prov1-00000915 SIP/4001-0000091e Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 3 3 NO ANSWER 3 1522748575.15581
335 863 03.04.2018 12:43:08 t Incoming-n2 SIP/prov1-00000915 SIP/1004-0000091f Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 13 13 ANSWERED 3 1522748575.15581
335 864 03.04.2018 12:43:21 t Incoming-n2 SIP/prov1-00000915 Hangup 0 0 ANSWERED 3 1522748575.15581

и здесь снова правильно

id calldate dst dcontext channel dstchannel lastapp lastdata duration billsec disposition amaflags accountcode uniqueid
336 728 03.04.2018 18:13:24 t Incoming-n2 SIP/prov1-00000d55 SIP/1003-00000d59 Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 6 6 NO ANSWER 3 1522768391.23038
336 729 03.04.2018 18:13:24 t Incoming-n2 SIP/prov1-00000d55 SIP/4415-00000d5a Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 6 6 NO ANSWER 3 1522768391.23038
336 730 03.04.2018 18:13:24 t Incoming-n2 SIP/prov1-00000d55 SIP/2001-00000d5b Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 6 6 NO ANSWER 3 1522768391.23038
336 731 03.04.2018 18:13:24 t Incoming-n2 SIP/prov1-00000d55 SIP/4001-00000d5c Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 82 82 ANSWERED 3 1522768391.23038
336 732 03.04.2018 18:13:24 t Incoming-n2 SIP/prov1-00000d55 SIP/1004-00000d5d Dial SIP/1003&SIP/4415&SIP/2001&SIP/4001&SIP/4002&SIP/1004,12,tTgm 6 6 NO ANSWER 3 1522768391.23038
Volosko
 
Сообщений: 26
Зарегистрирован: 03 апр 2018, 15:46

След.

Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 31

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH