ISSUE:
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.5.1.10000-7
Cisco TSP: 10.5(1.4)
Operating System: Windows 7 64-bit
TAPI Interfacing:
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 )
SOLUTION:
The Solution to this issue can be found out in the "Extension Mobility Memory Optimization Option":
Extension Mobility Memory Optimization Option
The Extension Mobility (EM) feature supports Cisco Unified TSP to use TAPI LINE_CREATE /
LINE_REMOVE mechanism to dynamically create and remove line devices resulting from EM login or logout. TAPI, by design, does not remove a device dynamically and marks the device as ‘not available’. It remains in memory until the provider is shut down. As a result, when the EM feature is used, memory utilization grows over time (during login/logout operations) until the memory is exhausted. In many cases, the only workaround is to restart the telephony service or reboot a TAPI client machine. The EM Memory Optimization Option feature is intended to minimize 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. Lines with the same index in different EM profiles share the same TAPI line device ID.
The feature can be enabled or disabled by using the registry settings. By default, the feature is disabled so that the existing applications are not affected. If the feature is enabled, LINE_CREATE messages are used by Cisco Unified TSP only for the first time when an EM profile is loaded on a particular IP Phone. After the EM line is created, it is not removed with LINE_REMOVE. It is instead placed in the Inactive state when EM logout occurs. Operations cannot be performed when a device is in the Inactive state and the LINEERR_DEVICE_INACTIVE error returns if an
operation is invoked.
The line is reactivated when an EM profile is reloaded on the IP Phone as a result of a new EM login. Along with the line reactivation notification, the application is also notified that line device capabilities have changed. The Other-Device State Notification feature is utilized for delivering active, inactive, and capability change messages to an application.
N.B: The EM Memory Optimization Option feature intends to minimize the usage of
LINE_CREATE/LINE_REMOVE messages. Even if the feature is enabled, an application can still receive the LINE_CREATE and LINE_REMOVE messagesin some scenarios.So the application hasto be written in a way that it can handle the existing LINE_CREATE/LINE_REMOVE events along with the new LineActive/LineInactive notifications.
Comments
0 comments
Please sign in to leave a comment.