@@ -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