Skip to content

Commit b700755

Browse files
Alexey PortnovAlexey Portnov
authored andcommitted
Добавлено логирование в actionDialCreateChan и actionDialAnswer для диагностики answer-событий
1 parent e584078 commit b700755

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

bin/WorkerAmoCrmAMI.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,15 +510,22 @@ private function cloneCdr($data, &$transferCall, $call):void
510510
private function actionDialCreateChan($data):void{
511511
$uid = $data['transfer_UNIQUEID']??$data['UNIQUEID'];
512512
if(empty($this->calls[$data['linkedid']])){
513+
$this->logger->writeInfo("No calls for linkedid", "actionDialCreateChan {$data['linkedid']}");
513514
return;
514515
}
516+
$matched = false;
515517
foreach ($this->calls[$data['linkedid']] as &$call){
516518
if($uid !== $call['uid']){
517519
continue;
518520
}
519521
$call['dst-chan'] = $data['dst_chan'];
522+
$matched = true;
523+
$this->logger->writeInfo("Set dst-chan={$data['dst_chan']} for uid=$uid", "actionDialCreateChan {$data['linkedid']}");
520524
break;
521525
}
526+
if(!$matched){
527+
$this->logger->writeInfo("No matching uid=$uid, dst_chan={$data['dst_chan']}", "actionDialCreateChan {$data['linkedid']}");
528+
}
522529
unset($call);
523530

524531
// Считаем каналы с одинаковым UID
@@ -553,13 +560,17 @@ private function actionDialAnswer($params):void
553560
{
554561
$channel = $params['agi_channel'];
555562
if(empty($this->calls[$params['linkedid']])){
563+
$this->logger->writeInfo("No calls for linkedid, channel=$channel", "actionDialAnswer {$params['linkedid']}");
556564
return;
557565
}
566+
$matched = false;
558567
foreach ($this->calls[$params['linkedid']] as &$call){
559568
if(isset($call['answer'])){
569+
$this->logger->writeInfo("Skip already answered uid={$call['uid']}", "actionDialAnswer {$params['linkedid']}");
560570
continue;
561571
}
562572
if($channel !== $call['src-chan'] && $channel !== $call['dst-chan']){
573+
$this->logger->writeInfo("Channel mismatch: agi=$channel src-chan={$call['src-chan']} dst-chan={$call['dst-chan']} uid={$call['uid']}", "actionDialAnswer {$params['linkedid']}");
563574
continue;
564575
}
565576
$call['answer'] = date(\DateTimeInterface::ATOM, strtotime($params['answer']));
@@ -569,9 +580,14 @@ private function actionDialAnswer($params):void
569580
'id' => $params['linkedid'],
570581
'uid' => $call['uid'],
571582
];
583+
$this->logger->writeInfo($data, "Publish answer {$params['linkedid']}");
572584
ClientHTTP::sendHttpPostRequest(self::getChannelUrl(), $data);
585+
$matched = true;
573586
break;
574587
}
588+
if(!$matched){
589+
$this->logger->writeInfo("No matching call for channel=$channel", "actionDialAnswer {$params['linkedid']}");
590+
}
575591
unset($call);
576592
}
577593

0 commit comments

Comments
 (0)