Within our softphone applications, if two agents try to log in with the same DN extension, whatever card on the PBX that is hosting that extension will reset. Is there a way to restrict two agents from registering the same extension with the platform SDK, or with settings within Genesys?
At the moment we enforce only one agent per extension manually with a DB driven application.
I’m not able to tell why you PBX resets the card when an agent tries to login on occupied extension. I think it is worth to ask PBX guys to investigate on this as it doesn’t seem to be normal situation.
Your softphone application shall check extension status before allowing an agent log in. Such information is propagated by TServer when extension (DN) is registered by softphone or using TLibrary request “RequestQueryAddress”.
I’m assuming we send the RequestQueryAddress from the softphone application to check the current status of the DN. I’m not sure what the status should be for either case, and can’t seem to find an Enumeration. Am I checking the right property of the response?
RequestQueryAddress checkDN = RequestQueryAddress.Create(
dn, AddressType.DN, AddressInfoType.DNStatus);
IMessage response = tServerProtocol.Request(checkDN);
switch(response.Id)
{
case EventAddressInfo.MessageId:
EventAddressInfo info = (EventAddressInfo) response;
if (info.AddressInfoStatus == ?)
{
}
}
The reason the card resets is not because two agents are logged in at once, but because of the way the softphone is working.
When the second softphone registers, it tried to go not ready - the first softphone knows it shouldn’t be in not ready, so it goes in ready - then they go nuts and fight to be in their state, sending heaps of ready/not ready requests to TServer - this crashs the PABX card disconnecting all calls (its on Alcatel)
I’m not sure of the full situation - All I know is the reason they reset is (well, it resets right after) two softphones fight to be in one state (weather it be not ready or ready). An example would be when one agent is logged in but in wrap up & not ready. Then the second agent logs in and goes in a ready state. When the first agent’s softphone sees this event, it realises it’s in wrap up and tries to go not ready again. the second softphone sees this event and asks to go in a ready state. this keeps goin (lots of events per second)
Release:
DELIVERY g1.302
Patch identification: 11
Dynamic patch identification: a
This has been happening a while though, since version 7 at least, maybe also version 6.
It seems like normal (well, at least not unreasonable) behavior though, and a softphone error/issue (not PABX/Genesys issue).
The genesys log files get filled with thousands+ events and it sends all these messages to the switch requesting the different states…
I’m actually testing with IPTouchs and trust me, this is not a normal behaviour. When you talk about softphones you talk about GAD? GCN? Own cti softphone?
Ok I have been testing over and over and doing every strange thing that I can imagine and there is no way that TServer allows the login of 2 agents on 1 single DN, this is error that I get when second agent tries to login:
So if agent is not logged in then there is no way you can send a TReady event as TServer will reject it.
Last thing, can you post your TServer configuration?
Also, if you can reproduce the error and capture TServer logs will be great.