powered by Jive Software

Jingle audio .. documentation?

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… :stuck_out_tongue:

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