[ previous ] [ next ] [ threads ]
 To :  yate@v...
 From :  Bill Simon <bill@b...>
 Subject :  Patch for clustering module to send transport info across cluster
 Date :  Fri, 10 Apr 2015 08:03:42 -0400
The clustering module was not working properly for me in cases where the user was connected on a transport other than the default "general." The reason is that the transport information in connection_id is lost when a call is sent to a different node in the cluster. Thus the target node tries to call the user with the wrong method.

I patched clustering.cpp in this very simple way to send the transport information. It can be extracted in regexroute on the target node.

Index: clustering.cpp
===================================================================
--- clustering.cpp	(revision 5957)
+++ clustering.cpp	(working copy)
@@ -166,6 +166,7 @@
     msg.setParam("osip_x-billid",msg.getValue("billid"));
     msg.setParam("osip_x-nodename",Engine::nodeName());
     msg.setParam("osip_x-username",msg.getValue("username"));
+    msg.setParam("osip_x-oconnectionid",msg.getValue("oconnection_id"));
     return false;
 }