Teams Voice with Direct Routing and NonUniqueOnPremLineURI

%3CLINGO-SUB%20id%3D%22lingo-sub-2470493%22%20slang%3D%22en-US%22%3ETeams%20Voice%20with%20Direct%20Routing%20and%20NonUniqueOnPremLineURI%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2470493%22%20slang%3D%22en-US%22%3E%3CP%3EI've%20been%20bashing%20my%20head%20for%20a%20week%2B%20now%20on%20this.%26nbsp%3B%20With%20a%20customer%20(already%20opened%20an%20MS%20ticket%2C%20but%20they%20are%20running%20in%20circles)%2C%20assigning%20phone%20numbers%20to%20users%20using%20%60msRTCSIP-Line%60%20field%20on-premises.%26nbsp%3B%20When%20the%20accounts%20sync%2C%20the%20numbers%20are%20getting%20rejected%20with%20NonUniqueOnPremLineURI%20and%20the%20full%20text%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CERRORRECORD%3E%3CBR%20%2F%3E%3CERRORCODE%3ENonUniqueOnPremLineURI%3C%2FERRORCODE%3E%3CBR%20%2F%3E%3CERRORDESCRIPTION%3EThe%20value%20of%20the%20MSRTCSIP-Line%20URI%20field%20in%20your%20local%20Active%3CBR%20%2F%3EDirectory%20conflicts%20with%20another%20user.%20Lync%20Online%20features%20will%20work%20except%20for%3CBR%20%2F%3ELync-to-phone%20calls.%20To%20resolve%20the%20conflict%2C%20correct%20the%20value%20in%20your%20local%20Active%3CBR%20%2F%3EDirectory.%20After%20you%20correct%20the%20value%2C%20the%20value%20will%20be%20updated%20in%20your%20Office%20365%3CBR%20%2F%3Edirectory%20during%20the%20next%20Active%20Directory%20synchronization.%20If%20the%20error%20persists%2C%3CBR%20%2F%3Eplease%20contact%20Microsoft%20support%20for%20assistance.%3C%2FERRORDESCRIPTION%3E%3CBR%20%2F%3E%3C%2FERRORRECORD%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIf%20I%20do%20the%20following%20in%20an%20MS%20Teams%20PowerShell%20prompt%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-powershell%22%3E%3CCODE%3EGet-CsOnlineUser%20-Filter%20%22onpremlineuri%20-eq%20'tel%3A%2B11234567890'%22%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EA%20single%20entry%2C%20the%20one%20I%20assigned%20the%20value%20to%2C%20is%20returned.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIf%20I%20do%20the%20following%20in%20AD%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-powershell%22%3E%3CCODE%3Eget-adobject%20-Properties%20userprincipalname%2C'msrtcsip-line'%20-LDAPFilter%20'(msrtcsip-line%3Dtel%3A%2B11234567890)'%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EA%20single%20entry%2C%20the%20one%20I%20assigned%20the%20value%20to%2C%20is%20returned.%26nbsp%3B%20I%20purposely%20used%20%60Get-ADObject%60%20just%20in%20case%20something%20assigned%20it%20to%20a%20computer%2C%20or%20something%20stupid%20(not%20possible%20because%20that%20attribute%20only%20exists%20on%20users).%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAnybody%20seen%20sync%20misbehave%20like%20this%3F%20I've%20even%20moved%20users%20outside%20the%20scope%20of%20sync%20to%20%22clear%22%20MS%20Teams%2C%20but%20still%20run%20into%20the%20same%20issues%20when%20moved%20back.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2470493%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EAdministrator%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ECalling%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EMicrosoft%20Teams%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2473557%22%20slang%3D%22en-US%22%3ERe%3A%20Teams%20Voice%20with%20Direct%20Routing%20and%20NonUniqueOnPremLineURI%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2473557%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F342739%22%20target%3D%22_blank%22%3E%40jangliss%3C%2FA%3E%26nbsp%3BI%20would%20suggest%20running%20%22Get-CsOnlineUser%20-Filter%20%22lineuri%20-eq%20'tel%3A%2B11234567890'%22%20as%20this%20could%20also%20be%20not%20assigned%20against%20that%20variable.%20Looking%20forward%20to%20seeing%20what%20you%20get%20by%20running%20that%20command.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2477864%22%20slang%3D%22en-US%22%3ERe%3A%20Teams%20Voice%20with%20Direct%20Routing%20and%20NonUniqueOnPremLineURI%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2477864%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F167874%22%20target%3D%22_blank%22%3E%40Eric%20Marsi%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20should%20have%20mentioned%20that%2C%20I%20did%20that%20command%2C%20and%20no%20records%20returned.%26nbsp%3B%20This%20is%20sort%20of%20expected%20because%20it%20couldn't%20assign%20the%20phone%20number%20to%20a%20user%20due%20to%20the%20duplicate%20number%20error.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2477949%22%20slang%3D%22en-US%22%3ERe%3A%20Teams%20Voice%20with%20Direct%20Routing%20and%20NonUniqueOnPremLineURI%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2477949%22%20slang%3D%22en-US%22%3Ehave%20you%20checked%20to%20see%20if%20the%20number%20was%20assigned%20to%20a%20resource%20account%3F%3C%2FLINGO-BODY%3E
Frequent Contributor

