Now that I have my simple lab deployment wrapped up, including SIP Trunk from Broadvox connected via Mediant 800 MSBG (the new Audiocodes series gateways with SBC), it is time to make the best of the fact I have a single DID but several users EV enabled. My MP-124 is connected to the home POTS.
My goal is:
- I want my users to dial each other with 4 digit extension only.
- All users to receive inbound and make outbound calls to PSTN.
- I want to present the “Company number” as Caller ID to the dialed party
The 4 digit extension task could be handled at least two different ways. It depends of what we have to work with:
- Have I had DID for each user; I would assign individual number to each one. Because they (DID’s) typically come in blocks, for example, from NPANXX5000 to NPANXX5099 ,I would have a normalization rule for “If the number is exactly 4 digit long, prepend +1NPANXX”. The final result will be +1NPANXXdddd i.e. E.164 and the call will be routed to the user with this LineURI.
- The second scenario is what I will attempt to achieve here. My users will have LineURI in format +1NPANXXdddd;ext=dddd and the normalization rile will be ““If the number is exactly 4 digit long, prepend +1NPANXXddd;ext=”.
I just created three users; all in Organizational Unit named “UserAccounts”,
…and will enable them for Lync at once by executing: “Get-CsAdUser -OU "ou=UserAccounts,dc=lynclog,dc=com" | Enable-CsUser -RegistrarPool "fe1.lynclog.com" -SipAddressType SamAccountName -SipDomain lynclog.com” in Lync Management Shell.
***Note that here I am using “Get-CsAdUser” cmdlet because the tree users are not Lync enabled yet.
Next, I will enable all three for Enterprise Voice at once: “Get-CsUser -OU "ou=UserAccounts,dc=lynclog,dc=com" | Set-CsUser -EnterpriseVoiceEnabled $True”
Now my three users are EV enabled
…but the LineURI parameter is not yet set, which mean the user CAN make an outbound calls, but CANNOT receive calls from PSTN.
I will set LineURI for my two of the users via Powershell: Set-CsUser -Identity "LYNCLOG\tu1" -LineURI “TEL:+14785554000;ext=5001” and Set-CsUser -Identity "LYNCLOG\tu2" -LineURI “TEL:+14785554000;ext=5002”
…and the third via Control Panel.
There is something else I must do – populate the Telephone Number field in Active Directory user’s account. This is because the Address Book will use this field to present the phone number to other users in the company and (possibly) federated partners.
Lync does not utilize ABServer.exe as OCS did. However, I can still use it to check how (if at all) the number would be normalized. First, let’s dump the generic rules and see what is in it.
All right, the built-in rules are sufficient to normalize my format “+14785554000 X5001”. In any case, I want to make sure and so, I will force the Address Boor regeneration by executing Update-CsAddressBook –Force form Lync Management Shell and then use ABServer.exe tool to dump the content of the latest AB in text file where I can double check. In command prompt, I will navigate to “C:\Program Files\Microsoft Lync Server 2010\Server\Core” and execute ABServer -dumpFile C:\mcs\1-WebServices-1\ABFiles\00000000-0000-0000-0000-000000000000\00000000-0000-0000-0000-000000000000\F-0ec9.lsabs c:\out.txt
***Note that I am using the most resent AB file located in “C:\mcs\1-WebServices-1\ABFiles\00000000-0000-0000-0000-000000000000\00000000-0000-0000-0000-000000000000\” where mcs is my Lync share, and the output is text file on my C:\
Now I can see what was generated while ago.
Yup, the new users were added promptly. Let see them in Lync client.
Some might find this format little odd, but think about it – people from my company would know X5001 means Extension 5001, while Federated contacts would treat it as “PSTN number +1 (478) 555-4000, extension 5002”
***Now we are getting in the very complicated situation. Despite my extensive research, I cannot find any documentation about the fact we CANNOT use Pilot numbers (Subscriber Access and/or Auto Attendant) which are same as our “base” (as I call it) number. Shall we do that, an “Ambiguous number detected” error will be generated and the call will fail. We can overcome it these three ways:
- If we use POTS and FXO gateway, set forwarding rule on PSTN side, where call to the base number to be intercepted and forwarded to the AA number. This way PSTN caller will dial the base number shown, but the call will arrive on AA’s number directly.
- If we use POTS and FXO gateway, set incoming calls to the base number to be send to the AA number when leave gateway and hit Lync Mediation.
- If you use SIP Trunk, you could ask your provider to do the forwarding on their side
Frankly, if you plan to use one POTS line or SIP Trunk with one DID only in production, Lync is not for you (smile). If you are so cheap, how would you pay for the licenses to begin with?!?
I will now stop here and take my time to think how to proceed further with my setup.
9 comments:
Great Job. I have followed alot of your posts. Looking forward to reading your voice blogs.
I have used your information posted on your site to get a lync test environment going. It has been very helpful, thanks.
One thing I am struggling with is getting an audiocodes mp114 4 fxo working with lync. All the information you have only shows the 2fxs/2fxo versions. I want to just set it up to use a couple of analog lines for external usage and for the life of me can't get it going. Any chance you could post some details how to get that going in this type of situation?
Unfortunately, I do not have a 4FXO MP-114 at hand. Might be if you email me the BOARD.ini file and details about the PSTN phone numbers… Look on the Microsoft Lync forums for my contact information.
Thanks for the great post!
I used the same approach for extensions as you did for our office. The only issue I have is I get LS Mediation Server 25020 errors at the end of every phone call. Error: Diagnostics Reason: Multiple users associated with the source phone number
When I ran a trace, this is what is recorded:
( 00000000070BC9E0 ) Exit: More than one user associated with the source phone number
( 00000000070BC9E0 ) Replying with 485 for Request From [+1aaannnyyyy;ext=102@lynci.gmt.local] To [lynci.gmt.local@domain.com] hr[WINMGMT=8004C3CC] Ms-diag[4002] Reason[]
So does the monitoring server not support the EXT= for recording call quality? I find that hard to believe ;)
Babul,
First you talk about Mediation, later about Monitoring. I am confused...
This is interesting. Where the call arrive? Exchange AA or RGS? Need more information in order to replicate this behavior.
Drago,
Sorry I was not clear. The error event I previously posted occurs on all OUTGOING PSTN calls. It does not occur for incoming PSTN calls.
This error has only shown up since I introduced the Monitoring server. I do not have DID numbers, so I am using the ;ext= for LineURI and the AD telephone number is set as your specified in your article.
So if I understand correctly... on completion of a call, Lync server sends Call Quality Metrics to the monitoring server. When the monitoring server gets it, it responds with "multiple users associated with source number" and rejects the data. OCSLogger shows the ;ext= being sent and the monitoring server rejecting it.
I appreciate any input you have!
Thanks,
Babul
I do have the same 25020 message with "ext=" users
Did you find a solution ?
Laurent,
Are you referring to the 25020 error in Monitoring server as well? If this is the case, I will investigate ASAP.
I ended up finding the following post describing the situation. Its supposedly a known bug in Lync, due to be fixed in CU4.
http://social.technet.microsoft.com/Forums/en-US/ocsvoice/thread/36f4dbf6-a521-4bb1-844b-83f7e3b69c50/
Post a Comment