Skip navigation
This discussion is archived
5072 Views 16 Replies Latest reply: Jul 6, 2007 9:28 AM by Soulreaper RSS
Calculating status... 14 posts since
May 7, 2007
Currently Being Moderated

May 31, 2007 2:33 AM

Problems using Jingle support in SmackAPI

Hi folks.

 

I am also trying to run the Demo application for the Jingle support and I also run into the problem with the exception "ICMP Port Unreachable". Setup is WinXP with no router or firewall other than the default win firewall. When i ignore the ICMP error and connect to a remote user a NullPointerExceptions is thrown.

 

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

at org.jivesoftware.smackx.jingle.nat.RTPBridge.serviceAvailable(RTPBridge.java:43 2)

at org.jivesoftware.smackx.jingle.nat.ICEResolver.resolve(ICEResolver.java:130)

at org.jivesoftware.smackx.jingle.nat.ICETransportManager.createResolver(ICETransp ortManager.java:45)

at org.jivesoftware.smackx.jingle.nat.JingleTransportManager.getResolver(JingleTra nsportManager.java:58)

at org.jivesoftware.smackx.jingle.OutgoingJingleSession.(OutgoingJingleSession.jav a:143)

at org.jivesoftware.smackx.jingle.JingleManager.createOutgoingJingleSession(Jingle Manager.java:617)

at org.jivesoftware.smackx.jingle.JingleManager.createOutgoingJingleSession(Jingle Manager.java:635)

at org.eclipse.ecf.internal.provider.jingle.Demo$2.actionPerformed(Demo.java:114)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.ja va:236)

at java.awt.Component.processMouseEvent(Component.java:6038)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)

at java.awt.Component.processEvent(Component.java:5803)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4410)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

at java.awt.Container.dispatchEventImpl(Container.java:2102)

at java.awt.Window.dispatchEventImpl(Window.java:2429)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:27 3)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:17 3)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

 

 

The NPE is caused because there is no ServiceDiscoveryManager present. After looking through the smack 3.0 source it seamed as if the ServiceDiscoveryManager is not properly registered as a ConnectionCreationListener so there is no mapping from the XMPPConnection to the ServiceDiscoveryManager. The registration is supposed to happen in the static{} part of the ServiceDiscoveryManager class which is not invoked before it is queryed.

 

When i catch the exception in the RTPBridge.serviceAvailable method so that the npe is discarded (i just return false) i can actually connect to the user on the other side.

 

this is nice. but there is no voice comming out of either side of the connection.

 

Any help in any direction would be greatly appreciated

 

Thanks

  • barata7 Silver 200 posts since
    Mar 7, 2006
    Currently Being Moderated
    May 31, 2007 8:58 AM (in response to Soulreaper)
    Re: Problems using Jingle support in SmackAPI

    Hello,

     

    Can you please provide more details about your setup?

    Which version of openfire are you running?

    The server is at the same machine that you are trying to run the clients?

     

    Can you show a little bit of your code?

     

    Best Regards,

    Thiago

      • barata7 Silver 200 posts since
        Mar 7, 2006
        Currently Being Moderated
        Jun 1, 2007 7:42 AM (in response to Soulreaper)
        Re: Problems using Jingle support in SmackAPI

        Do you have a firewall running in your lan?

        Is your server''s network firewalled? (You should opne UDP port range 10000-15000 to internet to make media proxy available)

         

        It seems like your machines cannot communicate each other using UDP.

         

        Regards,

        Thiago

          • barata7 Silver 200 posts since
            Mar 7, 2006
            Currently Being Moderated
            Jun 4, 2007 8:20 AM (in response to Soulreaper)
            Re: Problems using Jingle support in SmackAPI

            Hello,

             

            STUN worked partially, because it''s a blind establishment, which means that it didn''t check if both machines are connected.

            Please back to ICE Manager it''s much more reliable.

             

            Another question is: How did the machines share the connection to the internet?

            A router, swith or hub?

            Which model?

            Have you checked the settings about firewall and UDP blocking?

             

            Best Regards,

            Thiago

              • barata7 Silver 200 posts since
                Mar 7, 2006
                Currently Being Moderated
                Jun 7, 2007 6:31 PM (in response to Soulreaper)
                Re: Problems using Jingle support in SmackAPI

                As we can see your scenario is the simpler as possible.

                 

                I confirm that ICEtransport chacks connectivity. STUN only, doesn''t. That''s why you have the "impression" of "further improvements".

                 

                I would check if something is blocking UDP packets in your network setup. I''m pretty sure, that there is no reason to a jingle call fail in a setup like yours.

                 

                Do you have "wireshark"? Can you download it from sourceforge?

                This way I can tell you how to trace packets in your network )

                 

                Cheers,

                Thiago

                  • barata7 Silver 200 posts since
                    Mar 7, 2006
                    Currently Being Moderated
                    Jun 11, 2007 11:20 AM (in response to Soulreaper)
                    Re: Problems using Jingle support in SmackAPI

                    Are you loading the native libs of JMF?

                    Are you using full JIDs to place the calls?

                     

                    Best Regards,

                    Thiago

More Like This

  • Retrieving data ...

Bookmarked By (0)