New Beta Release - 1.2.0beta2

Hey All,

We have rolled out a new beta release with one fix. We added a background thread that will check the active channels to make sure they are in sync with the current presence as represented in Wildfire. We have found that our Asterisk server sometimes doesn’'t forward us hangup messages which could cause people to stay on the phone perpetually. It is available here.

Thanks,

Alex

I have installed this plugin wth wildfire 3.1.0 beta2 release.but while do add server, it does not save the configurations. and also shows a blank page in the phone mapping section.does anyone have any idea, how to configure this plugin…

Thanks,

Rawlins.

Hi Alex,

I’'m still having trouble with the Phone/Device field. The current values in the “Device” column is not being copied into the “phone” field and edits are not sucessful (nothing changes). As before, there are not error logs. Adding entries still works. Have there been any changes to the tables?

Also, I noticed another minor issue – on the Caller ID column, the caller id value is being literally printed out to the HTML response. So a callerid like John Doe <123> will be rendered as “John Doe” followed by the HTML tag “<123>” (which is not visible in firefox). You might want to “html” escape those values.

Call notifications are still now working, i’'m using wildfire 3.1.0 Beta and Spark 2.0.1.

Hey Rawlins,

When you say it does not save the configuration what do you mean? The server is not appearing when you add it? Could you post anything in your error.log to help point us to the possible issue? Is this a fresh install of Asterisk-IM? Which database are you using?

Thanks,

Alex

Hey Khalid,

Thanks for the pointer on the html escaping, I will fix this immediately. As for call notification - the Asterisk library inside of 2.0.1 (where the original bug existed), has not been updated yet to the latest and greatest. I have checked with the Spark team and it will be part of 2.0.2.

I have added the device field name fix and loading the device field properly when editing fix, but they are in the trunk so I will make sure they get in the final release. Still a little perplexed about the editing not coming up with any exceptions. I will have to think on this some more.

Hi awenckus, hi statik, hi rawlins, hi all

about the “while do add server, it does not save the configurations. and also shows a blank page in the phone mapping section” problem, the “trouble with the Phone/Device field.” problem, and also the “Call notifications are still now working” problem (i guess you wanted to say “not” working ?),

try downgrading the wildfire server to 3.0.1 and don’‘t use the embedded database, i’'m using mysql

also could be helpful to delete all the data from the following db tables: phoneDevice, phoneServer and phoneUser

i’'m using wildfire 3.0.1, asterisk-im 1.2.0 beat (not beta2) and spark from svn and all is working fine

except sometimes the phone mapping can’'t be updated (but you can delete it and re-create it)

i’‘ll try the 1.2.0beta2 asap and feedback for sure, i’'ve noticed this thread only today

a little suggestions about the spark call notify popup: maybe the popup could disappear once the call has been hang up ?

honestly, i think the whole behaviour should be like that:

the popup window would be better if it could be moveable and resizeable,

if the user interacts with the popup window during the call, on hang up it should remain there,

if the user didn’'t interact with the popup window, it should disappear.

i must admin that i tried to make it by myself but my java-fu has not permitted it

of course replacing the popup notify with the vcard info of the caller (if present) would be really appreciated (AWenckus i remember you wrote that you are working on it),

not mentioning that the vcard could be taken from ldap, which could be the same address book edited from outlook, evolution and so on

btw, i know all this is off-topic, but: what about write-support on ldap ?

being able to write on the vcard, would permit to take notes on the “notes” field during the call

regards and thanks for the support and the great work!

In regards to anything with Spark I would bring up your suggestions to the Spark team.

I need to write some different upgrade scripts, as all i have currently is mysql.

Thanks,

Alex

Thank YOU, Alex

regarding spark, just a couple of additions, then i’'ll shut up …

if you enable the chat text popup in the options, the new text of incoming messages would popup.

would be nicer if the new popup, from the same user, would close the last one,

and re-focusing the spark window, would close them all

second, i think they are already aware of it: on gnome, there are no indication of “new message received”; i mean, the title of the chat window is not changing (like gaim) and nothing happens on the tray icon, on wind0ws there are

ok, have a nice day and thank you very much for supporting

Hi

I have the same problem with “configuraiton does not save” and “phone mapping blank page”

  • I first had the 3.1.0.1 beta of wildlife server with asterisk-im 1.1.1 - the second problem happened.

  • then I’'ve upgraded asterisk-im to this beta = 1.2.0beta2 - and both of the above happened.

  • then I read this forum messages and tried to downgrade the wildlife to version 3.0.1 (release)

still the same behavior with both asterisk-im plugin versions…

The only thing I haven’'t done is using MySQL instead of embedded DB. Is that really necessary?

Here is the latest test logs with:

  • asterisk 1.2.10

  • Linux RedHat AS4 (kernel 2.6.9)

  • wildLife 3.0.1

  • asterisk-im 1.2.0beta2

