Author Message
MohamedAhmed
Joined: Sep 6, 2017
Messages: 3
Offline
Hi there,

I am using AE services version 6.3.3 along with Communication Manager version 5.2 and I am working on a client application using the Avaya Java SDK.Now according to the Avaya Application Enablement Services documentation: https://www.devconnectprogram.com/fileMedia/download/32ee3d4d-b8c8-4fa7-95cd-40d47d1dcb4d , a client application should be able to register an extension without knowing the password if the following configuration criteria is met:

1)The DeviceID contains the administered switch name associated with a valid switch connection to Communication Manager
2)The switch connection to the Communication Manager is active and talking
3) The SDB on the AE Server is enabled
4) The user has “Unrestricted Access” in the SDB
5) The extension’s class of restriction (COR) on the Communication Manager has:
“Can Be Service Observed” set to “y”
“Can Be a Service Observer” set to “y”

After having done this, I am having an issue with the Avaya client side SDK API because the client side validation code is now telling
me that the password field is required, below is a snippet of our client side code for registering the extension device with DMCC service.


//Creates the Device ID object for the extension to be registered
GetDeviceId request = new GetDeviceId();
request.setSwitchIPInterface(switchName);
request.setSwitchName(switchName);
request.setExtension(extensionID);
request.setDeviceInstance(DeviceInstance.VALUE_0);

GetDeviceIdResponse response = this.devSvcs.getDeviceID(request);
DeviceID deviceID = response.getDevice();

// Creates the LoginInfo object for the device to be registered with the DMCC service
LoginInfo login = new LoginInfo();
//this line cannot be omitted according to the java Doc for the RegisterTerminalRequest class
login.setPassword(password);
login.setDependencyMode(dependencyMode);
login.setMediaMode(mediaMode);
login.setForceLogin(true);

// Registers the extension with the DMCC service
RegisterTerminalRequest request = new RegisterTerminalRequest();
request.setDevice(deviceID);
request.setLoginInfo(login);
request.setLocalMediaInfo(mediaInfo);

RegisterTerminalResponse response = this.regSvcs.registerTerminal(request);


If I leave out the line where I set the password I get the following validation error:

Invalid Csta object session[null] com.avaya.csta.binding.RegisterTerminalRequest@18c2f34f: ValidationException: The following exception occured while validating field: _loginInfo of class: com.avaya.csta.binding.RegisterTerminalRequest: The field '_password' (whose xml name is 'password') is a required field of class 'com.avaya.csta.binding.LoginInfo;
- location of error: XPATH: RegisterTerminalRequest
The field '_password' (whose xml name is 'password') is a required field of class 'com.avaya.csta.binding.LoginInfo
at org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:288
at org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:916)
at org.exolab.castor.xml.Validator.validate(Validator.java:127)

If I set the password to an empty String just to statisfy the XML validator, then I get access denied response as follows:
Registration failed for 6554: code=3000, reason=Registration Reject reason: securityDenial Login Denied - Access Code invalid. diagnostic string= code= 63773.

According to the java document for the RegisterTerminalRequest class: https://downloads.avaya.com/elmodocs2/AES/4.2/javadoc/avaya-xml/com/avaya/csta/binding/RegisterTerminalRequest.html, the password field is mandatory, so then my question is how am I suppose the register the extension without a password as I would like to if the Avaya SDK won't allow my client application to register the extension without a password. Any help would be truly appreciated, thanks in advance.


Mohamed Ahmed
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
Make sure you restart AE Services after updating the SDB. Do this using the Maintenance -> Service Controller menu. Then click "Restart AE Server". Then click "Restart".

Martin
MohamedAhmed
Joined: Sep 6, 2017
Messages: 3
Offline
Hi Martin,

Thanks for your help its appreciated, I will restart the AE services and see if that helps. One question that is still on my mind though is considering the password field is mandatory according to the java Docs, what do I set it to ? As I had mentioned if don't set the password field, I get a XML validation error, I am not sure setting it to empty string is the right thing to do either. Thanks again for your assistance.

Mohamed
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
Give it an empty string. Using an empty string in the DMCC Dashboard worked for me and I assume the Java SDK will be the same.

Martin
MohamedAhmed
Joined: Sep 6, 2017
Messages: 3
Offline
Hi Martin,

Thanks for your help, giving it an empty string resolved my issue. One more question which is related to this issue. When adding
an IP telephone to Communication Manager 5.2, if I leave the security code field blank, I am not able to register the device using an user with unrestricted sdb access and I get the following error response back:

Registration Reject reason: securityDenial
Login Denied - Access Code invalid. diagnostic string= code= 63773 code: 3000 device ID: 6554:CM1:192.168.22.4:0Signalling Encryption:

My thinking was since I am accessing the devices with a user who has unrestricted access through the sdb, there is no need to put security codes on all the devices when adding them to the Communication Manager through the Avaya Site Administration.

Is it not possible to add an IP telephone to the Communication Manager without specifying a security code for the extension ?

I am dealing with a scenario where there is a lot of stations to manage and I would rather not have to manage all the passwords for all of these stations.


Thanks

Mohamed
MartinFlynn
Joined: Nov 30, 2009
Messages: 1922
Online
My understanding is that, in order for DMCC to be able to register a station, the station must be configured with a Security Code.

Martin
Go to:   
Mobile view