Author Message
MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
I have a sequenced app, that is not doing anything other than logging the ucid on the intercept leg. Then I have a module in the service is a callable web service where I pass in the ucid to obtain details about that call. I'm getting the error listed below even though the call just went through breeze and I logged the ucid.

The code for the lookup is:


call = CallFactory.getCall(request.ucid());


2018-09-26 11:28:28,235 [SipContainerPool : 0] TestService FINE - TestService-1.1.1.24.0 - Call UCID -- 00008000101537975708, Parent UCID -- nullCall ID -- local.1537879974......


When I call the web service, I get:


Error 500: java.lang.IllegalStateException: No call associated with id=00008000101537975708



JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
Hi Michael, are the call intercept code and web service code packaged together in the same SVAR? They must be part of the same snap-in for this to work.
MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
Yes they are. For some reason I can't reproduce this now, although I was getting this error 100% of the time earlier.

Just so I understand the functionality here, the getCall should return info even if the call is on another node, correct? And it is normal functionality for it to throw the IllegalStateException if it can't find the call for some reason (on any node in the cluster)?

Are there any instances that could cause IllegalStateException for any other reason?
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
Michael, sorry for the very slow response. I'm happy to hear that you're not seeing this issue anymore. Yes, you should see this invocation succeed even for calls on other nodes in the cluster. You can invoke cross-node call control operations but NOT media operations. If you need to perform a media operation on another node, you can find which node hosts the call from CallProperties, and then invoke a REST request on the other instance of your snap-in to ask it to take action.

According to the Javadoc, the only condition under which IllegalStateException is thrown is when the call doesn't exist.
Go to:   
Mobile view