02-27-2014 01:51 AM
Hi Team,
DO we have APIs available wherein we can setup the Jabber to send/receive the files within the participants?
regards,
Jayant
02-27-2014 12:56 PM
Hi Jayant,
Sorry, the file transfer feature is not current implemented in CAXL.
Will update you if there is any plan in the roadmap.
Thanks,
Howard
02-27-2014 01:10 PM
Per the CUP documentation, it will route requests containing the XEP-0096 'file transfer' XMPP extensions (i.e. not block/reject), however CUP does not participate at all in the actual interpretation or processing of XEP-0096. As I understand it, this means if both endpoints support XEP-0096, they could send low-level XMPP messages (via CAXL) to each other which contain the XEP-0096 schema elements, and therefore negotiate and implement file transfer between themselves.
There is no higher-level function in CAXL exposed for file transfer, the apps would need to build and send lower-level XMPP stanzas with XEP-0096 contents.
04-09-2014 11:26 PM
Hi David,
Based on the suggestion we tried following:
1. Using strophe.js unable to connect with the cups server , always we get the response as connecting , there is no response from our cups server after that . is there any other approach to achieve the file transfer?
04-10-2014 03:33 PM
Strophe.js is roughly equivalent to CAXL, in that it represents a javascript library which implements XMPP over BOSH (note CUP does not support websockets.) As Cisco does not support integrating directly via the BOSH interface (SIMPLE, CAXL and direct XMPP are supported) its possible that strophe.js 'might just work', but would not be officially supported.
Can you determine at the HTTP or XMPP level what the issue/error is? I.e. a pcap of an attempted connection (non-secure) might be helpful...
As mentioned before, it may be possible to implement XEP-0096 using low-level CAXL requests (in much the same way that I assume the 'outofband' strophe.js plugin does it using low-level strophe.js requests)...not aware of any easier solution.
04-24-2014 12:46 AM
HI David,
As you recommended, we are working on XEP-0096 via CAXL.
But whenever we fire Stream Initiation(SI), getting <feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></feature-not-implemented> without <text> information according to XEP-0020: Feature Negotiation.
I've attached all requests and responses, can you please help what was the problem?
1. Requesting Disco Information From Receiver
</iq>
</body>
2. Receiver Disco Information Result
<feature var="http://jabber.org/protocol/bytestreams"></feature>
<feature var="http://jabber.org/protocol/caps"></feature>
<feature var="http://jabber.org/protocol/chatstates"></feature>
<feature var="http://jabber.org/protocol/disco#info"></feature>
<feature var="http://jabber.org/protocol/ibb"></feature>
<feature var="http://jabber.org/protocol/muc"></feature>
<feature var="http://jabber.org/protocol/muc#user"></feature>
<feature var="http://jabber.org/protocol/si"></feature>
<feature var="http://jabber.org/protocol/si/profile/file-transfer"></feature>
<feature var="http://jabber.org/protocol/xhtml-im"></feature>
</query>
</iq>
</body>
3. Offer Stream Initiation
<feature xmlns="http://jabber.org/protocol/feature-neg">
</option>
<option>
</option>
</field>
</x>
</feature>
</si>
</iq>
</body>
4. Error
<body xmlns="http://jabber.org/protocol/httpbind" xmlns:stream="http://etherx.jabber.org/streams">
<iq id="offer1" from="preddy2@cisco.com/xep099tester" to="shahhuss@cisco.com/xep099tester"
type="error" xmlns="jabber:client">
<si id="a0" mime-type="text/plain"
profile="http://jabber.org/protocol/si/profile/file-transfer" xmlns="http://jabber.org/protocol/si">
<file name="test.txt" size="1022"
xmlns="http://jabber.org/protocol/si/profile/file-transfer"></file>
<feature xmlns="http://jabber.org/protocol/feature-neg">
<x type="form" xmlns="jabber:x:data">
<field type="list-single" var="stream-method">
<option>
<value>http://jabber.org/protocol/bytestreams</value>
</option>
<option>
<value>http://jabber.org/protocol/ibb</value>
</option>
</field>
</x>
</feature>
</si>
<error type="cancel">
<feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></feature-not-implemented>
</error>
</iq>
</body>
---------------------------------------------------------------------------------------
Thanks,
Hyun
05-08-2014 09:19 AM
Hi Hyun,
Have you checked if your CUPS server has the file transfer feature turned on?
Regards,
Howard
05-08-2014 05:35 PM
Hi Howard,
Thanks for you reply!
The configuration of CUPS were on.
Fortunately we got it work.
What we need to do was not only implement sender side of logic but also implement for receiver side of logic.
Regards,
Hyun
05-08-2014 06:34 PM
Hi Hyun,
God to hear that...:)
Did you managed to use CAXL, or Strophe.js?
Do you might share the code sample to the forum so that others can follow?
Regards,
Howard
05-08-2014 06:43 PM
We refer Cryptocat filetransfer logic and added some amount of code to jabberwerx.js. :-)
I uploaded my sample code in here:
https://communities.cisco.com/docs/DOC-53445
-Hyun-
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide