Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

JTAPI interface to Cisco Callmanager - Linux

From Cisco's "readme" file in the JTAPI client install...

-----------------------------------------------------------------

Q: How can I install the JTAPI client on a non-Windows platform

A: Install on any windows machine and move the classes.

The JTAPIClient.exe, accessible from the CallManager admin web page Application tab, is an InstallShield package. This can be extracted to any Windows PC and the class files can be moved to any non Windows environment.

-----------------------------------------------------------------

Alright, doesn't make sense to me offhand because I don't see where the binary is going to come from... but I'll humor them and follow the directions. So I did.

I've setup a Linux/Unix box that I'd like to use to develop and host my applications for interfacing to Cisco's Callmanager. It works on the Windows platform, but for many various of technical reasons, I want to run this on a Linux/Unix box instead. Cisco says you can in their "readme" file.

I've transferred all classes over, set up the proper classpaths, downloaded and installed the same exact version of JTAPI that I had on the working Windows box to the Linux/Unix box in it's format. Set my execution paths for both java and javac so I've got the JRE and JDK all ready to go. Transfer source over to the Linux/Unix box. Run it through the compiler "javac" with the correct classpaths and it compiles successfully just fine, no errors or warnings whatsoever. Now, on the Win platform, I ran the program with "jview". However, there is no such thing I can find availiable for my Linux/Unix platform, which brings me back to my thought in the first place. How am I going to run this without the Cisco JTAPI interface binary for the Linux/Unix platform? I run the program through "java" and of course, it runs. However, I insantly get a message saying...

"Can't get Provider: []: javax.telephony.JtapiPeerUnavailableException: JtapiPeer: DefaultJtapiPeer could not be instantiated."

... which basically means to me that the Cisco JTAPI client binary is not there to do the translation between the Sun JTAPI interface and the Cisco Callmanager.

Two things...

1) Does anyone know if this Cisco JTAPI client binary for Linux/Unix exists?

2) If it does not, please don't say you support the platform in your "readme" file.

Any help is greatly appreciated.

5 REPLIES
Cisco Employee

Re: JTAPI interface to Cisco Callmanager - Linux

Well,

I see this that tell you to manually create a jtapi.ini file:

http://www.cisco.com/en/US/customer/products/sw/voicesw/ps556/products_administration_guide_chapter09186a00800c4c7a.html#55483

But I don't see the client for Linux.

I wonder if you point your Linux browser where the doc says if ccm will send you the proper client....

New Member

Re: JTAPI interface to Cisco Callmanager - Linux

You are referring to this...

“JTAPI Preferences on non-Microsoft environments

For non-Microsoft environments, a jtapi.ini file must be created manually and placed in the CLASSPATH. The following are the parameter names with sample values:

Traces=WARNING;INFORMATIONAL;DEBUG

WARNING=0

INFORMATIONAL=0

DEBUG=1

Debugging=JTAPI_DEBUGGING;JTAPIIMPL_DEBUGGING;CTI_DEBUGGING;

CTIIMPL_DEBUGGING;PROTOCOL_DEBUGGING;MISC_DEBUGGING

JTAPI_DEBUGGING=1

JTAPIIMPL_DEBUGGING=1

CTI_DEBUGGING=1

CTIIMPL_DEBUGGING=1

PROTOCOL_DEBUGGING=0

MISC_DEBUGGING=0

UseSystemDotOut=0

UseSyslog=0

SyslogCollector=

SyslogCollectorUDPPort=

UseTraceFile=1

TraceFileSize=1048576

NumTraceFiles=10

UseSameDirectory=1

Directory=

TracePath=d:/public/traces

FileNameBase=jtapiTrace

FileNameExtension=log

CallManagers=ctiserver; ctiserver2

That I've done already.

Silver

Re: JTAPI interface to Cisco Callmanager - Linux

I'm not sure what binary you are talking about, I don't see that it is needed. I have not yet implemented this on a Linux environment, but I don't see anything stopping a port to Linux.

Java provides JTAPI support, and Cisco provides extensions to the standard JTAPI classes to provide extended support. These are the classes that you copy across to your JTAPI environment. You don't need to use Cisco's classes at all if you don't need the extended support, I believe.

However, the sample applications that come with the JTAPI client are written in Visual J++ I believe (which is no longer available from MS, to my knowledge), which is a windows-only environment with windows-only java extensions. Therefore, you probably won't be able to run those samples in a non-windows environment.

In regards to the error you noted, it looks like you might be having a jtapi-based error, and not a platform problem. If you are still having difficulty with this (your post is a couple weeks old) we could look into this. I would be interested in the outcome.

New Member

Re: JTAPI interface to Cisco Callmanager - Linux

Actually, I have it working on linux at this point.

(Ironically, it works more reliably than on Microsoft products)

With both the JRE and JDK loaded, you can run the JTAPI java calls. My problem before was twofold...

1) Incorrect reference directly to JTAPI without a needed Cisco extension.

2) Putting my .jar in the path, but not explicitly naming it.

I have written a shell binary for the linux platform to handle both execution and compilation of Cisco based JTAPI. It handles multiple versions of Callmanager natively. If anyone is further interested, you may contact me directly.

New Member

Re: JTAPI interface to Cisco Callmanager - Linux

Hello jmyner, I am also trying to make JTAPI work. I had a similar problem with the reference to the .jar file in my classpath and solved it. Now I get the exception:

com.cisco.jtapi.PlatformExceptionImpl: Unable to create provider -- null

at com.cisco.jtapi.CiscoJtapiPeerImpl.getProvider(com/cisco/jtapi/CiscoJtapiPeerImpl)

at jtapitest.CiscoDirectoryProxyTest.main(CiscoDirectoryProxyTest.java:33)

Exception in thread "main"

The exception occurs when the application attemps to get a provider [Provider provider = peer.getProvider(providerString); ]. I looked in the logs of JTAPI and the only explanation is:

failureDescription = Directory login failed

I created a user called CTI_Test_User that can control CTI devices, and also a CTI port with CTI_User associated with it. My connection string is:

"172.116.145.1;login=CTI_Test_User;passwd=fortknox"

where 172.116.145.1 is the ip address of the callmanager. What I dont understand is that the application makecall which use the exact same connection string succeeds to get a provider. So I suppose that I am missing something in the configuration of the CTI port in the call manager.

Any help would be greatly appreciated

Thanks in advance

Alex B.

433
Views
0
Helpful
5
Replies
CreatePlease login to create content