hi there … i only wanted to ask if there’‘s any kind of documentation for the new jingle part in the smack releases… i found none in the download :’’-(
Not yet. Thiago was going to create a simple demo application to help people get started, though. I’'ll paste this thread to him…
-Matt
matt wrote:
Not yet. Thiago was going to create a simple demo application to help people get started, though. I’'ll paste this thread to him…
-Matt
that would be very nice … at the moment i’‘m evaluating if it’'s possible to get a bachelor thesis for a muc audio-conference and this peace of code (and documentation inkl. javadoc) might be very helpfull:-)
Hello,
Now we have a Demo application for Jingle. You can find it in SVN (smack\jingle\extension\source\org\jivesoftware\smackx\jingle\mediaimpl\demo)
Soon we will provide more documentation.
Best Regards,
Thiago
well… i tried to use this … i made a new eclipse project used the 4 jars from the smack download and started the demo with the 3 needet parameters…
what i saw was the following:
Initialized
2
2
Initializing…Resolved
java.net.PortUnreachableException: ICMP Port Unreachable
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.PlainDatagramSocketImpl.receive(Unknown Source)
at java.net.DatagramSocket.receive(Unknown Source)
at de.javawi.jstun.test.DiscoveryTest.test1(DiscoveryTest.java:113)
at de.javawi.jstun.test.DiscoveryTest.quickTest(DiscoveryTest.java:81)
at de.javawi.jstun.test.demo.ice.ICENegociator$1.run(ICENegociator.java:77)
at java.lang.Thread.run(Unknown Source)
when i now try to call a user who’'s logged in with spark (2.5) the folloeing errors are comming:
Exception in thread “AWT-EventQueue-0” java.lang.IllegalArgumentException: The provided user id was not fully qualified
at org.jivesoftware.smackx.jingle.JingleManager.createOutgoingJingleSession(Jingle Manager.java:606)
at org.jivesoftware.smackx.jingle.JingleManager.createOutgoingJingleSession(Jingle Manager.java:631)
at org.jivesoftware.smackx.jingle.mediaimpl.jmf.Demo$2.actionPerformed(Demo.java:1 07)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
i called admin@smilingj.net what should be a correct jid …
ok… last error is resolved … it needs the ressource with it … but what is the first one…
Hello,
The second error is about resourse. You always MUST provide a full JID.
The first one is a port unreacheable exception. Means that you cannot reach the STUN Server due a firewall blocking or a routing problem.
I just fixed smack lib in trunk, to omit (don’'t show) this message.
Best Regards,
Thiago
I get this error:
Initialized
1
java.net.PortUnreachableException: ICMP Port Unreachable
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.PlainDatagramSocketImpl.receive(Unknown Source)
at java.net.DatagramSocket.receive(Unknown Source)
at de.javawi.jstun.test.DiscoveryTest.test1(DiscoveryTest.java:113)
at de.javawi.jstun.test.DiscoveryTest.quickTest(DiscoveryTest.java:81)
at de.javawi.jstun.test.demo.ice.ICENegociator$1.run(ICENegociator.java:77)
at java.lang.Thread.run(Unknown Source)
at line 67 in file ICEResolver.java, the call is iceNegociator.gatherCandidateAddresses();
Can you explain what I need to do in order to open up my firewall to avoid this error?
btw, I have tested Voice-calls between two Spark 2.5’'s in my LAN and that works. My ambition now is to call Spark 2.5 from this Demo application.
//Peter
fshsweden wrote:
btw, I have tested Voice-calls between two Spark 2.5’'s in my LAN and that works. My ambition now is to call Spark 2.5 from this Demo application.
that wont work… as far as i could see the demo initiates a jingle connection but isn’‘t able to play or record any sounds … so you won’'t hear anything
OK, but at least it will be able to “call” Spark, right? Will the phone ring in Spark when the Demo app calls?
//Peter
Can you please update to latest Smack version on trunk and run the test again?
I just updated to new JSTUN lib.
Can you tell me if your firewalls is turn on blocking UDP packets?
Best Regards,
Thiago
fshsweden wrote:
OK, but at least it will be able to “call” Spark, right? Will the phone ring in Spark when the Demo app calls?
//Peter
jeep… spark will ring and ask you to accept or reject the call… i tested is this afternoon
With Demo App, you should be able to establsih a call and sound/audio should work for both sides
Regards,
Thiago
I updated, and it worked better, however not completely.
My setup is that I have a WF3.2.3 server on 192.168.1.19, as well as a Spark client with user "receiver@legolas.fshab.se/spark" logged on, and the Demo client running on 192.168.1.19 logging in as "caller@legolas.fshab.se".
The internet router has (more or less) default settings (so Yes, it blocks UDP packets), but since I do a call on the local LAN in this case, should the firewall-breaking code really even execute? The signalling phase takes place using WF right`And since both clients are on my LAN, shouldn’'t it be fairly straightforward?
Why does it say “remote server not found” ?
Here’'s the log:
Initialized
1
1
Initializing…Resolved
C: /192.168.1.123|/192.168.1.123 p:2195
Service listing
Listening for ECHO: 192.168.1.123:12792
Initializing…Resolved
UpdatePacketListener
Jingle:
REMOVE PACKET LISTENER
Negotiation Closed: caller@legolas/Smack 3219372388608590839
Declined:null
Thanks!
Peter
Message was edited by: fshsweden
It works now!
It seemed that there was some trouble with the JID. I gave the (in my opinion) full JID "receiver@legolas.fshab.se/spark" but it turned out that I had only defined the domain as “legolas” on the server, even though that server belongs to fshab.se
Anyway, that’'s a different question.
The demo app now called Spark 2.5 and managed to setup a session. I havent tested the audio yet (no headset on the other machine) but I will try as soon as poosible.
Great job!
Peter
Hi to all
Can someone explain me how to access SVN to get the demo application? i tried to use the tortoiseSVN Client for windows, but unsuccessfully.
Is maybe jingle features included in the last stable version of spark (2.5.2)?
I downloaded the new Smack API and i see that are jingle classes… but i can’'t find
documention and/or examples… is maybe still unavailable?
Beyond the demo application in the SVN repository, where i could find some example… i would like
to realize a little xmpp client that allow also jingle calls…
thanks
sorry for my english… 
bye
harkonnen
first of all … which url did you take? for me tortoise svn works perfectly
then … if there’‘s no documentation… perhaps it’‘ll be usefull to check the spark sources … there you’'ll find something i suppose (at least some more examples)
Take a look at javadocs in Smack Jingle folder. And in MediaImpl you will find a Demo Application.
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
Hello Friends,
I also try to inplement Demo application of jingle voice .
I am able to receive call from Spark But I got error while I try to make call.
This is error text:
Service listing
Listening for ECHO: 192.168.19.29:10488
Initializing…Resolved
UpdatePacketListener
Jingle:
REMOVE PACKET LISTENER
Negotiation Closed: test@sys29/Smack 628333505252692384
here sys29 is my server and test is user who try to make call to pathik. And pathik is login in spark 2.5.2
Any body have idea regarding this problem
Thank you in advance
-Pathik
Message was edited by: pathik
Are you provinding the full JID of the person that you want to call?
The person you are calling is running Jingle Plugin on his spark?
Please let me know and them we continue
Best Regards,
Thiago