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

Пропущенные в Mysql

Добавлено: 10 окт 2012, 18:01
ccam
Добрый день форумчанам. Обращение нубское, но почему-то не могу догнать, в всё тут) Может, найдутся неравнодушные.
Предыстория.
Раньше был Trixbox, но жил своей жизнью и делал что ему взблагорассудится. Собрал с нуля астериск 10 на Debian 6.0.5. Настроил cdr => mysql, как это описано здесь http://www.ylsoftware.com/news/645. Статистика стала записываться в созданную таблицу, однако не во всех случаях. Поясню.

Вот, например, дайалплан:

[office]
exten => _XXX,1,Dial(SIP/${EXTEN})
exten => _XXX,n,Hangup()

Т.о. если звонить с номера 101 на 102, то в таблице мускуля все отображается верно, все поля на месте при всех ситуациях (позвонил - ответили, позвонил-сбросили и т.д.)

Но у меня есть еще простейшие голосовое меню с очередью, даже работает. Вот кусочек дп:

[officeIVR]
exten => "номер",1,Answer()
exten => "номер",n,Set(TIMEOUT(digit)=2.5)
exten => "номер",n,Background(здравствуйтеинажмитечто-то)
exten => "номер",n,WaitExten(3)

exten => 1,1,Queue(SalesGroup,300)
exten => 1,n,Hangup()

Так вот, суть вопроса: если входящий звонок завернуть на IVR, то получаем случаи:

1) Звонящий по нажатию цифры 1 попадает в IVR, дожидается в соответствии со стратегией, ответа оператора, разговаривает, и кладёт трубку. В этом случае тоже всё записывается как надо, а благодаря полю мускуля dstchannel можно поглядеть, какой именно оператор из очереди поднял трубку.

2) Допустим, звонящий попадает в очередь и НЕ дожидается ответа, то есть послушал музыку 20 минут и положил трубку. И при этом почему-то запись не создается вообще. По логике (как я думаю) должна создаваться запись со статусом NO ANSWER, но этого не происходит.

3) Бывает такой случай, когда звонок принимет оператор, говорит, мол, погодите, у меня еще 2 линии висит, и вешает на звонящего на холд чтоб тому не скушно было. При этом у звонящего не все в порядке терпением и он тоже кладёт трубку и звонит нашим конкурентам. В этом случае запись создается, но со статусом ANSWER.

Вопрос по п.2: почему может не создаваться запись?
Вопрос по п.3: как можно отследить в таблице случаи, когда повешеные на hold звонящие клали трубку и звонили конкурентам?

p.s. Если приведённый мной мануал по настройке cdr в mysql нехороший, то большая просьба поделиться хорошими статьями, известными вам.
Спасибо за внимание !

Re: Пропущенные в Mysql

Добавлено: 10 окт 2012, 18:22
awsswa
надо разрешить писать не отвеченное
cdr.conf unanswered=yes

Re: Пропущенные в Mysql

Добавлено: 10 окт 2012, 18:26
Glukinho
Вопрос по п.3: как можно отследить в таблице случаи, когда повешеные на hold звонящие клали трубку и звонили конкурентам?
Это не техническая проблема, а проблема организации приема звонков.
Сделайте так, чтобы оператор не мог принять второй звонок, имея незавершенным первый.

Re: Пропущенные в Mysql

Добавлено: 10 окт 2012, 21:12
ded
ccam писал(а):Предыстория.
Раньше был Trixbox, но жил своей жизнью и делал что ему взблагорассудится.
переведу для своего понимания: ccam ниасилил Trixbox, последний (о)казался просто умней управлятора. Потому Trixbox был убит.

Re: Пропущенные в Mysql

Добавлено: 11 окт 2012, 10:11
ccam
Спасибо большое ответившим, направление уяснил! Если я правильно понял, ограничение приема звонков операторам устанавливается опцией call-limit = 1. насчет unanswered = yes, проверю, спасибо.

2ded: отчасти вы правы. Дело в том, что Trixbox был установлен другим человеком и настроен в соответствии с его же пожеланиями, а по факту творился хаос просто. Поэтому я решил что собрать все с нуля было бы проще, чем разгребать то что имелось на тот момент.