Author Message
FelixAyala
Joined: Dec 2, 2013
Messages: 5
Offline
I'm trying to redirect calls from a VDN.

I setup a CallListener adapter to hear when calls come to the VDN. When my callActive method receive the notification, I consult in a Database and if exists I try redirect, taking the connection(CallControlConnection) and invoking redirect(newVdnAddress).

I received the next Exception:

2014-04-23 08:26:34,797 pool-4-thread-16 AvayaVdn [ERROR] CSTA Error: 12
com.avaya.jtapi.tsapi.TsapiPlatformException: CSTA Error: 12
at com.avaya.jtapi.tsapi.tsapiInterface.TSErrorMap.throwCSTAException(TSErrorMap.java:100)
at com.avaya.jtapi.tsapi.tsapiInterface.TsapiSession.send(TsapiSession.java:562)
at com.avaya.jtapi.tsapi.tsapiInterface.TsapiSession.send(TsapiSession.java:471)
at com.avaya.jtapi.tsapi.tsapiInterface.Tsapi.deflectCall(Tsapi.java:1419)
at com.avaya.jtapi.tsapi.impl.core.TSConnection.redirect(TSConnection.java:508)
at com.avaya.jtapi.tsapi.impl.TsapiConnection.redirect(TsapiConnection.java:297)
at com.ho1a.dao.AvayaVdn.callActive(AvayaVdn.java:114)
at com.avaya.jtapi.tsapi.impl.monitor.TsapiCallMonitor.deliverEventToCallback(TsapiCallMonitor.java:1732)
at com.avaya.jtapi.tsapi.impl.monitor.TsapiCallMonitor.deliverListenerEvents(TsapiCallMonitor.java:1719)
at com.avaya.jtapi.tsapi.impl.monitor.TsapiCallMonitor.run(TsapiCallMonitor.java:1699)
at com.avaya.jtapi.tsapi.impl.core.JtapiEventDeliveryThread.run(JtapiEventDeliveryThread.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


Thanks in advance

Felix Ayala
CraigJohnson5
Joined: Oct 24, 2013
Messages: 413
Offline
The redirect method in JTAPI uses the TSAPI method cstaDeflectCall() to redirect the call. Deflect call uses the current active called party device. There are two stipulations: 1. The call must be in the alerting stage (your call is in vector processing) at the device. 2. The device must be a valid voice station extension (your device is a VDN). The error you are getting is INVALID_CSTA_DEVICE_IDENTIFIER, which means that it doesn't like the fact that you are using a VDN to deflect the call.

The proper way to handle this is to use adjunct routing. Register the VDN as a routing server. In the vector you would put an adjunct routing step. This will cause a route callback to your application when that step is encountered. Then your application can do the database lookup and use the new VDN address as the route selected.

The JTAPI SDK comes with a Route sample application. See the JTAPI programmer's guide for more information on using this Sample application.

Please note that adjunct routing requires an advanced TSAPI license.

FelixAyala
Joined: Dec 2, 2013
Messages: 5
Offline
Thank you, very much Craig.
Go to:   
Mobile view