Hi team,
Greetings.
Could you please advice on the below query by one of the customer using Load balancer[
https://kemptechnologies.com/]
AAEP -- 7.1.0.0.1106
AAOD -- 07.01.08.04
AES connector version -- 07.01.08.04
Customer Notes: The solution is One Virtual Server that embraces several real servers under it (Tomcat instances), and provides rotation of the Tomcats among call sessions.
On the side of the EPMS Applications we have an http://virtual_server_IP:8080/appl/Start configured. [19X.1X8.XXX.181]
While checking the implementation of the load balancer on Experience portal we have found out that when the application is trying to get CTI data (initial call) it is actually goes to execute http command: http://virtual_server_IP:8080/aesconnector/... [19X.1X8.XXX.181]
It means that for the load balancer it is a different http request and it uses actually aesconnector that belongs to the next available Tomcat instance under KEMP Virtual servers, though it is being executed within the same session.
We find it wrong and would prefer to use aesconnector that belongs to the same Tomcat server instance that the session has started on.
I believe that CTI Command takes the server IP on the EPMS Application side, that is why it takes the same IP as Virtual Server. Is there any way to make the CTI command go via the real server IP address (localhost) or try to get the CTI data from the same tomcat instance.
Is this feasible by the OD app or is this something under the control of Load Balancer?
Attached the app trace for reference.
App trace snippet:
26/06/2017 11:29:18:051 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : Assigning [0] to [rc]
26/06/2017 11:29:18:066 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : Using SCESession 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB servlet : Return
26/06/2017 11:29:18:082 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : Using SCESession 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB servlet : CheckRc_IpAddr
26/06/2017 11:29:18:082 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : ** Popped Stack Frame [/IpAddressGetter]
Getting IP address of the Real server - tomcat session has been started on
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
26/06/2017 11:29:18:082 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : Storing :IpAddressGetter___outIP_ADDRESS to complex: IpAddressGetter:outIP_ADDRESS as [19X.1X8.XXX.65]
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
26/06/2017 11:29:18:082 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : Storing :IpAddressGetter___outRC to complex: IpAddressGetter:outRC as [0]
26/06/2017 11:29:18:082 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : Assigning [IpAddressGetter:outIP_ADDRESS] to [IpAddress]
26/06/2017 11:29:18:082 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : [condition1] Expression [IpAddressGetter:outRC] String Equal [9]
26/06/2017 11:29:18:082 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : [condition2] Expression [IpAddressGetter:outRC] String Equal [8]
26/06/2017 11:29:18:082 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : Using SCESession 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB servlet : GetDataFromWebXml
26/06/2017 11:29:18:082 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : Using SCESession 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB servlet : CheckXml_RC
26/06/2017 11:29:18:098 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : [condition1] Expression [RETURN_CODE] String Equal Ignorecase [8]
26/06/2017 11:29:18:098 INFO - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : Using SCESession 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB servlet : GetCTI
26/06/2017 11:29:18:098 DEBUG - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : CTICommand.execute: encrypted value is HeOhNXdyzSLGw3DI3/6GBrzJZAoTNukd4u5frb98sE8=
GetCTICallInfo is using the Loadbalancer IP address and is actually going to 19X.1X8.XXX.70
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
26/06/2017 11:29:18:098 DEBUG - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : CTICommand.execute: request to manager is http://19X.1X8.1XX.181:8080/aesconnector/CallInfoInitialCall?extension%3D341006&k=HeOhNXdyzSLGw3DI3%2F6GBrzJZAoTNukd4u5frb98sE8%3D
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
26/06/2017 11:29:18:098 DEBUG - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : CTICommand.execute: setting session cookie to 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB
26/06/2017 11:29:18:113 DEBUG - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : CTICommand.execute: callinfo from Manager is callid=310&ani=0526344467&dnis=8188045&extension=341006&ucID=00001003101498465750&uui= &state=established
26/06/2017 11:29:18:113 DEBUG - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : CTICommand.processCallInfoResults: rawResponse: callid=310&ani=0526344467&dnis=8188045&extension=341006&ucID=00001003101498465750&uui=+&state=established
26/06/2017 11:29:18:113 DEBUG - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : CallInfo.doGetCallInfo: Populating call info variable values...
26/06/2017 11:29:18:113 DEBUG - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : CTICommand.setCallInfoVariableValues: Call ID 310
26/06/2017 11:29:18:113 DEBUG - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : CTICommand.setCallInfoVariableValues: Calling # (ANI) 0526344467
26/06/2017 11:29:18:113 DEBUG - 63D330C2419ACFC04D7D368DA9E50AFE:/R0_MCB : CTICommand.setCallInfoVariableValues: Called # (DNIS) 8188045