I am seeking some info regarding, how to differentiate between EM user and Owner User of terminal currently fetching the user name by this method getEMLoginUsername.
But problem is if user is not logged in as EM but assigned on device as "Owner User" then also this method return the user name.
If possible, provide some info.
getEMLoginUsername should return an userid only where there is a active EM session on a controlled device. or if the end user logged into any device not in the control list.
You should not see any username if there is no EM session on the phone. Need more info to understand your scenario better:
Are you using any device profile in your control list?
But yes there is no way in JTAPI to distinguish EM user or a simple End user assign as owner user id on the phone.
Even no EM user will be logged in, and you assign owner user id on your phone then JTAPI will return you the name of your Owner from this method getEMLoginUsername.
Cisco JTAPI Javadocs says: This interface (CiscoTerminal.getEMLoginUsername) Returns Extension mobility(EM) Login UserName If no EM user has logged into Terminal, this interface will return null/empty string
Based on this getEMLoginUsername should not return the owner userid. If no EM user logged into the phone, it should return null. You may want to check the interface your are using and raise a case with Cisco Dev Support.
Yes it should return null in that case but it is not. And there is one more identifier called LoginType this method is also returning 1 in both case. When EM user is logged in on this phone or when an owner user id is assigned.
So in our case after much R&D on this we treated the owner user also as EM user if assigned on the device.