Author Message
MahArtelco
Joined: Mar 14, 2018
Messages: 1
Offline
Hello everyone,

I'm trying to write a java code to monitor calls that a VDN receives, whenever i try to add a call control listener i get this exception "ch.ecma.csta.errors.SubscribedResourceAvailabilityException"
I get the exception at "monitoringServices.addCallControlListener(deviceID, (CallControlListener) listener);" line 33

I'm using AES 6.2, i read that it is license thing, but i am able to use the DMCC Dashboard and monitor calls that comes to the VDN.

anyone can tell me what i am doing wrong ?

here is the code i am using

public static void main(String[] args) throws Exception {


DeviceServices devServ;
MonitoringServices monitoringServices;
ReleaseDeviceId releaseDevice;
GetDeviceId deviceRequest;
GetDeviceIdResponse getDeviceResponse;
ServiceProvider serviceProvider;
callControlListener listener = new callControlListener();

Properties properties = new Properties();
properties.setProperty(CmapiKeys.SERVICE_PROVIDER_ADDRESS, "10.10.80.30");
properties.setProperty(CmapiKeys.SERVICE_PROVIDER_PORT, "4721");
properties.setProperty(CmapiKeys.SECURE_SERVICE_PROVIDER, "false");
properties.setProperty(CmapiKeys.CMAPI_USERNAME, "javaGetAgentID");
properties.setProperty(CmapiKeys.CMAPI_PASSWORD, "AvAyA.123");
properties.setProperty(CmapiKeys.SESSION_DURATION_TIMER, "180");
properties.setProperty(CmapiKeys.SESSION_CLEANUP_TIMER, "60");
properties.setProperty(CmapiKeys.SESSION_PROTOCOL_VERSION, APIProtocolVersion.VERSION_6_2);

serviceProvider = ServiceProvider.getServiceProvider(properties);
devServ = (DeviceServices) serviceProvider.getService(DeviceServices.class.getName());
monitoringServices = (MonitoringServices) serviceProvider.getService(MonitoringServices.class.getName());

deviceRequest = new GetDeviceId();
deviceRequest.setSwitchName("CM");
deviceRequest.setExtension("5806");
deviceRequest.setControllableByOtherSessions(Boolean.FALSE);

getDeviceResponse = devServ.getDeviceID(deviceRequest);
DeviceID deviceID = getDeviceResponse.getDevice();

monitoringServices.addCallControlListener(deviceID, (CallControlListener) listener);

releaseDevice = new ReleaseDeviceId();
releaseDevice.setDevice(deviceID);

devServ.releaseDeviceID(releaseDevice);
serviceProvider.disconnect(true);
}

public class callControlListener implements CallControlListener {

@Override
public void bridged(BridgedEvent arg0) {
}

@Override
public void callCleared(CallClearedEvent arg0) {
// TODO Auto-generated method stub
}

@Override
public void conferenced(ConferencedEvent arg0) {
}

@Override
public void connectionCleared(ConnectionClearedEvent arg0) {
}

@Override
public void delivered(DeliveredEvent arg0) {
// TODO Auto-generated method stub

}

@Override
public void digitsDialed(DigitsDialedEvent arg0) {
}

@Override
public void diverted(DivertedEvent arg0) {
}

@Override
public void enteredDigits(EnteredDigitsEvent arg0) {
}

@Override
public void established(EstablishedEvent arg0) {
}

@Override
public void failed(FailedEvent arg0) {
}

@Override
public void held(HeldEvent arg0) {
}

@Override
public void networkCapabilitiesChanged(NetworkCapabilitiesChangedEvent arg0) {
}

@Override
public void networkReached(NetworkReachedEvent arg0) {
}

@Override
public void offered(OfferedEvent arg0) {
}

@Override
public void originated(OriginatedEvent arg0) {
}

@Override
public void queued(QueuedEvent arg0) {
}

@Override
public void retrieved(RetrievedEvent arg0) {
}

@Override
public void serviceInitiated(ServiceInitiatedEvent arg0) {
}

@Override
public void terminated() {
}

@Override
public void transferred(TransferedEvent arg0) {
}
}
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
monitoring VDNs uses a different method.. in TSAPI I would look for monitorCallsViaDevice (or similar) versus MonitorDevice off hand not sure what the DMCC equivilents are. Check the programmer's guide.
Go to:   
Mobile view