providing the highest level of communication services

SimpleExample

In simple example I noticed that you are starting a thread for cstaMulti, and then in your thread, every run operation you set setmonitoring for devices....

Is this necesary, or is it enough to do it like this:

private static CSTAFunctions csta;
csta = new CSTAClient3000(new CSTAMulti(this, _theProps),_theProps);
csta.MonitorStart(10);
csta.MonitorStart(11);
--------------
the reason I am asking is that sometimes I get delivered event, and sometimes nothig happens, but if I rerun the code above the I start geting events again?

The difference from my and your init (in SimpleExample) is that you use CSTA MULTI and I use CSTAFunctions... and that I don't have the run method in my class - so I dont loop for extensions ??

So to sum it up, what is the correct scenario or init of the csta story. I am using Siemens HiPath3000.

with br
KristjanK

Try private static CSTAMulti

Try

private static CSTAMulti csta;
//if you do want CSTAFunctions interface, instead try
//private static CSTAFunctions csta

csta = new CSTAMulti(this,_theProps);

Within the CSTAMulti.setImplementation() method, and through the properies, the correct implementation will be initialised.

This way - your code is transportable across Siemens/Ericssson/et al, with only changes in the properties file (well that's how it's supposed to work).

http://client.trac.opencsta.org/browser/trunk/src/org/opencsta/client/CS...

I will use the CSTAMulti. As

I will use the CSTAMulti.

As from the conceptual point of view, as in the simple example there is a cstathread that handles all the communication and monitoring. At the moment I am not using a thread, rather than that I just create the objects and use their methods.

your run method keeps calling monitorStart(device)? So as I sometimes dont get all the events, I gues that is the part that I have to implement (thread and in the run method keep calling monitor start) -

do I have to take care of some "keepalive" calls from client to server, or is this basically solved with thread and monitorstart command ?

tnx
with BR and a nice weekend to you to

Hello Chris, the problem with

Hello Chris,

the problem with the events was that the class CSTAMulti didnt pass the calls on to the correct implementation class. Thats why answering and holding a call wasnt working when I was using directly the CSTA implementation, now when I was using CSTAMulti nothing hapened. So I added the forwarding calls to the implementation object.

public void AnswerCall(String device, String call_id) {
log.info(this.getClass().getName() + " CALL CONTROL ANSWER CALL: "
+ call_id + " @ " + device);
-->> implementation.AnswerCall(device, call_id); //THIS LINE WAS MISSING
}

I added the forwarding calls in AnswerCall, HoldCall, RetrieveCall, Deflect, SetDisplay and TransferCall.
I am not sure if I can commit to your svn, havent tried it yet... but now it works....

with br
Kristjan

Ahhh.. I still have some code

Ahhh.. I still have some code missing.

I did a recovery from a back up months ago and lost some changes :(
Nothing major, but this sort of stuff.

I'll go through and make those changes, thanks for finding them..

C

Updated

Hi Kristjan - sorry for taking my time and thanks for coming across this. I have now committed those changes.
Thanks for pointing it out once again!
Cheers

Thnx a lot ant not a problem

Thnx a lot ant not a problem for late reply :)

there are some small fixes also needed in ConnectionClearedEvent - I changed it on my side already

get_droppedConnection, get_releasingDevice, get_localConnection and get_Cause - were returning null, instead of object attributes... so i changed to corret return attribute and its ok now...

However I have another question - I will post it in a new thread, since it doesnt belong here...

with BR

Please share

Hi,

Can you please give me all the files you've changed? I have similar problems, I added implement. but it doesn't work properly.
My address is mistify1987@yahoo.com

Thank you!