KEYALTER error with Wildfire and Asterisk

I am running Wildfire 3.0.0 (Linux server) with Spark 1.1.4 (Linux and Windows) and I am getting the error messages below. I am also using Wildfire with the Asterisk-IM plugin. After my Spark clients start up, a call from one extension to another shows a user “on the phone”, and their presence status correctly goes back to “Online”. When a call is made again between extensions, the presence status changes to “on the phone” and doesn’'t go back to “Online” at all. What could be wrong? Any help is appreciated.

2006.07.08 12:19:22 org.jivesoftware.database.SchemaManager.checkSchema(SchemaManager.java:249)

java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘KEYALTER TABLE jivePrivate MODIFY username VARCHAR(64)’’ at line 1

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)

at com.mysql.jdbc.Connection.execSQL(Connection.java:2998)

at com.mysql.jdbc.Connection.execSQL(Connection.java:2927)

at com.mysql.jdbc.Statement.execute(Statement.java:535)

at org.jivesoftware.database.SchemaManager.executeSQLScript(SchemaManager.java:306 )

at org.jivesoftware.database.SchemaManager.checkSchema(SchemaManager.java:246)

at org.jivesoftware.database.SchemaManager.checkWildfireSchema(SchemaManager.java: 69)

at org.jivesoftware.database.DbConnectionManager.setConnectionProvider(DbConnectio nManager.java:449)

at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager .java:74)

at org.jivesoftware.util.JiveProperties.loadProperties(JiveProperties.java:269)

at org.jivesoftware.util.JiveProperties.init(JiveProperties.java:67)

at org.jivesoftware.util.JiveProperties.(XMPPServer.java:145)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at java.lang.Class.newInstance0(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at org.jivesoftware.wildfire.starter.ServerStarter.start(ServerStarter.java:88)

at org.jivesoftware.wildfire.starter.ServerStarter.main(ServerStarter.java:49)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

at com.install4j.runtime.Launcher.main(Unknown Source)

Hey gambol,

The mysql error is unrelated to the asterisk presence problem. To manual fix the sql problem edit resources\database\upgrade\9\wildfire_mysql.sql and add a ; at the end of line 8. This is how things should look like:

ALTER TABLE jivePrivate DROP PRIMARY KEY;

ALTER TABLE jivePrivate MODIFY username VARCHAR(64);

Regarding the asterisk-im plugin we need to fix that problem.

Thanks,

– Gato