External Components and Transports (JEP-0114) now supported

Martin Atkins mart at degeneration.co.uk
Sat Jul 15 19:45:44 UTC 2006


I just checked in a plugin to implement JEP-0114, the standard protocol 
for external components.

This means that it's now possible to connect pyMSNt, pyAIMt, etc to 
DJabberd. The configuration looks something like this:

<VHost example.com>

     # ... other settings ...

     <Subdomain aim>
         <Plugin DJabberd::Component::External>
             ListenPort 15643
             Secret somesecret
         </Plugin>
     </Subdomain>

     <Subdomain msn>
         <Plugin DJabberd::Component::External>
             ListenPort 15644
             Secret somesecret
         </Plugin>
     </Subdomain>

     ChildService msn.example.com MSN Messenger Gateway
     ChildService aim.example.com AOL Instant Messager Gateway

     # ... other settings ...

</VHost>

You then put the matching settings in the config file for your external 
component (config.xml for the pyXXXt transports) and run it. It should 
connect up to DJabberd and become available.

These components won't be available over S2S unless you explicitly 
enable S2S in each subdomain. Subdomains are just a handy shorthand for 
paired vhosts with local delivery, so you can enable S2S in a subdomain 
the same way as you'd enable it for a VHost.

The ChildService options in my example are not required for the 
components to work, but they are what makes the components show up in 
the service discovery list so that clients can auto-detect them.

I've only tested it with pyMSNt and pyAIMt, so please let me know if any 
other components — particularly those that aren't based on the pyXXXt 
code — have troubles.




More information about the Djabberd mailing list