Using a Lync phone edition device, or using SEFAUtil, we can set forwarding/simulring settings for a particular user. Once that user logs in on a Lync client (running on Win7), the forwarding/simulring settings are removed after a few seconds. On the Lync client UI, the settings are disabled. When using SEFAUtil or a Lync phone edition device to set the forwarding/simulring settings again, they are removed after a moment by what appears to be the Lync client.

Steps taken:

The Lync client and Front End servers have been updated to the latest version in an attempt to solve this problem.

After installing the Lync client on a clean machine, the issue does not occur. However, after a few days the problem resurfaces. So far, all Lync clients and user combinations have this issue.

There is nothing in the SIP tracing which suggests why this happens. It seems to be the Lync client itself which decides to remove the setting. This is supposed by the fact that our Lync Phone edition devices are perfectly capable of setting forwarding and simulring even though they have the exact same settings applied to them.

The Global voice policy as well as a new voice policy created and assigned to the specific user have the call forwarding and simulring options enabled. This is either routed via PSTN usages or to Internal clients only, both do not work.

No issues on the Front End servers in the Windows event log or issues with the replication state. Also no (glaring) issues in the .etl log file of the client.

My guess, the Lync client thinks the voice policy is faulty. Maybe some faulty configuration is left over from before we upgraded to Lync Enterprise edition. The Lync client uses this information to disable the UI which also triggers the reset of the forwarding/simulring routing information back to a blank state.

Any directions, comments, suggestions are welcome. Even if it's just to say that you can't think of additional troubleshooting steps. I'm thoroughly stuck on this problem that has plagued us for months.


I found a PowerShell script to run on your Lync server that may help with troubleshooting. From http://en.community.dell.com/cfs-file/__key/telligent-evolution-components-attachments/13-4831-00-00-20-43-89-21/LyncServer2010PowerShell.pdf. Change user01@example.com to the id used by the user.

function Get-LyncUserVoiceConfiguration {
[CmdletBinding()] param([Parameter(Position=0,Mandatory=$true)] [System.String]
if ($csUser = Get-CsUser $UserIdentity) {
$site = (Get-CsSite | Where-Object `
{$_.Pools -contains $csUser.RegistrarPool}).Identity
$dialPlan = $csUser.DialPlan
if (-not $dialPlan) {
$dialPlansIds = @(Get-CsDialPlan | Select-Object -ExpandProperty Identity)
if ($dialPlanIds -contains "Service:Registrar:$($csUser.RegistrarPool)") {
$dialPlan = "Service:Registrar:$($csUser.RegistrarPool)"
} elseif ($dialPlanIds -contains "site:$site") {
$dialPlan = "Site:$site"
} else {
$dialPlan = 'Global'
$voicePolicy = $csUser.VoicePolicy
if (-not $voicePolicy) {
$voicePolIds = @(Get-CsVoicePolicy | Select-Object -ExpandProperty Identity)
if ($voicePolIds -contains "site:$site") {
$voicePolicy = "Site:$site"
} else {
$voicePolicy = 'Global'
$properties = @(
@{'Name' = 'Enabled'
'Expression' = {$_.EnterpriseVoiceEnabled}}
@{'Name' = 'DialPlan'
'Expression' = {$dialPlan}}
@{'Name' = 'VoicePolicy'
'Expression' = {$voicePolicy}}
$csUser | Select-Object $properties
Get-LyncUserVoiceConfiguration user01@example.com
  • Thanks for trying Tim. I already verified it's not the dial plan or the voice policy. It's also curious that it would work for physical phones but not softphones and therefore does not seem user-dependant. – Jos van Egmond Jun 30 '15 at 7:23

Activate (eg license) the client.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.