I've been bashing my head for a week+ now on this.  With a customer (already opened an MS ticket, but they are running in circles), assigning phone numbers to users using `msRTCSIP-Line` field on-premises.  When the accounts sync, the numbers are getting rejected with NonUniqueOnPremLineURI and the full text:

 

<ErrorRecord>
<ErrorCode>NonUniqueOnPremLineURI</ErrorCode>
<ErrorDescription>The value of the MSRTCSIP-Line URI field in your local Active
Directory conflicts with another user. Lync Online features will work except for
Lync-to-phone calls. To resolve the conflict, correct the value in your local Active
Directory. After you correct the value, the value will be updated in your Office 365
directory during the next Active Directory synchronization. If the error persists,
please contact Microsoft support for assistance.</ErrorDescription>
</ErrorRecord>

 

If I do the following in an MS Teams PowerShell prompt:

 

Get-CsOnlineUser -Filter "onpremlineuri -eq 'tel:+11234567890'"

 

 

A single entry, the one I assigned the value to, is returned.

 

If I do the following in AD:

 

get-adobject -Properties userprincipalname,'msrtcsip-line' -LDAPFilter '(msrtcsip-line=tel:+11234567890)'

 

 

A single entry, the one I assigned the value to, is returned.  I purposely used `Get-ADObject` just in case something assigned it to a computer, or something stupid (not possible because that attribute only exists on users).

 

Anybody seen sync misbehave like this? I've even moved users outside the scope of sync to "clear" MS Teams, but still run into the same issues when moved back.

4 Replies

@jangliss I would suggest running "Get-CsOnlineUser -Filter "lineuri -eq 'tel:+11234567890'" as this could also be not assigned against that variable. Looking forward to seeing what you get by running that command.

@Eric Marsi 

I should have mentioned that, I did that command, and no records returned.  This is sort of expected because it couldn't assign the phone number to a user due to the duplicate number error.

have you checked to see if the number was assigned to a resource account?

@Eric MarsiYep, not assigned there either.  These are extension based numbers, so tel:+11234567890;ext=112233 and no resource accounts have those numbers assigned.  These are new phone numbers being assigned, originally the numbers were tel:+11234561000 through +11234569999.  Users having numbers moved to +11234567890;ext=<employee id>.  The prefix number was never used elsewhere.

 

That said, we have this error showing up on 3k other users, so it's not likely a real duplication issue, which is why I have a case open with Microsoft and their troubleshooting has been the same thing I'd already done.  We do have about 100 users that have the same prefix, with different ext= values that are syncing without issues. Comparison between those users and a handful of broken users shows no observable differences other than the values expected (guids, names, phone numbers, etc)