Hi, please note that I just used versions 4.x versions. From all that I've read 5.2 did not change any of this that I'm about to write, but you have been warned :)
On Feb 28, 2007, at 5:51 PM, Nate Pinchot wrote: > I'm pretty much at the point of extreme frustration due to lack of XCP > documentation on what I need to "do" in order to get it to > recognize the > transport. XCP has three important concepts that come into play here: - the server realm: defined in the router global config. let's asume that you set it to 'myjabberworld'; - the openport ID: a simple string defined when you create it, let's assume you used yahoolinker; - the hostnames this open port will be responsible for: you set those in the open port configuration, in the hosts textarea, one hostname per line. Let's assume you use yahoo.your.domain here. Based on all of this, XCP expects a connection from an external component that will identify himself in the initial <stream> with the component jid. The component jid is the openport ID concatenated with the realm, so in the exemple above you'll get yahoolinker.myjabberworld as the component jid. XCP allows you to send traffic to this JID and he dutifully routes it to the external component. Most components though, don't expect it, so stick to sending traffic to the hostnames specified in the third bullet above. > I have set up an OpenPort component in XCP with an id that matches the > 'compjid' setting in config.xml. id + '.' + realm == compjid, right? > I downloaded a java based client called JBother and am using that to > test. If there is a better client I should be using please let me > know. Use one with a XML console... Anyone with a XML console will do. I personally use Psi for this things. > The XCP control panel shows the component as stopped. Unless the external component implements a proprietary presence protocol (some py* do, some don't), you won't see it "started" and green. And even if you do, the start/stop links will not work because the py* transports that do support the protocol, only support "level 1" compliance (this is from memory, don't remember the exact wording), which means only basic presence. > When I try to do a > service discovery there are no extra services. When I try to do a > register service directly to 'yahoolinker' or 'yahoolinker-1' or > 'yahoolinker.jabber' etc, I just get a message in the XCP logs that > says: > > [info] deliver.c:1733 20070228T17:24:24 Queueing message until > 'yahoolinker-1.jabber' is available This means that there is no component connection. You should send to the defined hostname in the third bullet in my initial lists. I'm not sure that pyYIMt supports traffic to the compjid. > Here is my config.xml file for PyYIMt: > > <?xml version="1.0" ?> > <pyyimt> > <jid>yahoolinker.jabber</jid> This one should match the host entry (third bullet above); > <compjid>yahoolinker-1</compjid> This one should match open port id + '.' + realm: 1st and 2nd bullets > <confjid>chat-yahoolinker.jabber</confjid> This should be in a second line in the hosts text area, the one mentioned in the 3rd bullet. > <compjid>chat-yahoolinker-1</compjid> This is wrong, remove it. You only need one compjid. > <discoName>Yahoo! Transport</discoName> > <spoolFile>yahoouser.dbm</spoolFile> > <pid>PyYIMt.pid</pid> > <mainServer>127.0.0.1</mainServer> > <mainServerJID>servername.mydomain.com</mainServerJID> I'm confused about this one. For me this is just like <jid> above. I would have to check pyYIMt docs... > <port>7400</port> > <secret>secret</secret> > <allowRegister/> > <admins> > </admins> > <debugFile>yahooerror.log</debugFile> > <dumpProtocol/> > </pyyimt> > Also, here is my Jabber XCP OpenPort config file for 'yahoolinker-1': > > <op:component xmlns:op="http://www.jabber.com/config/open-port" > xmlns:config="http://www.jabber.com/config" > config:description="Yahoo!" > config:id="yahoolinker-1" config:runlevel="70" > config:shutdown-timeout="60" config:version="10" > xmlns="http://www.jabber.com/config" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://www.jabber.com/config/open-port > /opt/jabber/XCP_5.2/schemas/xsd/config/open-port/open-port.xsd"> > <properties xmlns="http://www.jabber.com/config"> > <queue-size>512</queue-size> > <bounce>1</bounce> > </properties> > <service xmlns="http://www.jabber.com/config"> > <hosts> > <host>*</host> This is wrong... Don't put a * here... this is where your hostnames for this component, yahoo.mydomain.com and chat.yahoo.mydomain.com should be. > </hosts> > </service> > <op:config xmlns:op="http://www.jabber.com/config/open-port"/> > </op:component> > > > > Again, any help would be greatly appreciated. I may be doing something > very wrong and stupid, this is the first time I have set up both > Jabber > XCP and PyYIMt. Thanks. XCP is an adquired taste... The idea of having the compjid and the hostname as separate entries is very good actually and not very well understood. I would love that all the py* transports that support compjid would also support traffic to it. If you have several instances, each one has a different compjid, and this would allow you, for exemple, to use all the stats and ad-hoc commands per instance.... Best regards, -- HIId: Pedro Melo SMTP: [EMAIL PROTECTED] XMPP: [EMAIL PROTECTED] _______________________________________________ py-transports mailing list py-transports@blathersource.org http://lists.modevia.com/cgi-bin/mailman/listinfo/py-transports