Помощь с анализом логов

Здравствуйте!

Учусь анализировать логи, помогите, пожалуйста, разобраться.

В истории звонков вызова (разговора) не было.

В логах же звонка вижу, что был звонок, что подняли трубку, что началась запись звонка. А дальше через 1 минуту и 20 секунд звонок завершился, запись завершилась.

Или в логах все корректно, а это баг истории вызовов?

Лог звонка: https://ctxt.io#unmigrated-qa-post-2 alt="" src="https://qa.mikopbx.com/?qa=blob&qa_blobid=1601181423046794258" style="height:154px; width:1113px">

Причем иногда неотвеченному вызову предшествует строка звонка с внешнего номера на SIP линию. И это именно этот внешний вызов и переводят потом секретари.

Хотя в первоначальном списке вызовов, который я прикладывал, звонка с внешнего номера не было.

вот, что ушло в логгер истории звонков:

{"IS_ORGNT":false,"UNIQUEID":"mikopbx-1702538349.1254_fl6996","action":"dial","agi_channel":"PJSIP/100-00000343","did":"","dst_num":"160","from_account":"100","linkedid":"mikopbx-1702538349.1254","src_call_id":"0_1527095848@10.1.0.123","src_chan":"PJSIP/100-00000343","src_num":"100","start":"2023-12-14 10:19:09.502","transfer":"0","verbose_call_id":"[C-000001ab]"}

{"UNIQUEID":"mikopbx-1702538349.1254_fl6996","action":"dial_create_chan","dst_call_id":"895a6b7c-40c6-4379-8c89-1493bd3f26ff","dst_chan":"PJSIP/160-00000344","event_time":"2023-12-14 10:19:09.543","linkedid":"mikopbx-1702538349.1254","to_account":"160"}

{"BRIDGEPEER":"PJSIP/100-00000343","ENDCALLONANSWER":"","action":"dial_answer","agi_channel":"PJSIP/160-00000344","answer":"2023-12-14 10:19:12.751","dnid":"","dst_num":"160","id":"mikopbx-1702538349.1254_fl6996","linkedid":"mikopbx-1702538349.1254","recordingfile":"/storage/usbdisk1/mikopbx/astspool/monitor#unmigrated-qa-post-2023"}

{"OLD_LINKEDID":"mikopbx-1702538349.1254","UNIQUEID":"mikopbx-1702538349.1254_fl6996","VMSTATUS":"","action":"hangup_chan","agi_channel":"Local/100@internal-000000d0;2","agi_threadid":"mikopbx-1702538337.1252_n7J577","dialstatus":"ANSWERED","did":"000170088","end":"2023-12-14 10:20:32.291","linkedid":"mikopbx-1702538132.1244","src_num":"+79166568342","verbose_call_id":"[C-000001ab]"}

{"OLD_LINKEDID":"mikopbx-1702538349.1254","UNIQUEID":"mikopbx-1702538349.1254_fl6996","VMSTATUS":"","action":"hangup_chan","agi_channel":"PJSIP/160-00000344","agi_threadid":"mikopbx-1702538349.1255_LWj9m8","dialstatus":"","did":"","end":"2023-12-14 10:20:32.302","linkedid":"mikopbx-1702538132.1244","src_num":"160","verbose_call_id":"[C-000001ab]"}

это base64encode строк с "CELGenUserEvent". 

ничего плохого вроде нет, но не вижу одного завершающего event, который обычно приходит при "закрытии CDR"

что выдвает запрос? 
sqlite3 /storage/usbdisk1/mikopbx/astlogs/asterisk/cdr.db 'select * from cdr';
Таблица "cdr" должна быть пуста, когда нет активных звонков. 
Какая версия АТС используется? 

О, это оказывается запросы в базу.

Теперь немного все складывается в картинку. Это был перевод внешнего звонка от секретаря сотруднику. И таких сбоев у меня получается много. Чуть ли не каждый трансфер звонка от секретарей.

По словам сотрудников, когда секретари переводят звонок на сотрудника, то они берут трубку, но им все равно приходят сообщения, что они пропустили вызов с номера 100.

Запрос sqlite3 /storage/usbdisk1/mikopbx/astlogs/asterisk/cdr.db 'select * from cdr';

Не выдает ничего. Если делаю звонок, то присутствует информация о звонке. Потом запись удаляется, как вы и написали.

Версия АТС последняя 2023.2.206

вероятно используется SIP трасфер, это трансфер средствами SIP протокола, на телефонных аппаратах есть специальная кнопка обычно.

такой трансфер работает плохо с asterisk, попробуйте переадресаовать вызов средствами старкодов, обычно это ** или ##

кнопку на телефонном аппарате обычно можно перепрограммировать на аналогично использование ** или ##, для Yealink точно можно было, или вовсе отключить эту функцию телефона.

Потестил звонки. Два момента.

1) С помощью старкодов не получается переключить вызов на мобильный или на другую АТС. Идет автоинформирование о неправильно набранном номере.

Это можно как-то обойти?

2) На почту все равно приходят отбойники, что пропущен вызов от секретаря.

Вот лог звонка, когда трансфер делал через " ** "

https://ctxt.io#unmigrated-qa-post-2 alt="" src="https://qa.mikopbx.com/?qa=blob&qa_blobid=12833045023795329635" style="height:102px; width:1096px">

см. инструкцию под заголовком “Переадресация”

https://wiki.mikopbx.ru/faq:connectats2#pereadresacija

там есть пример настройки.

что касается лога и прикрепленного изображения - прокомментируйте что не так, какое ожидаемое поведение.

По переадресации понял, спасибо!

Я так понимаю, что при переадресации через старкоды теперь вызовы будут корректно записываться в истории звонков. Это хорошо.

Остался момент с уведомлениями на почту. Я понимаю, что при безусловной переадресации по факту человек от секретаря трубку не берет. И поэтому формируется уведомление, что звонок был, но на него не ответили.

Но возможна ли какая-то дополнительная проверка перед отправкой уведомления, что вызов был переадресован и тогда уведомление не отправляем?

можно полностью свое решение реализовать

вот пример

там уведомление пройдет только если вызов был действительно пропущен, никто не ответил