Jabber API to send files
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Labels:
-
Jabber

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-08-2014 09:19 AM
Hi Hyun,
Have you checked if your CUPS server has the file transfer feature turned on?
Regards,
Howard

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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-
