Asterisk IM Beta 3

I’‘m just trying to upgrade from beta 2 to beta 3. I’‘m using MS SQL Server as a backend. It isn’'t upgrading the IM tables automatically so I can I do it manually?

I added a column named ‘‘isMonitored’’ to the table ‘‘phoneDevice’’ making it a smallint and allowing nulls. It seems to be working now. If anyone sees any problem with this, please let me know.

Well, it’'s not working after adding that column. Now I get:

2005.09.26 07:36:24 [java.util.logging.Logger.log(Unknown Source)

] Adding text to an XML document must not be null

java.lang.IllegalArgumentException: Adding text to an XML document must not be null

at org.dom4j.DocumentFactory.createText(DocumentFactory.java:174)

at org.dom4j.tree.AbstractElement.addText(AbstractElement.java:899)

at org.dom4j.tree.AbstractElement.setText(AbstractElement.java:1120)

at org.jivesoftware.phone.asterisk.AsteriskEventHandler$OnPhoneTask.run(AsteriskEv entHandler.java:232)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Any ideas?

Does the error still appear if you do the following:

  1. Stop Messenger

  2. Drop all phone* tables

  3. Start messenger

This will cause Asterisk-IM to recreate its tables.

I tried that and it didn’'t work. This is what I get:

2005.09.30 21:29:36 Asterisk-IM table creation --> [SQLServer 2000 Driver for JDBC][SQLServer]Violation of PRIMARY KEY constraint ‘‘jiveID_pk’’. Cannot insert duplicate key in object ‘‘jiveID’’.

java.sql.SQLException: [SQLServer 2000 Driver for JDBC][SQLServer]Violation of PRIMARY KEY constraint ‘‘jiveID_pk’’. Cannot insert duplicate key in object ‘‘jiveID’’.

Any help would be appreciated.

Dan

AJ,

Maybe the solution would be to update our ID generation code so that you don’'t have to do manual inserts for your new ID types? That would prevent this error.

Dan – to work around this issue you need to execute the following in your database:

delete from jiveID where idType=100;

delete from jiveID where idType=101;

-Matt