Asterisk-IM 1.1.1 and Wildfire 3.0.1 (Linux/RedHat EL4)

These to don’‘t work together: I can’'t open “Phone Mappings” in Asterisk-IM tab of Wildfire admin interface - I get a blank web page. When I try to do this I get the following messages in the error log:

2006.07.14 11:22:12 org.jivesoftware.wildfire.container.PluginServlet.service(PluginServlet.java:104 )

javax.servlet.ServletException: org.jivesoftware.database.DbConnectionManager.closeConnection(Ljava/sql/ResultS et;Ljava/sql/PreparedStatement;Ljava/sql/Connection;)V

at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl .java:825)

at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.j ava:758)

at org.jivesoftware.wildfire.plugin.phone.phone_002dusers_jsp._jspService(phone_00 2dusers_jsp.java:619)

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)

No problems with Wildfire 3.0.0

Same here with RH3, Asterisk-IM 1.1.1 and Wildfire 3.0.1. Phone mappings page is blank.

Phone Mappings gives me a blank page also :’’(

  • J

Trixbox 1.1.1

Asterisk 1.2.9.1

Wildfire 3.0.1

Asterisk-IM 1.1.1

i have the same problem whit asterisk IM in suse 10.1 wildfire 3.0.1

sorry my english

Yo tengo el mismo problema con el pluging de asterisk me muestra una pagina en blanco cuando trato de mapear los telefonos tengo instalado wildfire 3.0.1 el ultimo pluging de asterisk en suse 10.1

After scouring the boards here, I downgraded Wildfire from 3.0.1 to 3.0.0 and the Phone Mappings magically started working… however, I’‘m now getting the perpetual ‘‘on the phone’’ status as described by others concerning 3.0.0 (user hangs up, but wildfire doesn’‘t update status). After reading the changelog, I can only assume it’‘s all the presence updating and hope there’'ll be a 3.0.2 shortly.

Wildfire seems impressive, if I could just get it going…

  • J

I get the blank phone mappings screen as well…here is my setup

Fedora Core 5

Wildfire 3.0.1

Asterisk-IM 1.1.1

Yeah I had the same problem when upgrading from 3.0.0 to 3.0.1 seems to be a bug.

Hi,

Got the same problem and found the solution.

I change in the jsp to catch Throwable errors and got the real reason :

java.lang.NoSuchMethodError: org.jivesoftware.database.DbConnectionManager.closeConnection(Ljava/sql/ResultS et;Ljava/sql/PreparedStatement;Ljava/sql/Connection;)V

at org.jivesoftware.phone.database.DbPhoneDAO.getPhoneDevicesByUsername(DbPhoneDAO .java:472)

at org.jivesoftware.phone.BasePhoneManager.getPhoneDevicesByUsername(BasePhoneMana ger.java:70)

at org.jivesoftware.wildfire.plugin.phone.phone_002dusers_jsp._jspService(phone_00 2dusers_jsp.java:151)

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)

The problem is because DbConnectionManager.closeConnection method signature changed between revison 3.0.0 and 3.0.1 of wildfire. (there is an argument that changed from java.sql.PrepareStatement to java.sql.Statement)

Also the asterisk-IM pluging has been compilet for 3.0.0.

To fix this I recompiled the Asterisk-IM plugin with the correct reference to wildfire (server/build/lib/wildfire.jar)

On wildfire server, I deleted the directory plugins/asterisk-im and replaced the asterisk-im.jar file with the new just recompiled.

For those of you that don’'t want to recompile, you can get the asterisk-im.jar from http://couplet.be/temp/asterisk-im.jar

Regards,

Herve Couplet

Wow, that’'s excellent!

I wonder… does the perpetual ‘‘on the phone’’ status still take place w/ 3.0.1, or has it been fixed?!? (i.e. is the status now being updated properly?)

  • J

What Asterisk version do you have ? Mine is 1.2.5 and it’'s old. Some say they improved presence handling in following versions.

Spark worx just as it should & everything, and on the 1st call a user gets… it rightly updates to ‘‘on the phone’’. Unfortunately, no matter if that call is from another extension or a queue (supposedly hard for Wildfire), it never again updates the status off of ‘‘on the phone’’.

  • J

Trixbox 1.1.1

Asterisk 1.2.9.1

Zaptel 1.2.7

Wildfire 3.0.0

Asterisk-IM 1.1.1

Same here!!

