DJabberd Integration with AIM and MSN

Erik Osterman e at
Fri Aug 24 00:51:22 UTC 2007

Thanks for this pointer. I have set it up, but got stuck. I configured 
pyAIMt to use a MySQL xdb. Set the ports/secrets/jim/etc... in the 
config.xml. The DJabberd server gets the connection from the pyAIMt server.

DEBUG DJabberd.Component.External              Accepting connection from 
DEBUG DJabberd.Connection.ComponentIn          Making a 
DJabberd::Connection::ComponentIn for fd 10
DEBUG DJabberd.Connection.ComponentIn          New connection '1' from
INFO  DJabberd.Component.External              Shutting down listener 
for component
DEBUG DJabberd.Connection.ComponentIn          Got stream start for 

But when I try to add the AIM account as (aim-username at, 
save, and try to sign in, it just sits there forever.

Logging the XML console from PSI, shows:

<iq type="set" id="auth_2" to="" >
<query xmlns="jabber:iq:auth">

I see it created a file in the spool folder:

However, running -D doesn't show any thing, but the 
ServiceDiscovery information.

The mysql tables are all empty in the pyaimt database.

Any thing come to mind that I might have missed?


Erik Osterman

Martin Atkins wrote:
> Erik Osterman wrote:
>> I am curious if anyone has successfully integrated DJabberd with 
>> these external networks. I have found no information other than "it 
>> should be possible" and that many of AOL's public gateways are blocked.
>> We've setup DJabberd on our corporate network, written a few plugins 
>> for authorization and delivery, but now we need to allow outside 
>> vendors to message our employees. How should we approach this?
> I'm successfully running pyAIMt, pyMSNt and pyICQt with my DJabberd 
> instance right now. My config looks something like this:
> <VHost>
>   S2S enable
>   RequireSSL no
>   <Plugin DJabberd::Authen::HTDigest>
>      Realm
>      HtDigest /etc/djabberd/djabberd.users
>   </Plugin>
>   <Subdomain aim>
>      <Plugin DJabberd::Component::External>
>          ListenPort 25757
>          Secret myaimsecret
>      </Plugin>
>   </Subdomain>
>   <Subdomain msn>
>      <Plugin DJabberd::Component::External>
>          ListenPort 25758
>          Secret mymsnsecret
>      </Plugin>
>   </Subdomain>
>   <Subdomain icq>
>      <Plugin DJabberd::Component::External>
>          ListenPort 25759
>          Secret myicqsecret
>      </Plugin>
>   </Subdomain>
>   ChildService MSN Messenger Transport
>   ChildService AIM Transport
>   ChildService ICQ Transport
>   <Plugin DJabberd::PresenceChecker::Local />
>   <Plugin DJabberd::Delivery::Local />
>   <Plugin DJabberd::Delivery::S2S   />
>   <Plugin DJabberd::RosterStorage::SQLite>
>      Database /etc/djabberd/roster.sqlite
>   </Plugin>
> </VHost>
> You then just need to configure each transport to match the secret and 
> port configured in DJabberd. Of course, each of your employees will 
> need to set up an account with each additional network they need to 
> use. Most Jabber clients make it really easy to register with the 
> above transports, automatically detecting them using service 
> discovery. (That's what the ChildService lines do above.)
> It'd be really neat if someone were to write some in-process 
> transports for these networks, integrating with the Danga::Socket 
> event loop, but thus far I've not heard of such a thing being in 
> progress.

More information about the Djabberd mailing list