vir/yate

Queues handling problem in queue_out.php

Closed this issue · 2 comments

I've found there is a bug (probably) at this moment in queue_out.php script. This bug prevents correct call distribution between operators in a queue. I've made patch fixing this problem, so I would like to post it here.

--- queue_out.php       2012-02-04 02:45:00.000000000 +0400
+++ /usr/share/yate/scripts/queue_out.php       2012-02-04 14:59:37.434531972 +0400
@@ -86,10 +86,13 @@
                case "chan.disconnected":
                    // operator hung up or did not answer
                    if ($ev->GetValue("reason")) {
-                       $ev->name = "chan.hangup";
-                       $ev->params["notify"] = $partycallid;
-                       $ev->params["queue"] = $queue;
-                       $ev->params["cdrtrack"] = "false";
+                       $m = new Yate("chan.hangup");
+                       $m->id = "";
+                       $m->params["id"] = $ev->GetValue("id");
+                       $m->params["notify"] = $partycallid;
+                       $m->params["queue"] = $queue;
+                       $m->params["cdrtrack"] = "false";
+                       $m->Dispatch();
                    }
                    break;
                case "chan.hangup":
vir commented

Personally, i do not use this module and have no intent to dig into it's code.
If you fill this is really a YATE bug, please fill it in official yate bugtrackaer at http://yate.null.ro/mantis/
WONTFIX.