Updates are NOT working at all concerning Asterisk now (Never says ‘‘on the phone’’). I suppose this is a welcome change as Wildfire status changes still work fine (as opposed to everyone always being ‘‘on the phone’’). Unfortuantely, the popup notifications are no longer working when a call comes in! :’’(

3.0.2, where art thou?

  • J

Trixbox 1.1.1

Asterisk 1.2.9.1

Zaptel 1.2.7

Wildfire 3.0.1

Asterisk-IM 1.1.1 (Recompiled)

Concerning the perpetual “on the phone status”, I found two problems :

  1. there was a java ConcurrentModificationException access in PresenceLayerer.restorePresence() method.

  2. In the AsteriskEventHandler.handleHangupEvent() method there was a problem when a phone hangup and the corresponding spark was not logged in.

If after that the user login and do a call he get’‘s perpetual on the phone status because the system can’'t restore his presence status because of the previous call that was not cleaned up. So in that case I also added code to cleanup his states.

A source patch can be found at : http://couplet.be/temp/status_fix/patch.txt

I would be glad to commit this to subversion if someone can give me access.

If you don’'t want to recompile by yourself, here is the compiled fixed module : http://couplet.be/temp/status_fix/asterisk-im.jar

If you try it, can you tell me if this is working for you ?

Regards,

Herve Couplet

Great !! It looks fine (with Wildfire 3.0.1) - no permanent “on the phone” status messages up to now.

By the way, it doesn’'t work with Wildfire 3.0.0 at all. You have probably taken Asterisk-IM source patched to work with 3.0.1 ?

This was compiled for wildfire server 3.0.1.

Version 3.0.1 and 3.0.0 are not compatible.

For those who still use 3.0.0, here is the patched asterisk-im module compiled for 3.0.0 (I didn’'t test it) :

http://www.couplet.be/temp/status_fix/asterisk-im_3.0.0_not_tested.jar

For the other that use 3.0.1, use :

http://www.couplet.be/temp/status_fix/asterisk-im.jar

Both jar contains the same compiled sources, the difference is the server/build/lib/wildfire.jar library file they use for the build.

Herve

No change… even after complete system reboot

(deleted asterisk-im.jar, then redownloaded)

Updates are still NOT working at all concerning Asterisk (Never says ‘‘on the phone’’ anymore). Also, the popup notifications are still no longer working when a call comes in! :’’(

Dial a Number and Call Button (in IM) are both still working. Same settings I’'m using on working 3.0.0 and official 1.1.1 (with perpetual ‘‘on the phone’’ of course).

Am I missing something?

  • J

Trixbox 1.1.1

Asterisk 1.2.9.1

Zaptel 1.2.7

Wildfire 3.0.1

Asterisk-IM 1.1.1 (2nd Recompile)

try to :

  1. stop the server

  2. delete plugins/asterisk-im directory

  3. delete asterisk-im.jar file

  4. copy the new asterisk-im.jar file in plugin directory

  5. start the server

  6. restart the server (don’'t know why but I saw some endless loading/unloading of asterisk-im in debug.log file before the second server restart after installing asterisk-im plugin)

With this you, I have the phone status working.

For the incomming call popup I have never seen those. (only used wildfire 3.0.1, im 1.1.1 & spark 2 beta)

Can you tell me the version of wildfire, spark & asterisk im you used for the incomming popup ? If I have some time this WE I can have a look

Incomming call popup are working.

Herve

Message was edited by: hcouplet

Argh, still no change…

0.) Exited all Spark clients

1.) Stopped server

2.) Again deleted the .jar, and this time the asterisk-im directory

3.) redownloaded .jar

4.) Started server

5.) Rebooted server

6.) Rebooted server again (for the heck of it:|)

7.) Deleted phone mappings & recreated

8.) Loaded Spark clients & tested

…yet still no change.

After searching the boards here some time ago, I found that the Asterisk-IM 1.1.1 DOES work w/ Wildfire 3.0.0 BUT w/ the pia ‘‘on the phone’’ status bug (whereas 3.0.1 got the inevitable blank screen).

The incoming popup notification is actually quite a nifty lil thing… basic grey box slides up w/ Caller ID name & number, then slides back down (by system tray). I particularly like it cuz my Snom 360 doesn’‘t have quite a long enough display to show entire CallerID whereas the popup does. Plus I don’'t have to stop looking @ monitor. Done very well, but again… only working w/ 3.0.0 and official Asterisk-IM 1.1.1.

I really do like the notification popup a bunch, and only choose to live without it cuz having all users as ‘‘on the phone’’ is simply unnacceptable.

  • J

When you write : “3.) redownloaded .jar”, you used my patched version :

for wildfire 3.0.0 : http://www.couplet.be/temp/status_fix/asterisk-im_3.0.0_not_tested.jar

for wildfire 3.0.1 : http://www.couplet.be/temp/status_fix/asterisk-im.jar

and not the official one from the web interface ?

Herve