Error log of WildLife 3.0.1:

at org.jivesoftware.phone.BasePhoneManager.getPhoneServers(BasePhoneManager.java:1 02)

at org.jivesoftware.phone.asterisk.AsteriskPhoneManager.init(AsteriskPhoneManager. java:52)

at org.jivesoftware.phone.asterisk.AsteriskPlugin.initPhoneManager(AsteriskPlugin. java:82)

at org.jivesoftware.phone.PhonePlugin.init(PhonePlugin.java:94)

at org.jivesoftware.phone.PhonePlugin$1.call(PhonePlugin.java:278)

at org.jivesoftware.phone.PhonePlugin$1.call(PhonePlugin.java:276)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

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)

2006.10.07 17:34:22 org.jivesoftware.phone.database.DbPhoneDAO.insert(DbPhoneDAO.java:447) Table not found in statement

java.sql.SQLException: Table not found in statement

at org.hsqldb.jdbc.Util.throwError(Unknown Source)

at org.hsqldb.jdbc.jdbcPreparedStatement.(Unknown Source)

at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)

at org.jivesoftware.database.AbstractConnection.prepareStatement(AbstractConnectio n.java:36)

at org.jivesoftware.phone.database.DbPhoneDAO.insert(DbPhoneDAO.java:436)

at org.jivesoftware.phone.BasePhoneManager.createPhoneServer(BasePhoneManager.java :119)

at org.jivesoftware.phone.asterisk.AsteriskPhoneManager.createPhoneServer(Asterisk PhoneManager.java:239)

at org.jivesoftware.phone.asterisk.AsteriskPhoneManager.loadLegacyServerConfigurat ion(AsteriskPhoneManager.java:87)

at org.jivesoftware.phone.asterisk.AsteriskPhoneManager.init(AsteriskPhoneManager. java:55)

at org.jivesoftware.phone.asterisk.AsteriskPlugin.initPhoneManager(AsteriskPlugin. java:82)

at org.jivesoftware.phone.PhonePlugin.init(PhonePlugin.java:94)

at org.jivesoftware.phone.PhonePlugin$1.call(PhonePlugin.java:278)

at org.jivesoftware.phone.PhonePlugin$1.call(PhonePlugin.java:276)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

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)

2006.10.07 17:34:23 org.jivesoftware.phone.database.DbPhoneDAO.getPhoneDevices(DbPhoneDAO.java:719) Column not found: SERVERID in statement

java.sql.SQLException: Column not found: SERVERID in statement

at org.hsqldb.jdbc.Util.throwError(Unknown Source)

at org.hsqldb.jdbc.jdbcPreparedStatement.(Unknown Source)

at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)

at org.jivesoftware.database.AbstractConnection.prepareStatement(AbstractConnectio n.java:36)

at org.jivesoftware.phone.database.DbPhoneDAO.getPhoneDevices(DbPhoneDAO.java:711)

at org.jivesoftware.phone.BasePhoneManager.getAllPhoneDevices(BasePhoneManager.jav a:66)

at org.jivesoftware.phone.asterisk.AsteriskPhoneManager.loadLegacyServerConfigurat ion(AsteriskPhoneManager.java:89)

at org.jivesoftware.phone.asterisk.AsteriskPhoneManager.init(AsteriskPhoneManager. java:55)

at org.jivesoftware.phone.asterisk.AsteriskPlugin.initPhoneManager(AsteriskPlugin. java:82)

at org.jivesoftware.phone.PhonePlugin.init(PhonePlugin.java:94)

at org.jivesoftware.phone.PhonePlugin$1.call(PhonePlugin.java:278)

at org.jivesoftware.phone.PhonePlugin$1.call(PhonePlugin.java:276)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

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)

“Info” log:

2006.10.07 17:34:15 unloading asterisk-im plugin resources

2006.10.07 17:34:15 Unregistering phone plugin as a component

2006.10.07 17:34:16 Reached end of stream, terminating reader.

2006.10.07 17:34:16 Closing socket.

2006.10.07 17:34:22 Found old database version 0 for asterisk-im. Upgrading to version 2…

2006.10.07 17:34:22 Database update successful.

2006.10.07 17:34:22 Initializing phone plugin

2006.10.07 17:34:22 Initializing Asterisk Manager connection

2006.10.07 17:34:22 Connecting to 10.106.72.73 port 5038

2006.10.07 17:34:22 Connected via Asterisk Call Manager/1.0

2006.10.07 17:34:23 Successfully logged in

2006.10.07 17:34:23 Determined Asterisk version: Asterisk 1.2

2006.10.07 17:34:23 Connecting to 10.106.72.73 port 5038

2006.10.07 17:34:23 Connected via Asterisk Call Manager/1.0

