This week I was greeted by the following error when attempting to log into Sametime using Pidgin:

(12:58:25) account: Connecting to account $user.
(12:58:25) connection: Connecting. gc = 04FBDBF0
(12:58:25) meanwhile: adding cipher RC2/40 Cipher
(12:58:25) meanwhile: adding cipher RC2/128 Cipher
(12:58:25) sametime: user: '$user'
(12:58:25) sametime: host: '$host'
(12:58:25) sametime: port: $port
(12:58:25) sametime: client id: 0x1002
(12:58:25) sametime: client major: 0x001e
(12:58:25) sametime: client minor: 0x196f
(12:58:25) dnsquery: Performing DNS lookup for $host
(12:58:25) dnsquery: IP resolved for $host>
(12:58:25) proxy: Attempting connection to $host
(12:58:25) proxy: Connecting to $host:$port with no proxy
(12:58:25) proxy: Connection in progress
(12:58:25) proxy: Connecting to $host:$port.
(12:58:25) proxy: Connected to $host:$port.
(12:58:25) meanwhile: session state: starting
(12:58:25) meanwhile: session state: handshake sent
(12:58:25) meanwhile: session state: stopping (0x80000003)
(12:58:25) connection: Connection error on 04FBDBF0 (reason: 0 description: Not authorized)
(12:58:25) meanwhile: session state: stopped (0x80000003)
(12:58:25) account: Disconnecting account $user (00027000)
(12:58:25) connection: Disconnecting connection 04FBDBF0
(12:58:25) meanwhile: attempted to stop session that is already stopped/stopping
(12:58:25) connection: Destroying connection 04FBDBF0

Digging around on the net it seems that our administrators decided to restrict what client versions were allowed to connect.  Eventually I found the solution, and boy am I glad to be back using Pidgin again.

The following settings in account.xml were all that was needed:

  <setting name='fake_client_id' type='bool'>1</setting>
  <setting name='client_major' type='int'>30</setting>
  <setting name='client_minor' type='int'>6511</setting>
  <setting name='force_login' type='bool'>0</setting>
  <setting name='client_id_val' type='int'>4608</setting>
  <setting name='server' type='string'>$host</setting>