AJAX chat client for Cisco WebEx Connect - xmpp

I'm working on creating a chat client that is supposed to interface with Cisco's WebEx Connect IM. I'm using Cisco's CAXL library and I got it to work with gchat, which seemed a reasonable XMPP start-point. However, now I'm totally stuck. What services do I need to register for at Cisco to get access to a BOSH / XMPP endpoint that I can use with the chat client? How would I go about this? The project has an unlimited budget but I can't figure out what to buy -- totally unfamiliar with Cisco's enterprise jungle.
I've contacted WebEx support but no response yet. We don't have a real account with them yet so support seems hard to come by.
Thanks for any direction! ~Charlie

The right path to get support for CAXL is to go to the Cisco Developer Network (CDN), then click on Develop with Jabber, Develop and Test, Get Started - Hosted Deployment. At the top, there's a link for community support and to contact the CDN team, which has escalation paths that... end back up with me. :)
You just need an account on WebEx Connect to move forward.

Related

Best chat server selection for workgroup chat similar to live chat?

I am finding a solution to implement a customized workgroup chat application similar to live chat. I came across two different protocols to support this XMPP & COMETD.
After some more research I found that XMPP is the best choice. When it comes to chat server part I am confused between selecting openfire or ejabberd. I found openfire fastpath plugin to support my workgroup queue chat requirement. But similar type of plugin I could not find in ejabberd. Are there any existing plugin in ejabberd for this?
As I am new to this area can someone suggest me to select the right technologies suitable for me. Below are my requirements.
Fully customized chat client for users. Before each person initiates the chat need to take few input parameters. (Found this in sample fastpath webchat plugin supporting my requirements)
Most of the users will be using this in Ipad. So in mobile network and mobile devices it should work well.
Need to store all the conversations in database to get the statistics later.
Chat server should support ldap authentication.
Work group support with Queue. Each agent I should be able to assign a work groups.
Thanks in Advance

iOS Device communication

I am keen to get some apps built that can communicate with other devices/ web etc. i have played around with FTP and can get so far. But what is the best way to do this? We don't have any Servers with databases etc, but do have a site that we are currently uploading and downloading files to.
can anyone suggest a good/ better way to get the device to send/ receive files?
thanks
sam
If it's HTTP communication you're wanting to do, the simplest and most powerful tool is ASIHTTPRequest.
HTTP is the protocol your web browser uses to talk to web servers. If you have a site you're storing and downloading files at, it's almost certainly HTTP you're talking to it.
For iOS device to device communication one can use Bump API.
EDIT: I don't know of a generic framework for device <-> server communications, but having built applications that use web services of other providers like Yelp, Yahoo, Google Maps, I would say the way to go for this is to have REST based web services which exchange data in JSON format.

Create web messenger service

Am wondering if anyone can suggest the right technology required to create a web-messenger service similar to Meebo i.e. it should be able to connect to various services like Facebook, Gtalk etc. I know they are all Jabber compatible. Am wondering if anyone can suggest a technology that is required to connect to these servers? Also, is there an API or a service available instead of re-writing the wheel?
What about Google AppEngine?
With the introduction of the XMPP
service to App Engine, it's now
possible to write an App Engine app
that communicates with users - or even
other applications - over XMPP,
otherwise known as Jabber or Google
Talk.

How can I integrate CalDAV and CardDAV

I am trying to allow people (from a URL) to connect to a calender/contacts from their iPhone, Blackbury or Android phone - what is the best way to do this?
I've had a bit of a read and it seems that CalDAV and CardDAV are the best way to integrate calenders/contacts, but how exactly can I do this? The internet seems to lack a standard way of how you can integrate this into a number of devices.
Which mobile devices support them? And is it possible to just provide a URL and then the calender/contacts just automatically sync!?
All of this assumes you have some sort of Groupware server setup somewhere which acts as the repository for this information.
For opensource you might want to look at a product called Sogo. Apple also do a caldav/carddav server written in python. They expect you to buy a mac server but you can download the code and run it from a pc or linux box. There's a heap of paid-for groupware.
You might want to check out the "opensource" client software written by the same kids who develop Sogo caled funambol. This claims to be x-mobile (all the ones youve mentioned anyway).
The idea behind all the *DAV protocols is that yes everything is done by Uri (this was actually specced by Tim Berners Lee in his draft for the web).
I've just been through this very same process and found only emerging standards, of which *DAV are the de facto ones IMO. HTC use MS active sync on my HD2 to sync my Gmail. Go figure!
Bedework is CalDAV/CardDAV server that allows you to hook your iPhone/iCal calendar and events.
I have used it and it gives you an url to sign in with in you phone calendar. The Bedework is a server you could install on you machine (it is provided with documentation; this is a good point to start with).
Android natively does not support Bedework. In order for Android to support the CalDAV you have to install an application that supports CalDAV, but I do not know if they work with Bedewrok or not.
In the case of android you could try using the CalendarProvider and the ContactProvider. You could refer to this : http://developer.android.com/guide/topics/providers/calendar-provider.html

how to make my server support APNs?

i read in some stackOverflow post that The host would need to have port 2195 open and support push notifications under apns.how do i make my server to support apns.
what does this line means in Push Notification guide
To establish a trusted provider identity, we should
present this certificate to APNs at connection time using peer-to-peer authentication.
do i need to make a connection to APns through my native app? someone please explain this
Pretty much any server that doesn't have restriction on what sockets you can open is ready to be an APNS provider. In your project code, you can just open a socket to Apple servers (or use a library).
My understanding that Google App Engine and basically any traditional shared web hosting block any port other than 80, so you cannot use them. However, you can look into Urban Airship that provides a RESTful API that basically use from any service. It might get pricy though.
In short you need to establish an SSL connection, and then send the payload in the pre-defined binary format.
alt text http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Art/aps_provider_binary.jpg
See this guide for more details.
I use appengine, so I solved this by renting a super cheap server in hetzner.de. It basically serves as proxy to my appengine app and uses this library: https://github.com/notnoop/java-apns
that library has a one line way to send the message, using the certificate.
Google just opened up the ability to do Socket stuff on AppEngine, so I created a sample project that you can use to send push notifications using GCM and APNS in python. Feel free to use any of it that you like.
I've also included a sample iOS project and Android project that hook up nicely with the app engine solution.
https://github.com/GarettRogers/appengine-apns-gcm
** Full Disclosure ** this is my project, and I'm in no way trying to promote it because it's mine... it's simply the only available project that solves your problem at the moment. If you find anything that does a better job, please leave a comment.
You may check out java-apns-gae.
It's an open-source Java APNS library that was specifically designed to work (and be used) on Google App Engine.
https://github.com/ZsoltSafrany/java-apns-gae