« Back to Cisco JTAPI Questions

Using JTAPI in .NET app

Combination View Flat View Tree View
Threads [ Previous | Next ]
Is it possible to use JTAPI in .NET app? Are there some wrapper for that? Any other suggestions?

Your question isn't very descriptive, so I'm going on assumptions. If you have more information, let me know.
 
I've never used it with .NET applications, but the Java Native Interface (JNI) allows the execution of Java code from within native compiled code (such as C, or C++). You could probably make calls to the JTAPI methods through jtapi.jar, but you would probably have to write some kind of skeleton wrapper yourself, and use JNI to hit those methods.
 
Using JNI is not recommended for various reasons, but in general JNI is clunky and error-prone. If you mess up your JNI calls, you can seriously damage the JVM and cause a crash.
 
If you are looking to develop C or C++ applications that interact with the Cisco Unified Communications Manager, then I would recommend looking into Cisco TAPI. It's essentially the C++ version of JTAPI. Although there are some fundamental differences, you can accomplish pretty much anything you want with either API.

Yes, agreed about JNI. I just thought there could be some ready to use wrapper, as I beleive I'm not the first who wants .NET apps to interact with VoIP network. As for TAPI - as far as I know its just a MS lib for telephony and have less methods than JTAPI which is design for Cisco (CCM and IP phones).

Yes, TAPI is a Microsoft spec, but Cisco has their own implementation, which has a lot more functionality, and a lot of Cisco-specific code.
 
JTAPI and TAPI are developed closely together, and while they are different in many ways, they generally have the same feature set.

If it needs to be a .NET language, look at ATAPI.NET - it's a .NET wrapper for TAPI, and it does work with Cisco's TSP.
I haven't used it to make anything actively with it (like make calls, answer calls, etc.) but the whole device state bit definitely works (I see devices and lines coming online and going offline).