On Oct 12, 2010, at 5:52 AM, Sohgo Takeuchi wrote: > > From: Sohgo Takeuchi <[email protected]> > | >> From: Niles Ingalls <[email protected]> >> | >>> On Oct 7, 2010, at 11:37 PM, Sohgo Takeuchi wrote: >>> >>>> From: Niles Ingalls <[email protected]> >>>> | >>>>> Hello lvs-users, >>>>> >>>>> I'm having a problem doing request receive authentication that I'm unable >>>>> to resolve on my own. >>>>> >>>>> I'm using the ldirectord version that comes with debian 5 supplied with >>>>> Linux-HA (2.1.3-6lenny4) >>>>> I've also tested this with dowload/ldirectord-latest from the ldirectord >>>>> download page. >>>>> (http://horms.net/projects/ldirectord/download/ldirectord-latest). >>>>> >>>>> I'm using ldirectord for load balancing 3M Standard Interchange Protocol >>>>> (also known as SIP, not to be confused for Session Initiation Protocol) >>>>> >>>>> Here's what the config looks like. >>>>> >>>>> virtual=192.168.80.2:6001 >>>>> real=192.168.80.25:6001 masq >>>>> request="9300CNredacted|redacted|AY0AZF63B" >>>>> receive="^941AY0AZFDFD" >>>>> service=simpletcp >>>> >>>> >>>> Hi, >>>> >>>> How about specifying like this as a workaround. >>>> >>>> virtual=192.168.80.2:6001 >>>> real=192.168.80.25:6001 masq "9300CNredacted|redacted|AY0AZF63B" >>>> "^941AY0AZFDFD" >>>> service=simpletcp >>>> >>> >>> Hello Sohgo, >>> >>> Your workaround fixed my problem, and the SIP server is >>> authenticating properly. >> >> Hello Niles, >> >> That's good. >> >> When I checked the >> http://horms.net/projects/ldirectord/download/ldirectord-latest, >> I found that it was not latest. The real latest version does not >> need this workaround. >> >> If you want to get a latest code, please follow a below >> instruction written at >> http://horms.net/projects/ldirectord/download.shtml >> >> "The Latest Un-Released Version" -> "Download linux-ha tree >> using Mercurial" >> >>> Oct 8 08:25:52 xenb2sip acs-server: INPUT MSG: >>> '9300CNredacted|CO_redacted|AY0AZF63B ' >>> Oct 8 08:25:52 xenb2sip acs-server: Sip::MsgType::new('Sip::MsgType', >>> '9300CNredacted', '93'): msgtag '0' >>> Oct 8 08:25:52 xenb2sip acs-server: Sip::MsgType:_initialize('Login', >>> '00CNredacted|CO_re...') >>> Oct 8 08:25:52 xenb2sip acs-server: Sip::MsgType::_initialize('Login', >>> '00CNHredacted|CO_redacted|', 'A1A1', '2', ... >>> Oct 8 08:25:52 xenb2sip acs-server: Successful login for 'redacted' of >>> 'indiana' >>> >>> As you can see, the SIP server is happy. >>> New problem, the negotiation between ldirectord and my SIP server timeout, >>> as if the response is never received. >>> >>> DEBUG2: Checking negotiate: real >>> server=negotiate:simpletcp:tcp:192.168.80.25:6001:::1:masq:9300CNredacted\|COredacted\|AY0AZF63B\\n:\^941AY0AZFDFD >>> (virtual=tcp:192.168.80.2:6001) >>> DEBUG2: Checking simpletcp server=192.168.80.25 port=6001 >>> DEBUG3: Connected from 192.168.80.2:41853 to 192.168.80.25:6001 >>> DEBUG2: Checking simpletcp server=192.168.80.25 port=6001 request: >>> 9300CNredacted|COredacted|AY0AZF63B >>> DEBUG2: Disabled real >>> server=negotiate:simpletcp:tcp:192.168.80.25:6001:::1:masq:9300CNredacted\|COredacted\|AY0AZF63B\\n:\^941AY0AZFDFD >>> (virtual=tcp:192.168.80.2:6001) >>> DEBUG3: Deactivated service 192.168.80.25:6001: Timeout Alarm at >>> /usr/sbin/ldirectord line 3022. >>> >>> I've tried this with and without adding \n at the end of the request >>> without success. >>> When using telnet, I have to hit return after sending the request >>> 9300CNredacted|COredacted|AY0AZF63B , and after receiving the response >>> 941AY0AZFDFD before the connection is closed. >>> I assume that since the SIP server isn't closing the connection, this is >>> why I'm timing out. >> >> The ldirectord assumes that the response has a \n. Do you find >> the SIP server returns response which contains a \n like >> "941AY0AZFDFD\n" ? > > Could you try following patch? This patch can be applied to > http://horms.net/projects/ldirectord/download/ldirectord-latest > > --- ldirectord-latest.orig 2009-09-15 14:59:34.000000000 +0900 > +++ ldirectord-latest 2010-10-12 18:50:12.270363918 +0900 > @@ -3355,6 +3355,7 @@ > > &ld_debug(2, "Checking simpletcp server=$$r{server} > port=$d_port request:\n$request"); > print $sock $request; > + shutdown($sock, SHUT_WR); > > my $ok; > my $reply; >
I'm now using the latest Un-Released version with your patch, and it's working very well. I did notice that if the request/receive is defined with the server (real=192.168.80.25:6001 masq "9300CNredacted|redacted|AY0AZF63B" "^941AY0AZFDFD"), it truncates the first character like this. 300CNredacted|redacted|AY0AZF63B If I define the request/receive independent of the real server line, all works perfectly. As this was my original configuration, my problem is resolved. Thank You - Niles _______________________________________________ Please read the documentation before posting - it's available at: http://www.linuxvirtualserver.org/ LinuxVirtualServer.org mailing list - [email protected] Send requests to [email protected] or go to http://lists.graemef.net/mailman/listinfo/lvs-users