2006.10.07 17:34:23 Successfully logged in

2006.10.07 17:34:23 Determined Asterisk version: Asterisk 1.2

Debug log:

2006.10.07 17:34:15 Unloading plugin asterisk-im

2006.10.07 17:34:15 Shutting down Manager connections

2006.10.07 17:34:22 Loading plugin asterisk-im

As can be seen above, I’'ve just restarted the plugin to produce the logs.

Then I did the operations as described in the beginning of the message above

and error log got filled with this:

at org.mortbay.http.HttpServer.service(HttpServer.java:909)

at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)

at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)

at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)

at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)

at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)

at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

2006.10.07 17:40:11 org.jivesoftware.phone.database.DbPhoneDAO.getPhoneServers(DbPhoneDAO.java:631)

java.sql.SQLException: Table not found in statement

at org.hsqldb.jdbc.Util.throwError(Unknown Source)

at org.hsqldb.jdbc.jdbcPreparedStatement.(Unknown Source)

at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)

at org.jivesoftware.database.AbstractConnection.prepareStatement(AbstractConnectio n.java:36)

at org.jivesoftware.phone.database.DbPhoneDAO.getPhoneServers(DbPhoneDAO.java:623)

at org.jivesoftware.phone.BasePhoneManager.getPhoneServers(BasePhoneManager.java:1 02)

at org.jivesoftware.wildfire.plugin.phone.phone_002dsettings_jsp._jspService(phone _002dsettings_jsp.java:169)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

at org.jivesoftware.wildfire.container.PluginServlet.handleJSP(PluginServlet.java: 234)

at org.jivesoftware.wildfire.container.PluginServlet.service(PluginServlet.java:92 )

at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:830)

at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:69)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:98)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:11 8)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:65)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingF ilter.java:41)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:69)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:98)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler. java:471)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)

at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.ja va:633)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)

at org.mortbay.http.HttpServer.service(HttpServer.java:909)

at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)

at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)

at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)

at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)

at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)

at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

TIA

Tomer

Hey,

The only upgrade script that has been written thus far is the upgrade for MySQL, so unless you upgrade your DB manually the beta won’'t work with the embedded database. The final release will have support for the embedded db.

Thanks,

ALex

EDIT: Err, I’‘m not sure how to make a DB backup, but it’'d probably be best to make one before attempting this

Hi Guys,

I was able to manually update the DB to get 1.2.0beta2 working on the embedded db last night. These are the basic steps I followed:

  1. Shut down wildfire

  2. Went into the HSQL Database Manager (embedded db admin interface) (Run c:\program files\wildfire\bin\extra\embedded-db-viewer.bat on Windows)

  3. Dropped the phone databases from an old asterisk-im install (I didn’'t have any configuration data to save). For me, I had to “DROP TABLE phoneuser” and “DROP TABLE phonedevice”- PLEASE NOTE this will probably DELETE all your current asterisk-im settings.)

  4. Tried to run the MySQL Script, but errors were given stating that the “unique” keyword was not supported (the script is in C:\Program Files\Wildfire\plugins\asterisk-im\database on windows)

  5. Removed “unique” keyword (twice) from MySQL script, resulting in the script below. You will also notice the last line from the MySQL script is also missing (to be manually updated in step 8)

create table phoneServer (

serverID bigint not null,

serverName varchar(255) not null,

hostname varchar(255) not null,

port int not null,

username varchar(255) not null,

password varchar(255) not null,

primary key(serverID)

);

create table phoneDevice (

deviceID bigint not null,

device varchar(255) not null,

extension varchar(255) not null,

callerId varchar(255),

isPrimary int not null,

userID bigint,

serverID bigint not null,

primary key (deviceID)

);

create table phoneUser (

userID bigint not null,

username varchar(255) not null,

primary key (userID)

);

  1. Ran the script to add the updated tables back

  2. Ran “SELECT * from JIVEVERSION” and noticed the version of ‘‘asterisk-im’’ was set to “0” (for me atleast, since I was using an old version)

  3. Ran the following SQL to manually update ‘‘asterisk-im’’ to version 2 (to prevent wildfire attempting to upgrade the DB automatically, since we just did it manually):

UPDATE JIVEVERSION

SET VERSION=2

WHERE NAME=’‘asterisk-im’’ (must be single-quotes here)

9- Verified version updated correctly by running “SELECT * FROM JIVEVERSION”

10- Close out of HSQL Database Manager

11- Wait a minute and restart Wildfire

12- Asterisk-im 1.2.0b2 should work now!

Again, I’‘m not sure the impact of removing “unique” from the tables. You can probably add them back with a little research into the HSQL syntax… Also, if you have a lot of configuration already, you’'ll probably have a much better time altering the current tables vs. dropping/recreating them as shown here

Good Luck!!

Pete

Message was edited by: peted20