DJabberd Integration with AIM and MSN

Erik Osterman e at osterman.com
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 
component aim.myhost.com
DEBUG DJabberd.Connection.ComponentIn          Making a 
DJabberd::Connection::ComponentIn for fd 10
DEBUG DJabberd.Connection.ComponentIn          New connection '1' from 
127.0.0.1
INFO  DJabberd.Component.External              Shutting down listener 
for component aim.myhost.com
DEBUG DJabberd.Connection.ComponentIn          Got stream start for 
component aim.myhost.com

But when I try to add the AIM account as (aim-username at aim.myhost.com), 
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="aim.myhost.com" >
<query xmlns="jabber:iq:auth">
<username>username</username>
<password>********</password>
<resource>Psi</resource>
</query>
</iq>

I see it created a file in the spool folder:
aim.myhost.com/avatars/524/5248ab7f0c7b1ed9ae99c21d6247ef5a28af5117

However, running pyAIMt.py -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?


Best,

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 mydomain.com>
>   S2S enable
>   RequireSSL no
>
>   <Plugin DJabberd::Authen::HTDigest>
>      Realm mydomain.com
>      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.mydomain.com MSN Messenger Transport
>   ChildService aim.mydomain.com AIM Transport
>   ChildService icq.mydomain.com 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