There isn't such a course as mentioned earlier. You will need familiarity with these:
1. XML, specially familiarize yourself with Cisco's XML objects.
2. Dynamic web platform, like ASP.NET, JSP/Servlet/JSF, PHP, etc.
3. SOAP/Web services, WSDL, etc.
4. JTAPI/TAPI, if you want to use advance telephony features.
Out of all the above, TAPI/JTAPI is the hardest one as I have not found a good resource on it. If you don't have telephony background, it takes a while to get this one. However, there are tons of good books on 2 and 3.
They explain the basic concepts of JTAPI. From that point on you might want to look at the makecall and jtrace samples (part of the jtapi runtime you can download from your callmanager) to get an idea on how to get started and of course you need the jtapi developer guide for your callmanager version as well.
And... .msabir's #2: right on. We see way too many people here who don't have those essential skills. Developing IP phone services is no different than developing any other application.. first you need to understand the programming basics in your chosen language.. then you need to learn the environment which in this case is really simple (unless you go for cti).
A simple example of a CTI application would be having a popup on your screen when somebody calls your phone.. showing who is calling. Often this goes further and some kind of lookup is being done (e.g. look up the number in your personal contacts in outlook, or some crm application, or sap, or wherever you store data about your customers).
Another often used CTI application is click to call.. you have contacts (e.g. in your outlook) and pressing the telephone button you can call them.. so you press the button and your phone starts making the call without you having to type the number.
XML applications don't necessarily require CTI but they can some time (for instance if you want to look up incoming caller numbers in some kind of database and show the name of a caller on your phone's screen.. then it's basically a CTI application but the way you get the information to your phone is the same way you do xml applications).
CIPT or CVoice are courses about Call Manager (now Communications Manager).. they are not necessary, however, you will find it much easier to get your work done if you understand the basics of telephony and call manager configuration. The best application developer is not only proficient in their chosen programming language, apis of their pbx but also know how the pbx works and can set up one on their own (within limits of course.. setting up a multi-cluster site with presence, voicemail and call center may be a bit much but at least setting up a single call manager should be in your portfolio.. )
SIP traces provide key information in troubleshooting SIP Trunks, SIP
endpoints and other SIP related issues. Even though these traces are in
clear text, these texts can be gibberish unless you understand fully
what they mean. This document attempts to br...
Please find the attached HTML document, download and open it on your PC.
This provides an easy to use form where you simply answer a few
questions and it will render the proper jabber-config.xml file for you
to copy/paste. There is built in logic to verif...
CUCM Database Replication is an area in which Cisco customers and
partners have asked for more in-depth training in being able to properly
assess a replication problem and potentially resolve an issue without
involving TAC. This document discusses the bas...