02-27-2015 04:23 AM
I am running some EM login/logout realted tests to find out when TSP sends CiscoLineDevStateOutOfServiceReason_EMLogin/CiscoLineDevStateOutOfServiceReason_EMLogout and
CiscoLineDevStateCloseReason_EMLogin/CiscoLineDevStateCloseReason_EMLogout reasons when a phone or line had to go out of service or closed due to EM activity. Unfortunately, I am unable to see these reasons in the TAPI events. Can someone please help what I am missing?
****************
Configuration
****************
Cisco TSP and Device Configuration:
Device(Phone): Phone_A has Line_A on it.
Extension Mobility: EM_A profile has EM_Line_A on it.
CTI Port: CTP_A has CTP_Line_A on it.
All three phone, EM Profile and CTI Port are assignged to the Cisco TSP User profile.
EMOptimization feature is On by doing the registry setting changes: HKEY_USERS\S-1-5-20\Software\Cisco Systems, Inc.\Cisco TSP\EMOptions=1
CTP_Line_A is used for other device state events.
Versions:
CUCM: 10.0(1)
Cisco TSP: 10.5(1.4).
Operating System: Windows 7 64-bit
********************
TAPI Interfacing:
********************
TAPI session is initialized
CTP_Line_A is nedotiated with extension version 0x000D0000 and opened with TAPI.
CTP_Line_A line is used for other device state notifications using cisco device specific extension (DEVSPECIFIC_OTHER_DEVICE_STATE_NOTIFY).
Line_A and Phone_A both are negotiated with extension version 0x000D0000 and monitored with TAPI.
Line_A In Service event is received (LINE_LINEDEVSTATE device=10056, message=8, i=34, param1=40, param2=0, param3=0 )
EM_A profile login on Phone_A:
Line_A goes out of service (LINE_LINEDEVSTATE device=10056, message=8, i=34, param1=80, param2=5, param3=0 )
Phone_A goes out of service (PHONE_STATE device=100AB, message=12, i=0, param1=40000, param2=5, param3=0 )
EM_Line_A is created on Phone_A (LINE_CREATE device=0, mmessage=13, i=0, param1=45, param2=0, param3=0 )
Line_A inactive event is received (LINE_LINEDEVSTATE->LINEDEVSTATE_OTHER device=10388, message=8, i=35, param1=1, param2=1, param3=33 )
Line_A close event is received (LINE_CLOSE device=10056, message=3, i=34, param1=0, param2=0, param3=0 )
Phone_A comes back in service ( PHONE_STATE device=100AB, message=12, i=0, param1=80000, param2=0, param3=0 )
EM_Line_A is opened with TAPI
EM_Line_A gets in service (LINE_LINEDEVSTATE device=10001, message=8, i=46, param1=40, param2=0, param3=0 )
EM_A profile is logout from Phone_A:
Phone_A goes out of service ( PHONE_STATE device=100AB, message=12, i=0, param1=40000, param2=5, param3=0 )
EM_Line_A goes out of service ( LINE_LINEDEVSTATE device=10001, message=8, i=46, param1=80, param2=5, param3=0 )
Phone_A comes back in service ( PHONE_STATE device=100AB, message=12, i=0, param1=80000, param2=0, param3=0 )
Line_A is created back ( LINE_CREATE device=0, message=13, i=0, param1=46, param2=0, param3=0 )
EM_Line_A close event is received (LINE_CLOSE device=10001, message=3, i=46, param1=0, param2=0, param3=0 )
Line_A is opened with TAPI
EM_Line_A inactive event is received (LINE_LINEDEVSTATE->LINEDEVSTATE_OTHER device=10388, message=8, i=35, param1=1, param2=1, param3=45 )
Line_A gets in service ( LINE_LINEDEVSTATE device=102E0, message=8, i=47, param1=40, param2=0, param3=0 )
03-02-2015 03:20 PM
Hi,
What do you see in those TAPI events? Can you provide detailed TSP logs showing EM Login and Logout?
I see that your CUCM version is 10.0, and the TSP version is 10.5. Is that a typo? That could possibly lead to some inter-operability problems. The expectation is that TSP is always up to date, i.e. the TSP plugin is downloaded from current CUCM.
Thanks,
03-03-2015 10:29 AM
Hi Smita,
I have done a fresh example. Can you please let me know where you would like me to upload the TSP traces?
Thanks.
03-03-2015 10:48 AM
Hi Nasir,
If they are clean logs, and you don't mind them being viewed in this forum post, you can attach them here using the "attach" option in the "Use advance editor". Alternatively, you can send them to me via email.
Can you also clarify if, the CUCM version is 10.0 and the TSP version is 10.5?
Thanks,
Smita
03-03-2015 11:32 AM
03-04-2015 12:27 PM
Thanks for providing the logs.
Can you share where these reasons are documented:
CiscoLineDevStateCloseReason_EMLogin
CiscoLineDevStateCloseReason_EMLogout
It does not look like they are exposed in the CTI/TAPI interface.
Also, wanted to clarify the main motive here - are you trying to determine if a phone or line had to go out of service due to EM activity?
03-05-2015 02:07 AM
Yes I want to know the out of service reason for example, if it was due to phone/line got unregistered/EM_Login/EM_Logout etc.
Attaching the CUCM_BK_TB35670B_00_tapi-developer-guide - 10.0.pdf. that has these reasons defined in it.
New CiscoLineDevStateOutOfServiceReason_EMLogin and
CiscoLineDevStateOutOfServiceReason_EMLogout values in the
CiscoLineDevStateOtherReason enumeration type in
CiscoLineDevSpecificMsg.h:
enum CiscoLineDevStateOutOfServiceReason
{
CiscoLineDevStateOutOfServiceReason_Unknown = 0x00000000,
CiscoLineDevStateOutOfServiceReason_CallManagerFailure =
0x00000001,
CiscoLineDevStateOutOfServiceReason_ReHomeToHigherPriorityCM =
0x00000002,
CiscoLineDevStateOutOfServiceReason_NoCallManagerAvailable =
0x00000003,
CiscoLineDevStateOutOfServiceReason_DeviceFailure = 0x00000004,
CiscoLineDevStateOutOfServiceReason_DeviceUnregistered =
0x00000005,
CiscoLineDevStateOutOfServiceReason_EnergyWisePowerSavePlus =
0x00000006,
CiscoLineDevStateOutOfServiceReason_EMLogin = 0x00000007,
CiscoLineDevStateOutOfServiceReason_EMLogout = 0x00000008,
CiscoLineDevStateOutOfServiceReason_CtiLinkFailure = 0x00000101
};
New CiscoLineDevStateCloseReason enumeration type in
CiscoLineDevSpecificMsg.h:
enum CiscoLineDevStateCloseReason
{
CiscoLineDevStateCloseReason_Unknown = 0,
CiscoLineDevStateCloseReason_EMLogin = 1,
CiscoLineDevStateCloseReason_EMLogout = 2
};
New CiscoLineDevStateOtherReason enumeration type in
CiscoLineDevSpecificMsg.h:
enum CiscoLineDevStateOtherReason
{
CiscoLineDevStateOtherReason_Unknown = 0,
CiscoLineDevStateOtherReason_OtherLineInactive = 1,
CiscoLineDevStateOtherReason_OtherLineActive = 2,
CiscoLineDevStateOtherReason_OtherLineCapsChange = 3
};
03-23-2015 01:30 PM
Hi,
These _EMLogin/_EMLogout reasons are not exposed in the CTI/TAPI interface. Unfortunately, the sample code in the TAPI developer guide is outdated and needs to be updated. It has been brought that to the attention of the TAPI team, and they plan on updating the document. Apologies for the inconvenience caused!
You might want to look up the "Extension Mobility Memory Optimization Option". It minimizes the usage of LINE_CREATE/LINE_REMOVE in EM-related scenarios, by reusing TAPI device IDS for lines from different EM profiles loaded on the same IP Phone.
More information can be found in the TAPI developer guide under section "Extension Mobility Memory Optimization Option" - https://developer.cisco.com/fileMedia/download/c575e0c1-0e92-4a9c-9458-d360412b7230
Thanks
05-25-2017 01:44 PM
Yes, Cisco JTAPI only provide the TerminalOutOfService and AddressOutOfService events. Not the reasons like login or logout. These things you need to take care in your application.
Like on terminal event it provide the GetLoginEMUserID method which will give you the logged in user.
Ayush Chaudhary
Switzerland
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide