#514 closed enhancement (fixed)

Bitlbee's AIM groupchat implementation does not support exchange designation

Reported by: wwinfrey@… Owned by: Jelmer Vernooij
Priority: normal Milestone:
Component: OSCAR Version: 1.2.3
Keywords: oscar, exchange, AIM, groupchat, group, chat, uifix Cc:
IRC client+version: Client-independent Operating System: Public server
OS version/distro: all


When connecting to an AIM groupchat, it is not possible to designate an "exchange". I believe the default exchange for public chats is usually 4, but any groupchat created in Trillian uses exchange 5. Unfortunately, not being able to designate this exchange keeps me from participating in certain groupchats.

Since OSCAR, et al is not documented so well, the only pointers I could give you in terms of where to look for ideas on implementation would be to download the pidgin source and take a gander at:


I have exactly zero experience in this area so I'm only guessing. Thanks in advance....

Attachments (0)

Change History (14)

comment:1 Changed at 2010-05-09T10:09:31Z by wilmer

This seems pretty easy, this is just a hardcoded number in oscar.c.

The hard part is putting it into the UI+API. I'll see what I can do. If you run your own BitlBee instance and mostly need rooms on exchange 5, try changing 4 on the line "cr->exchange = 4;" in protocols/oscar/oscar.c.

Thanks for the report and sorry for the extremely late followup.

comment:2 Changed at 2010-05-21T14:39:27Z by TheDeppchef <thedeppchef@…>

*adding to the mail notice*

comment:3 Changed at 2010-07-24T14:07:22Z by wilmer

Keywords: uifix added
Milestone: 1.4

Hey! I hope you're still looking for this because I have it mostly fixed. It's in changeset:devel,734. If you're a public server user I can push this to

comment:5 Changed at 2010-07-24T21:26:14Z by wilmer

Resolution: fixed
Status: newclosed

I just merged ui-fix into mainline.

comment:6 Changed at 2015-03-29T00:19:53Z by anonymous

Was this ever fixed? Would it be so hard to specify the exchange while adding the chat in bitlbee? Also you could just have bitlbee actually use the exchange information included in chat invites instead of defaulting to exchange 4. Love bitlbee but hate that I'm limited to exchange 4 chatrooms. Thanks in advance.

comment:7 Changed at 2015-03-29T00:48:04Z by wilmer

Well see the above. It was fixed in 3.0...

Sadly the changeset: link is now dead, but see channel settings for an OSCAR chatroom, it'll include a setting called exchange_number . Looks like the setting is undocumented, but it's there.

comment:8 Changed at 2015-03-29T00:49:39Z by wilmer

Also you could just have bitlbee actually use the exchange information included in chat invites instead of defaulting to exchange 4.

That I don't know, but if dx feels like figuring that one out I won't stop him. :-)

comment:9 Changed at 2015-03-29T03:47:14Z by dx

wtf is an exchange

comment:10 Changed at 2015-08-19T08:39:05Z by anonymous

Really late reply, but I don't exactly know how to explain what an exchange is in the oscar protocol, its beyond my technical grasp. If you'd like to check out pidgin to see what I'm talking about, when you go to join a room with pidgin on AIM, it'll say roomname and the default exchange is always 4, the reason we aim for higher exchanges is room size limit, exchanges 13+ have a 48 limit while 1-12 have a 38 user limit, I can possibly have a friend come and try to explain what exchanges are if it helps.

comment:11 Changed at 2015-08-19T08:53:06Z by dx

Huh. Crazy stuff.

So I dug for the commit around the date wilmer posted that comment (bzr revision 734 pointed at the wrong commit), it's 03f38289e15c27b93f8fdecf22a03353e4d01096 now in the git world, and, well, confirmed what wilmer said above.

05:47:06 <@dx|icq> chat add oscar whatever
05:47:06 <@root> Chatroom successfully added.
05:47:11 <@dx|icq> channel #whatever set
05:47:11 <@root> account = `icq'
05:47:11 <@root> auto_join = `false'
05:47:11 <@root> chat_type = `room'
05:47:11 <@root> exchange_number = `4'
05:47:11 <@root> nick is empty
05:47:11 <@root> room = `whatever'
05:47:11 <@root> translate_to_nicks = `true'
05:47:11 <@root> type = `chat'
05:47:20 <@dx|icq> chan #whatever set exchange_number 5
05:47:20 <@root> exchange_number = `5'

So... apparently the only remaining issue here is that you have to set this magic value manually when getting a chat invite?

comment:12 Changed at 2015-08-19T17:31:31Z by anonymous

And how does one do that?:)

comment:13 Changed at 2015-08-19T17:39:48Z by dx

Do what? Setting the exchange number? It's right up there. channel #whatever set exchange_number 5

comment:14 Changed at 2016-07-07T20:51:01Z by dx

Milestone: 1.4

Modify Ticket

as closed The owner will remain Jelmer Vernooij.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.