I am registering with a local phone and have multiple Bridged line appearances (type 73) on 2 button modules. When I spin up my code, I get all of the correct event traps for the lines on the first button module (module 2) but nothing on the 2nd button module( module 4). Why is this? Here is my code:
public void lampUpdated(LampModeEvent event) {
int lamp = Integer.parseInt(event.getLamp());
String label = event.getLampLabel();
int module = (lamp & 0x700) >> 8;
int newLampState = event.getLampMode().intValue();
lamp = lamp & 0xFF;
boolean green = false;
String lampType = "red ";
if (event.getLampColor().intValue() == 3) {
green = true;
lampType = "green";
}
String[] state = { "BROKENFLUTTER", "FLUTTER", "OFF", "STEADY",
"WINK", "XXXXX", "INVERTEDWINK", "FLASH", "INVERTEDFLASH" };
String lampState = "UNKNOWN";
if (event.getLampMode() < 8) {
lampState = state[newLampState];
}
// we only care about rendering terminal module lamps to the screen
//Handles getting Extension Information for Module 2 on incoming calls
if(event.getLampMode() == 7 && module == 2){
System.out.println(event.getLampMode());
// System.out.println("Extension= " + extension + " lampUpdate [module: " + module
// + " buttonNum: " + lamp + " name: " + label + " lampType: " + lampType
// + " state: " + lampState + " :: " +event.getLampMode() +"]");
int i;
for(i = 0; i < module2Array.length; i++){
if(module2Array[i][0].equalsIgnoreCase(Integer.toString(lamp))){
ringingExt = module2Array[i][1];
System.out.println("The ringing extension is " + ringingExt);
logger.info("The ringing extension is " + ringingExt);
XmlDataItem xd = new XmlDataItem();
xd.setExtension(ringingExt);
xd.setStatus("ringing");
XmlUtils xl = new XmlUtils();
try {
xl.ModifyArray(xd);
}
catch (InterruptedException e) {
logger.error(e);
}
break;
}
}
}
//Handles getting Extension Information for Module 3 on incoming calls
if(event.getLampMode() == 7 && module == 4){
int i;
for(i = 0; i < module3Array.length; i++){
if(module3Array[i][0].equalsIgnoreCase(Integer.toString(lamp))){
ringingExt = module3Array[i][1];
System.out.println("The ringing extension is " + ringingExt);
logger.info("The ringing extension is " + ringingExt);
XmlDataItem xd = new XmlDataItem();
xd.setExtension(ringingExt);
xd.setStatus("ringing");
XmlUtils xl = new XmlUtils();
try {
xl.ModifyArray(xd);
}
catch (InterruptedException e) {
logger.error(e);
}
break;
}
}
}
Here are the results:
Calling a number on module 2 yeilds:
Jul 22, 2013 2:05:35 PM com.avaya.mvap.svcproxy.prov.RemoteServiceProvider initServiceProviderImpl
INFO: CMAPI SERVER IP=xxx.xxx.xxx.xxx: CMAPI SERVER PORT=4721
Jul 22, 2013 2:05:36 PM com.avaya.mvcs.proxy.SessionManagementServiceProxy startApplicationSession
INFO: AES release=6.1 protocol version=http://www.ecma-international.org/standards/ecma-323/csta/ed3/priv5
Jul 22, 2013 2:05:36 PM com.avaya.mvap.svcproxy.prov.ServiceProviderBuilder getCmapiServiceProvider
INFO: SERVICE PROVIDER = com.avaya.mvap.svcproxy.prov.RemoteServiceProvider
7
The ringing extension is 3142908126
Calling a number on module 4 yeilds nothing.
|