<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4272670118163405613</id><updated>2012-02-02T14:50:28.978-07:00</updated><category term='MCM'/><category term='Lync 2010'/><category term='RTM'/><category term='933430'/><category term='Edge Server'/><category term='Failed content index state'/><category term='Outlook'/><category term='Autodiscover'/><category term='HowTo'/><category term='CAS Array'/><category term='Ports'/><category term='Dial plan'/><category term='Load balance'/><category term='SIP Trunking'/><category term='Mediant 1000'/><category term='schannel'/><category term='Lync Server 2010 updates'/><category term='ACD'/><category term='CWA'/><category term='SIP Trunk'/><category term='Gateway'/><category term='Lync 2010 common area phones'/><category term='128-bit encryption'/><category term='Exchange Web Services'/><category term='prf'/><category term='SACL right'/><category term='IPSEC'/><category term='Windows Server 2008 R2'/><category term='WMI'/><category term='Install from USB'/><category term='Call park'/><category term='IVR'/><category term='archiving'/><category term='.net regular expression'/><category term='Polycom'/><category term='Access Denied'/><category term='Exchange Server 2007'/><category term='multi-hop'/><category term='Update Server'/><category term='OWA 2010 SP1'/><category term='Video'/><category term='april 2009 update'/><category term='Hunt Group'/><category term='SNOM'/><category term='MOC'/><category term='HTC'/><category term='64-bit'/><category term='Nexus One'/><category term='SmartSIP'/><category term='dhcputil.exe'/><category term='OCS 2007 R2'/><category term='DPM 2010'/><category term='webcam'/><category term='Logitech Quickcam Pro 9000'/><category term='EWS'/><category term='collocate'/><category term='MAD.EXE'/><category term='Trusted Root Certificates'/><category term='Blocking Percentage'/><category term='caller ID'/><category term='test-csphonebootstrap'/><category term='RemovePlusFromRequestURI'/><category term='SIP OPTIONS'/><category term='NAT'/><category term='Exchange Server'/><category term='AlternateWitnessServer'/><category term='CUCiMOC'/><category term='Dialogic'/><category term='SCL'/><category term='2007 CAS'/><category term='click to dial'/><category term='Lenovo'/><category term='Outlook 2007'/><category term='AudioCodes'/><category term='Exchange 2010 UM'/><category term='corruption'/><category term='Tandberg Precision HD'/><category term='Lync Server 2010'/><category term='Configuration guide'/><category term='OCS R2'/><category term='Office Communications Server 2007 R2'/><category term='media'/><category term='Wildcard Certificate'/><category term='Architecture'/><category term='Junk Mail'/><category term='Address Book Service'/><category term='Outlook 2003'/><category term='cross-forest migration'/><category term='lag copy'/><category term='fixmapi'/><category term='communicator phone edition r2'/><category term='Exchange UM GSM PCM WMA codec iPhone PowerShell'/><category term='Exchange; Audacity; WAV format; OCS R2'/><category term='e.164'/><category term='pstn'/><category term='bandwidth policy'/><category term='Firewall'/><category term='profile update'/><category term='Cisco Call Manager'/><category term='ip phone'/><category term='Aries'/><category term='auto client update feature'/><category term='Object Expected'/><category term='Live Meeting'/><category term='SendTrustedIssuerList'/><category term='Call Admission Control'/><category term='QOE'/><category term='Enterprise Voice'/><category term='PowerShell'/><category term='Tanjay update R1'/><category term='ITSP'/><category term='dialin conferencing'/><category term='Wave 14'/><category term='Normalization rule'/><category term='reseed'/><category term='control call'/><category term='W520'/><category term='CX700'/><category term='Erlang B'/><category term='Load balance Exchange 2010'/><category term='SSL'/><category term='2003 Mailbox'/><category term='OCS migration'/><category term='Windows 2008'/><category term='Spam'/><category term='Android'/><category term='Script install of OCS'/><category term='Exchange 2010 SP1'/><category term='Communicator 2007 R2'/><category term='Citrix NetScaler VPX'/><category term='error 0-1-492'/><category term='Tanjay'/><category term='online mode'/><category term='LG/Nortel'/><category term='error occurred in the step approving object'/><category term='SPN'/><category term='KB974571'/><category term='Messaging Records Management'/><category term='OWA'/><category term='Number normalization'/><category term='WS-Management'/><category term='Outlook 2010'/><category term='Polycom cx300'/><category term='Group Chat'/><category term='voip'/><category term='XMPP'/><category term='AlternateWitnessDirectory'/><category term='Exchange 14'/><category term='Capacity Planning'/><category term='Microsoft Gateway'/><category term='OCS iPhone'/><category term='activesync'/><category term='An Active Manager operation failed'/><category term='Exchange Server 2010'/><category term='Google'/><category term='OCS'/><category term='Communicator Web Access'/><category term='ost'/><category term='regular expression tools'/><category term='Can&apos;t Federate'/><category term='Lync Edge'/><category term='audio conferencing'/><category term='kb933430'/><category term='compliance'/><category term='Mediation Server'/><category term='Cisco 7941'/><category term='topology builder'/><category term='WINS'/><category term='Update Rollup 7'/><category term='no need for a plus'/><category term='bootstrap'/><category term='Exchange 2010'/><category term='BHT'/><category term='techdays 2010'/><category term='RpcClientAccessServer'/><category term='DSC_E_NO_SUITABLE_CDC'/><category term='Monitoring'/><category term='Aries phone reset'/><category term='Erlang'/><title type='text'>Colored flags, Apples, and Penguins</title><subtitle type='html'>A site dedicated to my experiences with Microsoft, Apple, and Linux software.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default?start-index=101&amp;max-results=100'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>113</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-935288046629436039</id><published>2012-01-28T16:11:00.001-07:00</published><updated>2012-01-28T16:11:23.153-07:00</updated><title type='text'>TOP 10: Lync Server 2010 PowerShell Commands</title><content type='html'>I created this post in response to several requests from clients who wanted a go-to place to find the most commonly used commands and helpful commands for administering Lync Server 2010. In this post I cover the following commands:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit; font-size: large;"&gt;1. Create and set up a Lync User&lt;/span&gt;&lt;br /&gt;You will need an existing AD account for this command to function. Typically the SIP URI for users will follow their e-mail address. If not, you will need to specify the format to use or simply type it in. See the last help section of this post for more information on how to get effective help!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Enable-CsUser "Jason Shave" -RegistrarPool "poolname.domain.com" -SipAddressType EmailAddress&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next you may want to modify settings of the user such as their phone number (LineURI) or enable them for Enterprise Voice. These can both be set with one command as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Set-CsUser "Jason Shave" -EnterpriseVoiceEnabled:$True -LineURI "tel:+17805551212;ext=1212"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit; font-size: large;"&gt;2. Create a Common Area Phone&lt;/span&gt;&lt;br /&gt;Common Area Phones (a.k.a. CAP's)&amp;nbsp;are useful because you don't need an AD account to pre-exist as these objects are created as Contact objects in AD with the necessary properties set on them. You don't have to worry about resetting or setting passwords.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;New-CsCommonAreaPhone -RegistrarPool "poolname.domain.com" -DisplayName "2FL Reception NE" -OU "OU=CAP,OU=Lync Server,DC=domain,DC=com" -DisplayNumber "+17805551212" -LineURI "tel:+17805551212;ext=1212"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;NOTE: I've noticed a sort of bug with PowerShell in that if you specify the LineURI with an ";ext=" command in the string it won't tab-complete any other entries in the&amp;nbsp;window so I typically leave that attribute to the end.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit; font-size: large;"&gt;3. View or Assign a Policy/Dial Plan&lt;/span&gt;&lt;br /&gt;Once you've created either a new user or CAP, you will need to set various attributes such as a Dial Plan, Voice Policy, Client Policy, Conferencing Policy, External Access Policy and so on.&lt;br /&gt;&lt;br /&gt;To view all dial plans by name type: &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsDialPlan | FL Identity&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&lt;/span&gt;To view a voice policy, type the following:&amp;nbsp;(since "Identity" is the only property beginning with the letter "I" we can use a wildcard character to save time) &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-VoicePolicy | FL I*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To assign a Dial Plan to a user or set a voice policy to a CAP:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Grant-CsDialPlan "Jason Shave' -PolicyName EdmontonDialPlan1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsCommonAreaPhone "2FL Reception NE"&amp;nbsp;| Grant-CsVoicePolicy -PolicyName NA-AB-Unrestricted&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit; font-size: large;"&gt;4. Assign a PIN&lt;/span&gt;&lt;br /&gt;A PIN might not be as visibly necessary as you may think. Quickly though, a PIN is required for a non-tethered IP phone sign in, or a user joining a Lync audio conference as a leader from a non-Lync endpoint.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Set-CsClientPin "Jason Shave" -Pin 8675309&lt;/span&gt;&lt;br /&gt;It is a good practice to set this PIN however users are able to create/set their PIN via the dialin simple URL accessible through the Lync client or the meeting request dialin phone number page (typically "dialin.domain.com").&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit; font-size: large;"&gt;5. Revoke a User Certificate&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;This one is more important than you may think as well. If you disable an AD account, and permit users to save their username/password, they will still be able to use Lync! I find a lot of people don't know this and it creates an interesting discussion with the security teams...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Revoke-CsClientCertificate "Jason Shave"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit; font-size: large;"&gt;6. Move a User between pools or to an SBA&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Move-CsUser "Jason Shave" -Target "poolname.domain.com"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit; font-size: large;"&gt;7. Determine if a DID has been used&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;A common issue I see in environments where turnover is higher than normal is the recycling of DID's. When a user is disabled in Lync, their LineURI attribute in AD is still taken and cannot be reassigned. To find out the culprit, type:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsUser | Where {$_.LineURI -Like "*1212"}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above command will find any LineURI attributes ending in "1212" such as "+17805551212" or "+17805551000;ext=1212".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit; font-size: large;"&gt;8.&amp;nbsp;Check CMS replication health&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Any change to the CMS database such as a voice route, dial plan, or voice policy will result in the change being propagated to all Lync servers in the topology. Often times a change is made resulting in a test being performed (i.e. fixing a broken route). You will want to validate the change has been replicated to all servers in the topology before testing....and give it an extra 60 seconds after synchronization has been completed too!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsManagementStoreReplicationStatus&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Alternatively if you have a very large topology, you can be more specific&amp;nbsp;as&amp;nbsp;follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsManagementStoreReplicationStatus | Where {$_.UpToDate -ne $True}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit; font-size: large;"&gt;9.&amp;nbsp;Determine number of users enabled for Enterprise Voice&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;(Get-CsUser | Where {$_.EnterpriseVoiceEnabled -eq $True}).Count&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Getting more complex, lets try to count the total number of EV users and CAP's and get a combined total. In the following example we use the ";" command in a one-liner to initiate a carriage return. We also store the outcome in a variable called "$str1"&amp;nbsp;and "$str2":&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;$str1 = (Get-CsUser | Where {$_.EnterpriseVoiceEnabled -eq $True}).Count; $str2 = (Get-CsCommonAreaPhone).Count; $str1 + $str2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit; font-size: large;"&gt;10. Getting help from PowerShell&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&lt;/span&gt;I've found the following tips helpful when trying to find out what PowerShell can do for me...&lt;br /&gt;&lt;br /&gt;To get help on a command&amp;nbsp;such as Get-CsUser&amp;nbsp;type:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-Help Get-CsUser&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;NOTE: Use the TAB key on your keyboard when typing in PowerShell to complete long commands. As an example, you wouldn't want to type these comands&amp;nbsp;every time:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsManagementStoreReplicationStatus&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsUserReplicatorConfiguration&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsEnhancedEmergencyServiceDisclaimer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For example, type "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsMan&lt;tab&gt;&lt;tab&gt;&lt;/tab&gt;&lt;/tab&gt;&lt;/span&gt;" for "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsManagementStoreReplicationStatus&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Sometimes you want examples of a command such as "Get-CsUser" so in this case you would type:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-Help Get-CsUser -Examples&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you forget a command or want to know all the commands associating with setting a user property, try:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-Command Set-CsUser*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Again, you might want to know what a specific parameter for "Set-CsUser" does such as AudioVideoDisabled:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-Help Set-CsUser -Parameter Au*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hope this helps! Feedback is always appreciated so let me know if you note a mistake or would suggest alternative top 10's. Cheers!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-935288046629436039?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/935288046629436039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2012/01/top-10-lync-server-2010-powershell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/935288046629436039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/935288046629436039'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2012/01/top-10-lync-server-2010-powershell.html' title='TOP 10: Lync Server 2010 PowerShell Commands'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7906141500971588083</id><published>2012-01-28T14:19:00.001-07:00</published><updated>2012-01-28T14:19:16.122-07:00</updated><title type='text'>HOW TO: Copy Quintum Tenor Gateway Configuration</title><content type='html'>This post shows you how to copy the configuration from a Quintum Tenor analog voice gateway for the purpose of either backup or restoration. In my case I used this process in the deployment of several similarly configured gateways at a customer site instead of starting from scratch each time.&lt;br /&gt;&lt;br /&gt;First a warning or three....&lt;strong&gt;&lt;u&gt;NEVER copy a gateway configuration from a non-like device to another using this method&lt;/u&gt;&lt;/strong&gt;. Be sure you copy the same configuration to the same type of device with the same&amp;nbsp;port configuration every time.&lt;br /&gt;&lt;br /&gt;Second, &lt;u&gt;&lt;strong&gt;be sure you have updated the firmware of your target device to the same level of your source device&lt;/strong&gt;&lt;/u&gt;.&lt;br /&gt;&lt;br /&gt;Third, this method of copying a configuration from one device to another is officially not supported by NET. Use at your own risk!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;STEP 1: Logging into the device&lt;/span&gt;&lt;br /&gt;The default login username for the Tenor gateways is "admin" with the password being the same. You can FTP to the device using Windows Explorer or via Command Prompt.&lt;br /&gt;&lt;br /&gt;Using Windows Explorer is as easy as typing ftp://&lt;ip&gt; and hitting enter followed by the username and password. &lt;/ip&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;STEP 2: Copying the configuration from a source device&amp;nbsp;&lt;/span&gt;&lt;br /&gt;Once you've gained access to the device, double-click the "cfg" folder and then double-click the "db" folder. You should see three files called "hw.txt", "db.txt", and "ipconfig.txt". Simply copy these files (if you're using Windows Explorer use CTRL-C) and paste them (CTRL-V) to a safe location you will remember.&lt;br /&gt;&lt;br /&gt;The files are very small and can be stored just about anywhere. Be sure to place them in a directory with a name matching the make, model, and port density.&lt;br /&gt;&lt;br /&gt;NOTE: If you want to modify the configuration of these files, please use the command-line or the Tencor Config Manager software. &lt;u&gt;&lt;strong&gt;NEVER EVER modify these files while they're on the gateway&lt;/strong&gt;&lt;/u&gt; (in flash memory).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;STEP 3: Modify the configuration before deployment&lt;/span&gt;&lt;br /&gt;Now you're ready to modify the configuration and prepare the files for deployment to your target device. The most obvious configuration change you will make will be the IP address of the device to prevent a duplicate IP on the network when you deploy the target device. This can be done by opening the "ipconfig.txt" file on your PC (again, never on the flash memory of the target or source device).&lt;br /&gt;&lt;br /&gt;Make a copy of your backed up files to a new directory as these will be your working copies. Now, simply open the "ipconfig.txt" file using Notepad and modify the parameters necessary. As an example, please see the image below: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-AxOiu7cuoiI/TyRkNxkZO4I/AAAAAAAAAPk/XTPNe6dDfbE/s1600/tenor-config1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="335" src="http://2.bp.blogspot.com/-AxOiu7cuoiI/TyRkNxkZO4I/AAAAAAAAAPk/XTPNe6dDfbE/s400/tenor-config1.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The two "set" commands will change the IP address and subnet mask while the "change" command highlighted above will change the default route (default gateway ip). To modify the DNS settings for the device you need to open the "db.txt" file and modify the following settings: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-f7dNPTh2XmY/TyRlpgiBTNI/AAAAAAAAAPs/aBcMIMKvBbc/s1600/tenor-config2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="73" src="http://3.bp.blogspot.com/-f7dNPTh2XmY/TyRlpgiBTNI/AAAAAAAAAPs/aBcMIMKvBbc/s400/tenor-config2.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Once complete, save the file(s).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;STEP 4: Copy the configuration to your target device&lt;/span&gt;&lt;br /&gt;If you still have an open connection to your Tenor device, close it and open a new connection to your target device using the correct username and password. Since the new device may be new out of the box, you can use the Tenor Config Manager software to locate it or else use a console cable to determine the IP address.&lt;br /&gt;&lt;br /&gt;As you can imagine, the process for copying is the same as you would any other file to a Windows folder. Copy/Paste the files into the /cfg/db location of the target device and overwrite the files.&lt;br /&gt;&lt;br /&gt;Now you can safely reboot your target device and attempt to connect to it via FTP using the new address.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7906141500971588083?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7906141500971588083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2012/01/how-to-copy-quintum-tenor-gateway.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7906141500971588083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7906141500971588083'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2012/01/how-to-copy-quintum-tenor-gateway.html' title='HOW TO: Copy Quintum Tenor Gateway Configuration'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-AxOiu7cuoiI/TyRkNxkZO4I/AAAAAAAAAPk/XTPNe6dDfbE/s72-c/tenor-config1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-9104635012780732770</id><published>2011-12-20T12:38:00.000-07:00</published><updated>2011-12-20T17:18:21.096-07:00</updated><title type='text'>Lync Server 2010: Building redundancy into your dial plans</title><content type='html'>We've had quite a bit of discussion lately about the behaviour associated with Lync Server 2010 call routing when a gateway is "down". The discussion was prompted by a customer outage scenario in which a voice gateway was used to connect a Nortel CS1000 PBX to Lync Server 2010. A single T1 interface was used to provide PBX to Lync calling and Lync to PSTN for certain dialing scenarios. The Nortel CS1000 implementation was vast and contained several H.323 trunks connecting various remote sites together for toll bypass and short digit dialing patterns.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The customer had an issue with one of the H.323 connections in the Nortel world which resulted in an outage to Lync Server. Looking deeper into the issue we discovered the dial plan in Lync Server had multiple phone usages with routes matching the same dialing pattern. For example, a user has a voice policy with two phone usages (see below):&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Phone Usage&lt;/th&gt;&lt;th&gt;Route&lt;/th&gt;&lt;th&gt;Matching Pattern&lt;/th&gt;&lt;th&gt;Gateway&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;center&gt;&lt;td&gt;NA-AB-Usage1&lt;/td&gt;&lt;td&gt;NA-AB-PBX-Route1&lt;/td&gt;&lt;td&gt;\+1&lt;/td&gt;&lt;td&gt;vgw1.contoso.local&lt;/td&gt;&lt;/center&gt;&lt;/tr&gt;&lt;tr&gt;&lt;center&gt;&lt;td&gt;NA-AB-Usage2&lt;/td&gt;&lt;td&gt;NA-AB-SIP-Route1&lt;/td&gt;&lt;td&gt;\+1&lt;/td&gt;&lt;td&gt;siptrunk1.provider.com&lt;/td&gt;&lt;/center&gt;&lt;/tr&gt;&lt;center&gt;&lt;/center&gt;&lt;/tbody&gt;&lt;center&gt;&lt;/center&gt;&lt;/table&gt;&lt;/center&gt; &lt;br /&gt;Given the above, I assumed Lync Server would match on the first usage,&amp;nbsp;fail....then&amp;nbsp;not use the second usage even if the pattern matched the route for the call.&amp;nbsp;In certain situations this is correct while other situations is isn't. For example, if the gateway returns a 5xx level response to the Mediation server or if it's marked as "down", we will use the next phone usage matching the called number. If the gateway returns a 4xx level response to the Mediation server we will NOT try the next phone usage resulting call failure.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;So what happens if we have a single phone usage with multiple routes?&lt;/strong&gt;&lt;br /&gt;In this case, the same behaviour would be experienced. A 5xx level SIP response to the Mediation server would permit a call to the second route in the same usage however a 4xx level response would result in a call failure. Adding multiple gateways to a route only causes them to be used in a round robin fashion and doesn't protect us from a 4xx level response. Below is an example of a phone usage with multiple routes:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Phone Usage&lt;/th&gt;&lt;th&gt;Route&lt;/th&gt;&lt;th&gt;Matching Pattern&lt;/th&gt;&lt;th&gt;Gateway&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;center&gt;&lt;td&gt;NA-AB-Usage1&lt;/td&gt;&lt;td&gt;NA-AB-PBX-Route1&lt;/td&gt;&lt;td&gt;\+1&lt;/td&gt;&lt;td&gt;vgw1.contoso.local&lt;/td&gt;&lt;/center&gt;&lt;/tr&gt;&lt;tr&gt;&lt;center&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NA-AB-SIP-Route1&lt;/td&gt;&lt;td&gt;\+1&lt;/td&gt;&lt;td&gt;siptrunk1.provider.com&lt;/td&gt;&lt;/center&gt;&lt;/tr&gt;&lt;center&gt;&lt;/center&gt;&lt;/tbody&gt;&lt;center&gt;&lt;/center&gt;&lt;/table&gt;&lt;/center&gt;&lt;br /&gt;Let's take a slight detour for a moment and talk about what happens when a gateway is down, how long it stays down for, and when or how long it takes for service to be restored.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How are gateways marked as "down"?&lt;/strong&gt;&lt;br /&gt;The Mediation Server sends a SIP OPTIONS request to the next hop gateway which can be viewed by running NetMon or Wireshark on the interface bound to the IP used by that service. If no reponse, or an invalid reponse is returned we raise event ID 25051, then increment a counter. Once the counter reaches&amp;nbsp;five we&amp;nbsp;raise event ID 25061 and 25052&amp;nbsp;thus marking the gateway "down". Subsequent failure events after this point will not be logged as described in event ID 25052.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Event ID 25051: &lt;/strong&gt;First failure up to five attempts...&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/--5NmA16lcK8/TvDEFcdUszI/AAAAAAAAAO4/pnh2vrgqnKw/s1600/25051.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="88" src="http://1.bp.blogspot.com/--5NmA16lcK8/TvDEFcdUszI/AAAAAAAAAO4/pnh2vrgqnKw/s400/25051.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;Event ID 25052: &lt;/strong&gt;Tried five times, won't log it anymore...&lt;span lang="EN"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span lang="EN"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-xngxDuIrbgc/TvDDeIwiabI/AAAAAAAAAOo/8_igr_P5meI/s1600/25052.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="86" src="http://3.bp.blogspot.com/-xngxDuIrbgc/TvDDeIwiabI/AAAAAAAAAOo/8_igr_P5meI/s400/25052.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;Event ID 25061: &lt;/strong&gt;Taking the gateway out of service (down)...&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-4C-9Jl8iVd4/TvDDtuILKVI/AAAAAAAAAOw/Swt-Y0Ab8h0/s1600/25061.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="106" src="http://2.bp.blogspot.com/-4C-9Jl8iVd4/TvDDtuILKVI/AAAAAAAAAOw/Swt-Y0Ab8h0/s400/25061.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;How long do they stay down for?&lt;/strong&gt;&lt;br /&gt;A gateway taken out of service by Lync Server will be re-tried every 1 minute which means we will put a gateway back in service very quickly once we receive a successful OPTIONS request. We follow this up by creating event ID 25062.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Event ID 25062:&lt;/strong&gt; Back in business...&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-N0DMU0muYEU/TvDP3R9TtHI/AAAAAAAAAPA/U1bUhqjq3-8/s1600/25062.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="106" src="http://1.bp.blogspot.com/-N0DMU0muYEU/TvDP3R9TtHI/AAAAAAAAAPA/U1bUhqjq3-8/s400/25062.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Even though the gateway is back in service from the Mediation server's perspective, Lync's OutBound Routing (OBR)&amp;nbsp;logic&amp;nbsp;may take up to 20 minutes to add it back as a viable call path. This is because the Lync OBR doesn't have access to the SIP OPTIONS&amp;nbsp;status and will run an exponential back-off algorithm which is capped at 20 minutes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What happens if the gateway is "unhealthy"?&lt;/strong&gt;&lt;br /&gt;When I use the word unhealthy I'm referring to a SIP response code in the 4xx range which would cause&amp;nbsp;and OBR failure within Lync and ultimately a failure for the end user. Let's say given the original problem stated above&amp;nbsp;we receive back a "SIP/2.0 488 Not Acceptable Here" from the gateway. Using Lync Server PowerShell commands we can create a new response code translation for the 488 message on that gateway as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;New-CsSipResponseCodeTranslationRule -Identity "PstnGateway:10.0.0.6/Rule488 -ReceivedResponseCode 488 -TranslatedResponseCode 503&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the above example, Lync's OBR logic will retry the next route or phone usage if the pattern matches the called number.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What other useful examples are there?&lt;/strong&gt;&lt;br /&gt;Let's say you have a single T1/PRI and a SIP trunk at a location. The SIP trunk is used as an overflow for outbound calls if all ports on the T1/PRI are used up. Again, it wouldn't matter if you had multiple phone usages with the independent routes to the PRI or to the SIP trunk. The response code from the gateway will be a "SIP/2.0 486 Busy Here" when no channels are available. If we map the 486 response code to a 503, OBR will retry the next route or phone usage.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;New-CsSipResponseCodeTranslationRule -Identity "PstnGateway:10.0.0.6/Rule486 -ReceivedResponseCode 486 -TranslatedResponseCode 503&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The exception to the above scenario would be if you were using a certified Lync Server gateway. A certified gateway will return a "SIP/2.0 503" instead of the "SIP/2.0 486".&lt;br /&gt;&lt;br /&gt;So there you have it, you can use Lync Server&amp;nbsp;to build out recovery scenarios based on certain responses from the gateway.&lt;br /&gt;&lt;/span&gt;TechNet reference: &lt;a href="http://technet.microsoft.com/en-us/library/gg413041.aspx"&gt;http://technet.microsoft.com/en-us/library/gg413041.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-9104635012780732770?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/9104635012780732770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/12/lync-server-2010-building-redundancy.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/9104635012780732770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/9104635012780732770'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/12/lync-server-2010-building-redundancy.html' title='Lync Server 2010: Building redundancy into your dial plans'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/--5NmA16lcK8/TvDEFcdUszI/AAAAAAAAAO4/pnh2vrgqnKw/s72-c/25051.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-2232024487312081201</id><published>2011-11-08T08:25:00.003-07:00</published><updated>2011-11-08T08:25:45.541-07:00</updated><title type='text'>NextHop post about video resolution</title><content type='html'>Check out my NextHop post for a method of determining video resolution of a Lync call.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/b/nexthop/archive/2011/11/07/determining-the-video-resolution-of-a-call.aspx"&gt;http://blogs.technet.com/b/nexthop/archive/2011/11/07/determining-the-video-resolution-of-a-call.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-2232024487312081201?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/2232024487312081201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/11/nexthop-post-about-video-resolution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2232024487312081201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2232024487312081201'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/11/nexthop-post-about-video-resolution.html' title='NextHop post about video resolution'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-4162370820754283380</id><published>2011-10-01T20:21:00.003-06:00</published><updated>2011-10-01T20:43:46.677-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2008 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Lenovo'/><category scheme='http://www.blogger.com/atom/ns#' term='W520'/><category scheme='http://www.blogger.com/atom/ns#' term='Install from USB'/><title type='text'>SUCCESS! Install WIndows Server 2008 R2 on Lenovo W520</title><content type='html'>In my new job I received an amazing Lenovo W520 laptop as my primary device for doing business. The integrated 160GB SSD wasn't enough space for my liking and since I wanted to take advantage of the 16GB of memory, I decided to purchase a few goodies for it. My primary goal here by the way is to run Hyper-V and a few VM's for testing/demo purposes. Installing from the DVD isn't an option since I replaced the drive with a high capacity HDD.&lt;br /&gt;&lt;br /&gt;First, I removed the DVD drive and installed a drive caddy (http://www.newmodeus.com/shop/index.php?main_page=product_info&amp;amp;cPath=2_7&amp;amp;products_id=400) along with a Seagate 750GB laptop drive from Memory Express.&lt;br /&gt;&lt;br /&gt;Next, since my default install image of Windows 7 was missing a few drivers and key software components, I went to the Lenovo web site and downloaded their system update software which managed to get all relevant drivers and conveniently placed them on C:\drivers\win.&lt;br /&gt;&lt;br /&gt;The next step was to format the 750GB drive with enough space to hold my Windows Server 2008 R2 installation along with some basic software. I then located my 8GB Patriot USB stick and began to format is as follows:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Within Windows 7 open an Administrative command prompt and type&lt;b&gt;&amp;nbsp;diskpart&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Then &lt;b&gt;list disk&lt;/b&gt;&amp;nbsp;which will show you the available drives. You should see your USB drive and select it by typing &lt;b&gt;select disk ##&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Type &lt;b&gt;clean&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Then &lt;b&gt;create partition primary&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;/b&gt;Then &lt;b&gt;active&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Next you need to actually format the USB key. You can choose FAT32 or NTFS and since my WIM install file is customized I chose NTFS as follows &lt;b&gt;format fs=ntfs quick&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;T&lt;/b&gt;hen &lt;b&gt;assign&lt;/b&gt;&amp;nbsp;and finally quit the diskpart utility. You now have a bootable USB drive.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Next you need to copy the Windows Server 2008 R2 source media to the USB drive making sure to copy all files (its best to just use xcopy with /s /e /f /h switches).&lt;br /&gt;&lt;br /&gt;Now you should be able to boot into Windows Server 2008 R2 with this USB device but MAKE SURE TO PLUG IT INTO THE REAR SLOT of the laptop. If you try any other slot I found it impossible to make Windows find the suitable drivers to proceed with setup.&lt;br /&gt;&lt;br /&gt;BONUS: Install drivers from (C:) for the W520 onto USB (E:)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;From C:\Windows\System32 type &lt;b&gt;Dism /Get-WimInfo /WimFile:E:\Sources\Install.wim&lt;/b&gt;. This will show you all images within the WIM file.&lt;/li&gt;&lt;li&gt;Next, you need to extract the image you want to install the drivers into. Type &lt;b&gt;Dism /Mount-Wim /Wim-File:E:\Sources\Install.wim /Name:"Windows Server 2008 R2 ENTERPRISEFULL" /MountDir:C:\jcstemp\offline&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Next we want to load the drivers recursively as follows: &lt;b&gt;Dism /Image:C:\jcstemp\offline /Add-Driver /Driver:C:\drivers\win /Recurse&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Finally we need to close out our image back into the USB drive as follows: &lt;b&gt;Dism /Unmount-Wim /MountDir:C:\jcstemp\offline /Commit&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Now when you install Windows Server 2008 R2 you'll have all the necessary USB 3.0, Video, and chipset drivers to get going!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-4162370820754283380?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/4162370820754283380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/10/success-install-windows-server-2008-r2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4162370820754283380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4162370820754283380'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/10/success-install-windows-server-2008-r2.html' title='SUCCESS! Install WIndows Server 2008 R2 on Lenovo W520'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1425416594169490824</id><published>2011-06-20T11:35:00.002-06:00</published><updated>2011-06-20T11:43:19.239-06:00</updated><title type='text'>HOW TO: Configure AD RMS with Exchange; Soup to Nutz</title><content type='html'>It's been a while since I've posted anything related to Exchange and in the time between exam taking and projects I've been working on trying to get Active Directory Rights Management Services (AD RMS)&amp;nbsp;to work with Exchange 2010.&lt;br /&gt;&lt;br /&gt;Some of you may be asking yourself why this is important information or you might even be wondering what AD RMS is all about? Well it wasn't until recently that I became interested in this topic and consequently learned the ins and outs of rights management solutions. The topic came to mind when a colleague at work mentioned someone outside the organization had asked them for one of our internal documents. At first I thought "wow, that's some nerve!". Then I began to think about how an organization might attempt to protect this information from 'leakage'; (&lt;a href="http://www.cspinet.org/new/flaynal.html"&gt;not this type of leakage&lt;/a&gt;). It wasn't the first time I encountered this type of situation but at the time the world of rights management and information leakage was blurred and convoluted. I can't say a lot has changed on this topic but at least Microsoft has started building native support for IRM/AD RMS into their applications such as Exchange Server 2010 and Office 2010.&lt;br /&gt;&lt;br /&gt;Some of the challenges I've seen in the other documentation out there seem to exclude the configuration steps necessary to provide an end to end solution with respect to certificate auto-enrollment or AD RMS template configuration. So I'll try...&lt;br /&gt;&lt;br /&gt;First off, you want to build up a VM just for the purpose of configuring AD RMS. You can collocate this role on another DC or server but just to make things 'cleaner' I chose to do it this way. In a production environment you may want to do the same.&lt;br /&gt;&lt;br /&gt;Next, you'll configure Exchange, then your certificate infrastructure. Finally, we'll finish up with TMG publishing of the AD RMS infrastructure so everything works for your Internet facing employees and customers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Step 1: Deploy AD RMS&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Using the Add Roles Wizard in Server Manager, add the &lt;strong&gt;Active Directory Rights Management Services&lt;/strong&gt; role to your new VM.&lt;/li&gt;&lt;li&gt;Select just the &lt;strong&gt;Active Directory Rights Management Server service&lt;/strong&gt; and leave OFF the Identity Federation Support option.&lt;/li&gt;&lt;li&gt;Accept the default to create a new AD RMS cluster.&lt;/li&gt;&lt;li&gt;Choose to use an &lt;strong&gt;Internal Database&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Create a &lt;strong&gt;Domain User&lt;/strong&gt; account and assign it to AD RMS (i used "adrmsuser").&lt;/li&gt;&lt;li&gt;Set the AD RMS Key storage location to be &lt;strong&gt;centrally managed&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Set the AD RMS &lt;strong&gt;Cluster Key Password&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Configure AD RMS to use an &lt;strong&gt;HTTPS&lt;/strong&gt; connection by typing in the URL (i.e. adrms.contoso.com).&lt;/li&gt;&lt;li&gt;Choose to use an &lt;strong&gt;existing SSL certificate&lt;/strong&gt; if you have one already. If not, get one!&lt;/li&gt;&lt;li&gt;Accept all remaining defaults.&lt;/li&gt;&lt;/ul&gt;At this point AD RMS will be installed into your Active Directory domain and a Service Connection Point (SCP) will be created. Exchange 2010 will use this SCP to discover the AD RMS cluster in the environment so the actual amount of configuration necessary is very little.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;strong&gt;Step 2: Permit Exchange 2010 access to AD RMS&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;From your AD RMS server, navigate to &lt;strong&gt;%systemdrive%\Inetpub\wwwroot\_wmcs\Certification&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Right-click the &lt;strong&gt;ServerCertification.asmx&lt;/strong&gt; file and click &lt;strong&gt;Properties&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Security&lt;/strong&gt; tab.&lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Edit&lt;/strong&gt; button.&lt;/li&gt;&lt;li&gt;In the Select &lt;strong&gt;User, Computer, Service Account, or Group&lt;/strong&gt; dialog box, click &lt;strong&gt;Object Types&lt;/strong&gt;, select &lt;strong&gt;Computers &lt;/strong&gt;and click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Type the names of the Exchange 2010 servers in your environment and click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Grant &lt;strong&gt;Read &amp;amp; execute&lt;/strong&gt; and the &lt;strong&gt;Read&lt;/strong&gt; check boxes and click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;NOTE: Also check to make sure the local group on your AD RMS server called AD RMS Service Group exists here with the same permissions as outlined above.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;strong&gt;Step 3: Configure AD RMS Super Users Group&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a Universal Group (Distribution Group) in AD with a name like "ADRMS-SU" then mail enable it (i.e. &lt;a href="mailto:ADRMS-SU@contoso.com"&gt;ADRMS-SU@contoso.com&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Log onto your AD RMS server and open the &lt;strong&gt;Active Directory Rights Management Services&lt;/strong&gt; console.&lt;/li&gt;&lt;li&gt;Expand &lt;strong&gt;Security Policies&lt;/strong&gt; then click &lt;strong&gt;Super Users&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;strong&gt;Enable Super Users&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;In the results pane, click &lt;strong&gt;Change Super User Group&lt;/strong&gt; to open the &lt;strong&gt;Super Users&lt;/strong&gt; property sheet.&lt;/li&gt;&lt;li&gt;In the &lt;strong&gt;Super User&lt;/strong&gt; group box, type the e-mail address of the designated super users group (&lt;a href="mailto:ADRMS-SU@contoso.com"&gt;ADRMS-SU@contoso.com&lt;/a&gt;), or click &lt;strong&gt;Browse&lt;/strong&gt; to navigate through the defined users and groups in the directory then click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;&lt;u&gt;Step 4: Configure Exchange 2010&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Open an Exchange Management Shell window.&lt;/li&gt;&lt;li&gt;Type &lt;strong&gt;Set-IRMConfiguration -InternalLicensingEnabled:$True&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;&lt;u&gt;Step 5: Configure automatic AD RMS Client certificate distribution&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Run this command: &lt;strong&gt;schtasks /Change /TN "\Microsoft\Windows\Active Directory Rights Management Services Client\AD RMS Rights Policy Template Management (Automated)" /ENABLE&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;NOTE: This will enable automatic checking of templates at logon and at 3:00AM each day. To deploy this to all PC's in a domain, consider creating a GPO with a Startup script to run it (due to UAC in Vista and Windows 7, you may not be able to deploy a GPO with a Logon script).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IMPORTANT: You must add the following registry entry to the local system (can also be done via GPO) so that the IRM-enabled clients can find the template files.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;HKCU\Software\Microsoft\Office\14.0\Common\DRM&lt;/strong&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Name: &lt;strong&gt;AdminTemplatePath&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Type: &lt;strong&gt;REG_EXPAND_SZ&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Data: &lt;strong&gt;%LocalAppData%\Microsoft\DRM\Templates&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;If you encounter a situation where the Outlook client can't find the templates, you will only see the default "Do Not Forward" template when you select one from the Permissions button on the ribbon. My suggestion here would be to create a GPO using the 2008 user preferences functionality. Create as many entries as you require to target certain operating systems and versions of Office. For example, you may want to create a single GPO where you populate the registry with values for both Office 2007 and 2010 (just in case). This makes it easier to maintain one GPO than separate ones....or simply use the Item Level Targeting feature of the GPO to determine when and where to apply it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Step 6: Configure User Certificate Template&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Log into your Certificate Services server.&lt;/li&gt;&lt;li&gt;Open the Certification Authority MMC.&lt;/li&gt;&lt;li&gt;Expand the server name in the console, right-click on &lt;strong&gt;Certificate Templates&lt;/strong&gt; and choose &lt;strong&gt;Manage&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Right-click on the &lt;strong&gt;User &lt;/strong&gt;template and choose &lt;strong&gt;Windows 2003 Server, Enterprise Edition&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Give the template a name such as "User Template&amp;nbsp;Auto Enrollment".&lt;/li&gt;&lt;li&gt;Set the &lt;strong&gt;validity period&lt;/strong&gt; to something acceptable.&lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Request Handling&lt;/strong&gt; tab and &lt;u&gt;turn off&lt;/u&gt; &lt;strong&gt;Allow private key to be exported&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Security&lt;/strong&gt; tab and make sure&lt;strong&gt; Authenticated Users&lt;/strong&gt; and &lt;strong&gt;Domain Users&lt;/strong&gt; have &lt;strong&gt;Read&lt;/strong&gt;, &lt;strong&gt;Enroll&lt;/strong&gt; and &lt;strong&gt;Autoenroll&lt;/strong&gt; enabled.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;&lt;u&gt;Step 7: Configure Auto Enrollment&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Log into your server used to manage GPO's.&lt;/li&gt;&lt;li&gt;Create a new GPO and link it to an OU or to the Domain.&lt;/li&gt;&lt;li&gt;Create a &lt;strong&gt;User Configuration&lt;/strong&gt; setting under &lt;strong&gt;Policies\Windows Settings\Security Settings\Public Key Policies&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Double-click the &lt;strong&gt;Certificate Services Client - Auto - Enrollment&lt;/strong&gt; object.&lt;/li&gt;&lt;li&gt;Set the &lt;strong&gt;Configuration Model&lt;/strong&gt; to &lt;strong&gt;Enabled&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Turn on &lt;strong&gt;Renew expired certificates, update pending certificates, and remove revoked certificates&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Turn on &lt;strong&gt;Update certificates that use certificate templates&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Turn on &lt;strong&gt;Expiration Notification&lt;/strong&gt; then click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Close your GPO editor.&lt;/li&gt;&lt;/ul&gt;At this point your users should automatically enroll their User certificate at logon to any machine matching the GPO you've created in step 6 above. Validate this by logging out and back in, then opening the certmgr.msc file and checking your Personal store.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Step 8: Define your external URL for AD RMS&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Log into your AD RMS server.&lt;/li&gt;&lt;li&gt;Log onto your AD RMS server and open the &lt;strong&gt;Active Directory Rights Management Services&lt;/strong&gt; console.&lt;/li&gt;&lt;li&gt;Click on the server name and choose &lt;strong&gt;Properties&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Cluster URL's&lt;/strong&gt; tab.&lt;/li&gt;&lt;li&gt;Turn on your &lt;strong&gt;Extranet URL's&lt;/strong&gt; and specify an external DNS name (i.e. adrmsext.contoso.com) then click OK.&lt;/li&gt;&lt;/ul&gt;Step 9: Configure Microsoft Threat Management Gateway to access AD RMS&lt;br /&gt;&lt;br /&gt;NOTE: Due to issues with my TMG environment I haven't been able to publish the rest of this article. I'll be back soon to finish it but for now we'll have to wait.&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1425416594169490824?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1425416594169490824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/06/how-to-configure-ad-rms-with-exchange.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1425416594169490824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1425416594169490824'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/06/how-to-configure-ad-rms-with-exchange.html' title='HOW TO: Configure AD RMS with Exchange; Soup to Nutz'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5960796236495746712</id><published>2011-05-05T13:07:00.002-06:00</published><updated>2011-05-06T16:34:08.039-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NAT'/><category scheme='http://www.blogger.com/atom/ns#' term='SIP Trunk'/><category scheme='http://www.blogger.com/atom/ns#' term='IPSEC'/><category scheme='http://www.blogger.com/atom/ns#' term='Firewall'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='ITSP'/><title type='text'>SIP Trunking with Lync Server 2010 and reliability issues (calls only last 51 mins)</title><content type='html'>I recently worked on a project for a customer who was interested in working with a local SIP trunk provider (ITSP) who is listed on the Microsoft OIP page for Lync Server 2010. We offered four connectivity methods to the client which consisted of the following:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Full IP NAT connection to ITSP&lt;/li&gt;&lt;li&gt;Public IP connection to ITSP&lt;/li&gt;&lt;li&gt;Site-to-site IPSEC VPN connection to ITSP&lt;/li&gt;&lt;li&gt;Layer 2 PVC using ISP link&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;The customer decided to go with option 1 which meant we provisioned a new public IP and created a NAT to a private IP which was bound to the Lync server. Appropriate firewall rules were set up to permit SIP and RTP/RTCP packets between the two and for the most part everything worked really quite well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Incidentally, calls made to, or coming from the PSTN (ITSP) are using G.711 as a codec and if you have a reasonably reliable connection with low delay and jitter, you can expect good results.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This particular customer had an interesting issue which resulted in their calls being dropped after being active on the phone for 51 minutes and 30 seconds (typically a conference call). After a series of funny looks asking if anyone else has seen this issue, I decided to dig into the Lync Server 2010 trunk configuration settings to see if we can fine tune something. The theory on why this was happening appeared to be related to the RTCP packets being blocked from the ITSP. Unfortunately I didn't have any evidence of this to share here but it makes sense. Looking at the default options for a Lync trunk connection, the following areas of interest are what I focused on:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;EnableSessionTimer ($true | $false)&lt;br /&gt;RTCPActiveCalls ($true | $false)&lt;/div&gt;&lt;div&gt;RTCPCallsOnHold ($true | $false)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The default option for a trunk in Lync Server 2010 is:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;EnableSessionTimer = False&lt;/div&gt;&lt;div&gt;RTCPActiveCalls = True&lt;/div&gt;&lt;div&gt;RTCPCallsOnHold = True&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Session timers will apply to a connection even if the trunk setting is "False" (this can occur when the remote side uses them). RTCPActiveCalls refer to the method of sending RTCP packets to determine if the call is still 'alive' or not. If these packets cease, the call is terminated after 30 seconds.&amp;nbsp;The purpose of determining a valid call this way is because the SIP signaling for the call could traverse another path, such as Media Bypass, and/or become interrupted (brief network/device).&amp;nbsp;The same applies to RTCPCallsOnHold but in a slightly different manner. Historically a call on hold without MOH will cease sending RTP packets and drop the peer (some of you may recall this being an issue on SNOM or Cisco sets).&lt;br /&gt;&lt;br /&gt;If my theory of RTCP packets being blocked (inbound) or not sent at all, I would think the call wouldn't last very long at all (i.e. no more than about 30 seconds). I attempted to set "EnableSessionTimer" to True but this didn't seem to make a difference. I had to set RTCPActiveCalls and RTCPCallsOnHold to False as well for the issue to go away. Again, in the end, the configuration I went with looks like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;EnableSessionTimer = True&lt;/div&gt;&lt;div&gt;RTCPActiveCalls = False&lt;/div&gt;&lt;div&gt;RTCPCallsOnHold = False&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5960796236495746712?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5960796236495746712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/05/sip-trunking-with-lync-server-2010-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5960796236495746712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5960796236495746712'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/05/sip-trunking-with-lync-server-2010-and.html' title='SIP Trunking with Lync Server 2010 and reliability issues (calls only last 51 mins)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1134543011560815279</id><published>2011-05-04T21:25:00.001-06:00</published><updated>2011-05-05T09:21:23.371-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mediation Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Blocking Percentage'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Erlang'/><category scheme='http://www.blogger.com/atom/ns#' term='Capacity Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='BHT'/><category scheme='http://www.blogger.com/atom/ns#' term='Erlang B'/><title type='text'>Calculating number of Mediation Servers and Lines required for Lync Server 2010</title><content type='html'>I generally hate doing something I don't fully understand or haven't been taught so I've taken some time to try and grasp the mind bending, eye crossing,&amp;nbsp;fascination&amp;nbsp;that is capacity planning with respect to voice systems.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It all goes back to our Microsoft Certified Masters training for Lync Server 2010 in March/April of this year. Some of the pre-study content prescribed to us touches on what an "Erlang" is and why it's important to understanding voice systems design. In addition to this, the MCM program has us learn about applying factors such as Busy Hour Traffic (BHT) measured in Erlangs against real world capabilities of Lync Server 2010.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So let's start with the basics. What is an Erlang? Well, if you look up the Wikipedia definition it states:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"The &lt;b&gt;erlang&lt;/b&gt; (symbol &lt;b&gt;E&lt;/b&gt;&lt;sup class="reference" id="cite_ref-0"&gt;&lt;a href="http://en.wikipedia.org/wiki/Erlang_(unit)#cite_note-0"&gt;[1]&lt;/a&gt;&lt;/sup&gt;) is a &lt;a class="mw-redirect" href="http://en.wikipedia.org/wiki/Dimensionless_unit" title="Dimensionless unit"&gt;dimensionless unit&lt;/a&gt; that is used in &lt;a href="http://en.wikipedia.org/wiki/Telephony" title="Telephony"&gt;telephony&lt;/a&gt; as a statistical measure of  &lt;a href="http://en.wikipedia.org/wiki/Offered_load" title="Offered load"&gt;offered load&lt;/a&gt; or carried  load on service-providing elements such as telephone circuits or telephone  switching equipment."&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Basically, an Erlang represents one voice path, or one channel, or one line in constant use (sorry Adam). The reason an Erlang is important is because we need to eventually determine the number of concurrent channels required for sizing T1/E1 capacity or even determining the number of Mediation servers we need.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The other important concept we need to understand is the Busy Hour Traffic (measured in Erlangs). BHT is the number of hours of call traffic during the busiest hour of the day. Said another way, BHT represents the maximum concurrent channels used during the busiest hour.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In addition to understanding line usage, we need to grasp the idea of a blocking percentage. This means the likelihood of a call being denied (blocked) due to insufficient channels or lines (capacity). When planning for capacity you need to determine the acceptable blocking percentage for an organization. Some will permit only 1% which means 1 out of every 100 calls will be blocked due to insufficient line capacity. Other organizations are willing to accept 2.5% or more.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The last concept we need to cover is the Busy Hour Factor, represented in a percentage. The Busy Hour Factor is the percentage of minutes which are offered during the busiest hour of the day. The default is typically 17% for most businesses open during an 8 hour work window. We use the Busy Hour Factor to calculate the Erlangs based on a certain volume of minutes in a day.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now that we have these concepts down, let's look at the following scenario:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You are introduced to a customer who is looking to move to Lync Server 2010 and migrate from an existing PBX with 2 T1's. Rumors of an&amp;nbsp;acquisition come true and the company plans to integrate more telephony capacity. You're given the phone statistics for both companies which works out to 37,000 minutes per day.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What is the Busy Hour Traffic (BHT, measured in Erlangs)?&lt;/div&gt;&lt;div&gt;What is the Busy Hour Factor (default is 17%)?&lt;/div&gt;&lt;div&gt;What is the Blocking Percentage?&lt;/div&gt;&lt;div&gt;How many T1's do you need?&lt;/div&gt;&lt;div&gt;How many Mediation servers do you need?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We actually can't answer these questions unless we have an "Erlang B" calculator which can be found here:&amp;nbsp;&lt;a href="http://www.erlang.com/calculator/erlb/"&gt;http://www.erlang.com/calculator/erlb/&lt;/a&gt;. But first let's solve what we can. For those of you who wish to solve without assistance, the formula is:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://upload.wikimedia.org/math/a/c/f/acf10eb44ab4ab45c4365b9a0efe8bc2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/math/a/c/f/acf10eb44ab4ab45c4365b9a0efe8bc2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To calculate Busy Hour Traffic, we can multiply the Busy Hour Factor of 17% by the total number of minutes (37,000) then divide that by 60. The calculation looks like this:&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;37,000 * 0.17 / 60 = &lt;b&gt;104.8 BHT (Erlangs)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since the scenario didn't specify a blocking percentage, let's assume 1%. With this assumption and the calculated BHT value, we now have enough information to put into our "Erlang B" calculator to determine the number of lines or channels we need.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This produces &lt;b&gt;122 lines&lt;/b&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Knowing a T1 can handle 23 lines of voice traffic, we get 5.3 T1's being required. Now you can't have .3 of a T1 so maybe the client is willing to accept a higher blocking percentage to squeeze the traffic into 5 T1's. You can use the "Erlang B" calculator to determine what the blocking percentage would be in this case.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5 T1's can carry 115 channels and with 104.8 BHT this produces a &lt;b&gt;blocking percentage of 2.7%&lt;/b&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Acceptable? Maybe...maybe not. It really depends on the customer.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now there are other clever ways of squeezing out a few more channels. NFAS is one way in which you can forgo the D-channel on each T1 if you've trunked several of them together. For example, 3 T1's would typically have 3 D-channels whereas with NFAS, you can get away with 1 D-channel between the group of three. This gives you two more B-channels for voice. Multiply that by 5 T1's and you get four more B-channels increasing your capacity from 115 to 119. Using the "Erlang B" calculator again....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This produces a &lt;b&gt;blocking percentage of 1.6%&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Not bad at all!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Okay, so bringing things back to reality, we have a recommendation to the customer about how many T1's they need to plan for which is 5 using NFAS. The next question we need to answer is how many Mediation servers we need so let's look at some capacity numbers:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Stand-alone Mediation server with quad 1Gb NIC with dual quad-core CPU's = &lt;b&gt;950 - 1200 concurrent calls.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Collocated Mediation server with Front-End server = &lt;b&gt;226 concurrent calls.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Based on our Busy Hour Traffic number of 104.8 Erlangs, even &lt;b&gt;a single collocated Mediation server &lt;/b&gt;on a Front-End server can handle all the traffic.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I hope this helps some of you understand the importance and complexity of sizing voice channels and servers. Microsoft has done an amazing job at increasing the capacity of concurrency with Lync Server 2010. Comments welcome.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1134543011560815279?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1134543011560815279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/05/calculating-number-of-mediation-servers.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1134543011560815279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1134543011560815279'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/05/calculating-number-of-mediation-servers.html' title='Calculating number of Mediation Servers and Lines required for Lync Server 2010'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-4865817735473412146</id><published>2011-04-21T09:29:00.000-06:00</published><updated>2011-04-21T09:29:47.001-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010 common area phones'/><category scheme='http://www.blogger.com/atom/ns#' term='Aries'/><title type='text'>Can't sign into Lync phone over the Edge server using PIN authentication</title><content type='html'>Well I'm back from Lync Masters in Redmond. I'll have more on that in another post coming very soon.&lt;br /&gt;&lt;br /&gt;For those of you wondering if you can sign into a Lync "Aries" phone (un-teathered)&amp;nbsp;outside your network, the answer is....'well sort of'.&lt;br /&gt;&lt;br /&gt;The phone does need to sign in on the LAN successfully at least once so that it 'learns' the path to the web ticket service in order to get a client certificate. The client certificate will permit authentication to Lync if AD is down and plays into the branch survivability story quite well (with a few exceptions). Once the device has it's valid client certificate it will attempt to sign into a registrar by looking up the SRV record in DNS. It only does this one time if it finds a suitable registrar pool to register against. This is an important fact to remember. I'll say it again another way....the phone will NEVER go back to SRV lookup if it has been successfully authenticated against a registrar and signed in.&lt;br /&gt;&lt;br /&gt;The phones are designed to cache this information to reduce the burden on the network and to provide a survivable experience. This means if your pool name is "pool01.contoso.com" and the phone signed in against a front-end server, it will try to find that pool by name when you connect it at home or some other remote (outside the LAN) location. Again, the phone will NEVER go back to looking to DNS for the SRV record. If you perform a trace of the traffic you'll see this happen. The phone also caches the web services fqdn and will attempt to connect to it (if you have it published through ISA/TMG).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;So how do I make it work?&lt;/strong&gt;&lt;br /&gt;Well it's simple really....use the name "sip.contoso.com" as your internal host name for your "_sipinternaltls._tcp.contoso.com" record.&amp;nbsp;This name will match your external&amp;nbsp;Access Edge fqdn IP and you should be able to sign in. Now I wouldn't recommend this approach. Just because it can be done doesn't make it a good idea.&lt;br /&gt;&lt;br /&gt;If the phone is signed in using a "common area phone" ID, then make sure you use the "Grant-CsExternalAccessPolicy" command to ensure the account can log in remotely.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Watch out!&lt;/strong&gt;&lt;br /&gt;Be aware of rogue devices leaking out of your network if you set it up to permit this activity. The certificate authentication mechanism will permit the phones to sign in EVEN IF THE AD ACCOUNT IS DISABLED. You must run a "Revoke-CsClientCertificate", disable the AD account for Lync, and disable the AD account to be safe.&lt;br /&gt;&lt;br /&gt;Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-4865817735473412146?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/4865817735473412146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/04/cant-sign-into-lync-phone-over-edge.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4865817735473412146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4865817735473412146'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/04/cant-sign-into-lync-phone-over-edge.html' title='Can&apos;t sign into Lync phone over the Edge server using PIN authentication'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7702284167931376010</id><published>2011-03-03T13:49:00.001-07:00</published><updated>2011-03-03T13:52:42.831-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='QOE'/><category scheme='http://www.blogger.com/atom/ns#' term='Monitoring'/><title type='text'>RESOLVED: Lync Monitoring Reports are empty</title><content type='html'>Recently I deployed an Enterprise pool topology where the client added monitoring and archiving shortly afterward. I had a fully functional Lync environment with all the workloads and capabilities working just great. When we added the monitoring/archiving server I knew to also add the dependent roles/features such as MSMQ because these were always required.&lt;br /&gt;&lt;br /&gt;I later deployed the monitoring pack and had a few issues. First, the name of the account used by Lync to access SQL Reporting Services was typed in using the client's domain FQDN (i.e. contoso.local\lyncqoe). This resulted in an error indicating the deployment of the report pack couldn't grant "ReportsReadOnlyRole" and also threw: "Exception calling "Create" with "0" argument(s):".&lt;br /&gt;&lt;br /&gt;As it turns out the Lync report pack deployment wizard didn't like the format I used for the username which was "domainfqdn\username". Looking at the username format under the Logins section of SQL Management Studio I noticed it was using the NetBIOS domain name format instead. After running it again and using the legacy NetBIOS style name format, it worked (i.e. contoso\lyncqoe).&lt;br /&gt;&lt;br /&gt;The next issue was that the reports weren't showing any data. The services were all started on my Monitoring server and everything appeared to be working fine. There were no errors in the Monitoring server and I couldn't figure out what was wrong. It turns out the Enterprise Edition Front-End server also needs to have MSMQ with Directory Services integration installed to complete the message chain between the FE and Monitoring server.&lt;br /&gt;&lt;br /&gt;Once I installed this feature the reports were showing data immediately.&lt;br /&gt;&lt;br /&gt;I suppose my feedback to the Lync product team would be that the topology publishing wizard should have failed with an indication that these features were missing on the front-end and that monitoring wouldn't function at all until they were there. There is a hard stop on the Monitoring server role installation wizard....but nothing for the FE servers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7702284167931376010?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7702284167931376010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/03/resolved-lync-monitoring-reports-are.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7702284167931376010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7702284167931376010'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/03/resolved-lync-monitoring-reports-are.html' title='RESOLVED: Lync Monitoring Reports are empty'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7163988614227818366</id><published>2011-02-15T18:52:00.001-07:00</published><updated>2011-02-15T18:55:17.807-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='MCM'/><title type='text'>Microsoft Certified Master: Lync</title><content type='html'>Here we go....I just received my acceptance into the Microsoft Certified Master program so I'm off to Redmond in March/April for the second Lync 2010 Masters course in Washington.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-CGsTDOrls3Q/TVsuageLhNI/AAAAAAAAAMQ/kaRyYmYCUf4/s1600/microsoft_certified_master.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="146" src="http://2.bp.blogspot.com/-CGsTDOrls3Q/TVsuageLhNI/AAAAAAAAAMQ/kaRyYmYCUf4/s200/microsoft_certified_master.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;I'll be sure to post what I can from time to time and illustrate the process and share as much information about the course as possible.&lt;br /&gt;&lt;br /&gt;See you on the other side!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7163988614227818366?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7163988614227818366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/02/microsoft-certified-master-lync.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7163988614227818366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7163988614227818366'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/02/microsoft-certified-master-lync.html' title='Microsoft Certified Master: Lync'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-CGsTDOrls3Q/TVsuageLhNI/AAAAAAAAAMQ/kaRyYmYCUf4/s72-c/microsoft_certified_master.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-271128594579554572</id><published>2011-01-21T07:42:00.001-07:00</published><updated>2011-01-21T07:42:21.124-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010 updates'/><title type='text'>Lync Server 2010 (and client) updates are out!</title><content type='html'>The first update rollup for Lync 2010 client and server. Click the link below and sort by date (newest first):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/en/results.aspx?freetext=Lync+2010&amp;amp;displaylang=en&amp;amp;stype=s_basic"&gt;http://www.microsoft.com/downloads/en/results.aspx?freetext=Lync+2010&amp;amp;displaylang=en&amp;amp;stype=s_basic&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-271128594579554572?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/271128594579554572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/01/lync-server-2010-and-client-updates-are.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/271128594579554572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/271128594579554572'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/01/lync-server-2010-and-client-updates-are.html' title='Lync Server 2010 (and client) updates are out!'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5041444749351938732</id><published>2011-01-20T14:17:00.003-07:00</published><updated>2011-01-20T15:14:47.944-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='bandwidth policy'/><category scheme='http://www.blogger.com/atom/ns#' term='control call'/><category scheme='http://www.blogger.com/atom/ns#' term='voip'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='pstn'/><category scheme='http://www.blogger.com/atom/ns#' term='Call Admission Control'/><title type='text'>HOW TO: Use Call Admission Control to actually control a call in Lync Server 2010</title><content type='html'>So you may have done some reading on what Call Admission Control (CAC) in Lync Server 2010 does and how it can add value in a distributed environment. There are several guides out there on the terminology and overview of CAC but I've found a slight gap in the practical application of it.&lt;br /&gt;&lt;br /&gt;Throughout reading the Microsoft documentation on Lync Server 2010 including the CHM file, I've stitched together what I believe is a reference design for CAC and the steps necessary to get it to actually work.&lt;br /&gt;&lt;br /&gt;First, you need to make sure you've configured CAC network regions, sites, subnets, policies, links and routes. If you haven't done your reading yet, buckle down and understand the concepts using this link:&amp;nbsp;&lt;a href="http://technet.microsoft.com/en-us/library/gg398842.aspx"&gt;http://technet.microsoft.com/en-us/library/gg398842.aspx&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;At a high level, it looks like this:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Create a CAC Policy Profile (a.k.a. Bandwidth Policy).&lt;/li&gt;&lt;li&gt;Create a Region and make sure you enable the "Enable audio alternate path" option.&lt;/li&gt;&lt;li&gt;Create your Sites, link them to a Region, and assign your Bandwidth Policy (a.k.a. Policy Profile).&lt;/li&gt;&lt;li&gt;Create your Subnets and assign them to a Site.&lt;/li&gt;&lt;li&gt;Optional: If you have multiple Regions, you need to do two things. First, you need to create a Region link stitching together both Regions (i.e. Canada_to_USA_Region_Link). Second, you must create a Region Route even if you have only one Region Link....more on this later.&lt;/li&gt;&lt;/ol&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/TTihtdJYTNI/AAAAAAAAAL8/9V2D-Ais9gw/s1600/cac4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/TTihtdJYTNI/AAAAAAAAAL8/9V2D-Ais9gw/s400/cac4.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Enable audio alternate path in your Region&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Once you have the network configuration portion complete, you need to make sure you've configured a voice policy for your users which permit rerouting of phone calls and finally enable CAC in your global network configuration.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/TTiiOq3FKvI/AAAAAAAAAME/MF_2bZkarNk/s1600/cac3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/TTiiOq3FKvI/AAAAAAAAAME/MF_2bZkarNk/s1600/cac3.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Enable call admission control in your Global network configuration&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/TTiiZokF7XI/AAAAAAAAAMI/AkYzrF11xn8/s1600/cac1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/TTiiZokF7XI/AAAAAAAAAMI/AkYzrF11xn8/s400/cac1.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Enable PSTN reroute on your voice policy for your users&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;So with all this configured, let's talk about what happens when you call someone over a link which is bandwidth constrained, has a CAC policy, and doesn't have enough bandwidth. Here's the story:&lt;br /&gt;&lt;br /&gt;Jason is in Edmonton where he has a Branch Survivable Gateway.&lt;br /&gt;&lt;br /&gt;Anton is in Calgary where he sits next to the Front-End server, Mediation Server, and a Direct SIP connection to Cisco Call Manager.&lt;br /&gt;&lt;br /&gt;Both Edmonton and Calgary are connected by a WAN link which is limited to 10Mb.&lt;br /&gt;&lt;br /&gt;Jason has a voice policy with the "Enable PSTN reroute" option set to 'enabled' and the "Enable bandwidth policy override" option set to 'disabled'.&lt;br /&gt;&lt;br /&gt;Jason calls Anton using his Lync 2010 client.&lt;br /&gt;&lt;br /&gt;Both users are in the "Canada" Region which has the option for "Enable audio alternate path" enabled.&lt;br /&gt;&lt;br /&gt;The Canada Region contains both the Calgary and Edmonton Site.&lt;br /&gt;&lt;br /&gt;The Edmonton site has a bandwidth policy which, based on current bandwidth consumption, is fully consumed. This would normally prevent the call from proceeding.&lt;br /&gt;&lt;br /&gt;Instead of the CAC policy stopping the call or sending it to Anton's voicemail, the call is rerouted out Jason's local PSTN gateway as configured in his Lync Server topology.&lt;br /&gt;&lt;br /&gt;Nice eh?&lt;br /&gt;&lt;br /&gt;Well what happens if "Enable PSTN reroute" isn't turned on in Jason's voice policy? Well the call would end up being answered by Exchange UM or simply denied with a message being displayed to the user.&lt;br /&gt;&lt;br /&gt;What if Jason's voice policy has "Enable bandwidth policy override" turned on? Well the call would proceed over the WAN without obeying the CAC policy. You may want to enable this option for special voice policies tied to certain staff members.&lt;br /&gt;&lt;br /&gt;What if Anton's voice policy doesn't have the "Enable bandwidth policy override" turned on and Jason calls him and his IS turned on? Well the call will be denied as CAC works both ways. The only way for the call to proceed is if Jason's policy permits PSTN reroute.&lt;br /&gt;&lt;br /&gt;Now I'm still learning the underlying framework here and a lot of the "how it works" along with answers to questions in my head remain unanswered. I'll update this post with more detail as it becomes available.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;p.s. This ain't your momma's CAC....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5041444749351938732?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5041444749351938732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/01/how-to-use-call-admission-control-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5041444749351938732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5041444749351938732'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/01/how-to-use-call-admission-control-to.html' title='HOW TO: Use Call Admission Control to actually control a call in Lync Server 2010'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5p9ytPpDDjQ/TTihtdJYTNI/AAAAAAAAAL8/9V2D-Ais9gw/s72-c/cac4.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5712086045442123066</id><published>2011-01-17T11:59:00.000-07:00</published><updated>2011-01-17T11:59:19.837-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='WS-Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange UM GSM PCM WMA codec iPhone PowerShell'/><title type='text'>RESOLVED: The WS-Management service cannot process the request. The user load quota of 1000 requests per 2 seconds has been exceeded. Send future requests at a slower rate or raise the quota for this user. The next request from this user will not be approved for at least Z milliseconds.</title><content type='html'>I did some digging around for this one and found a few crafty articles about adjusting throttling policies using PowerShell and making changes through ADSIEdit (&lt;a href="http://reidablog.blogspot.com/"&gt;http://reidablog.blogspot.com/&lt;/a&gt;). However, none of these seemed to fix my issue.&lt;br /&gt;&lt;br /&gt;We had a newly built Exchange 2010 SP1 server which was ready to go into production but kept throwing the error when attempting to use PowerShell. Two other servers appeared to be running fine.&lt;br /&gt;&lt;br /&gt;The server had recently received a new SSL certificate using the Exchange 2010 certificate provisioning and assignment process in the GUI. Unfortunately the IIS service hadn't been restarted yet and the URL used for remote PowerShell was using a certificate which wasn't trusted or valid anymore.&lt;br /&gt;&lt;br /&gt;A quick "IISRESET" on the server resulted in my fix.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5712086045442123066?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5712086045442123066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/01/resolved-ws-management-service-cannot.html#comment-form' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5712086045442123066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5712086045442123066'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/01/resolved-ws-management-service-cannot.html' title='RESOLVED: The WS-Management service cannot process the request. The user load quota of 1000 requests per 2 seconds has been exceeded. Send future requests at a slower rate or raise the quota for this user. The next request from this user will not be approved for at least Z milliseconds.'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-3843831307870158718</id><published>2011-01-15T08:05:00.001-07:00</published><updated>2011-01-15T12:40:24.122-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='audio conferencing'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='dialin conferencing'/><title type='text'>HOW TO: Change default Lync Server 2010 meeting entry and exit announcements</title><content type='html'>Back in OCS 2007 R2 when you joined an audio conference as a PSTN participant the server would sound off with a "bong" when a person joined or left the meeting.&lt;br /&gt;&lt;br /&gt;With Lync Server 2010 you don't get an audible notification of participants at all. As a meeting organizer you can configure entry/exit announcements using the Online Meeting Options page:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/TTG1ZBpxCbI/AAAAAAAAALU/0JZ7BTyynws/s1600/lyncmeetingann.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="264" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/TTG1ZBpxCbI/AAAAAAAAALU/0JZ7BTyynws/s640/lyncmeetingann.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;However, when you do this, the conference changes from using your assigned conference ID to a random ID each time you book a meeting. Additionally I've noticed the meeting plugin has a bug where the formatting is lost on a change of any kind using the meeting options. Hopefully this is changed soon.&lt;br /&gt;&lt;br /&gt;Instead of messing about on the client side, you can modify the Global policy to turn on these announcements or create separate pool or site-based policies. You can configure these using the "Set-CsDialInConferencingConfiguration" command as follows:&lt;br /&gt;&lt;br /&gt;"Set-CsDialInConferencingConfiguration -Identity Global -EntryExitAnnouncementsEnabledByDefault:$True"&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5p9ytPpDDjQ/TTH4HAREuqI/AAAAAAAAALY/DO8xU76KT4g/s1600/lyncconfann.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="116" src="http://3.bp.blogspot.com/_5p9ytPpDDjQ/TTH4HAREuqI/AAAAAAAAALY/DO8xU76KT4g/s640/lyncconfann.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;You can also create different policies depending on each site, for example:&lt;br /&gt;&lt;br /&gt;"New-CsDialInConferencingConfiguration -Identity Site:Edmonton -EnableNameRecording:$False"&lt;br /&gt;"New-CsDialInConferencingConfiguration -Identity Site:Calgary -EntryExitAnnouncementsType ToneOnly"&lt;br /&gt;&lt;br /&gt;Well that's all for today.&lt;br /&gt;&lt;br /&gt;Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-3843831307870158718?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/3843831307870158718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/01/how-to-change-default-lync-server-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3843831307870158718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3843831307870158718'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/01/how-to-change-default-lync-server-2010.html' title='HOW TO: Change default Lync Server 2010 meeting entry and exit announcements'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5p9ytPpDDjQ/TTG1ZBpxCbI/AAAAAAAAALU/0JZ7BTyynws/s72-c/lyncmeetingann.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-6032535620054690975</id><published>2011-01-14T10:39:00.001-07:00</published><updated>2011-01-14T10:39:49.877-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Tandberg Precision HD'/><title type='text'>HOWTO: Change video settings in Lync Server 2010</title><content type='html'>Previously with OCS 2007 R2 the Administrator had the option of setting the maximum video resolution on a 'per pool' basis. This was done by right-clicking the server or pool and choosing the properties of the front-end server.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5p9ytPpDDjQ/TTCIVDO3fxI/AAAAAAAAALM/wVa1QUrv2M8/s1600/r2videosetting.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="162" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/TTCIVDO3fxI/AAAAAAAAALM/wVa1QUrv2M8/s400/r2videosetting.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;BEFORE (OCS 2007 R2)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;With Lync Server 2010 this setting is now only accessible through PowerShell. To view the media configuration for Lync, run "Get-CsMediaConfiguration".&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/TTCJFDzZyDI/AAAAAAAAALQ/QLuWg04UFkM/s1600/lyncmediasettings.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="97" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/TTCJFDzZyDI/AAAAAAAAALQ/QLuWg04UFkM/s400/lyncmediasettings.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;AFTER (Lync Server 2010)&lt;/div&gt;&lt;br /&gt;You'll notice from the above screenshot that mine is set to use HD video; the default in Lync Server 2010 is VGA quality. To change this, use the "Set-CsMediaConfiguration -Identity Global -MaxVideoRateAllowed Hd720p15M". Possible options are Hd720p15M, VGA600K, and CIF250K.&lt;br /&gt;&lt;br /&gt;You can also create new media configurations on a per site or per service. For example, "New-CsMediaConfiguration -Identity Site:Edmonton -EnableQoS:$True".&lt;br /&gt;&lt;br /&gt;Just remember that you need two quad core PC's to do HD video! For a complete list of requirements, visit:&amp;nbsp;&lt;a href="http://technet.microsoft.com/en-us/ff536101.aspx"&gt;http://technet.microsoft.com/en-us/ff536101.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-6032535620054690975?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/6032535620054690975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/01/howto-change-video-settings-in-lync.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6032535620054690975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6032535620054690975'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/01/howto-change-video-settings-in-lync.html' title='HOWTO: Change video settings in Lync Server 2010'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5p9ytPpDDjQ/TTCIVDO3fxI/AAAAAAAAALM/wVa1QUrv2M8/s72-c/r2videosetting.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1942152942758097057</id><published>2011-01-13T15:41:00.006-07:00</published><updated>2011-04-09T16:06:15.749-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010 common area phones'/><title type='text'>HOWTO: Grant a dial plan to a common area phone in Lync Server 2010</title><content type='html'>I suppose you have to read between the lines sometimes. I found this to be extremely frustrating.&lt;br /&gt;&lt;br /&gt;To create a new Common Area Phone:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;New-CsCommonAreaPhone -LineURI "tel:+17805551212;ext=5001" -RegistrarPool "pool01.contoso.com" -DisplayName "Common Area Phone" -SipAddress "sip:commonphone01@domain.com" -OU "OU=Common Phones,OU=Lync Objects,DC=contoso,DC=com"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I typically like to set the SIPURI in the command so it shows a human readable name instead of a long GUID.&lt;br /&gt;&lt;br /&gt;Create a new Common Area Phone client and voice policy as follows:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;New-CsClientPolicy HotDeskPhonesPolicy -EnableHotdesking $True -HotdeskingTimeout 00:30:00&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;New-CsVoicePolicy -id CAPvoicepolicy -AllowSimulRing $False -AllowCallForwarding $False -Name CAPVoicePolicy -EnableDelegation $False -EnableTeamCall $False -EnableCallTransfer $False&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Create a special conferencing policy for the phone as follows:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;New-CsConferencingPolicy -id CAPconferencingpolicy -AllowIPAudio $False -AllowIPVideo $False&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, after you've been though all this.......you can't dial numbers which need to be normalized. Do fix this, perform this step below. Personally I'd create a special dial plan for these phones but you can reuse an existing one if you wish.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsCommonAreaPhone "Common Area Phone" | Grant-CsDialPlan -PolicyName "CAPDialPlan"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To validate the phone indeed has this policy:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-CsCommonAreaPhone "Common Area Phone" | Select DialPlan&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There seems to be a step missing in the Microsoft documentation which leads a person to believe you're done when you set the policies to the object you've created. Also, when you view the common area phone object through the "Get-CsCommonAreaPhone | FL" command, it doesn't show anything about a dial plan like the "Get-CsUser | FL" does.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1942152942758097057?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1942152942758097057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/01/howto-grant-dial-plan-to-common-area.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1942152942758097057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1942152942758097057'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/01/howto-grant-dial-plan-to-common-area.html' title='HOWTO: Grant a dial plan to a common area phone in Lync Server 2010'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-3462312717438301663</id><published>2011-01-12T16:19:00.014-07:00</published><updated>2011-01-15T12:43:11.910-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HowTo'/><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Call park'/><title type='text'>VIDEO: How to enable call park and set music on hold</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Here is a quick video on how to enable call park in Lync Server 2010. Couple of things to note:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;When using WMA files, they need to be version 9 format encoded at 44khz, 16-bit, mono, CBR, 32kbps.&lt;/li&gt;&lt;li&gt;When configuring a call park range, don't create a dial plan to normalize the numbers. Simply type in the range you want and the Lync client/server will understand what you're trying to call.&lt;/li&gt;&lt;li&gt;You can use Microsoft Expression Encoder 4 (&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;amp;FamilyID=75402be0-c603-4998-a79c-becdd197aa79"&gt;http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;amp;FamilyID=75402be0-c603-4998-a79c-becdd197aa79&lt;/a&gt;)&amp;nbsp;to record or re-encode files you want to upload for both call park and the announcement service.&lt;/li&gt;&lt;/ol&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/OtZ7sYj0gJk/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OtZ7sYj0gJk?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="700" height="470" src="http://www.youtube.com/v/OtZ7sYj0gJk?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Cheers.&lt;br /&gt;&lt;br /&gt;Want to see more videos? Let me know and I'll do my best to post them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-3462312717438301663?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/3462312717438301663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/01/video-how-to-enable-call-park-and-set.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3462312717438301663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3462312717438301663'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/01/video-how-to-enable-call-park-and-set.html' title='VIDEO: How to enable call park and set music on hold'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-6466157775344075913</id><published>2011-01-11T09:17:00.001-07:00</published><updated>2011-01-17T10:56:43.532-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Edge'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><title type='text'>Troubleshooting steps: No audio, video, or desktop sharing with Lync Server topology</title><content type='html'>We recently stood up our Lync 2010 Edge server and found a problem with audio/video functionality. The issue appeared to be related to firewall ports but we had recently swapped out our OCS 2007 R2 Edge for the Lync 2010 Edge server and none of the firewall port requirements have changed.&lt;br /&gt;&lt;br /&gt;We ended up doing a trace using the Lync Server 2010 Logging Tool. Here are the step-by-step instructions for troubleshooting it:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install the Lync Server 2010 Resource Kit if you haven't already (&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=80cc5ce7-970d-4fd2-8731-d5d7d0829266"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=80cc5ce7-970d-4fd2-8731-d5d7d0829266&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;From the Lync Server 2010 Edge, open the Logging Tool.&lt;/li&gt;&lt;li&gt;Enable S4, set the Level to "All", and turn on "All Flags" for the Flags section.&lt;/li&gt;&lt;li&gt;Enable SIPStack and set the Level and Flags to the same as above.&lt;/li&gt;&lt;li&gt;Get ready to place a call and be sure you have one test subject inside your network (behind the Edge server) and another person outside the organization (in front of the Edge server).&lt;/li&gt;&lt;li&gt;Click the Start Logging button.&lt;/li&gt;&lt;li&gt;Place the phone call or start a sharing session.&lt;/li&gt;&lt;li&gt;Wait for it to fail and then click the Stop Logging button&lt;/li&gt;&lt;li&gt;Click the Analyze Log Files button&lt;/li&gt;&lt;li&gt;Click the Analyze button&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;You should now have a capture of the SIP messages which will tell you how the call was trying to be established.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/TSx2mujy09I/AAAAAAAAALE/LjhOG07m6fk/s1600/troubleshooting_sip1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="140" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/TSx2mujy09I/AAAAAAAAALE/LjhOG07m6fk/s400/troubleshooting_sip1.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;In the search window at the top, type in "INVITE" and hit Enter.&lt;/li&gt;&lt;li&gt;Click on the INVITE sip:&lt;address&gt;in the trace and scroll down the window on the right.&lt;/address&gt;&lt;/li&gt;&lt;li&gt;Locate the area in blue where it states "a=candidate". You should see a 'candidate' entry for each IP bound to your local PC along with the Edge server's audio/video conferencing IP.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5p9ytPpDDjQ/TSx_cBQYZ9I/AAAAAAAAALI/E-1oJWgMhIg/s1600/troubleshooting_sip2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/TSx_cBQYZ9I/AAAAAAAAALI/E-1oJWgMhIg/s400/troubleshooting_sip2.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;The Lync client will attempt to 'nail up the audio' between the path of least resistance. For example, if someone was on the same subnet (172.16.130.x) then a direct connection would be made between the two of us for audio/video and desktop sharing. If not, the next IP is tried. If you have your Edge server configured properly you should see the public IP. In my case I did not. My issue stemmed from a topology configuration which was incorrect.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When building the topology for your Lync Edge server, you'll be asked if your public IP is using NAT. In the section where this is discussed, other options are available which lead a person to believe the public IP they're talking about has to do with the Access Edge role and not A/V Edge.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My SIP trace showed the INVITE with a candidate IP of my Access Edge role which lead me to realize the issue and change it. Specifically I had to open Topology Builder, expand the Edge Pool section, click on the Edge server, then click Edit Properties. The top section has a checkbox for "NAT enabled public IP address used". This is very poorly worded and should be changed for future builds. The text should read "Use NAT for your Audio/Video Edge public IP" or "Enter the public IP for your Audio/Video Edge role if you're using NAT".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thinking about it more and more I understand why there is only one entry for a public IP and not one for Access Edge or Web Conferencing Edge. It's just not very clear.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I hope this helps a few of you out there with Lync Server 2010 Edge implementations.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-6466157775344075913?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/6466157775344075913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/01/troubleshooting-steps-no-audio-video-or.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6466157775344075913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6466157775344075913'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/01/troubleshooting-steps-no-audio-video-or.html' title='Troubleshooting steps: No audio, video, or desktop sharing with Lync Server topology'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5p9ytPpDDjQ/TSx2mujy09I/AAAAAAAAALE/LjhOG07m6fk/s72-c/troubleshooting_sip1.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-2660471627886035484</id><published>2011-01-11T08:06:00.000-07:00</published><updated>2011-01-11T08:06:53.777-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Edge'/><category scheme='http://www.blogger.com/atom/ns#' term='MOC'/><category scheme='http://www.blogger.com/atom/ns#' term='128-bit encryption'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><title type='text'>Unable to sign into Lync with MOC client (Windows XP and 7)</title><content type='html'>I came across an interesting problem recently where some Windows XP and Windows 7 clients running Communicator 2007 R2 couldn't sign in over a Lync 2010 Edge server. We had migrated our environment from a 2007 R2 Edge to a Lync Edge server and all Lync 2010 clients were fine.&lt;br /&gt;&lt;br /&gt;After making a few calls and doing some research I found this article:&amp;nbsp;&lt;a href="http://blog.tiensivu.com/aaron/archives/1917-OCS-2007,-NTLM,-and-Edge-server-login-problems.html"&gt;http://blog.tiensivu.com/aaron/archives/1917-OCS-2007,-NTLM,-and-Edge-server-login-problems.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As it turns out we had to disable the requirement for 128-bit encryption on the Edge and Front-End Lync 2010 servers for it to be resolved. No reboot was required. See the above link for instructions on how to do so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-2660471627886035484?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/2660471627886035484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/01/unable-to-sign-into-lync-with-moc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2660471627886035484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2660471627886035484'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/01/unable-to-sign-into-lync-with-moc.html' title='Unable to sign into Lync with MOC client (Windows XP and 7)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-2651432072359719452</id><published>2011-01-05T09:39:00.001-07:00</published><updated>2011-01-17T10:56:22.214-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS migration'/><category scheme='http://www.blogger.com/atom/ns#' term='Edge Server'/><category scheme='http://www.blogger.com/atom/ns#' term='topology builder'/><category scheme='http://www.blogger.com/atom/ns#' term='media'/><title type='text'>No audio, video, or desktop sharing in Lync Server with OCS 2007 R2 Edge</title><content type='html'>Recently I built up our own internal Lync 2010 Server and thought I had done all the necessary configuration changes to integrate the product with our OCS 2007 R2 platform.&lt;br /&gt;&lt;br /&gt;After moving my account over to the Lync 2010 environment and performing a few tests I could quickly see there were a few features which didn't work. I did remember to set the Federation Route at the site level but missed a step at the server level.&lt;br /&gt;&lt;br /&gt;If you're running into an issue with remote audio/video and desktop sharing, this might be the fix for you:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open Lync 2010 Topology Builder&lt;/li&gt;&lt;li&gt;Expand the section containing your Lync 2010 server (standard or enterprise)&lt;/li&gt;&lt;li&gt;Click on the server you want to modify and choose 'Edit Properties' from the right side of the console&lt;/li&gt;&lt;li&gt;Scroll down to the associations section and make sure you have a checkbox in the 'Associate Edge pool (for media components)' section.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;If you don't have an option to choose anything for the Edge pool, you haven't specified the OCS 2007 R2 edge server when you merged your topology. If you haven't merged your topology at all, you're reading the wrong article. Go here:&amp;nbsp;&lt;a href="http://technet.microsoft.com/en-us/library/gg413057.aspx"&gt;http://technet.microsoft.com/en-us/library/gg413057.aspx&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-2651432072359719452?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/2651432072359719452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2011/01/no-audio-video-or-desktop-sharing-in.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2651432072359719452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2651432072359719452'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2011/01/no-audio-video-or-desktop-sharing-in.html' title='No audio, video, or desktop sharing in Lync Server with OCS 2007 R2 Edge'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-2037870534264289760</id><published>2010-12-17T12:00:00.000-07:00</published><updated>2010-12-17T12:00:51.824-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010 UM'/><category scheme='http://www.blogger.com/atom/ns#' term='SIP OPTIONS'/><title type='text'>Lync 2010: The following UM IP gateways did not respond as expected to a SIP OPTIONS request.</title><content type='html'>I recently set up Lync 2010 at our offices and ran into a snag with Exchange 2010 SP1 UM voicemail integration. The symptom was the following error in Exchange 2010:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The following UM IP gateways did not respond as expected to a SIP OPTIONS request.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;...along with the Lync client not being able to call voicemail or users being able to leave a message for the Lync user.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Turns out the UM IP gateway in Exchange 2010 which is set up by running the &lt;b&gt;ExchUCUtil.ps1&lt;/b&gt;&amp;nbsp;script doesn't have a port listed in the configuration. This can be viewed by running: &lt;b&gt;Get-UMIPGateway &lt;id&gt; | fl&lt;/id&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To resolve it, run &lt;b&gt;Set-UMIPGateway &lt;id&gt; -Port 5061&lt;/id&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5p9ytPpDDjQ/TQuzQK5fOQI/AAAAAAAAAK8/IFQpvmNKFjE/s1600/solution+to+sip+options+error.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="28" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/TQuzQK5fOQI/AAAAAAAAAK8/IFQpvmNKFjE/s400/solution+to+sip+options+error.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-2037870534264289760?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/2037870534264289760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/12/lync-2010-following-um-ip-gateways-did.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2037870534264289760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2037870534264289760'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/12/lync-2010-following-um-ip-gateways-did.html' title='Lync 2010: The following UM IP gateways did not respond as expected to a SIP OPTIONS request.'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5p9ytPpDDjQ/TQuzQK5fOQI/AAAAAAAAAK8/IFQpvmNKFjE/s72-c/solution+to+sip+options+error.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-17826122848634564</id><published>2010-11-25T07:37:00.001-07:00</published><updated>2010-11-25T07:37:53.790-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCL'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010 SP1'/><category scheme='http://www.blogger.com/atom/ns#' term='Junk Mail'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='Spam'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><title type='text'>Junk Mail settings in Exchange 2010?</title><content type='html'>In a recent project I was facing a difficult challenge of trying to sort out how Exchange 2010 handles junk/spam mail. Previous versions exposed GUI features to fine tune "spam confidence levels" (SCL) to avoid issues with false positives, or too much real junk.&lt;br /&gt;&lt;br /&gt;In Exchange 2010 this appears to be handled mostly at the Edge server level:&amp;nbsp;&lt;a href="http://technet.microsoft.com/en-us/library/bb123559.aspx"&gt;http://technet.microsoft.com/en-us/library/bb123559.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb123559.aspx"&gt;&lt;/a&gt;There is one setting however in the &amp;nbsp;"Organizational Configuration" which needs to be tweaked particularly if you're using a hosted spam filtering solution like many of us do today.&lt;br /&gt;&lt;br /&gt;To change the SCL level in the organization use PowerShell:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;Set-OrganizationConfig -SCLJunkThreshold n&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The default is a level of 4. Valid ranges are from 0 to 9.&amp;nbsp;The lower the number the more likely you'll get false positives. So if you're finding&amp;nbsp;legitimate mail ending up in the Junk Mail folder with Exchange 2010, try to increase the value to something like 7 or 8.&lt;br /&gt;&lt;br /&gt;Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-17826122848634564?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/17826122848634564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/11/junk-mail-settings-in-exchange-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/17826122848634564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/17826122848634564'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/11/junk-mail-settings-in-exchange-2010.html' title='Junk Mail settings in Exchange 2010?'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7919781535019594204</id><published>2010-10-27T07:35:00.000-06:00</published><updated>2010-10-27T07:35:21.595-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010 SP1'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='online mode'/><title type='text'>Outlook 2003 clients see folders at root of mailbox with Exchange 2010</title><content type='html'>I recently found an interesting but equally strange issue at a client site where we did an Exchange 2010 deployment. The first part of the user migration involved people who all had cached mode turned on for Outlook 2003. The second, and much larger portion of the project involved migrating users who didn't use cached mode (a.k.a online mode).&lt;br /&gt;&lt;br /&gt;After migrating a few users over in a pre-pilot, we noticed some people complain about folders appearing at the root of their mailbox folder structure. When viewed in OWA, they weren't there. The project had undergone a Symantec Enterprise Vault 'un-vaulting' process so we quickly assumed it had something to do with that task which caused this abnormality. To make things more troublesome we noticed that if you closed Outlook and re-opened it, a different set of folders would appear, sometimes a larger or smaller set.&lt;br /&gt;&lt;br /&gt;After doing some research internally at Microsoft I found several cases of users reporting this issue with a resolution stating it was fixed in SP1 for Exchange 2010. So here is my brief synopsis:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;SYMPTOM:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Outlook 2003 users in non-cached mode (a.k.a. “Online mode”) show nested subfolders in the root of the user’s mailbox. Closing an re-opening Outlook produces mixed results with some cases the view having a different set of folders showing up. This appears to not affect Outlook 2003 clients in cached mode, 2007/2010 clients, and OWA users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;CAUSE:&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;An issue exists with Exchange 2010 RTM (pre-SP1).&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;RESOLUTION:&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Resolved in Service Pack 1 for Exchange 2010.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Cheers!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7919781535019594204?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7919781535019594204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/10/outlook-2003-clients-see-folders-at.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7919781535019594204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7919781535019594204'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/10/outlook-2003-clients-see-folders-at.html' title='Outlook 2003 clients see folders at root of mailbox with Exchange 2010'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-9121048545352310640</id><published>2010-09-13T16:17:00.002-06:00</published><updated>2010-09-24T13:24:28.041-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='techdays 2010'/><title type='text'>Catch me at Microsoft TechDays 2010!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;Hope to see some of you there this year. You can catch me&amp;nbsp;involved in the&amp;nbsp;Vancouver, Edmonton, and Calgary sessions!&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://tbhtiq.bay.livefilestore.com/y1pQey9WXjlKMJDuSTJi3OBR_BzSu2opsaLF2t4smHC4wPn_2RgWjDIt0oVj5j0XeA4ebiQbuF-r57GbInq11R6-w/VANCOUVER_SPEAKER.png?psid=2" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="148" ox="true" src="http://tbhtiq.bay.livefilestore.com/y1pQey9WXjlKMJDuSTJi3OBR_BzSu2opsaLF2t4smHC4wPn_2RgWjDIt0oVj5j0XeA4ebiQbuF-r57GbInq11R6-w/VANCOUVER_SPEAKER.png?psid=2" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.techdays.ca/speakers/jason_shave"&gt;http://www.techdays.ca/speakers/jason_shave&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-9121048545352310640?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/9121048545352310640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/09/catch-me-at-microsoft-techdays-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/9121048545352310640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/9121048545352310640'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/09/catch-me-at-microsoft-techdays-2010.html' title='Catch me at Microsoft TechDays 2010!'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-6545269398596441144</id><published>2010-09-12T07:39:00.006-06:00</published><updated>2010-09-13T11:16:48.861-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><title type='text'>Microsoft "Lync 2010" and "Lync Server 2010"?</title><content type='html'>&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1772A5AD-9688-4861-8387-EC30411BF455"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1772A5AD-9688-4861-8387-EC30411BF455&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now when you read the above link information it's clear that a product called "Microsoft Lync Server 2010" is on it's way. What could this be? I'll give you a hint....check the Microsoft web site tomorrow (September 13th, 2010).&lt;br /&gt;&lt;br /&gt;UPDATE 1: If you type in www.microsoft.com/lync it points you to a web page (but with an error):&amp;nbsp;&lt;a href="http://www.microsoft.com/en-us/lync/default.aspx"&gt;http://www.microsoft.com/en-us/lync/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;UPDATE 2: It's official! Microsoft Lync 2010 is now on the web site &lt;a href="http://www.microsoft.com/lync"&gt;http://www.microsoft.com/lync&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-6545269398596441144?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/6545269398596441144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/09/microsoft-lync-2010.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6545269398596441144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6545269398596441144'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/09/microsoft-lync-2010.html' title='Microsoft &quot;Lync 2010&quot; and &quot;Lync Server 2010&quot;?'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7736548868071977406</id><published>2010-09-04T09:43:00.001-06:00</published><updated>2010-09-04T09:47:37.638-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outlook 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='2007 CAS'/><category scheme='http://www.blogger.com/atom/ns#' term='prf'/><category scheme='http://www.blogger.com/atom/ns#' term='CAS Array'/><category scheme='http://www.blogger.com/atom/ns#' term='ost'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='RpcClientAccessServer'/><category scheme='http://www.blogger.com/atom/ns#' term='profile update'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='cross-forest migration'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook 2003'/><title type='text'>Outlook profiles don't update when you move a mailbox (Exchange 2010)</title><content type='html'>So consider this....&lt;br /&gt;&lt;br /&gt;You're performing a migration from a previous version of Exchange Server to the new 2010 platform. You move a mailbox, the person opens Outlook and poof......the profile gets updated. Now let's say the server you've just migrated the account to is an Exchange 2010 all-in-one (hub/mb/cas) server and you move the mailbox to another all-in-one server in a different site. No problem right? Well in the words of a well known&amp;nbsp;Kazakhstan wiseman.......not so much!&lt;br /&gt;&lt;br /&gt;Here's the problem. Your Outlook clients will &lt;u&gt;&lt;b&gt;NEVER&lt;/b&gt;&lt;/u&gt;&amp;nbsp;update their profiles again as long as they can reach the Exchange 2010 CAS role they were moved to originally. This applies to all current Outlook clients including Outlook 2010!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;So here's my story:&lt;/b&gt;&lt;br /&gt;We were working on a client project where we completed a cross-forest migration from Exchange 2003 to 2010. We built a 3 server all-in-one Exchange 2010 in Canada which would eventually be the final location of the USA mailboxes. To make the move from the USA to Canada possible we set up a local Exchange 2010 server first. This allowed us to perform a cross-forest move locally first, then an online mailbox move over time. The online mailbox move feature in Exchange 2010 worked great. We used the "-SuspendWhenReadyToComplete" switch so we wouldn't interfere with end user connections and resumed the move request at night which flipped the mailbox over. Well we didn't get far before someone noticed Outlook wasn't pointed at the new environment in Canada.&lt;br /&gt;&lt;br /&gt;Prior to the migration of any data, we set up our CAS Array in Canada and made sure the RpcClientAccessServer property of each database in the DAG pointed to the new FQDN we created. One would think the Outlook client would check this attribute on first connect to see which CAS server they should connect to but it does not.&lt;br /&gt;&lt;br /&gt;Here are a couple ideas to resolve this issue which failed:&lt;br /&gt;&lt;br /&gt;1. Running a script to update the Outlook profile using a ".prf" file. Unfortunately this causes the Outlook client running in cached mode to re-cache their mailbox. For an organization with slow WAN links and large mailboxes this can be&amp;nbsp;disastrous. No dice.&lt;br /&gt;&lt;br /&gt;2. Create a host entry on the servers in Canada pointing them to the IP of the USA server then updating the DNS record used by clients to have them point to the CAS array. This was less desirable due to the 'jiggery pokery' of meddling with DNS. It didn't work anyway...&lt;br /&gt;&lt;br /&gt;3. Disable MAPI clients for a user using "Set-CasMailbox -identity &lt;username&gt; -MAPIEnabled:$false". Have the user launch Outlook. Enable MAPI. Done! That worked.....but impossible to do for several hundred users individually.&lt;/username&gt;&lt;br /&gt;&lt;br /&gt;I contacted a few Microsoft Exchange team individuals and quickly found out there was only one way to fix this. For Outlook 2003 clients you need to update the profile manually or run a PRF file to update it (causing a re-sync of the OST). For Outlook 2007/2010 clients, a "Repair" of the profile will cause it to wake up and talk to the right server.&lt;br /&gt;&lt;br /&gt;So here we have it. Not the greatest solution. We currently have a high severity case open with Microsoft on the issue (as do others). I'll update my post as I know more.&lt;br /&gt;&lt;br /&gt;Crap.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7736548868071977406?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7736548868071977406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/09/outlook-profiles-dont-update-when-you.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7736548868071977406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7736548868071977406'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/09/outlook-profiles-dont-update-when-you.html' title='Outlook profiles don&apos;t update when you move a mailbox (Exchange 2010)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-3018925423854537347</id><published>2010-09-01T08:28:00.002-06:00</published><updated>2010-09-01T08:34:53.042-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wave 14'/><category scheme='http://www.blogger.com/atom/ns#' term='Aries phone reset'/><category scheme='http://www.blogger.com/atom/ns#' term='bootstrap'/><category scheme='http://www.blogger.com/atom/ns#' term='test-csphonebootstrap'/><category scheme='http://www.blogger.com/atom/ns#' term='dhcputil.exe'/><title type='text'>Communications Server 14 Voodoo (Aastra phones)</title><content type='html'>I come across these interesting tidbits which I like to share with the 800 or so visitors I get weekly.&lt;br /&gt;&lt;br /&gt;Aastra sent me a pair of IP phones to help with a customer demo and I've had a few issues setting them up. I suppose it helps if you read the #$@#$ manual but working with beta software/hardware doesn't always yield the same easy to read, or readily available docs.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5p9ytPpDDjQ/TH5kgNNPbXI/AAAAAAAAAKQ/dhIx3C0E3F4/s1600/aastra_w14_ip_phone.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="298" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/TH5kgNNPbXI/AAAAAAAAAKQ/dhIx3C0E3F4/s400/aastra_w14_ip_phone.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Anyway, here are a few tidbits to help you along the way:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DHCPUtil.exe:&lt;/b&gt; This utility will help you configure your DHCP options for the Aries (Wave 14) IP phones. You need to configure several new DHCP options in order for the phone to work properly. You will find this utility in the \support folder of your W14 media. Using the following syntax, the utility will configure the options for you (highly recommended): DHCPUtil.exe -sipserver &lt;fqdn&gt; -webserver &lt;fqdn&gt; -RunConfigScript&lt;/fqdn&gt;&lt;/fqdn&gt;&lt;br /&gt;&lt;br /&gt;NOTE: You need to run the above utility on your Windows DHCP server. If it's not an x64 OS, you need to install the "vcredist_x86" &lt;b&gt;from the W14 media&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to do a hard reset:&lt;/b&gt; Hold down the "#" + "4" + backspace keys and plug in the phone. Keep them held down until you see a screen asking if you want to reset the phone.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to test the phone's bootstrap process: &lt;/b&gt;On your Communications Server front-end server, open PowerShell and run: "Test-CsPhoneBootStrap -PhoneOrExt &lt;number&gt; -PIN &lt;pin&gt;.&lt;/pin&gt;&lt;/number&gt;&lt;br /&gt;&lt;br /&gt;Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-3018925423854537347?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/3018925423854537347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/09/communications-server-14-voodoo-aastra.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3018925423854537347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3018925423854537347'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/09/communications-server-14-voodoo-aastra.html' title='Communications Server 14 Voodoo (Aastra phones)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5p9ytPpDDjQ/TH5kgNNPbXI/AAAAAAAAAKQ/dhIx3C0E3F4/s72-c/aastra_w14_ip_phone.JPG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-3622163398642101655</id><published>2010-08-27T12:59:00.001-06:00</published><updated>2012-01-28T13:39:49.387-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010 SP1'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='An Active Manager operation failed'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Failed content index state'/><title type='text'>Can't move active mailbox database copy (failed content index catalog)</title><content type='html'>I've noticed the RTM version of Exchange 2010 suffers from corrupt search catalogs every now and then. You'll notice this by Event ID #123 in the Application log of the server hosting a 'passive' copy of a database. This can be further validated by running:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Get-MailboxDatabaseCopyStatus -server "SERVERNAME"&lt;servername&gt;&lt;/servername&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;From the output of the above command you will notice the ContentIndexState shows "Failed" for the database copy. The end result here is that you can't mount the database unless you update the search catalog from another healthy copy in the DAG. If you try to activate the copy you will see an error such as:&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;strong&gt;"An Active Manager operation failed. Error: The database action failed. Error: An error occurred while trying to validate the specified database copy for possible activation. Error: Database copy 'DB01' on server 'Server01.contoso.com' has content index catalog files in the following state: 'Failed'.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To resolve this, run the following PowerShell command and be sure to specify the database name and servername hosting the failed copy:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Update-MailboxDatabaseCopy "DATABASE"\"SERVERNAME"&lt;servername&gt;&amp;nbsp;-CatalogOnly&lt;/servername&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To confirm the catalog index has been fixed, re-run the Get-MailboxDatabaseCopyStatus command again. Notice the state is now "Healthy". Try the Move-ActiveMailboxDatabase command again and it should work.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What if I only have one copy and I need to activate it?&lt;/strong&gt;&lt;br /&gt;If this is the case, you can issue the following command to move the database copy and make it active without validating the content index:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;Move-ActiveMailboxDatabase "DATABASE" -ActivateOnServer "SERVERNAME" -SkipClientExperienceChecks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I encountered the above situation when performing a DR datacenter switchover at a customer site and this resolved not being able to mount the database.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-3622163398642101655?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/3622163398642101655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/08/cant-move-active-mailbox-database-copy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3622163398642101655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3622163398642101655'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/08/cant-move-active-mailbox-database-copy.html' title='Can&apos;t move active mailbox database copy (failed content index catalog)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5154187729411060901</id><published>2010-08-23T16:05:00.003-06:00</published><updated>2011-01-19T08:49:49.132-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wave 14'/><category scheme='http://www.blogger.com/atom/ns#' term='SSL'/><category scheme='http://www.blogger.com/atom/ns#' term='Can&apos;t Federate'/><category scheme='http://www.blogger.com/atom/ns#' term='933430'/><category scheme='http://www.blogger.com/atom/ns#' term='Edge Server'/><category scheme='http://www.blogger.com/atom/ns#' term='schannel'/><category scheme='http://www.blogger.com/atom/ns#' term='kb933430'/><category scheme='http://www.blogger.com/atom/ns#' term='Trusted Root Certificates'/><category scheme='http://www.blogger.com/atom/ns#' term='SendTrustedIssuerList'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><title type='text'>Event ID: 36885 and the Trusted Root Certificates (OCS2007/CS2010)</title><content type='html'>Some of you may have needed (or wanted) to install the latest Root Certificate Update from May 2010 on your OCS Edge server and noticed afterward you can't communicate with the outside world or you've seen intermittent issues with connectivity (Audio/Video/Desktop Sharing/Live Meeting/etc).&lt;br /&gt;&lt;br /&gt;May 2010 Root Certificate Updates: &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E4F9B573-66D7-4DDA-95D5-26C7D0F6C652&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=E4F9B573-66D7-4DDA-95D5-26C7D0F6C652&amp;amp;displaylang=en&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;The latest update adds quite a few new issuers to your local trusted certificate store of the OS. This causes issues with applications like OCS because there appears to be a limit with the number of certificates sent by the server. The remaining list is truncated and if your issuer is on the remainder, you get no connectivity, or in some cases, connectivity with some partners and none with others.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Am I affected?&lt;/strong&gt;&lt;br /&gt;Enable logging for 'schannel' events as follows:&lt;br /&gt;&lt;br /&gt;HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Value name: &lt;strong&gt;EventLogging&lt;/strong&gt;&lt;br /&gt;Value type: &lt;strong&gt;REG_DWORD&lt;/strong&gt;&lt;br /&gt;Value data: &lt;strong&gt;0x3&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Look for EventID: 36885 in Event Viewer. The description should read as follows:&lt;br /&gt;&lt;blockquote&gt;"When asking for client authentication, this server sends a list of trusted certificate authorities to the client. The client uses this list to choose a client certificate that is trusted by the server. Currently, this server trusts so many certificate authorities that the list has grown too long. This list has thus been truncated. The administrator of this machine should review the certificate authorities trusted for client authentication and remove those that do not really need to be trusted."&lt;/blockquote&gt;&lt;strong&gt;How do I fix it?&lt;/strong&gt;&lt;br /&gt;There are two ways to resolve this issue:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Method 1: (recommended)&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Click &lt;strong&gt;Start&lt;/strong&gt;, click &lt;strong&gt;Run&lt;/strong&gt;, type &lt;strong&gt;regedit&lt;/strong&gt;, and then click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Locate and then click the following registry subkey: &lt;strong&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;On the &lt;strong&gt;Edit&lt;/strong&gt; menu, point to &lt;strong&gt;New&lt;/strong&gt;, and then click &lt;strong&gt;DWORD&lt;/strong&gt; Value. Type &lt;strong&gt;SendTrustedIssuerList&lt;/strong&gt;, and then press &lt;strong&gt;ENTER&lt;/strong&gt; to name the registry entry.&lt;/li&gt;&lt;li&gt;Right-click &lt;strong&gt;SendTrustedIssuerList&lt;/strong&gt;, and then click &lt;strong&gt;Modify&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;In the Value data box, type &lt;strong&gt;0&lt;/strong&gt; if that value is not already displayed, and then click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Exit Registry Editor&lt;/li&gt;&lt;/ul&gt;Method 2: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Click &lt;strong&gt;Start&lt;/strong&gt;, click &lt;strong&gt;Run&lt;/strong&gt;, type &lt;strong&gt;mmc&lt;/strong&gt;, and then click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;On the &lt;strong&gt;File&lt;/strong&gt; menu, click &lt;strong&gt;Add/Remove Snap-in&lt;/strong&gt;, and then click &lt;strong&gt;Add&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;In the Add Standalone Snap-in dialog box, click &lt;strong&gt;Certificates&lt;/strong&gt;, and then click &lt;strong&gt;Add&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click Computer account, click &lt;strong&gt;Next&lt;/strong&gt;, and then click &lt;strong&gt;Finish&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;strong&gt;Close&lt;/strong&gt;, and then click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Under Console Root in the Microsoft Management Console (MMC) snap-in, expand Certificates (Local Computer), expand Trusted Root Certification Authorities, and then click Certificates.&lt;/li&gt;&lt;li&gt;Remove trusted root certificates that you do not have to have. To do this, right-click a certificate, click Delete, and then click Yes to confirm the removal of the certificate.&lt;/li&gt;&lt;/ul&gt;NOTE: Use caution when removing certificates here. Some certificates are required by Windows. Use the above recommended method if you don't know what to remove. Be careful!&lt;br /&gt;&lt;br /&gt;Microsoft Reference: http://support.microsoft.com/kb/933430&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5154187729411060901?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5154187729411060901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/08/event-id-36885-and-trusted-root.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5154187729411060901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5154187729411060901'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/08/event-id-36885-and-trusted-root.html' title='Event ID: 36885 and the Trusted Root Certificates (OCS2007/CS2010)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-6101338798808459746</id><published>2010-08-16T11:32:00.002-06:00</published><updated>2011-01-18T11:51:41.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outlook 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='fixmapi'/><category scheme='http://www.blogger.com/atom/ns#' term='RTM'/><category scheme='http://www.blogger.com/atom/ns#' term='error occurred in the step approving object'/><title type='text'>Error occurred in the step. Approving object (Exchange 2010 RTM)</title><content type='html'>I recently came across a scenario where I needed to bulk import PST's into various user's mailboxes. Since the client wasn't running Exchange 2010 SP1 I had to run through the typical hoops of installing Outlook 2010 on one of the servers.&lt;br /&gt;&lt;br /&gt;I was able to import PST's into most of the user's mailboxes except a few. The error was:&lt;br /&gt;&lt;br /&gt;"An error occurred in the step. Approving object".&lt;br /&gt;&lt;br /&gt;This error coincided with the "Microsoft Exchange Mailbox Replication" service crashing over and over again.&amp;nbsp;I tried one of the two paths below to resolve it however in some cases the error came back.&lt;br /&gt;&lt;br /&gt;First, I found out that if the active copy of the database wasn't on the server that had Outlook 2010 installed it didn't work. Quickly moving the active copy to the server hosting Outlook resolved the issue.&lt;br /&gt;&lt;br /&gt;Secondly I ran the command "FIXMAPI" which resolved it in one case too.&lt;br /&gt;&lt;br /&gt;Sadly this didn't resolve the issue for many of my customer's PST files. A call to Microsoft revealed a private hotfix which was installed on one of the Exchange 2010 RTM servers. The mailbox import command was issued again but this time with the "-MRSServer" switch which pointed at the server which had the hotfix installed. This prevented the MRS service from crashing on the import but resulted in a failure to import the data.&lt;br /&gt;&lt;br /&gt;Even with SP1 on the Exchange 2010 servers we've encountered many issues with PST files. Here are some examples of the methods used:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Tried native "Import-Mailbox" cmdlet.&lt;/li&gt;&lt;li&gt;Ran a "SCANPST.EXE" to repair any corruption and try step 1 again.&lt;/li&gt;&lt;li&gt;Use the "Import-Mailbox" cmdlet and use the "-MRSServer" switch to point it at a CAS server with the mailbox server role which is also hosting an active copy of the mailbox and try again.&lt;/li&gt;&lt;li&gt;Run the "FIXMAPI" command at the command prompt on the CAS/MB server hosting the active copy of the mailbox and try again.&lt;/li&gt;&lt;li&gt;If all the above fails, try to open the PST in Outlook 2003 or 2010 and grant yourself full access to the mailbox. Importing the PST file into the mailbox this way can often result in success.&lt;/li&gt;&lt;li&gt;We used Lucid8's "DigiScope" product if step 5 didn't work.&lt;/li&gt;&lt;li&gt;If all else failed we gave up on the effort and informed the user their data wasn't importable.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-6101338798808459746?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/6101338798808459746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/08/error-occurred-in-step-approving-object.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6101338798808459746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6101338798808459746'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/08/error-occurred-in-step-approving-object.html' title='Error occurred in the step. Approving object (Exchange 2010 RTM)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-6245405856953374730</id><published>2010-08-04T10:05:00.002-06:00</published><updated>2010-08-06T08:59:20.032-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AlternateWitnessServer'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange Server'/><category scheme='http://www.blogger.com/atom/ns#' term='AlternateWitnessDirectory'/><title type='text'>Unable to set AlternateWitnessServer to $null</title><content type='html'>I was working on a project for a client recently where I wanted to use the two Exchange 2010 values called "AlternateWitnessServer" and "AlternateWitnessDirectory" to be a file share and server in a DR facility. I later found out that these settings aren't supported in the RTM version of Exchange 2010 even though they can be populated.&lt;br /&gt;&lt;br /&gt;So being the tidy person I am I tried to remove them, or rather set them to a "$null" value as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Set-DatabaseAvailabilityGroup -Identity &lt;dagname&gt;-AlternateWitnessServer $null -AlternateWitnessDirectory $null&lt;/dagname&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I was met wtih an error message which I don't have at the moment. I later found out that this is a bug in both the RTM and SP1 builds of Exchange 2010. The bug has been pushed off to a post SP1 fix sometime later this year.&lt;br /&gt;&lt;br /&gt;If you happen to set these values by accident, the guidance in the mean time is to make them equal to the primary FSW. In other words, make these values the same as the regular WitnessServer and WitnessDirectory entries.&lt;br /&gt;&lt;br /&gt;In Exchange 2010 SP1 you can set these values but only when the DAG is configured in DAC mode.&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-6245405856953374730?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/6245405856953374730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/08/unable-to-set-alternatewitnessserver-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6245405856953374730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6245405856953374730'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/08/unable-to-set-alternatewitnessserver-to.html' title='Unable to set AlternateWitnessServer to $null'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-2162568229654070310</id><published>2010-07-22T10:35:00.000-06:00</published><updated>2010-07-22T10:35:22.222-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook 2003'/><title type='text'>Unable to save all attachments in Outlook 2003/2007 when using Exchange 2010</title><content type='html'>Just a quick update here. If you're using Outlook 2003 or 2007 with Exchange 2010 you may have noticed you don't have the ability to save all attachments in a mail message. Rumors about the subject seem to indicate a fix for Outlook 2007 is coming in early August 2010 in the form of a rollup or a "CU". For those of you using Outlook 2003.....sorry to say you're out of luck.&lt;br /&gt;&lt;br /&gt;A fix for this issue will &lt;strong&gt;not&lt;/strong&gt; be back-ported to Office 2003.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-2162568229654070310?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/2162568229654070310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/07/unable-to-save-all-attachments-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2162568229654070310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2162568229654070310'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/07/unable-to-save-all-attachments-in.html' title='Unable to save all attachments in Outlook 2003/2007 when using Exchange 2010'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-9187972987855948583</id><published>2010-07-20T11:34:00.001-06:00</published><updated>2010-07-20T11:34:55.476-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='activesync'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-hop'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><title type='text'>An exception occurred and was handled by Exchange ActiveSync (Multi-hop Proxying)</title><content type='html'>I came across some interesting yet conflicting information about how to set up a multi-site Exchange 2010 environment with an HQ location and branch office. In my scenario I have a branch office server hosting CAS/HT/MB roles in Exchange 2010. My HQ office has a multi-site DAG with 3 Exchange 2010 servers also hosting CAS/HT/MB roles.&lt;br /&gt;&lt;br /&gt;In the HQ site I have a CAS Array established 'outlook.contoso.com' where I point all my autodiscover services &amp;nbsp;for each server in the organization.....or so I thought.&amp;nbsp;As it turns out, the Microsoft article (&lt;a href="http://technet.microsoft.com/en-us/library/bb310763.aspx"&gt;http://technet.microsoft.com/en-us/library/bb310763.aspx&lt;/a&gt;) does a great job of outlining not only the settings you need for non-internet facing CAS servers, but HOW it all works. I had been given advice from a reputable source who indicated the non-internet facing CAS server (branch server) needed to have the Exchange ActiveSync virtual directory set to the CAS Array fqdn and not the server name. This turned out to be incorrect and resulted in the following error:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5p9ytPpDDjQ/TEXc3ko2G3I/AAAAAAAAAKA/DACsYrgNIlQ/s1600/active-sync-error.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/TEXc3ko2G3I/AAAAAAAAAKA/DACsYrgNIlQ/s400/active-sync-error.PNG" width="398" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Clients were unable to sync their devices after making the change. It took a while to figure out but I did have to re-trace my steps on what changes I had made.&lt;br /&gt;&lt;br /&gt;So, just remember, for your non-internet facing CAS servers, keep the virtual directory URL's set to the server's fqdn.&lt;br /&gt;&lt;br /&gt;For reference, this can be changed using PowerShell as follows:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Set-ActiveSyncVirtualDirectory -Identity "name"&amp;nbsp;&lt;name&gt;-InternalURL https://&lt;servername&gt;.contoso.com/Microsoft-Server-ActiveSync&lt;/servername&gt;&lt;/name&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-9187972987855948583?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/9187972987855948583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/07/exception-occurred-and-was-handled-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/9187972987855948583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/9187972987855948583'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/07/exception-occurred-and-was-handled-by.html' title='An exception occurred and was handled by Exchange ActiveSync (Multi-hop Proxying)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5p9ytPpDDjQ/TEXc3ko2G3I/AAAAAAAAAKA/DACsYrgNIlQ/s72-c/active-sync-error.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-4647425309681910099</id><published>2010-05-22T17:30:00.000-06:00</published><updated>2010-05-22T17:30:16.311-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='HTC'/><category scheme='http://www.blogger.com/atom/ns#' term='Nexus One'/><title type='text'>Why I hate the Google Nexus One</title><content type='html'>I suppose it's my own fault. I was crossing the river on my quad and had my iPhone in my pocket when i broke through the ice, flipped onto my back, and sunk up to my chest in freezing cold water. My iPhone was in the pocket of my waterproof pants which unfortunately had a sizable hole permitting the icy cold Athabasca water to penetrate and destroy the one techno-toy I can't live without.&lt;br /&gt;&lt;br /&gt;After a few days of trying to dry out the phone and seeing nasty water marks under the screen I was finally able to boot it and get to the home screen. I quickly found out everything worked! Well except for the home button. Now if you think about it, the home button holds a significant place on the iPhone; try living without it!&lt;br /&gt;&lt;br /&gt;So off I went in search of a new phone. The smartphone market in Canada is rather bland. We often have to wait months and sometimes longer (in the case of the iPhone) to get what the USA can. I read Engadget from time to time and see all sorts of wonderful prototypes and interesting phones we can't get here. After reading a few reviews of the Android OS and stopping by the Google site I noticed that day that the Nexus One had been released for customers on the Rogers network here in Canada. Woooohoooo! So on a Wednesday afternoon I stepped through the quick order process and even tagged the back with my name and company to see how the quality was. I did read up on the hardware specifications and support for ActiveSync which appeared to be fully supported. By late late Friday I received the phone.&lt;br /&gt;&lt;br /&gt;Nice packaging. They've obviously modeled the hardware and packaging after the iPhone. Copy cats.&lt;br /&gt;&lt;br /&gt;I charged the phone and quickly began to configure my Google account. The phone locked up solid after 10 minutes. Shit. What the? Okay, take out the battery. Boot the phone again. Everything is good for another 30 minutes until I start to configure ActiveSync. Now I've never seen this done before but Google seems to have forgotten to finish what they started when it comes to support for ActiveSync on the Nexus One. No Calendar or Global Address List support. Are you kidding me? $550+ bones for a phone that pushes email and my personal contacts? No way. I've just been had!&lt;br /&gt;&lt;br /&gt;Okay, maybe I'm demanding too much from Google here but I hardly think so. This is Android 2.x already. Get with it. I have to say I was seriously pissed off. To be a corporate mail user and not have access to my Calendar and GAL? I'm lost without it. The 3rd party add on applications you have to buy to get full ActiveSync support are garbage too. I've tried the Google Calendar Sync application which by the way doesn't work with Outlook 2010....unless you have a hacked EXE copy....which I do....and it still sucks. I only get syncing for new calendar items. I'm missing meetings all the time. I can't view, create or accept meeting invitations at all.&lt;br /&gt;&lt;br /&gt;So what about the rest of the phone? Well the screen is terrible viewing it in sunlight. When you press an image on the screen like a letter on the soft keyboard or an icon, it's almost as if the image on the screen should be higher up. If they literally shifted up the touch sensor or shifted down the image on the screen, things would line up better. I hate typing on it. The iPhone uses a predictive typing and touch proximity adjustment algorithm to help you NOT press the wrong key when spelling a word. It actually makes the sensor area around english spelling characters bigger so you have a better chance of hitting the right key all on the fly as you type. The Nexus One does not. I'd have to say this single feature is almost as much of a killer for me as is the ActiveSync half-support rubbish.&lt;br /&gt;&lt;br /&gt;I own a new Ford vehicle with the Microsoft Sync system which works pretty good most of the time. I was able to sync my wife's iPhone and my own just fine. There are the odd scenarios in which the software on either side has a few bugs but nothing too bad. With the Google Nexus One, if it connects via Bluetooth for hands-free it will magically start to play music. I can see the icon on the phone show a 'play' symbol which is confirmed if I change the input on my stereo to the media feature. I can't understand why my phone thinks I want to play music when I'm not asking it to or when I'm on the phone. This really kills the battery by the way.....more on this later. So I turn off my truck and all of a sudden the Google Nexus One starts blaring music out the external speaker! Then the phone locks up again....while playing music. So I'm now fiddling with buttons and the back cover to take out the battery. I'm just about to chuck it across the parking lot when I realize I have several emails to check up on and phone calls to make. Now as funny as this may seem, it really pisses me off. This is clearly a software issue and should have been well tested and resolved in version 1.0.1 of the platform.&lt;br /&gt;&lt;br /&gt;The phone is unresponsive to touch sometimes. The battery is lucky to last an 8 hour day with me placing 2-3 calls and receiving 3-4 calls per day. With the Bluetooth issues mentioned above I almost always turn it off which gives me maybe another hour or two in the day.&lt;br /&gt;&lt;br /&gt;Hardware and software issues aside, Google has a lot of catching up to do. Apple has iTunes which offers movie rentals (in Canada too!), music downloads (and yes they have the Dead Milkmen!), and an amazing app store with an interface which offers over the air downloads and previews, etc. The Nexus One has Amazon MP3. I almost laughed myself out of my plane seat when I tried several times to find a few of my favorite albums. No other platform in the world has mastered the integration between online media services and hardware devices like Apple. They've done an amazing job here and all others will be judged in comparison to their success.&lt;br /&gt;&lt;br /&gt;So my recent trip to Redmond, WA was fun. I managed to track down an HTC HD2. More on this one later but for now I'm carrying two phones and still feeling like combined they're years behind the iPhone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-4647425309681910099?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/4647425309681910099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/05/why-i-hate-google-nexus-one.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4647425309681910099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4647425309681910099'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/05/why-i-hate-google-nexus-one.html' title='Why I hate the Google Nexus One'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5773468945291068775</id><published>2010-05-09T18:19:00.001-06:00</published><updated>2010-05-09T18:20:05.084-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010 SP1'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='OWA 2010 SP1'/><title type='text'>Favorite Exchange 2010 SP1 features - Part 1</title><content type='html'>There is much to talk about but only so much we can say at this point. Exchange Server 2010 Service Pack 1 adds a few nice to have features people have been asking for. Some are nice to have while others are imperative to operating a large-scale mail environment.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this post I'll talk about a few of the optimized visual enhancements in Outlook Web App 2010.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;THEMES:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;In previous versions of OWA you could customize the look slightly by changing the color to a few simple selections. In Exchange 2010 SP1 you have quite a few built-in themes to meet the needs of just about anyone. Here are a few samples:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/S-dKMlNaFZI/AAAAAAAAAJg/DhSEXE60ryg/s1600/e2010-sp1-1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="61" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/S-dKMlNaFZI/AAAAAAAAAJg/DhSEXE60ryg/s400/e2010-sp1-1.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/S-dKXi2u5dI/AAAAAAAAAJo/2C1_DI_BFR4/s1600/e2010-sp1-2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="62" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/S-dKXi2u5dI/AAAAAAAAAJo/2C1_DI_BFR4/s400/e2010-sp1-2.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/S-dKc0CJ_TI/AAAAAAAAAJw/TbVHAqayePE/s1600/e2010-sp1-3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="62" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/S-dKc0CJ_TI/AAAAAAAAAJw/TbVHAqayePE/s400/e2010-sp1-3.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The themes are selectable through the Options button in the top right corner and don't require switching screens or clicking through multiple menus. The themes apply instantly and change text color along with the top banner image to give Outlook Web App the style you're looking for.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;IMPROVED UI:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Outlook Web App SP1 now simplifies the reading pane and action buttons so the user can see more of the content and less wasted white space. The end result is a better viewing experience on size constrained displays such as Netbooks.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5p9ytPpDDjQ/S-dL6UfRRvI/AAAAAAAAAJ4/3JzRRWGJIoQ/s1600/e2010-sp1-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="47" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/S-dL6UfRRvI/AAAAAAAAAJ4/3JzRRWGJIoQ/s400/e2010-sp1-4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;PERFORMANCE:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Improvements to performance have been made all over. Moving from message to message, deleting content, viewing calendar data give OWA 2010 SP1 a fresh feel. Official performance improvement numbers haven't been released yet but the general feel is quite positive.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well that's all I can say for now. Check back again soon for more.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5773468945291068775?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5773468945291068775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/05/favorite-exchange-2010-sp1-features.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5773468945291068775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5773468945291068775'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/05/favorite-exchange-2010-sp1-features.html' title='Favorite Exchange 2010 SP1 features - Part 1'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5p9ytPpDDjQ/S-dKMlNaFZI/AAAAAAAAAJg/DhSEXE60ryg/s72-c/e2010-sp1-1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1982269770280247060</id><published>2010-04-21T10:28:00.003-06:00</published><updated>2010-04-21T10:50:25.687-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exchange Server 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='DSC_E_NO_SUITABLE_CDC'/><category scheme='http://www.blogger.com/atom/ns#' term='MAD.EXE'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange Server 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='SACL right'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange Server'/><title type='text'>DSC_E_NO_SUITABLE_CDC error with Exchange Server 2010 (SACL right)</title><content type='html'>I'm in the middle of a project at a client site where we've completed both the initial preparation tasks and installation of various server roles for an Exchange 2010 implementation. Somewhere between last Tuesday and Friday our three server Exchange 2010 stopped working. The symptoms included:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Booting the server would take anywhere from 30 minutes to 1 hour while waiting for "Applying Computer Settings" to finish.&lt;/li&gt;&lt;li&gt;Once the CTRL-ALT-DEL screen was available and you authenticated, it would take anywhere from 30 minutes to 1 hour while waiting for the "Applying User Settings" screen to go away.&lt;/li&gt;&lt;li&gt;The Microsoft Exchange Information Store service would be stuck in a "starting" state.&lt;/li&gt;&lt;li&gt;The Microsoft Exchange Transport service would also be stuck in a "starting" state.&lt;/li&gt;&lt;li&gt;The event viewer would show MAD.EXE with an error code of 0x80040a02 (DSC_E_NO_SUITABLE_CDC).&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/S88a2ivpqxI/AAAAAAAAAJA/gjOTsd16PXU/s1600/mad.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="100" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/S88a2ivpqxI/AAAAAAAAAJA/gjOTsd16PXU/s400/mad.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Event Viewer would also show MAD.EXE. All Domain Controllers in use are not responding.&lt;/li&gt;&lt;li&gt;Event Viewer would show MSEXCHANGEADTOPOLOGYSERVICE.EXE. Topology discovery failed.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/S88bYU3eokI/AAAAAAAAAJI/DQiB8eC1Ftg/s1600/mad3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="102" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/S88bYU3eokI/AAAAAAAAAJI/DQiB8eC1Ftg/s400/mad3.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As it turns out the organization may have modified their Default Domain Controllers GPO. The modification was in a setting under Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\User Rights Assignment. The setting they've changed is "Manage auditing and security log" which contained the global group called "Exchange Enterprise Servers" among others. The key issue here is that it &lt;b&gt;DIDN'T&lt;/b&gt; contain the "Exchange Servers" Universal Group.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Over time the DC's will re-apply GPO's and overwrite the security put in place by the setup.com /prepareAD process during setup.&amp;nbsp;I was able to replicate this issue in my lab environment by removing the Universal Group, breaking Exchange 2010, then adding it back to the GPO, and fixing it.&amp;nbsp;The Microsoft TechNet article which discusses the AD preparation tasks&amp;nbsp;&lt;a href="http://technet.microsoft.com/en-ca/library/bb125224.aspx"&gt;http://technet.microsoft.com/en-ca/library/bb125224.aspx&lt;/a&gt;&amp;nbsp;shows the process making a change to the "Manage Audit and Security Log" value on the very last bullet on the bottom of the page.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the things you can do to determine if you have the same issue is to look for Event ID 2080. This event will show up in a healthy or unhealthy environment and will show you if the SACL right attribute is equal to "1" which is necessary.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The following image shows a "healthy" Event ID 2080 where the SACL right property on the first DC it found is equal to 1. If you count backward from the OS Version, Netlogon, Critical Data attributes (1, 7, 1, then you find the 1 assigned to SACL right).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/S88mXAtn3qI/AAAAAAAAAJQ/oU1mSQcGob4/s1600/sacl_right2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="105" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/S88mXAtn3qI/AAAAAAAAAJQ/oU1mSQcGob4/s400/sacl_right2.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In an unhealthy situation you will see a zero (0) in the SACL right column.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;A word about IPv6 and Exchange Server 2007 and 2010&lt;/b&gt;&lt;/div&gt;&lt;div&gt;The biggest red herring I found when troubleshooting this one from articles others had posted was related to IPv6. I see quite a few people suggesting IPv6 is required for Exchange 2007 and 2010. This is NOT true. As a matter of fact, if the server hosting Exchange 2007 or 2010 is a DC, then IPv6 must be enabled otherwise simply uncheck the checkbox in TCP/IP properties on all connected interfaces. You don't need to buggar with the registry to "really disable it"....just uncheck the checkbox.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1982269770280247060?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1982269770280247060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/04/dscenosuitablecdc-error-with-exchange.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1982269770280247060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1982269770280247060'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/04/dscenosuitablecdc-error-with-exchange.html' title='DSC_E_NO_SUITABLE_CDC error with Exchange Server 2010 (SACL right)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5p9ytPpDDjQ/S88a2ivpqxI/AAAAAAAAAJA/gjOTsd16PXU/s72-c/mad.PNG' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-6005918007523644958</id><published>2010-03-25T10:38:00.001-06:00</published><updated>2010-06-03T14:44:00.832-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Citrix NetScaler VPX'/><category scheme='http://www.blogger.com/atom/ns#' term='Load balance Exchange 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><title type='text'>Load balancing Exchange 2010 OWA</title><content type='html'>In a recent post:&amp;nbsp;&lt;a href="http://jasonshave.blogspot.com/2010/03/i-been-spending-much-of-my-time-la.html"&gt;http://jasonshave.blogspot.com/2010/03/i-been-spending-much-of-my-time-la.html&lt;/a&gt;&amp;nbsp;I talked about how to load balance an array of Exchange 2010 CAS servers using a Citrix NetScaler VPX.&lt;br /&gt;&lt;br /&gt;In this post I wanted to take a step back and offer a more simple configuration for those of you wishing to load balance basic HTTP/S traffic between your Exchange 2010 CAS servers. One of the primary reasons for this is to provide high availability for internal (or external) clients. The types of connectivity you can expect the NetScaler to see includes both direct and indirect traffic. Direct traffic would be a user opening a web browser and navigating to your load balanced OWA servers. Indirect traffic would be Outlook 2007 or 2010 connecting to the Autodiscover service connection point (SCP).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;STEP 1: Setting up HTTP Services&lt;/b&gt;&lt;br /&gt;If you followed my previous article on how to set up servers and services, then this should be easy for you. If you haven't, go back and read those steps.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a service for each server you wish to load balance to. I've given mine a name of "svc_http_jcsexchcal" for my Calgary server and "svc_http_jcsexchedm" for my Edmonton server and so on.&lt;/li&gt;&lt;li&gt;The service should have HTTP as the protocol and 80 as the port number.&lt;/li&gt;&lt;li&gt;The monitor can be left at TCP for now.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;STEP 2: Setting up HTTPS Services&lt;/b&gt;&lt;/div&gt;&lt;div&gt;You'll need to perform the same steps for the SSL services with a few differences.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;When you create the service use the same naming convention but alter it accordingly (i.e. svc_https_jcsexchedm).&lt;/li&gt;&lt;li&gt;The service should have a protocol of SSL_BRIDGE and a port of 443.&lt;/li&gt;&lt;li&gt;The monitor should have both TCP and HTTPS.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;STEP 3: Setting up an HTTP Virtual Server (redirect)&lt;/b&gt;&lt;br /&gt;You may be asking yourself at this point why I need HTTP services? You'll need them for your redirect from HTTP to HTTPS. You want to make sure a person is redirected to the SSL site when they type in the base URL.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create your virtual server with the same IP as your CAS array if you wish and give it a proper name such as "vs_http_webmail".&lt;/li&gt;&lt;li&gt;Set your protocol to HTTP and port to 80.&lt;/li&gt;&lt;li&gt;Add your HTTP services (i.e. svc_http_jcsexchedm and so on)&lt;/li&gt;&lt;li&gt;Click on the Advanced tab and type in the full path of OWA into the redirect URL (i.e. https://webmail.lvsedmtest.ca/owa)&lt;/li&gt;&lt;li&gt;Click on the Disable button to make sure the vserver is in a "down" state. You want to do this because the redirect won't work otherwise.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;STEP 4: Setting up an HTTPS Virtual Server&lt;/b&gt;&lt;/div&gt;&lt;div&gt;This is the virtual server actually accepting connections, both direct and indirect.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Create another virtual server with the same IP as your CAS array and HTTP vserver.&lt;/li&gt;&lt;li&gt;Give it a proper name such as "vs_https_webmail".&lt;/li&gt;&lt;li&gt;Set your protocol to SSL_BRIDGE and port to 443.&lt;/li&gt;&lt;li&gt;Add your SSL_BRIDGE services to the vserver (i.e. svc_https_jcsexchedm and so on).&lt;/li&gt;&lt;li&gt;Click on the Method and Persistence tab and be sure to set the LB Method to Round Robin and your Persistence to SOURCEIP with a timeout of 15min and mask of 255.255.255.255.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;At this point you should have your two new services with the vs_http_webmail service in a "out of service" state. This is normal. The effective state will be "down". Your vs_https_webmail service should be "up" and "up" for both state and effective state. Try it out by browsing to your OWA URL and see how things work. Try disabling services, pausing VM's, and disconnecting network cables to simulate various failures. Record your results and convey the expectations to management and your user community. They will ask the questions anway....."what happens if......".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;STEP 5: Setting up Exchange 2010&lt;/b&gt;&lt;br /&gt;We need to make changes to AD and Exchange 2010 so clients can find your newly created vserver(s). First we need to modify the SCP's for each CAS server and make sure all the internal URL's point to the NetScaler's VIP.&lt;br /&gt;&lt;br /&gt;The services we're going to modify include:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Autodiscover&lt;/li&gt;&lt;li&gt;Exchange Web Services&lt;/li&gt;&lt;li&gt;Offline Address Book&lt;/li&gt;&lt;li&gt;OWA Virtual Directory&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Autodiscover:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Run the following on your E2010 server using PowerShell (&lt;b&gt;Get-ClientAccessServer |fl auto*&lt;/b&gt;). This will spit out the Service Connection Point (SCP) settings which probably point to the server fqdn.&lt;/li&gt;&lt;li&gt;As an example run (&lt;b&gt;Set-ClientAccessServer jcsexchedm -AutoDiscoverServiceInternalUri https://webmail.lvsedmtest.ca/autodiscover/autodiscover.xml&lt;/b&gt;). You can run the Get-ClientAccessServer command again to view the changes.&lt;/li&gt;&lt;li&gt;Run the above command for each CAS server you have.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Exchange Web Services:&lt;/b&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Run the following on your E2010 server using PowerShell (&lt;b&gt;Get-WebServicesVirtualDirectory |fl Server, InternalUrl&lt;/b&gt;). This will spit out the defined URL for each CAS server.&lt;/li&gt;&lt;li&gt;As an example, run (&lt;b&gt;Set-WebServicesVirtualDirectory -identity jcsexchedm\ews* -InternalUrl https://webmail.lvsedmtest.ca/EWS/Exchange.asmx&lt;/b&gt;)&lt;/li&gt;&lt;li&gt;Repeat for each CAS server.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Offline Address Book:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;For this one I just leave things as is. You don't typically need to load balance the OAB. If you run a (&lt;b&gt;Get-OABVirtualDirectory |fl Server, InternalUrl&lt;/b&gt;) you'll notice the default is to use HTTP and not HTTPS. I typically leave each server hosting the OAB.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;OWA Virtual Directory:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;This is key to Outlook Web App when you have an environment with a mixed environment of Exchange 2007 and 2010. These settings help with redirection and proxy connections coming from OWA clients. For example, if you have an Exchange 2007 environment with users homed on it and you've installed your first E2010 CAS server you should be pointing them to the new box. You should also have a legacy URL for your 2007 CAS servers (i.e. legacy.domain.com). Using PowerShell you would modify the InternalUrl parameter to be "https://legacy.domain.com/owa" for each 2007 CAS server so that your E2010 CAS servers know where to send users with a 2007 mailbox to when they authenticate through OWA.&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Run (&lt;b&gt;Get-OwaVirtualDirectory |fl Server, InternalUrl&lt;/b&gt;) to see how things are set up in your environment. Following the same logic here you want to make sure all the URL's for each object on each server point to the same name.&lt;/li&gt;&lt;li&gt;You need to switch things up here a bit and add the -identity parameter to the PowerShell command ensuring your modifying the servers you actually want to change. As an example run (&lt;b&gt;Set-OwaVirtualDirectory -identity JCSEXCHEDM\* -InternalUrl https://webmail.lvsedmtest.ca/owa&lt;/b&gt;).&lt;/li&gt;&lt;li&gt;Repeat for each E2010 CAS server you have.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;One thing to note here is that we've only configured the InternalUrl parameter for the various services. Each of them have an ExternalUrl parameter as well with the exception of Autodiscover. If you're using ISA or TMG to front your OWA/EWS/Autodiscover connectivity (which you SHOULD be doing), then be sure to modify the ExternalUrl's as well. Quick example: &lt;b&gt;Set-OwaVirtualDirectory -identity JCSEXCHEDM\* -ExternalUrl https://webmail.lvsedmtest.ca/owa&lt;/b&gt;. In my environment the "webmail.lvsedmtest.ca" name resolves to my NetScaler's vserver VIP when I'm inside the network and the same name resolves to my public IP bound to my TMG server. This is called "split horizon DNS" and is essential if you don't want to confuse your users with different URL's for inside vs. outside connectivity.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, that's enough for now. Enjoy.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-6005918007523644958?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/6005918007523644958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/03/load-balancing-exchange-2010-owa.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6005918007523644958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6005918007523644958'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/03/load-balancing-exchange-2010-owa.html' title='Load balancing Exchange 2010 OWA'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-6265399285352365350</id><published>2010-03-16T09:41:00.001-06:00</published><updated>2010-03-16T16:26:06.607-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CX700'/><category scheme='http://www.blogger.com/atom/ns#' term='Tanjay'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><title type='text'>Can't see call logs or voice mail on Tanjay (CX700) with Exchange 2007 and 2010?</title><content type='html'>We had an issue with our Exchange 2010 and 2007 environment recently where some users were migrated to our Exchange 2010 servers and activated for Unified Messaging and their call logs and voice mail weren't showing up on the Polycom CX700 (Tanjay) phones.&lt;br /&gt;&lt;br /&gt;During our involvement with the Exchange 2010 TAP program we implemented a single all-in-one server.&amp;nbsp;In order to keep everything working and reduce the potential for outages we decided to keep our 'autodiscover.domain.com' record pointing at the existing Exchange 2007 environment. Everything seemed to work fine except the CX700's. It turned out to be resolved by pointing the Autodiscover record at our Exchange 2010 environment which didn't cause an issue for our UM users on 2007 with CX700's either.&lt;br /&gt;&lt;br /&gt;This was pretty much our own fault since the deployment guidance from Microsoft suggests migrating to a 2010 CAS server out of the gate. Anyway, live and learn....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-6265399285352365350?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/6265399285352365350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/03/cant-see-call-logs-or-voice-mail-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6265399285352365350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6265399285352365350'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/03/cant-see-call-logs-or-voice-mail-on.html' title='Can&apos;t see call logs or voice mail on Tanjay (CX700) with Exchange 2007 and 2010?'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1948701191306784570</id><published>2010-03-03T09:59:00.003-07:00</published><updated>2010-03-03T10:16:12.296-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CAS Array'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><title type='text'>Load balancing Exchange 2010 CAS servers (CAS Array)</title><content type='html'>I've been spending much of my time lately working on Exchange 2010 designs for customers here in Canada. One of the common design scenarios we propose is a multi-server DAG with all roles collocated on the same server. When installing multiple Exchange 2010 servers you'll notice that each collocated (MB/HT/CAS) server has a default database. I typically remove the database and create my own with it's own name and file location rather than moving and renaming the default....personal preference. Either way, when you create a database or use the default database on an E2010 MB server there is an attribute called "RPCClientAccessServer" tied to the database which needs some special attention if you intend on load balancing the CAS server role. I'll come back to this in a few moments...&lt;br /&gt;&lt;br /&gt;&lt;div&gt;You may know by now that the CAS server in E2010 actually takes on a more critical role than before. In previous versions of Exchange (2007-) the CAS role basically handled IIS (web) traffic for Outlook Web Access users and that's about it. Now with E2010 the CAS role actually handles MAPI/RPC traffic. This means your Outlook 2003/2007/2010 client traffic on the LAN will not connect directly to the database server, but rather the CAS server. Where this becomes more of an impact in deployments is when you want to provide redundancy and DR capabilities to Outlook clients. The clients are configured to "talk" to a specific server initially....and if you have lets say three all-in-one E2010 servers with users in mailboxes on each system, their client settings in Outlook are going to show the specific name of the E2010 server hosting their mailbox. So what if that server goes down? Will the client connect to another server hosting a replica of the database? The answer is no....because you haven't created an RPC Array or set up anything else.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;First off if you're wanting to load balance between multiple collocated servers in a Database Availability Group (DAG), you need a hardware (or virtualized) load balancer. Personally I prefer the Citrix NetScaler VPX since it works with VMWare vSphere 4 and the basic model is free and downloadable as a virtual appliance. You can't use NLB since the DAG is using Windows Clustering components and collocation of those technologies isn't supported.&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;Setting up your hardware load balancer&lt;/h2&gt;&lt;div&gt;Let's walk through the setup of the load balancer first. With your hardware load balancer you're going to define a name and IP used by clients to connect to E2010....let's say "webmail.lvsedmtest.ca". This name needs a DNS record on your corporate DNS server and you need to pick an IP address.....let's say 10.10.10.252. Once you've created your DNS host record for the name, we need to configure the load balancer. In my example I'm load balancing to 4 all-in-one servers (see image). Each server and the IP address has been defined in the NetScaler VPX UI.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;First, create/define your servers and IP's. These will be later linked to your services which are then bound to the Virtual Server.&lt;/div&gt;&lt;br /&gt;&lt;div id="p0y4" style="text-align: center;"&gt;&lt;img src="http://docs.google.com/File?id=dc68tdvt_5dcjr3tcx_b" style="height: 120px; width: 394px;" /&gt;&lt;/div&gt;&lt;br /&gt;Now I need to create a monitor to keep track of the RPC services for each server. Later I'm going to bind this monitor to each RPC service for each server. I use the format of "mon_" for monitor, "rpc_" for the type of monitor, then "cas" for what I'm monitoring. The monitor name is "mon_rpc_cas" and has no specific IP....but rather it has port 135 listed as the port to check to determine if it's operational (up) or not (down).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5p9ytPpDDjQ/S46WizdMZWI/AAAAAAAAAIA/Ny1rtPIol1Y/s1600-h/netscaler2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="271" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/S46WizdMZWI/AAAAAAAAAIA/Ny1rtPIol1Y/s400/netscaler2.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id="evjs" style="text-align: center;"&gt;&lt;/div&gt;Now I'm going to create RPC services for each server I need to load balance to. Each service name contains the format of "svc_" then the type "rpc_" then the server name "jcsexchcal" so the entire name looks like "svc_rpc_jcsexchcal". The first service name I've created is linked to the "jcsexchcal.lvsedmtest.local" server (defined earlier) and has both a PING monitor but also the mon_rpc_cas monitor tied to it. This step is critical otherwise your services won't operate in an up/down state properly. &lt;b&gt;You need to repeat this step for each server/service you want to load balance to.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5p9ytPpDDjQ/S46Wv2MIL7I/AAAAAAAAAII/x0Z5XMvhzQ0/s1600-h/netscaler3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="293" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/S46Wv2MIL7I/AAAAAAAAAII/x0Z5XMvhzQ0/s400/netscaler3.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="yw0-" style="text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;Next I need to create a "Virtual Server" which contains all my services, the IP address, and load balancing attributes (i.e. round robin vs. least connection). I've chosen the name of "vs_" for virtual server, then "rpc_" for the type of data I'm load balancing, then "webmail" for the DNS host name I'm load balancing so the entire name looks like "vs_rpc_webmail". My IP address is 10.10.10.252 which is linked in DNS to "webmail.lvsedmtest.ca". Each service in the UI should show "UP" in the state column by this time by the way! &lt;b&gt;You will want to make sure you click on the "Method and Persistence" tab to set the timeout value to 15min to ensure connections persist with the same CAS server. &lt;/b&gt;This will prevent odd re-login issues with OWA.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5p9ytPpDDjQ/S46W5p8guPI/AAAAAAAAAIQ/GqQz4r7bgsI/s1600-h/netscaler4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="326" src="http://3.bp.blogspot.com/_5p9ytPpDDjQ/S46W5p8guPI/AAAAAAAAAIQ/GqQz4r7bgsI/s400/netscaler4.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Great. Now you have a load balanced RPC cluster that can serve up traffic for Outlook clients. Now back to Exchange since we're not quite done there yet.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Setting up the Exchange CAS Array&lt;/h2&gt;&lt;div&gt;The CAS Array is a new feature in E2010 which needs some PowerShell hands-on to create and configure. When you define the CAS Array a "site" parameter is specified which is used to determine which CAS servers are a member of the array. You don't actually pick the CAS servers when you create the array. I use the "New-ClientAccessArray" command as follows:&lt;/div&gt;&lt;br /&gt;&lt;div id="qyx:" style="text-align: center;"&gt;&lt;img src="http://docs.google.com/File?id=dc68tdvt_9fwhcqjd3_b" style="height: 53.656566px; width: 640px;" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;New-ClientAccessArray -fqdn webmail.lvsedmtest.ca -site Default-First-Site-Name -name "CAS Array 1"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;At this point if you create any new databases on CAS servers in that site, the "RPCClientAccessServer" attribute will be set to the CAS Array fqdn. I mentioned this at the beginning as an important point because any existing databases you create or databases created during Exchange setup will have the attribute set to the server in which they were created. You will need to change this attribute using the following PowerShell command:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Set-MailboxDatabase database01 -RpcClientAccessServer webmail.lvsedmtest.ca&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;To view the RPCClientAccessServer attribute currently set on all databases:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Get-MailboxDatabase |fl rpc*,name&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;This means if you have users within the database you don't have to move them....just update the attribute to be "webmail.lvsedmtest.ca" and their Outlook clients will update too.&lt;br /&gt;&lt;br /&gt;&lt;div id="mgi-" style="text-align: center;"&gt;&lt;img src="http://docs.google.com/File?id=dc68tdvt_10c3mks8q7_b" style="height: 163px; width: 528px;" /&gt;&lt;/div&gt;&lt;br /&gt;Performing a connection status on Outlook will show a TCP/IP connection (not RPC/HTTPS) to the fqdn of your CAS Arrray!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/S46XXz76huI/AAAAAAAAAIY/j97CHD29Eck/s1600-h/netscaler7.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/S46XXz76huI/AAAAAAAAAIY/j97CHD29Eck/s400/netscaler7.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id="pn_v" style="text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1948701191306784570?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1948701191306784570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2010/03/i-been-spending-much-of-my-time-la.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1948701191306784570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1948701191306784570'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2010/03/i-been-spending-much-of-my-time-la.html' title='Load balancing Exchange 2010 CAS servers (CAS Array)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5p9ytPpDDjQ/S46WizdMZWI/AAAAAAAAAIA/Ny1rtPIol1Y/s72-c/netscaler2.PNG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7064993719205315668</id><published>2009-11-27T10:43:00.002-07:00</published><updated>2009-11-27T10:44:59.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DPM 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='lag copy'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='reseed'/><category scheme='http://www.blogger.com/atom/ns#' term='corruption'/><title type='text'>Issues using DPM 2010 with an Exchange 2010 DAG</title><content type='html'>I've been "playing", well not really. I've been testing....ya that's it....testing Microsoft's beta version of System Center Data Protection Manager 2010 in conjunction with Microsoft Exchange Server 2010. The tests I've been conducting involve backing up and restoring Exchange servers in a Database Availability Group (DAG). I've also been trying to break the DAG replication by pulling the network cable from a server and watching the outcome. For the most part everything is working quite well however I did come across an interesting issue which deserves discussion.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Exchange 2010&amp;nbsp;Setup:&lt;/strong&gt; 4 server DAG with 3 database copies and 1 "lag" copy.&lt;br /&gt;&lt;strong&gt;DPM Setup:&lt;/strong&gt; 1 DPM 2010 server protecting the active copies of my 3 databases in the DAG.&lt;br /&gt;&lt;strong&gt;Test procedure: &lt;/strong&gt;Moved active copy of "Database01" from one server to another (waited about 1-2 minutes) then unplugged the network cable from the server hosting the active copy.&lt;br /&gt;&lt;br /&gt;I noticed first off that my lag copy of the database was in a "suspended" state. I've seen this once before but wasn't sure what or why this happened.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/Sw_95snl-BI/AAAAAAAAAHA/cEz-shawlK4/s1600/dagsuspended.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/Sw_95snl-BI/AAAAAAAAAHA/cEz-shawlK4/s400/dagsuspended.PNG" yr="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;(Database "suspended")&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I logged into my server hosting the lag copy and looked into Event Viewer. I found an Event ID 117 which stated "the copy of Database01 on this server experienced an error that requires it to be reseeded".&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/Sw_9kLpEFZI/AAAAAAAAAG4/ETQGXfBIyQ4/s1600/dbcopyerror.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/Sw_9kLpEFZI/AAAAAAAAAG4/ETQGXfBIyQ4/s400/dbcopyerror.PNG" yr="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;(Database needs to be reseeded)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;A few lines down I found Event ID 3145 which stated there was a missing log file which has caused the incremental reseed to fail.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5p9ytPpDDjQ/SxAKR12qtlI/AAAAAAAAAHQ/ZjGcOp9wTf4/s1600/reseed.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/SxAKR12qtlI/AAAAAAAAAHQ/ZjGcOp9wTf4/s400/reseed.PNG" yr="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;(reseed is required due to missing log file)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I decided the only way to get back on track is to perform an "update database copy" command through the EMC.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SxANbXIWIII/AAAAAAAAAHY/I36rsefzRh8/s1600/updatedbcopy.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SxANbXIWIII/AAAAAAAAAHY/I36rsefzRh8/s400/updatedbcopy.PNG" yr="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I then selected my source server...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SxANlqEMRAI/AAAAAAAAAHg/UZ4Opv-EZVk/s1600/updatedbcopy1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SxANlqEMRAI/AAAAAAAAAHg/UZ4Opv-EZVk/s400/updatedbcopy1.PNG" yr="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SxANqaPZt_I/AAAAAAAAAHo/0ktfTqQ118c/s1600/updatedbcopy2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SxANqaPZt_I/AAAAAAAAAHo/0ktfTqQ118c/s400/updatedbcopy2.PNG" yr="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5p9ytPpDDjQ/SxANvZqrEnI/AAAAAAAAAHw/gQvc8K6-5zI/s1600/updatedbcopy3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5p9ytPpDDjQ/SxANvZqrEnI/AAAAAAAAAHw/gQvc8K6-5zI/s400/updatedbcopy3.PNG" yr="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left" class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SxANzqHg49I/AAAAAAAAAH4/lrE_uxifQ_c/s1600/updatedbcopy4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SxANzqHg49I/AAAAAAAAAH4/lrE_uxifQ_c/s400/updatedbcopy4.PNG" yr="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I now have a healthy copy of my database....buy why did this happen?&lt;br /&gt;&lt;br /&gt;My only rational thought on this one is that DPM ran a synchronization which truncated the logs on my server hosting the active database (jcsexchvan). When I perfomed a "move active database" as part of my tests, it moved to my other server (jcsexchcal). I then performed a physical failure of that server and my 3rd server (jcsexchedm) picked up the active copy. Somewhere in this transition the log file truncation process kicked off on "jcsexchedm". It was at that point my lag copy database&amp;nbsp;on server "jcsexchtor" tried to pull the necessary log files and couldn't find them because the last "Active Manager" in the DAG told it to get them.&lt;br /&gt;&lt;br /&gt;This scenario seemed to be a bit of a "perfect storm" case which I was happy to capture. However, during the writing of this article I've tried it again (move active copy, then fail that server) and I get the same result!!&lt;br /&gt;&lt;br /&gt;I'd like to get to the bottom of this so if anyone has any insight I'd appreciate feedback. The only thing I can say for sure here is that&amp;nbsp;you'd better make sure you have some form of monitoring software like System Center Operations Manager 2007 R2 to catch these events otherwise you could be in serious trouble.&lt;br /&gt;&lt;br /&gt;Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7064993719205315668?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7064993719205315668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/11/issues-using-dpm-2010-with-exchange.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7064993719205315668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7064993719205315668'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/11/issues-using-dpm-2010-with-exchange.html' title='Issues using DPM 2010 with an Exchange 2010 DAG'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5p9ytPpDDjQ/Sw_95snl-BI/AAAAAAAAAHA/cEz-shawlK4/s72-c/dagsuspended.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-800145107424524270</id><published>2009-11-08T20:53:00.000-07:00</published><updated>2009-11-08T20:53:59.251-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Load balance'/><category scheme='http://www.blogger.com/atom/ns#' term='Edge Server'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><title type='text'>Little known fact about load balancing OCS 2007 R2 Edge servers...</title><content type='html'>I spent some time helping a team member recently with an issue relating to OCS 2007 R2 Edge servers and F5 Neworks load balancers. The effort involved troubleshooting Live Meeting connectivity to remote users. The behavior was such that the remote user would connect to the Live Meeting briefly, then disconnect.&lt;br /&gt;&lt;br /&gt;A call to Microsoft support resulted in the engineer indicating port 8057 shouldn't be load balanced. Upon posting to an internal Microsoft forum site, I was informed that this is in fact true. Also, the Microsoft employee indicated the way you should be configuring the web conferencing edge server configuration is to list the actual server names in the internal fqdn entry&amp;nbsp;of the properties of OCS. To do this follow these steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Right-click your Enterprise Pool and choose Properties, then Web Conferencing Properties.&lt;/li&gt;&lt;li&gt;You need to add entries for each web conferencing Edge server in your environment. Click the Add button and type the name of the server in the internal dialog box (i.e. serverA.dmz.contoso.com). Then type the external load balanced&amp;nbsp;"shared name" (i.e. webconf.contoso.com).&lt;/li&gt;&lt;li&gt;Repeat the same process for each Edge server&amp;nbsp;you're load balancing to making sure the internal name represents the actual server name.&lt;/li&gt;&lt;/ol&gt;Now thinking about this setup you would assume the certificate bound to the internal interface should represent the "shared name" of the internal load balanced virtual IP right? Well I'm told the answer is no. If your Edge servers' internal interface fqdn is "ocsedge.contoso.com", you don't need subject alternative names for each server along with it. What strikes me as odd here is that I've just spelled out the need for specifying the Edge server's fqdn within the pool server yet you don't have to "line up" the name in the certificate.&lt;br /&gt;&lt;br /&gt;If you investigate the documented firewall rules on the Microsoft web site, port 8057 over MTLS is used. I'm still puzzled as to how you can have MTLS working without the certificate names matching the name(s) defined in the pool settings.&lt;br /&gt;&lt;br /&gt;Another poorly documented configuration is the firewall rule required to make Live Meeting work with hardware load balancers and multiple Edge servers. Yes, you need to permit port 8057 from "any" to the DMZ but don't send it through your load balancer. Make sure the rule&amp;nbsp;permits 8057 traffic from the LAN to the &lt;strong&gt;&lt;u&gt;internal interfaces of each Edge server&lt;/u&gt;&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;That's all for now.&lt;br /&gt;&lt;br /&gt;Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-800145107424524270?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/800145107424524270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/11/little-known-fact-about-load-balancing.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/800145107424524270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/800145107424524270'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/11/little-known-fact-about-load-balancing.html' title='Little known fact about load balancing OCS 2007 R2 Edge servers...'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1968725413442646227</id><published>2009-10-13T20:49:00.002-06:00</published><updated>2009-10-26T08:17:57.002-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KB974571'/><title type='text'>WARNING about KB974571 and Event ID 12290 -updated</title><content type='html'>!!UPDATED!! Please see below....&lt;br /&gt;&lt;br /&gt;We've found that the update released by Microsoft today (October 13, 2009) to fix CryptoAPI issues will cause OCS services to fail.&lt;br /&gt;&lt;br /&gt;The server will log event ID 12290 which says:&lt;br /&gt;&lt;br /&gt;"The evaulation period for Microsoft Office Communications Server 2007 R2 has expired. Please upgrade from the evaluation version to the full released version of the product."&lt;br /&gt;&lt;br /&gt;The server will then log event ID 12299 with the error code:&lt;br /&gt;&lt;br /&gt;"C3E93C23 (SIPPROXY_E_INVALID_INSTALLATION_DATA)"&lt;br /&gt;&lt;br /&gt;The KB article can be found at: &lt;a href="http://support.microsoft.com/kb/974571"&gt;http://support.microsoft.com/kb/974571&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strike&gt;To fix the issue, remove the patch and restart the server.&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;UPDATE (October 26, 2009) a new update has been released which resolves this issue. It can be found at: &lt;a href="http://support.microsoft.com/kb/974571"&gt;http://support.microsoft.com/kb/974571&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1968725413442646227?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1968725413442646227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/10/warning-about-kb974571-and-event-id.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1968725413442646227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1968725413442646227'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/10/warning-about-kb974571-and-event-id.html' title='WARNING about KB974571 and Event ID 12290 -updated'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1084928780381286624</id><published>2009-10-05T22:21:00.002-06:00</published><updated>2009-10-12T07:53:03.975-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='compliance'/><category scheme='http://www.blogger.com/atom/ns#' term='archiving'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><title type='text'>Exchange 2010 - Archiving and Compliance</title><content type='html'>There have been a number of discussions I've been in lately which surround the compliance and archiving requirements of customers as they pertain to email, specifically Exchange Server. Many organizations who require messages to be retained and searchable&amp;nbsp;for legal reasons resort to 3rd party technologies such as Symantec's Enterprise Vault platform. These add-on applications provide enhancement to the base functionality offered by Microsoft Exchange (and other email software), but often do so at the expense of the end user....and the pocketbook of the company implementing them.&lt;br /&gt;&lt;br /&gt;Let's talk about &lt;strong&gt;compliance&lt;/strong&gt; first...&lt;br /&gt;&lt;br /&gt;In previous versions of Exchange you were at the mercy of 3rd party tools to provide a half-baked solution to the legal and regulatory requirements for mail retention and ease of search. One of the most concerning "holes" in Exchange was the ability for a user to send/recieve a message then delete it (soft [deleted items]&amp;nbsp;or hard [shift+delete]), then open the "Recover Deleted Items" feature (a.k.a.&amp;nbsp;the "Dumpster")&amp;nbsp;and purge the messages. If you performed this task before a backup, the message(s) were never retained. If the user's mailbox was moved, the Dumpster information is not retained.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5p9ytPpDDjQ/SsqYDvzJBVI/AAAAAAAAAGw/8tLHRBJEAtg/s1600-h/recover_deleted_items.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img $r="true" border="0" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/SsqYDvzJBVI/AAAAAAAAAGw/8tLHRBJEAtg/s320/recover_deleted_items.PNG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;If you were a compliance officer and needed to search a mailbox for content, the process wasn't easy.&amp;nbsp;There were security issues, and knowledge of PowerShell was required. If you needed to search data which had been archived to tape the process could be cumbersome and very time consuming.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Along comes "Dumpster 2.0" in Exchange 2010. Now messages that are purged from the Dumpster end up in a folder called "Purged" which is hidden from view. The user thinks the message has been purged however it remains. A compliance officer can now search the mailbox and discover the data. Since the Dumpster (including the purged items) are part of the user's mailbox now, they move when the mailbox moves and data is always preserved.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Using the new multi-mailbox search tools in Outlook Web Access, a compliance officer can now be assigned a role for discovery (using RBAC)&amp;nbsp;of data and use a familiar, easy to use interface, to perform searches.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Moving along to &lt;strong&gt;archiving&lt;/strong&gt;...&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;This one has been&amp;nbsp;a hot topic lately. Archiving in Exchange 2010 consists of enabling the "archive" mailbox for a user either using PowerShell or the EMC which resides on the same disk as the primary mailbox. I know when I was in Dallas for Exchange Ignite earlier in 2009 there were a lot of people who were disappointed to hear about the technical details of archiving in Exchange 2010 (including myself....initially). Over time though I've looked back at what our customers are looking for strictly from a requirements perspective and what problems we were attempting to solve. Unfortunately in the process you sometimes trade one headache for another which is commonly the case with 3rd party tools and add-ons.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Looking strictly at why we recommended these tools in the past, the reasons were primarily to overcome issues with performance, stability, data retention, and compliance. In other words it was more about providing a solution to several problems than simply "archiving" for the purpose of recovery. So let's look at these requirements in more detail:&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;Archive because of PERFORMANCE:&lt;/strong&gt; Sure, back in Exchange 2003 (and possibly in 2007) it made sense to move mail off of "expensive" fibre channel SAN&amp;nbsp;disk and onto less expensive SATA disk. This also helped with memory management in that Exchange was limited to a 4kb page size; less data to cache, better performance.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;The Exchange 2010 answer...&lt;/strong&gt;don't archive because of performance. You can now run your primary and archive mailboxes on the same disk with the improvements in database schema and disk I/O. Also, the long sync time for Outlook clients no longer becomes an issue since the locally cached copy of the data contains only the data from the primary mailbox and not the archive. You can still access the archive data while "online" through Outlook Anywhere or OWA as well. The biggest misconception here though was that if you removed the data, the problem was solved. Well perhaps it helped due to the page size limitations however it's more about "item count" than actual message size. A folder with 1000 items will suffer long delays when sorting and searching no matter how large each message is. When the count increases, so does the delay. These delays are caused by high IOPS against the ESE and disk.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;Archive because of STABILITY:&lt;/strong&gt; Again, back in previous versions of Exchange you could have users with very large mailboxes and with a very very large number of items per folder. You may have even run up against the 10,000 item count limit in Exchange 2007. Mailbox corruption was a concern and the idea of reducing the size gave the corporate world the sleepy pills to rest with ease.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;The Exchange 2010 answer...&lt;/strong&gt;don't archive because of stability. Mailbox corruption has pretty much been eliminated; and I say pretty much because I've never come across it with 2007 and I've never heard of it....but then again I'm not "all seeing and all knowing"....yet. Item count in Exchange 2010 has been increasaed to 100,000 and the underlying features to help with corruption extend to the various layers from the page entry to the item level. If you've implemented Exchange 2010's new Database Availability Group feature you have multiple levels of corruption protection and self healing.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;Archive because of DATA RETENTION:&lt;/strong&gt; Ah-hah! Now we're onto something. If you need to retain data for longer periods of time you might want to save this information for quite some time. For some organizations this data is an asset up to the first day past the seventh year, then it becomes a liability. You may have deployed an archiving solution to preserve (and purge) data according to your company's retention policy.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;The Exchange 2010 answer...&lt;/strong&gt;Not much different other than the message would be to keep as much mail in Exchange as you can or want to. Use the new retention tags/policies in Exchange 2010 to manage the mailbox size over time.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;Archive because of COMPLIANCE:&lt;/strong&gt; Due to the lack of any sane method of e-discovery in previous versions of Exchange, you would typically install a tool to enhance this portion of the product. These tools often give someone the ability to perform searches using a web interface and will return data in the database. Remember, you won't always get an accurate representation if the user purged the data.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;The Exchange 2010 answer...&lt;/strong&gt;Don't archive because of compliance. Exchange 2010 includes a web interface for e-discovery and using role based security, you can assign permissions to do these tasks.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;The&amp;nbsp;four concerns I have with 3rd party tools are as follows:&lt;br /&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;The cost.&lt;/strong&gt; These tools are not cheap. Maintenance alone can eat you alive and in times of cost cutting, you could easily win the employee of the month coupon for saving some dough here.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;Interoperability.&lt;/strong&gt; Have you ever been blocked from upgrading to a service pack or new version because the integrated software isn't compatible? These types of blockers can be a real pain for the IT department and could put the organization at risk.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;The user experience.&lt;/strong&gt; This one is the most concerning. You shouldn't implement a platform which changes the user's method for searching and dealing with messages which have been archived. You lose out on existing, and new features such as message preview, the reading pane, and conversation view. Even more annoying is the inability to search/retrieve messages on your mobile phone! Don't degrade the user experience!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;Administration. &lt;/strong&gt;All IT staff are gods anyway so this one doesn't hold much water. The boundless nature of one's brain is truly astounding. Seriously though, another tool, more training....yadda yadda. Junk it!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;So that's all for now. I'm tired. Need sleep. &lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Cheers!&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1084928780381286624?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1084928780381286624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/10/exchange-2010-archiving-and-compliance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1084928780381286624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1084928780381286624'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/10/exchange-2010-archiving-and-compliance.html' title='Exchange 2010 - Archiving and Compliance'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5p9ytPpDDjQ/SsqYDvzJBVI/AAAAAAAAAGw/8tLHRBJEAtg/s72-c/recover_deleted_items.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-4075192413427405210</id><published>2009-10-03T16:48:00.008-06:00</published><updated>2009-12-13T20:16:47.942-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Messaging Records Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><title type='text'>Messaging Records Management (MRM) in Exchange 2010</title><content type='html'>I've been reading up qutie a bit the last few days about some of the new features in Exchange 2010 when it comes to managing messages in an organization. I'm happy to say that there is finally a viable solution for enterprise customers who want to implement a retention and archiving policy, complete with logging and the ability to adhere to a compliance policy.&lt;br /&gt;&lt;br /&gt;I wanted to write a post about the new features and to have this as a reference for myself and others. There are some new concepts which make up MRM in Exchange 2010. Microsoft's Technet web site does a great job of outlining step-by-step procedures for enabling them...but it does take some time to read.&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;Overvivew&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;The MRM features of Exchange 2010 consist of &lt;strong&gt;Mailboxes&lt;/strong&gt;, which have &lt;strong&gt;Retention Policies &lt;/strong&gt;assigned to them. Within the &lt;strong&gt;Retention Policies&lt;/strong&gt; there are &lt;strong&gt;Retention Tags &lt;/strong&gt;which define the rules for managing items.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SsfMS9TM_GI/AAAAAAAAAGg/evCaIKWAqVM/s1600-h/mrm-e14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img $r="true" border="0" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SsfMS9TM_GI/AAAAAAAAAGg/evCaIKWAqVM/s320/mrm-e14.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;strong&gt;Retention Tag&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;A Retention Tag is the at the core of your MRM strategy. The tag contains several variables such as it's name, the folder it will take action on (i.e. Deleted Items folder), how long before the policy is applied (i.e. 90 days), and what action will be taken when the time limit is reached (i.e. move to archive). To create a new retention tag using PowerShell:&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;code&gt;New-RetentionPolicyTag "RT-FIN-90-DeletedItems" -Type DeletedItems -AgeLimitForRetention 30 -RetentionAction PermanentlyDelete&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;or&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;code&gt;New-RetentionPolicyTag "RT-FIN-365-Default" -Type All -AgeLimitForRetention 365 -RetentionAction MoveToArchive -IsPrimary $true&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;NOTE: Don't forget to add the "-IsPrimary $true" to your tag if it's assigned to a new retention policy since the policy needs a default tag. If the primary tag value isn't set, it isn't a default retention tag and the policy creation will throw an error.&lt;br /&gt;&lt;strong&gt;Retention Policy&lt;/strong&gt;&lt;br /&gt;The policy contains the&amp;nbsp;tags you define. You can add and remove them to suit your needs. A retention policy can be assigned to a mailbox or distribution group (maybe even a database&amp;nbsp;but I'm not sure yet). To create a new Retention Policy and assign tags to it:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;New-RetentionPolicy "RP-Finance" -RetentionPolicyTagLinks "RT-FIN-90-DeletedItems", "RT-FIN-365-Default"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;To add tags to the policy:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Set-RetentionPolicy -Identity RP-Finance -RetentionPolicyTagLinks "RT-FIN-90-DeletedItems","RT-FIN-365-Default","RT-FIN-180-Voicemail"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;NOTE: When you add tags to a policy, be sure to "Get-RetentionPolicy | FL" first so you don't accidently forget to assign a previous tag. In other words, when you apply the tags to a policy it will &lt;strong&gt;overwrite&lt;/strong&gt; the settings.&lt;br /&gt;&lt;br /&gt;Finally, add the policy to a mailbox:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Set-Mailbox "JasonShave" -RetentionPolicy "RP-Finance"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Seeing it in action...&lt;/strong&gt;&lt;br /&gt;When you've created your tags, assigned them to a policy, and linked the policy to a mailbox. You can run the Exchange Managed Folder Assistant manually to see how the policy affects the mailbox. The command for this is:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Start-ManagedFolderAssistant&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SsgVa7TLpWI/AAAAAAAAAGo/gFDDtMNz514/s1600-h/mrm-e14-2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img $r="true" border="0" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SsgVa7TLpWI/AAAAAAAAAGo/gFDDtMNz514/s320/mrm-e14-2.PNG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;(custom tag called "Tag-DeletedItems")&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TIPS&lt;/strong&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Work with your organization's HR, Security, IT teams, etc. to define the requirements for retention and archiving.&lt;/li&gt;&lt;li&gt;Create a naming convention for your tags and policies.&lt;/li&gt;&lt;li&gt;Test the policies on a mailbox with non-critical data first!&lt;/li&gt;&lt;/ol&gt;My only complaint thus far is that a GUI hasn't been built for most of the new records management features. For example, you can't create/edit/delete retention tags or policies using the Exchange Management Console or the Exchange Control Panel. This is a great step in the right direction overall though.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-4075192413427405210?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/4075192413427405210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/10/messaging-records-management-mrm-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4075192413427405210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4075192413427405210'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/10/messaging-records-management-mrm-in.html' title='Messaging Records Management (MRM) in Exchange 2010'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5p9ytPpDDjQ/SsfMS9TM_GI/AAAAAAAAAGg/evCaIKWAqVM/s72-c/mrm-e14.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7095639774314903971</id><published>2009-10-01T13:05:00.002-06:00</published><updated>2009-10-01T13:05:52.935-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Gateway'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Microsoft XMPP Gateway - released!</title><content type='html'>Greetings,&lt;br /&gt;&lt;br /&gt;Microsoft has released their XMPP gateway software today which will allow OCS users to communicate with other XMPP-based IM platforms. The two platforms currently missing from the Public IM stack are Google Talk and Jabber.&lt;br /&gt;&lt;br /&gt;The XMPP gateway software acts like an Edge server (install on a separate box) and will likely support some form of hardware virtualization.&lt;br /&gt;&lt;br /&gt;Here are some notes to keep in mind:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Only plain text is supported.&lt;/li&gt;&lt;li&gt;Presence is supported.&lt;/li&gt;&lt;li&gt;You need to be running Communicator R2 as a client (can be connected to an R1 pool).&lt;/li&gt;&lt;li&gt;You can run either R1 or R2 OCS (not LCS).&lt;/li&gt;&lt;li&gt;Custom notes in Communicator are not handled.&lt;/li&gt;&lt;li&gt;Conferencing isn't supported -yet ;-)&lt;/li&gt;&lt;/ol&gt;Built on industry standard protocols, this software is a welcome addition to Microsoft's UC platform. You can download it here today: &lt;a href="https://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=aa560bfe-9960-473a-bfb8-53bff678cec4"&gt;https://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=aa560bfe-9960-473a-bfb8-53bff678cec4&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7095639774314903971?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7095639774314903971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/10/microsoft-xmpp-gateway-released.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7095639774314903971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7095639774314903971'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/10/microsoft-xmpp-gateway-released.html' title='Microsoft XMPP Gateway - released!'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1117956523362220556</id><published>2009-09-30T16:31:00.000-06:00</published><updated>2009-09-30T16:31:00.117-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Logitech Quickcam Pro 9000'/><category scheme='http://www.blogger.com/atom/ns#' term='Live Meeting'/><title type='text'>Logitech Quickcam Pro 9000 hangs Live Meeting</title><content type='html'>Just a quick post today. I've noticed lately that I've been having issues with Live Meeting. When I try to change the audio device used for the meeting it simply hangs the application. What's changed recently is that I've been plugging in my Logitech Quickcam Pro 9000 lately. I have all the latest drivers and the camera works great in Live Meeting or Communicator. It's when you go to change the settings where things go south.&lt;br /&gt;&lt;br /&gt;Anyway, to resolve it I simply unplugged the camera (since I have an embedded one in the monitor).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1117956523362220556?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1117956523362220556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/09/logitech-quickcam-pro-9000-hangs-live.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1117956523362220556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1117956523362220556'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/09/logitech-quickcam-pro-9000-hangs-live.html' title='Logitech Quickcam Pro 9000 hangs Live Meeting'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-2079573832080871440</id><published>2009-09-25T10:56:00.005-06:00</published><updated>2009-09-29T08:38:45.321-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcam'/><category scheme='http://www.blogger.com/atom/ns#' term='Tandberg Precision HD'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><title type='text'>HANDS ON: Tandberg Precision HD USB webcam -updated</title><content type='html'>&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Well I picked up a Tandberg Precision HD webcam yesterday and thought I'd share my experiences with it. The device is "optimized" to work with Microsoft's Office Communications Server platform and offers HD quality video (720p/24f).&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SrzvZ3_kw4I/AAAAAAAAAFo/NfMjIcde4hw/s1600-h/IMG_0191.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" iq="true" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SrzvZ3_kw4I/AAAAAAAAAFo/NfMjIcde4hw/s320/IMG_0191.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Specifications for the webcam are as follows:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;16:9 wide format HD video&lt;/li&gt;&lt;li&gt;1270x720 resolution at 30fps (MS only supports 24fps as per R2 TAP docs [this may have changed recently])&lt;/li&gt;&lt;li&gt;All glass optics&lt;/li&gt;&lt;li&gt;Auto focus and auto light adjustment&lt;/li&gt;&lt;li&gt;Ultra wideband mic&lt;/li&gt;&lt;li&gt;Privacy shutter&lt;/li&gt;&lt;li&gt;F-stop of 1.7&lt;/li&gt;&lt;/ul&gt;The camera's requirements are:&lt;br /&gt;&lt;ul&gt;&lt;li style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Windows XP&amp;nbsp;or Windows Vista (also works ootb with Windows 7)&lt;/li&gt;&lt;li style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;USB 2.0 interface&lt;/li&gt;&lt;/ul&gt;Overall first impressions are that the camera is well built. The hardware has that "Tandberg" quality feel to it. The glass optics make the device much heavier than a traditional webcam but if you're looking for a "1700 MXP experience" with native OCS/MOC and Windows, this is as close as you can get for a fraction of the cost. The USB cable is quite short and I would have liked to see at least a six foot cable attached. If your PC&amp;nbsp;case is far from your monitor you'll need a USB extension cable guaranteed.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/Srzvg75EPEI/AAAAAAAAAFw/Wmi5lVrlnGM/s1600-h/IMG_0189.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" iq="true" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/Srzvg75EPEI/AAAAAAAAAFw/Wmi5lVrlnGM/s320/IMG_0189.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;Image Quality, etc.&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Since my laptop at work isn't a quad core CPU, OCS won't flip on the HD capabilities of the MOC client. With VGA quality video being my only option I have to say that the overall picture quality is quite good. The lighting and color representation is better than your typical home user's webcam. My comparison webcam is a Logitech Quickcam Pro 9000 which also supports HD (2MP). I have found that the Logitech is washed out and doesn't provide the same color depth.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;In terms of field of view, I prefer a camera which shows more background. The Tandberg Precision HD webcam is quite tight and needs to be positioned in such a way that you're not cutting off your head in the image. The Logitech is completely opposite and shows everything from top to bottom.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br /&gt;If you have the cash to spend on an executive-style webcam this is an amazing unit. As for the HD quality in OCS, I was finally able to test it. The difficult part though was capturing the image on the other side since my tester was in another city. He was kind enough to snap a digital photo of his TV (also used as a PC monitor). Check it out and see for yourself...&lt;br /&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_5p9ytPpDDjQ/SsIb0Z0FbFI/AAAAAAAAAGI/Qm6WC51l0sg/s1600-h/Tandberg-HD.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" iq="true" src="http://3.bp.blogspot.com/_5p9ytPpDDjQ/SsIb0Z0FbFI/AAAAAAAAAGI/Qm6WC51l0sg/s320/Tandberg-HD.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;(Click on the image for a larger version)&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;As you can see there is a great amount of detail in the image. The focal length of the camera is noticable here as well with the foreground image in focus but the background blurred. Very very nice!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-2079573832080871440?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/2079573832080871440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/09/hands-on-tandberg-precision-hd-usb.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2079573832080871440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2079573832080871440'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/09/hands-on-tandberg-precision-hd-usb.html' title='HANDS ON: Tandberg Precision HD USB webcam -updated'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5p9ytPpDDjQ/SrzvZ3_kw4I/AAAAAAAAAFo/NfMjIcde4hw/s72-c/IMG_0191.JPG' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-8624508555779247039</id><published>2009-09-24T08:58:00.002-06:00</published><updated>2009-09-24T09:17:51.168-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cisco 7941'/><category scheme='http://www.blogger.com/atom/ns#' term='SmartSIP'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><title type='text'>Get your Cisco 7941 to work with OCS with SmartSIP</title><content type='html'>I posted recently about a product from Evangelyze Communications (&lt;a href="http://www.evangelyze.net/"&gt;http://www.evangelyze.net/&lt;/a&gt;) called SmartSIP. In this post I'll talk about how to get your Cisco IP phone to work with OCS and SmartSIP.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SruNis2ewUI/AAAAAAAAAFg/NoOL2MLBrXU/s1600-h/IMG_0188.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" iq="true" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SruNis2ewUI/AAAAAAAAAFg/NoOL2MLBrXU/s320/IMG_0188.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Contrary to popular belief I prefer the Cisco phone to many others out there. The overall look and feel of the handset, base, buttons, and display are well thought out and provide some interesting and easy to use features.&lt;br /&gt;&lt;br /&gt;For my lab setup I have my OCS Mediation server and SmartSIP collocated on the same virtual machine. By the way, don't&amp;nbsp; use VM's for production; they're not supported and performance can be terrible. I&amp;nbsp;have a Cisco 7941 IP phone and have downloaded the latest SIP firmware from the Cisco web site (you need to have a valid SmartNET contract to get the code).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;NOTE: Be sure to get the Cisco SIP firmware as the SCCP (skinny) won't suffice here.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;After installing SmartSIP you will need to activate it and configure it as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Change the gateway listening IP address on your Mediation server to &lt;strong&gt;5070&lt;/strong&gt;. You need to change the port here because SmartSIP needs to use 5061 for SIP Trunk service providers connecting inbound.&lt;/li&gt;&lt;li&gt;Change the port for the next hop PSTN gateway to &lt;strong&gt;5055&lt;/strong&gt;. Again, this port is changed because 5061 is used for SIP trunking.&lt;/li&gt;&lt;li&gt;Open the SmartSIP diagnostics application from the START menu&lt;/li&gt;&lt;li&gt;Click on the Config (Web UI) tab and select the Microsoft tab&lt;/li&gt;&lt;li&gt;Enter the IP address for your OCS server in the OCS SIP Listening Profile&lt;/li&gt;&lt;/ul&gt;Example:&lt;br /&gt;&lt;code&gt;data="ocs_rtp_ip=10.10.10.127"&lt;/code&gt;&lt;br /&gt;&lt;div&gt;&lt;code&gt;data="ocs_sip_ip=10.10.10.127"&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Click the Save button&lt;/li&gt;&lt;/ul&gt;Now you need to create a specific location profile for SmartSIP to use when routing calls. What I like about this process is that it leverages the UI in OCS to complete the digit manipulation (with normalization rules). You then route numbers based on the normalized (or de-normalized) numbers. If you're using a SIP Trunk to a carrier such as Thinktel they will accept E.164 formatted numbers so you shouldn't need to change much. If you're sending the call to a voice gateway via IP,&amp;nbsp; you can route numbers that have been pre-configured within OCS. Here's how:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a new Location Profile in OCS and call it something like "ss_test_1"&lt;/li&gt;&lt;li&gt;Create a new normalization rule for a number you want SmartSIP to route. For example if I wanted to de-normalize a number before routing to my carrier, I would actually use:&lt;/li&gt;&lt;/ul&gt;Pattern match: &lt;code&gt;^\+?1780(\d{7})$&lt;/code&gt;&lt;br /&gt;Translation: &lt;code&gt;780$1&lt;/code&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;After you save this rule, go back into your SmartSIP WebUI and click on the Trunks tab.&lt;/li&gt;&lt;li&gt;Locate the &lt;strong&gt;smartsip_dialoptions_trunks&lt;/strong&gt; and&amp;nbsp;&lt;strong&gt;smartsip_locations_trunks&lt;/strong&gt; tags and change the value&amp;nbsp;to match your OCS location profile. For example:&lt;/li&gt;&lt;/ul&gt;&lt;code&gt;data="smartsip_dialoptions_trunks=&lt;strong&gt;ss_test_1&lt;/strong&gt;:sip_cid_type=pid"&lt;/code&gt;&lt;br /&gt;&lt;code&gt;data="smartsip_locations_trunks=&lt;strong&gt;ss_test_1&lt;/strong&gt;:&lt;strong&gt;ss_test_1&lt;/strong&gt;"&lt;/code&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Now click on the General section below and expand it.&lt;/li&gt;&lt;li&gt;Change the gateway name to reflect your location profile such as:&lt;/li&gt;&lt;/ul&gt;&lt;code&gt;gateway name="&lt;strong&gt;ss_test_1&lt;/strong&gt;"&lt;/code&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In the same section, be sure to enter the IP address of your next hop gateway or SIP provider in the "realm" and "proxy" tags.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Configure the Cisco phone...&lt;/strong&gt;&lt;br /&gt;Now that you have SmartSIP, OCS, and your voice normalization configured, we can move onto the phones. SmartSIP includes a TFTP server built in which permits your IP phones to download firmware and configuration data for automatic provisioning.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;For the phones to find the SmartSIP server you will need to add "option 66" to your DHCP server. I found that on my Cisco 871 router I needed the following syntax in the DHCP pool settings:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;code&gt;option&amp;nbsp;150 IP&amp;nbsp;10.10.10.127&lt;/code&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Log into your Mediation/SmartSIP server and locate the TFTP directory.&lt;/li&gt;&lt;li&gt;Populate the directory with your firmware data&amp;nbsp;for the "Cisco 79xx" phone.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5p9ytPpDDjQ/Srt6Zn9_ExI/AAAAAAAAAFA/gz8P691DGSQ/s1600-h/cisco_file_tree.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" iq="true" src="http://3.bp.blogspot.com/_5p9ytPpDDjQ/Srt6Zn9_ExI/AAAAAAAAAFA/gz8P691DGSQ/s200/cisco_file_tree.PNG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;You should have something like this (minus the Desktops dir and dialplan.xml)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The Cisco phones need 2 files to operate properly. They are equally important so be sure to pay close attention to the next few steps.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SEP[MAC].cnf.xml&lt;/strong&gt;&lt;br /&gt;This file is your base configuration file for the phone. It contains information about where the phone needs to connect, what dialplan to use, etc. SmartSIP uses variables in the form of tags to replace the XML values in the file. For example, [USER] and [SERVER_IP] correspond to the extension and SmartSIP server IP. Consult the SmartSIP documentation for more information about what tags are available to you.&lt;br /&gt;&lt;br /&gt;Over at Greenwire IT they have a great outline of a basic SEP[MAC].cnf.xml file: &lt;a href="http://www.greenwireit.com/blog/2009/09/cisco-7961-and-7941-sip-configuration-sepmac-cnf-xml/"&gt;http://www.greenwireit.com/blog/2009/09/cisco-7961-and-7941-sip-configuration-sepmac-cnf-xml/&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;If you're stuck and need a copy of the XML, just let me know. I spent hours and hours trying to get the phone to sign in and provision itself only to find there were invalid values in the sample XML given by default.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dialplan.xml&lt;/strong&gt;&lt;br /&gt;This file contains your dial plan for the Cisco phones. You can visit: &lt;a href="http://sipx-wiki.calivia.com/index.php/HowTo_configure_Cisco_SIP_phone_with_sipX"&gt;http://sipx-wiki.calivia.com/index.php/HowTo_configure_Cisco_SIP_phone_with_sipX&lt;/a&gt; for a great sample. Be sure to place this in the "Cisco_79xx" directory.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Putting it all together...&lt;/strong&gt;&lt;br /&gt;Please please please be sure to install Wireshark on your Mediation/SmartSIP server if you haven't done so already. This will provide to be the most critical tool you will ever use. You're probably asking by now, "how do I assign a phone to a user?". The easiest way is as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Open Active Directory Users &amp;amp; Computers.&lt;/li&gt;&lt;li&gt;Locate your OCS user and click on the &lt;strong&gt;Telephones&lt;/strong&gt; tab of their account.&lt;/li&gt;&lt;li&gt;Type in &lt;strong&gt;sip:[MAC]@smartsip.local&lt;/strong&gt; (where [MAC] is the MAC address of the Cisco phone)&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SruAYytIEII/AAAAAAAAAFI/SLjpRSWNNbQ/s1600-h/ip_phone_in_ad.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" iq="true" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SruAYytIEII/AAAAAAAAAFI/SLjpRSWNNbQ/s320/ip_phone_in_ad.PNG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Click Ok and close out the changes.&lt;/li&gt;&lt;li&gt;SmartSIP has a default&amp;nbsp;5 minute refresh on AD data so you can either wait or simply open the WebUI, click on the Users tab, then click the &lt;strong&gt;Update Directory&lt;/strong&gt; button.&lt;/li&gt;&lt;li&gt;Now, open Wireshark and start a trace.&lt;/li&gt;&lt;li&gt;Plug in the Cisco phone to a PoE port.&lt;/li&gt;&lt;li&gt;Watch for TFTP requests in Wireshark to make sure the phone is at least talking to the server.&lt;/li&gt;&lt;/ul&gt;Now if you've done everything correctly, SmartSIP will see the request for TFTP data from a MAC address matching a user in AD. It will swap out the [MAC] tag in the SEP[MAC].cnf.xml file along with all the tags within it so they contain the user's name and extension (or DID). You can actually watch the Wireshark trace data to see the file being sent to the phone along with the correct data within it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The dreaded "UNPROVISIONED" error...&lt;/strong&gt;&lt;br /&gt;The phone will show a message of "unprovisioned" if your CNF.XML isn't configured correctly. You can typically browse to your phone via http (i.e. &lt;a href="http://10.10.10.12/"&gt;http://10.10.10.12/&lt;/a&gt;) to view the phone logs. Pay special attention to the phone's log data as it will show you what's wrong. Edit your XML file appropriately to resolve the error.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;BONUS: Configure wallpaper on the phone&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a "Desktops\320x196x4\" directory below the "Cisco_79xx" directory included with SmartSIP. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SruHbo6iXcI/AAAAAAAAAFQ/po7HWlBLvJI/s1600-h/cisco_file_tree_images.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" iq="true" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SruHbo6iXcI/AAAAAAAAAFQ/po7HWlBLvJI/s320/cisco_file_tree_images.PNG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;Get a copy of the image you want to edit, open Microsoft Paint (Windows 7 works best) and format the image to a size of 320x196.&lt;/li&gt;&lt;li&gt;Save the image as a PNG file (again Windows 7 has MS Paint that does this well now).&lt;/li&gt;&lt;li&gt;Create a "list.xml" file as follows:&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SruIlDzsIBI/AAAAAAAAAFY/brFLzBqL8e0/s1600-h/listxml.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" iq="true" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SruIlDzsIBI/AAAAAAAAAFY/brFLzBqL8e0/s320/listxml.PNG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The list.xml file contains a list believe it or not, of images available to the phone.&lt;/li&gt;&lt;li&gt;To choose an image hit the Settings button on the phone, select "User Preferences" then select "Background Images". The phone should contact the TFTP server for the data (again Wireshark is the best tool to watch for this).&lt;/li&gt;&lt;/ul&gt;That's all for now. Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-8624508555779247039?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/8624508555779247039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/09/get-your-cisco-7941-to-work-with-ocs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8624508555779247039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8624508555779247039'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/09/get-your-cisco-7941-to-work-with-ocs.html' title='Get your Cisco 7941 to work with OCS with SmartSIP'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5p9ytPpDDjQ/SruNis2ewUI/AAAAAAAAAFg/NoOL2MLBrXU/s72-c/IMG_0188.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5658447114578143165</id><published>2009-09-22T09:43:00.002-06:00</published><updated>2009-09-22T21:07:07.360-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Polycom cx300'/><title type='text'>Polycom CX300 (codename "Oak")</title><content type='html'>Polycom is getting ready to release the Polycom CX300 USB phone which works with Office Communications Server 2007 R2 (QFE2). The handset comes with a more comfortable handset, a 2 line OLED display, and an upgraded speakerphone.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SrjtQy9YhWI/AAAAAAAAAEw/XGmk_-pZYxQ/s1600-h/polycom_cx300.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" iq="true" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SrjtQy9YhWI/AAAAAAAAAEw/XGmk_-pZYxQ/s320/polycom_cx300.PNG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;General availability will be at the end of October 2009 and MSRP is suggested to be around $199.00 USD.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I've had the opportunity to work with the beta version of the phone (called the "Oak) for the past six months and I'm happy with the overall quality and feature set. Similar to teathering a Tanjay (Polycom cx700) to your PC, your actions on the phone apply to the MOC client and vice versa. For example, if you place a call with the CX300 phone your MOC client will show the call being placed. Basic phone features such as mute are available from the handset as well.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I'm particularly happy with the overall button feel and handset. This is a big step in the right direction for Microsoft and the end users. I&amp;nbsp;forced myself to use the handset for a 2 hour call the other day and didn't have an issue with fatigue.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Considering the price point and feature set, I can't imagine anyone purchasing the CX200 anymore.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;If you get your hands on one of these units make sure you upgrade to QFE2 (July 28th patches). I haven't seen these available on Windows Update yet so you can get them manually from here:&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=b3b02475-150c-41fa-844a-c10a517040f4"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=b3b02475-150c-41fa-844a-c10a517040f4&lt;/a&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Cheers!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5658447114578143165?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5658447114578143165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/09/polycom-cx300-codename-oak.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5658447114578143165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5658447114578143165'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/09/polycom-cx300-codename-oak.html' title='Polycom CX300 (codename &quot;Oak&quot;)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5p9ytPpDDjQ/SrjtQy9YhWI/AAAAAAAAAEw/XGmk_-pZYxQ/s72-c/polycom_cx300.PNG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5011017571700730712</id><published>2009-09-15T20:16:00.010-06:00</published><updated>2009-09-23T15:51:46.665-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SNOM'/><category scheme='http://www.blogger.com/atom/ns#' term='SmartSIP'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='ip phone'/><title type='text'>SmartSIP fills the gap and more</title><content type='html'>I&amp;nbsp;spent some time in Redmond recently and had the pleasure of finally meeting Mike Stacy from Evangelyze Communications (&lt;a href="http://www.evangelyze.net/"&gt;http://www.evangelyze.net/&lt;/a&gt;). Like many other relationships formed with the power of Microsoft's Unified Communications platform, it was great chatting and talking over Communicator but being there in person has it's benefits as well.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SrqDF3k-FAI/AAAAAAAAAE4/XHpKtlC1B5s/s1600-h/evangelyze-communications-logo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" iq="true" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SrqDF3k-FAI/AAAAAAAAAE4/XHpKtlC1B5s/s320/evangelyze-communications-logo.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;Mike introduced me to a software application called SmartSIP which is the focus of my post today. I'll be posting a lot more in the coming months about this product's capabilities so be sure to check back frequently.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;I want to start off by talking about some of the limitations within OCS today. Some of these are truely "deployment blockers" for some of our clients. I'll then talk about how SmartSIP can solve some of these.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The Mediation Server role in OCS can only have one "next hop relationship". This means that if you have a voice gateway connected to a PRI and a SIP Trunk from a provider like Thinktel (&lt;a href="http://www.thinktel.ca/"&gt;http://www.thinktel.ca/&lt;/a&gt;), you need two Mediation Servers.&lt;/li&gt;&lt;li&gt;An OCS user can have only one LINE URI (phone number).&lt;/li&gt;&lt;li&gt;Mirosoft's solution to "branch office survivability" is to install an OCS/Mediation server locally.&lt;/li&gt;&lt;li&gt;There is only one IP phone solution&amp;nbsp;available from Microsoft's list of "optimized devices".&lt;/li&gt;&lt;li&gt;You can't connect other IP phone solutions to OCS and there are no OIP certified solutions that support RCC/DF.&lt;/li&gt;&lt;li&gt;The solutions available for shared phone situations often involve the use of a Polycom cx700 IP phone which is not only expensive, it's impracticle for many situations.&amp;nbsp;You wouldn't want to install a cx700 in an elevator or have one in a lunch room. The phone is an "executive style" touch screen&amp;nbsp;IP phone that has great purpose on the desk of a UC enabled user.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;SmartSIP isn't a gateway, it isn't an IP PBX, and it isn't easily classified. You install SmartSIP on your Mediation server (or a stand-alone server) and now you're open to all kinds of new solutions:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;You can send calls to one Mediation server and have multiple routes (primary or failover) to various IP endpoints. For example, a call made past the Mediation server can end up with SmartSIP deciding where to send the call based on the number dialed or if the next hop(s) are up.&lt;/li&gt;&lt;li&gt;If you want to assign alternate numbers to an OCS user, you simply define them in the AD user account properties (click the "other" button in the telephone field). SmartSIP has tight integration with Active Directory so it knows that a call to an alternate extension or DID should be sent to an endpoint.&lt;/li&gt;&lt;li&gt;In the case of an outage to OCS, your local IP phones (except the cx700) can talk/register directly to SmartSIP and use it as the routing engine for outbound calls. This means you have a branch office survivability solution without the need for an OCS server.&lt;/li&gt;&lt;li&gt;If you can load a SIP stack on an IP phone you can probably use it with OCS. I'm particularly happy about this feature since many customers may want to leverage the benefits of OCS but don't want to lose the investment in their existing IP phones.&lt;/li&gt;&lt;li&gt;If you want presence on your IP phone you can have it. Actually you can get presence on your TDM phone too with the use of a Portico TVA gateway.&lt;/li&gt;&lt;/ol&gt;I've posted in the past about how SNOM (&lt;a href="http://www.snom.com/"&gt;http://www.snom.com/&lt;/a&gt;) has come up with a brilliant solution for OCS deployments with their firmware that signs into AD/OCS. It isn't without it's challenges as well. For example, you end up with a user's id/password in the phone....so what happens when they change their password? The phone won't work.&lt;br /&gt;&lt;br /&gt;The better way to use the SNOM phones is to have them register with SmartSIP using the regular, non-OCS firmware. Also, SmartSIP has a TFTP server built in and will support automatic provisioning of the phones!!&lt;br /&gt;&lt;br /&gt;Okay, that's enough for today. Stay tuned for more soon...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5011017571700730712?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5011017571700730712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/09/smartsip-fills-gap-and-more.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5011017571700730712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5011017571700730712'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/09/smartsip-fills-gap-and-more.html' title='SmartSIP fills the gap and more'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5p9ytPpDDjQ/SrqDF3k-FAI/AAAAAAAAAE4/XHpKtlC1B5s/s72-c/evangelyze-communications-logo.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1942364729770622877</id><published>2009-08-28T21:29:00.008-06:00</published><updated>2009-09-25T11:52:50.359-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office Communications Server 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='MOC'/><category scheme='http://www.blogger.com/atom/ns#' term='CUCiMOC'/><title type='text'>Cisco Unified integration with Microsoft Office Communicator (CUCiMOC) - take 2</title><content type='html'>&lt;div style="text-align: left;"&gt;NOTE: This post has been removed.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object height="240" width="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/BiCZMZGWP5g&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/BiCZMZGWP5g&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1942364729770622877?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1942364729770622877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/08/cisco-unified-integration-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1942364729770622877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1942364729770622877'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/08/cisco-unified-integration-with.html' title='Cisco Unified integration with Microsoft Office Communicator (CUCiMOC) - take 2'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5021179917798025259</id><published>2009-08-25T14:03:00.003-06:00</published><updated>2009-08-26T07:53:57.213-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OCS iPhone'/><title type='text'>OCS and the iPhone, now we're talking!</title><content type='html'>If you have an iPhone and have been frustrated about the solutions available to link up with Office Communications Server 2007 R2 (OCS) then wait no longer (video link below). Modality Systems has created &lt;strong&gt;iDialog&lt;/strong&gt; in the Apple App Store for you at a price of $9.99. While many are shocked at the initial cost, if you weigh the options available from other vendors, it seems somewhat reasonable.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.modalitysystems.com/idialog/"&gt;http://www.modalitysystems.com/idialog/&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SpQ_bHeqxCI/AAAAAAAAAEg/0qURR36alMQ/s1600-h/idialog_iphone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" lk="true" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/SpQ_bHeqxCI/AAAAAAAAAEg/0qURR36alMQ/s320/idialog_iphone.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If you have an OCS 2007 R2&amp;nbsp;Communicator Web Access server you're all set. Typically when we set up these systems we have a split horizon DNS infrastructure so the server URL is the same if you're on the LAN via WiFi or over 3G.&lt;br /&gt;&lt;br /&gt;In terms of feature set, most of it is there; just no conferencing (IM), application sharing,&amp;nbsp;or voice callback.&amp;nbsp;The buttons on the bottom of the application show "Contacts", "Chats", "Me", and "Settings".&lt;br /&gt;&lt;br /&gt;The Contacts section shows your groups and takes about 5-10 seconds to appear. Each contact is selectable and will show Activity (presence), Calendar, email address, Title, Company, and various phone numbers based on your access level with them. You can tap to IM the person from the same screen. You can also tap a phone number and have the iPhone call them directly.&lt;br /&gt;&lt;br /&gt;The Chats section shows any existing IM conversations you're having with people. It is important to note that when you hit the home button, the application doesn't stay running in the background and any conversations will be lost.&lt;br /&gt;&lt;br /&gt;The Me section shows your Activity (presence), Note, Location, and phone numbers.&lt;br /&gt;&lt;br /&gt;Lastly, the Settings section allows you to enter or correct your authentication settings. You need a domain\username, a password, and the URL to your CWA server.&lt;br /&gt;&lt;br /&gt;So far I've found a few bugs with the grouping of IM contacts. Some contacts from other groups show up where they don't belong. Not bad for version 1.0.0 though :)&lt;br /&gt;&lt;br /&gt;VIDEO:&amp;nbsp;&lt;a href="http://files.me.com/jasonshave/n10xuf"&gt;http://files.me.com/jasonshave/n10xuf&lt;/a&gt;&amp;nbsp;(taken with an iPhone 3GS)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5021179917798025259?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5021179917798025259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/08/ocs-and-iphone-now-were-talking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5021179917798025259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5021179917798025259'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/08/ocs-and-iphone-now-were-talking.html' title='OCS and the iPhone, now we&apos;re talking!'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5p9ytPpDDjQ/SpQ_bHeqxCI/AAAAAAAAAEg/0qURR36alMQ/s72-c/idialog_iphone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-8683811680772924825</id><published>2009-08-04T18:51:00.010-06:00</published><updated>2009-08-13T16:08:27.947-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='caller ID'/><category scheme='http://www.blogger.com/atom/ns#' term='Tanjay'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><title type='text'>OCS 2007 Caller ID (name) almost there....</title><content type='html'>...but not quite yet.&lt;br /&gt;&lt;br /&gt;I've been waiting for this feature for quite some time as a lot of our customers see the lack of caller ID being a deployment blocker. Early on in the projects we heard different stories from end users who were frustrated with not having this feature. Some of them wanted inbound to work while others wanted outbound and to have the ability to mask their name.&lt;br /&gt;&lt;br /&gt;With the latest OCS 2007 R2 updates on July 28, 2009 we now have caller ID inbound, and outbound can be enabled via the following MS KB article: &lt;a href="http://support.microsoft.com/?kbid=972721"&gt;http://support.microsoft.com/?kbid=972721&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So why "not quite yet"?&lt;br /&gt;&lt;br /&gt;First, what you'll notice on a missed call or a voicemail is that the email you recieve doesn't have the name; just the number. I suspect this is due to Microsoft Exchange Server not knowing what to do with the name. Furthermore, I would assume the Exchange team is preparing a hotfix to accomodate the missed call/voicemail with name.....I hope.&lt;br /&gt;&lt;br /&gt;Second, I've just finished updating my Tanjay phone to the 3.5.6907.35 firmware and unfortunately it &lt;strong&gt;doesn't &lt;/strong&gt;pass caller ID. Grrrr! Also, if you're not getting caller ID on your MOC client and you have a Tanjay paired with your PC, unplug it and it should work again. It seems as though the Tanjay prevents the MOC client from displaying the name.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 172px; DISPLAY: block; HEIGHT: 198px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5369573045341904386" border="0" alt="" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/SoSOPEsd3gI/AAAAAAAAAEY/5Re3-eg3wuY/s400/IMG_0135.JPG" /&gt;&lt;br /&gt;If you've ever wondered how it all works, I had a great escalation engineer in India provide me with an explanation.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A PSTN call comes in and goes "ring no answer"; the call hangs up without leaving a message.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;OCS communicates with the Exchange UM server using a new "INVITE" command and relays the original information from the "INVITE" that came from the 'gateway' side of the Mediation server. As a side note, many people today are creating special Location Profiles for the Mediation Server so that inbound calls are normalized. This works well for calls that end up reaching users....but again, a missed call will only have the original number, not the normalized one.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The UM worker process performs a lookup in the user's personal contacts to see if it can resolve the number to a name. If successful, a message is generated by the UM server and submitted to the Hub Transport server for delivery to the user's mailbox.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;From what I recall at Exchange Ignite earlier this year, there are improved methods for looking up and determining caller ID (name) on onbound calls. As I learn more about this I'll post an update here.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Cheeers!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-8683811680772924825?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/8683811680772924825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/08/ocs-2007-caller-id-name-almost-there.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8683811680772924825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8683811680772924825'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/08/ocs-2007-caller-id-name-almost-there.html' title='OCS 2007 Caller ID (name) almost there....'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5p9ytPpDDjQ/SoSOPEsd3gI/AAAAAAAAAEY/5Re3-eg3wuY/s72-c/IMG_0135.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-4433950276523942104</id><published>2009-08-02T17:26:00.012-06:00</published><updated>2009-09-24T21:15:49.061-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Communicator 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='CUCiMOC'/><title type='text'>CUCiMOC .... what a crock!</title><content type='html'>Sorry this post has been removed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-4433950276523942104?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/4433950276523942104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/08/cucimocwhat-crock.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4433950276523942104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4433950276523942104'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/08/cucimocwhat-crock.html' title='CUCiMOC .... what a crock!'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-3553537620258325401</id><published>2009-07-29T17:21:00.003-06:00</published><updated>2009-07-29T17:41:42.555-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dialogic'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Voice'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Gateway'/><title type='text'>Improving call quality with Dialogic gateways</title><content type='html'>I've implemented my fair share of Microsoft OCS Enterprise Voice projects and each one has it's own nuances around voice quality. I've gathered a list of the common issues encountered with Dialogic gateways and their fixes which have worked well for me.&lt;br /&gt;&lt;p&gt;_______________________________________________________&lt;/p&gt;&lt;p&gt;&lt;a name="_Toc235334619"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Tanjay phone doesn’t produce “comfort noise”&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Description: &lt;/strong&gt;When a user from a “Tanjay” phone calls a PSTN user across a voice gateway such as a Dialogic, the PSTN user doesn’t hear the white noise (comfort noise) typically present on traditional phone conversations. The PSTN user assumes the line has been disconnected and often will say “hello, are you still there?”.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Resolution (Dialogic): &lt;/strong&gt;Typically you don’t want to enable VAD (Voice Activity Detection) on the gateway however this feature fixes this issue. From the voice gateway click on VOIP then Media and set the VAD to “on”.&lt;/p&gt;&lt;p&gt;_______________________________________________________&lt;/p&gt;&lt;p&gt;&lt;a name="_Toc235334620"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Audio levels rise and fall through conversation&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Description:&lt;/strong&gt; When an OCS user calls a PSTN user through a voice gateway, the  audio levels rise and fall as though something is adjusting volume. Also at the beginning of a phone call the audio is lower than normal.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Resolution (Dialogic):&lt;/strong&gt; Set the Automatic Gain Control (AGC) for both IP to TDM and TDM to IP calls to “off”. The reason for this change is that in R2 they included AGC as part of the base application. Levels are automatically adjusted at the client device (and server).&lt;/p&gt;&lt;p&gt;&lt;a name="_Toc235334621"&gt;_______________________________________________________&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;The ringback tone continues to play after the caller picks up&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;This issue is caused by the gateway not accepting “early media”. With the release of OCS R2, “early media” is a feature which permits OCS devices to complete the call setup quicker. The Dialogic gateway must be set to “Always” for this to function properly.&lt;/p&gt;&lt;p&gt;&lt;a name="_Toc235334621"&gt;_______________________________________________________&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I hope this helps some of you out there. &lt;/p&gt;&lt;p&gt;Cheers!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-3553537620258325401?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/3553537620258325401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/07/improving-call-quality-with-dialogic.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3553537620258325401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3553537620258325401'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/07/improving-call-quality-with-dialogic.html' title='Improving call quality with Dialogic gateways'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-8179167920368699548</id><published>2009-07-15T20:24:00.003-06:00</published><updated>2009-07-15T20:39:06.992-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office Communications Server 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Load balance'/><category scheme='http://www.blogger.com/atom/ns#' term='Ports'/><title type='text'>Undocumented ports for load balancing OCS 2007 R2?</title><content type='html'>Well it might not be "undocumented" exactly if you're reading the right documentation. Download the .chm file from Microsoft (&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=e9f86f96-aa09-4dca-9088-f64b4f01c703"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=e9f86f96-aa09-4dca-9088-f64b4f01c703&lt;/a&gt;) and you'll be okay whereas some of the online documentation I've seen seems to leave out a few critical ports. For those of you load balancing OCS 2007 R2 Enterprise Edition pools, here is the difinitive port list:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;5060&lt;/strong&gt; (Client to server SIP communication over TCP. Not required typically.)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;5061&lt;/strong&gt; (Client to Front End Server SIP communication over TLS)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;5065&lt;/strong&gt; (Used for incoming SIP listening requests for application sharing over TCP)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;5069&lt;/strong&gt; (Used by QoE Agent on Front End Servers, needs to be open only if this pool sends QoE data to Monitoring Server)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;5071&lt;/strong&gt; (SIP requests to Response Group service)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;5072&lt;/strong&gt; (SIP requests to Conferencing Attendant)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;5073&lt;/strong&gt; (SIP requests to Conferencing Attendant Announcement Server)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;5074&lt;/strong&gt; (SIP requests for Outside Voice Control)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;135&lt;/strong&gt; (To move users and perform other pool level Windows Management Instrumentation (WMI) operations over DCOM)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;444&lt;/strong&gt; (Communication between the internal components that manage conferencing and the conferencing servers)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;443&lt;/strong&gt; (HTTPS traffic to the pool URLs)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;80&lt;/strong&gt; (Used by Tanjay update process. This port is undocumented but required.)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Also the following attributes/settings must be in place:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The load balancer must provide TCP-level affinity. This means that the load balancer must ensure that TCP connections can be established with one Office Communications Server 2007 R2 in the pool and all traffic on that connection destined for that same Office Communications Server 2007 R2.&lt;/li&gt;&lt;li&gt;The load balancer must provide a configurable TCP idle-timeout interval with a maximum value greater than or equal to the minimum of the REGISTER refresh or SIP Keep-Alive interval of 30 minutes.&lt;/li&gt;&lt;li&gt;The load balancer should support a rich set of metrics (round robin, least connections, weighted, and so forth). A weighted least connections-based load balancing mechanism is recommended for the load balancer. This means that the load balancer will rank all Office Communications Servers 2007 R2 based on the weight assigned to them and the number of outstanding connections. This rank will then be used to pick the Office Communications Server 2007 R2 to be used for the next connection request.&lt;/li&gt;&lt;li&gt;The load balancer must be able to detect Office Communications Server 2007 R2 availability by establishing TCP connections to either port 5060 or 5061, depending on which is active (often called a heartbeat or monitor). The polling interval must be a configurable value with a minimum value of at least five seconds. The load balancer must not select an Office Communications Server 2007 R2 that shuts down until a successful TCP connection (heartbeat) can be established again.&lt;/li&gt;&lt;li&gt;Every Office Communications Server 2007 R2 must have exactly one network adapter. Multihoming an Office Communications Server 2007 R2 is not supported.&lt;/li&gt;&lt;li&gt;The network adapter must have exactly one static IP address. This IP address will be used for the incoming load-balanced traffic.&lt;/li&gt;&lt;li&gt;The computer must have a registered FQDN. The IP address registered for this FQDN must be publicly accessible from within the enterprise.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Cheers! &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-8179167920368699548?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/8179167920368699548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/07/undocumented-ports-for-load-balancing.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8179167920368699548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8179167920368699548'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/07/undocumented-ports-for-load-balancing.html' title='Undocumented ports for load balancing OCS 2007 R2?'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-6845048684607298414</id><published>2009-07-15T17:54:00.009-06:00</published><updated>2009-07-15T19:14:42.089-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CWA'/><category scheme='http://www.blogger.com/atom/ns#' term='Communicator Web Access'/><category scheme='http://www.blogger.com/atom/ns#' term='collocate'/><title type='text'>Don't collocate CWA with OCS...but if you want to, read on....</title><content type='html'>&lt;p&gt;So I've come across this several times before.....the client is starting to frown when you say that CWA needs to be installed on a separate server and the 'village of servers' begins to grow. The following steps will illustrate how to install CWA on the same server as OCS. There are a few key steps necessary so be sure to read in detail:&lt;/p&gt;&lt;p&gt;Before I get into the specifics, CWA is not officially supported in a collocated configuration. Now onto the meat.....the 2 primary things you need to watch out for is the multitude of IP's you need on the server and how DNS will react to this. Ultimately you're binding as many as 3 IP's to the same NIC which will accept connections to the OS for port 443 among other things. To avoide collision you need to separate OCS from CWA logically as follows:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Install OCS as you normally would (Enterprise or Standard; it doesn't matter).&lt;/li&gt;&lt;li&gt;If you're setting up CWA for both Internal and External clients you will need 2 additional IP addresses. Add these IP's to the same NIC used for OCS. Oh and if you're using NIC teaming, you may as well undo the team and go back to one card as this isn't a supported configuration (Audio/Video issues will be seen with teamed NIC's).While you're in the TCP/IP properties of your NIC, be sure to uncheck the DNS registration option.&lt;/li&gt;&lt;/ul&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 369px; DISPLAY: block; HEIGHT: 299px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5358842326684042146" border="0" alt="" src="http://1.bp.blogspot.com/_5p9ytPpDDjQ/Sl5utClUg6I/AAAAAAAAAEQ/YEX6csi_CUA/s400/ocs-dns-disable.PNG" /&gt; &lt;ul&gt;&lt;li&gt;If you added the IP's before disabling automatic DNS registration you may need to go back into your DNS server and remove all the A records corresponding to your server. If not, simply remove the single A record for your server. Then, manually add the A record back in to ensure it isn't 'expired' from the DNS server.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Now you're ready to modify OCS:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Open the OCS Admin tool.&lt;/li&gt;&lt;li&gt;Expand the pool (or server node if you're using Standard Edition) and right-click the node and choose Properties, then Front End Properties.&lt;/li&gt;&lt;li&gt;On the General tab, double-click the Addresses section and change the address to reflect the same one you entered in DNS for the server name (pool IP).&lt;/li&gt;&lt;li&gt;Next, click the IM Conferencing tab and change the IP address drop-down to the pool IP.&lt;/li&gt;&lt;li&gt;Next, click the Telephony Conferencing tab and do the same then click OK to close the window.&lt;/li&gt;&lt;li&gt;Right-click the server name again in the OCS Admin tool, navigate to Properties, then Web Conferencing Server properties.&lt;/li&gt;&lt;li&gt;Change the IP address to reflect your pool IP then click OK to close the window.&lt;/li&gt;&lt;li&gt;Right-click the server again and choose Properties, then A/V Conferencing properties.&lt;/li&gt;&lt;li&gt;Change the IP address to reflect your pool IP then click OK to close the window.&lt;/li&gt;&lt;li&gt;Right-click the server again and choose Properties, then Application Sharing properties.&lt;/li&gt;&lt;li&gt;Change the IP as you've done above.&lt;/li&gt;&lt;li&gt;Finally, open IIS and set the port 80 and 443 listeners for the Default Web Site to the pool IP. &lt;/li&gt;&lt;li&gt;Reboot your OCS server and make sure all services start properly.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;You're now done with the OCS portion and need to begin on the CWA preparation and installation.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Create your DNS entries for CWA. If you have a split horizon DNS you'll want to create an internal A record entry (i.e. cwa.contoso.com) pointing to the second IP of the OCS server. Then you'll want to create another A record entry (i.e. cwa.contoso.com) pointing to the public IP being NAT'd to the third IP of the OCS server. What you end up with is something like:&lt;br /&gt;&lt;br /&gt;10.1.1.10 = ocsserver.contoso.com&lt;br /&gt;10.1.1.11 = cwa.contoso.com&lt;br /&gt;215.123.154.222 NAT'd to 10.1.1.12 = cwa.contoso.com&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Install CWA and create two sites (one for Internal, one for External) and assign each IP to the proper site. For more information about issues relating to Integrated Authentication with CWA, visit this post: &lt;a href="http://jasonshave.blogspot.com/2009/01/communcator-web-access-error-0-1-492.html"&gt;http://jasonshave.blogspot.com/2009/01/communcator-web-access-error-0-1-492.html&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;That should be it. Now you have IIS bound to specific IP addresses hosting different web sites (Web Components for OCS, CWA for Internal, and CWA for External).&lt;/p&gt;&lt;p&gt;Cheers!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-6845048684607298414?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/6845048684607298414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/07/dont-collocate-cwa-with-ocsbut-if-you.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6845048684607298414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6845048684607298414'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/07/dont-collocate-cwa-with-ocsbut-if-you.html' title='Don&apos;t collocate CWA with OCS...but if you want to, read on....'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5p9ytPpDDjQ/Sl5utClUg6I/AAAAAAAAAEQ/YEX6csi_CUA/s72-c/ocs-dns-disable.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-2479228765342002765</id><published>2009-07-03T08:34:00.002-06:00</published><updated>2009-07-03T08:37:10.829-06:00</updated><title type='text'>Passed OCS voice exam!</title><content type='html'>I finally passed this one. I wrote the beta exam some time last year and failed it by 1 or 2 questions. The beta exam was based on R1 features and had quite a few spelling mistakes and poorly worded questions. I was surprised to notice this exam I just wrote had the same content (R1 and not R2) along with the same mistakes.&lt;br /&gt;&lt;br /&gt;Anyway, for those of you wishing to write this exam, brush up on your OCS R1 technologies including the old method of updating Tanjay phones through SharePoint....&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-2479228765342002765?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/2479228765342002765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/07/passed-ocs-voice-exam.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2479228765342002765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2479228765342002765'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/07/passed-ocs-voice-exam.html' title='Passed OCS voice exam!'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-8163888046038085066</id><published>2009-06-06T13:21:00.013-06:00</published><updated>2009-07-09T13:13:09.679-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Normalization rule'/><category scheme='http://www.blogger.com/atom/ns#' term='no need for a plus'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Dial plan'/><title type='text'>Rethink the way you implement OCS Enterprise Voice</title><content type='html'>I'd like to start off this post by thanking Mike Stacy at &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;Evangelyze&lt;/span&gt; for opening my eyes to this new way of thinking about number &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;normalization&lt;/span&gt; and routing. This article discusses the options available to &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; voice &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;implementations&lt;/span&gt; surrounding the use of E.164 numbers and the plus sign (+) in your dial plan.&lt;br /&gt;&lt;br /&gt;I called Mike a month or so ago and we were talking about how to handle click to call on missed call &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;notifications&lt;/span&gt; via email. I noticed Microsoft's missed calls were normalized into E.164 and couldn't figure out how to make this happen. Even if you create a location profile for your Mediation server to handle a 10 digit inbound number transformed into E.164, Mike indicated the missed call is generated with the raw number from the SIP INVITE. The only way I can figure Microsoft makes this happen is at the gateway. They prefix the number with a "+1" on inbound 10 digit numbers. After testing this on my own, it works. However, this brought up the question......why am I adding digits on inbound calls and stripping them on outbound?&lt;br /&gt;&lt;br /&gt;This began a debate about what value the plus sign (+) is now that you don't need it in R2. Yes, that's right....you don't need a plus sign in your TEL URI or your &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;normalization&lt;/span&gt; rule(s). So you might be asking yourself, why would I care? Why not just add a plus sign to everything?&lt;br /&gt;&lt;br /&gt;There are two reasons for this but first I need to explain the difference between a number with a plus sign (+) and one without. When &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; sees a number with a plus sign it treats it as a "global number" and doesn't attempt to normalize it. Rather, it has already been normalized so it will attempt to find a route and call it. This is the most important concept to grasp here which I'll elaborate more on later.&lt;br /&gt;&lt;br /&gt;I had a lengthy discussion with a senior escalation engineer at Microsoft recently about the need for the plus sign in &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; voice. The Microsoft engineer indicated I wasn't using E.164 formatting with my &lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; solution and that what I was trying to do wasn't supported. So I asked him how you would possibly represent a non-DID such as "extension 2112"? He indicated you could use one of two formats as follows:&lt;br /&gt;&lt;br /&gt;Either: +2112&lt;br /&gt;Or use the DID with the extension: +17805552000;ext=2112&lt;br /&gt;&lt;br /&gt;&lt;span id="SPELLING_ERROR_9" class="blsp-spelling-error"&gt;Jochen&lt;/span&gt; &lt;span id="SPELLING_ERROR_10" class="blsp-spelling-error"&gt;Kunert&lt;/span&gt; has an excellent blog about this scenario: &lt;a href="http://blogs.technet.com/jkunert/archive/2008/08/19/ocs-2007-dialplan-using-non-did-numbers.aspx"&gt;http://blogs.technet.com/jkunert/archive/2008/08/19/ocs-2007-dialplan-using-non-did-numbers.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I explained to him that "+2112" isn't an E.164 number. He disagreed. I pointed him to: &lt;a href="http://en.wikipedia.org/wiki/E.164"&gt;http://en.wikipedia.org/wiki/E.164&lt;/a&gt; and explained that simply having a plus sign in front of a series of digits didn't mean it was an E.164 number.&lt;br /&gt;&lt;br /&gt;When it comes to using the full number with the extension (+17805552000;ext=2112) this creates it's own challenges. First, Exchange UM doesn't like to try and call people by saying their name (when you use the Auto Attendant). Second, there are gateways out there that don't like this format and can't handle digit &lt;span id="SPELLING_ERROR_11" class="blsp-spelling-error"&gt;manipulation&lt;/span&gt;. Lastly, I've seen issues when you try to forward your phone to a non-DID in this format (&lt;span id="SPELLING_ERROR_12" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; drops the extension number but keeps the "+17805552000"); likely a bug for now but still a pain in the butt.&lt;br /&gt;&lt;br /&gt;So back to the crux of the issue and why this is a problem for us....&lt;br /&gt;&lt;br /&gt;1. For click to dial scenarios which include missed calls or clicking &lt;span id="SPELLING_ERROR_13" class="blsp-spelling-error"&gt;someone's&lt;/span&gt; name in your &lt;span id="SPELLING_ERROR_14" class="blsp-spelling-error"&gt;organization&lt;/span&gt; (or federated list), you want to be able to click on a number and have your own &lt;span id="SPELLING_ERROR_15" class="blsp-spelling-error"&gt;organization's&lt;/span&gt; &lt;span id="SPELLING_ERROR_16" class="blsp-spelling-error"&gt;normalization&lt;/span&gt; rules kick in. &lt;strong&gt;If you have a plus sign in the number, it won't be normalized.&lt;/strong&gt; I mentioned this earlier....&lt;span id="SPELLING_ERROR_17" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; will treat these numbers as "global numbers" and it will skip client-side &lt;span id="SPELLING_ERROR_18" class="blsp-spelling-error"&gt;normalization&lt;/span&gt;. The end result is that you need to have rules in your gateway to strip the "+1" on outbound local calls.&lt;br /&gt;&lt;br /&gt;2. If you normalize all numbers to E.164 with a plus sign, you can't distinguish between local or long distance numbers easily. Here in Alberta we have a 780 area code which has overlapping local and long distance calling zones. This isn't that uncommon really. In order to restrict users from placing calls to 780 numbers which are long distance, we would have to create elaborate routes for all &lt;span id="SPELLING_ERROR_19" class="blsp-spelling-error"&gt;NXX&lt;/span&gt; values which are local to the user's phone policy, phone usage record, and route.&lt;br /&gt;&lt;br /&gt;Let's humor this scenario quickly. If you have very specific routes for local numbers such as ^\+1780([966])(\d{4})$ you still need to build rules in at your next hop to remove the "+1" because the phone company needs 10 digits on a local call. So now you have twice as much complexity built out in &lt;span id="SPELLING_ERROR_20" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; and your gateway(s). Too much to manage....&lt;br /&gt;&lt;br /&gt;A better way to design this would be to follow these simple rules:&lt;br /&gt;&lt;br /&gt;1. Normalize numbers to a format people would normally use when trying to place a phone call. For example, if &lt;span id="SPELLING_ERROR_21" class="blsp-spelling-error"&gt;somone&lt;/span&gt; wants to call a 10 digit local number, don't add a "+1" to it. Also if someone wants to dial a 4 digit internal number you can normalize it to a DID (i.e. 7805551212) or a non-DID (i.e. 2112).&lt;br /&gt;&lt;br /&gt;2. Create a catch-all &lt;span id="SPELLING_ERROR_22" class="blsp-spelling-error"&gt;normalization&lt;/span&gt; rule to format 10 digit North America numbers with a "1" in front of it.&lt;br /&gt;&lt;br /&gt;3. Don't add a plus sign to normalized numbers. This includes your numbers in Active Directory. You want client-side &lt;span id="SPELLING_ERROR_23" class="blsp-spelling-error"&gt;normalization&lt;/span&gt; to handle all possible scenarios for dialing. You can put numbers in their 11 digit format (i.e. 17805551212) but leave them as is.&lt;br /&gt;&lt;br /&gt;4. At the gateway keep it simple. You shouldn't need to populate your gateway with many inbound or outbound rules. The only exception to this would be for click to dial scenarios where you click on a federated contact who has their number shown as E.164.&lt;br /&gt;&lt;br /&gt;So I encourage discussion on this topic as I have spent a lot of time thinking about the pros and cons of this way of designing voice solutions.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;Jason&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-8163888046038085066?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/8163888046038085066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/06/rethink-way-you-implement-ocs.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8163888046038085066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8163888046038085066'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/06/rethink-way-you-implement-ocs.html' title='Rethink the way you implement OCS Enterprise Voice'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-6572033531980480685</id><published>2009-05-28T07:18:00.008-06:00</published><updated>2009-05-28T08:24:39.484-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOC'/><category scheme='http://www.blogger.com/atom/ns#' term='auto client update feature'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><title type='text'>Auto client update in OCS 2007 R2</title><content type='html'>I have to give Aaron &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;Tiensivu&lt;/span&gt; credit for this entry today. The ability for the &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; server to deliver a new version of the &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;MOC&lt;/span&gt; client is an interesting method for keeping your client machines up to date however it does have its own drawbacks as well.&lt;br /&gt;&lt;br /&gt;Aaron's blog explains how to set this up and I have included my concise steps below as well:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.tiensivu.com/aaron/archives/1865-Demystifying-the-Office-Communicator-2007-R2-Client-Auto-Update-feature-and-how-to-setup-it-up.html"&gt;http://blog.tiensivu.com/aaron/archives/1865-Demystifying-the-Office-Communicator-2007-R2-Client-Auto-Update-feature-and-how-to-setup-it-up.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Download your Communicator patch file (.&lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;msp&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Log into your &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; server, run the admin tool and right click your server (for standard edition) or your pool name (for enterprise edition) and choose &lt;strong&gt;Filtering Tools&lt;/strong&gt; then &lt;strong&gt;Client Version Filter&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Add &lt;/strong&gt;button&lt;/li&gt;&lt;li&gt;Set the User Agent Header to &lt;strong&gt;&lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;OC&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Populate the version numbers to coincide with the version you want to update. For example, if you have clients at 6907.0 and you want to patch them to 6907.9 then type in the values as per the image below:&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 397px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5340866025699445042" border="0" alt="" src="http://3.bp.blogspot.com/_5p9ytPpDDjQ/Sh6RWm7EiTI/AAAAAAAAAEI/Q0PQ4I9Esbg/s400/ocsupdate1.PNG" /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Set the remaining options as shown above. One difference here is that I like to set the folder name to be equal to the patch I'm upgrading to (i.e. 6907.9).&lt;/li&gt;&lt;li&gt;Next, if you're running Standard Edition, create the folder structure show in the image above &lt;strong&gt;exactly. &lt;/strong&gt;For example, on Standard Edition use: &lt;strong&gt;C:\Program Files\Microsoft Office Communications Server 2007 R2\Web Components\&lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;AutoUpdate&lt;/span&gt;\Files\6907.9\x32\&lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;fre&lt;/span&gt;\1033. &lt;/strong&gt;&lt;/li&gt;&lt;li&gt;If you're running Enterprise Edition use your shared file location you specified for your Client Update share: &lt;strong&gt;\\&lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;servername&lt;/span&gt;\client_update\Files\6907.9\x32\&lt;span id="SPELLING_ERROR_9" class="blsp-spelling-error"&gt;fre&lt;/span&gt;\1033.&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Now that you have the file structure in place, copy your &lt;span id="SPELLING_ERROR_10" class="blsp-spelling-error"&gt;msp&lt;/span&gt; file to the 1033 folder.&lt;/li&gt;&lt;li&gt;Your clients should now update properly. You can right-click on the Communicator icon in the system tray and choose &lt;strong&gt;Configuration Information&lt;/strong&gt; to view the update status.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So here is what I don't like about this process....&lt;/p&gt;&lt;p&gt;1. The user needs to have the right to install software. This update process is not much good to organizations with typical security measures in place. &lt;/p&gt;&lt;p&gt;2. These patches should be managed through the companies patch management strategy. Microsoft now offers patches to the &lt;span id="SPELLING_ERROR_11" class="blsp-spelling-error"&gt;MOC&lt;/span&gt; client through Windows Update so my suggestion would be to leverage that method instead.&lt;/p&gt;&lt;p&gt;Oh, and by the way....be sure to install the latest May update (6907.22) because previous versions apparently have a bug which prevent them from contacting the update server process.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-6572033531980480685?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/6572033531980480685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/05/auto-client-update-in-ocs-2007-r2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6572033531980480685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6572033531980480685'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/05/auto-client-update-in-ocs-2007-r2.html' title='Auto client update in OCS 2007 R2'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5p9ytPpDDjQ/Sh6RWm7EiTI/AAAAAAAAAEI/Q0PQ4I9Esbg/s72-c/ocsupdate1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5717724605768656689</id><published>2009-05-21T16:17:00.005-06:00</published><updated>2009-06-03T07:39:36.298-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Communicator 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Tanjay update R1'/><title type='text'>Rock solid Tanjay update!</title><content type='html'>I've found a fool proof way to update the Tanjay phones with or without signing in.&lt;br /&gt;&lt;br /&gt;If you want to update an R1 phone without signing into it:&lt;br /&gt;&lt;br /&gt;Add a DNS A record called "&lt;strong&gt;ucupdates.domainname.com&lt;/strong&gt;" where "domainname.com" is the fqdn of your pool name. Point the A record at your Enterprise pool server or Standard edition server. Also add a static WINS entry called "&lt;strong&gt;ucupdates&lt;/strong&gt;" and key in the same IP you did for the DNS record.&lt;br /&gt;&lt;br /&gt;If you want to update an R2 phone:&lt;br /&gt;&lt;br /&gt;Add a DNS A record called "&lt;strong&gt;ucupdates-r2.domainame.com&lt;/strong&gt;" where "domainname.com" is the fqdn of your pool name. Point the A record at your Enterprise pool server or Standard edition server. Also add a static WINS entry called "&lt;strong&gt;ucupdates-r2&lt;/strong&gt;" and key in the same IP you did for the DNS record.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;Jason&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5717724605768656689?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5717724605768656689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/05/rock-solid-tanjay-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5717724605768656689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5717724605768656689'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/05/rock-solid-tanjay-update.html' title='Rock solid Tanjay update!'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-4758265812009659781</id><published>2009-05-20T11:32:00.001-06:00</published><updated>2009-05-20T11:33:29.316-06:00</updated><title type='text'>New layout!</title><content type='html'>I was getting tired of trying to decipher which text was &lt;strong&gt;bold&lt;/strong&gt; and found the old layout to be too 'skinny' :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-4758265812009659781?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/4758265812009659781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/05/new-layout.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4758265812009659781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4758265812009659781'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/05/new-layout.html' title='New layout!'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7623692787473417806</id><published>2009-05-19T08:38:00.002-06:00</published><updated>2009-05-19T08:42:08.041-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Script install of OCS'/><title type='text'>Install pre-requisites for OCS - the easy way</title><content type='html'>Thanks to Tom Pacyk in Portland for this tip...&lt;br /&gt;&lt;br /&gt;One of the more annoying installation pains we often feel when we install OCS 2007 R2 on Windows 2008 Server is the multitude of requirements which need to be met. Even when you think you've installed them all (IIS in particular), you inevitably find out there are more and more to install.&lt;br /&gt;&lt;br /&gt;Tom's information here: &lt;a href="http://www.confusedamused.com/notebook/ocs-2007-r2-front-end-server-2008-requirements-made-easy/"&gt;http://www.confusedamused.com/notebook/ocs-2007-r2-front-end-server-2008-requirements-made-easy/&lt;/a&gt; shows you how easy the installation can be when you leverage an XML file for installing pre-requisites.&lt;br /&gt;&lt;br /&gt;Thanks Tom!&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;&lt;br /&gt;Jason&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7623692787473417806?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7623692787473417806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/05/install-pre-requisites-for-ocs-easy-way.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7623692787473417806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7623692787473417806'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/05/install-pre-requisites-for-ocs-easy-way.html' title='Install pre-requisites for OCS - the easy way'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-3679822491101833260</id><published>2009-05-16T13:51:00.011-06:00</published><updated>2009-05-20T11:42:43.531-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Configuration guide'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><title type='text'>Microsoft Unified Communications Reference Guide: Part 2 (IM)</title><content type='html'>This post will cover the basic requirements for Instant Messaging features and will outline all the components you will need to install/configure/support the environment.&lt;br /&gt;&lt;br /&gt;To get started, lets build out a scenario first. A company has less than 5000 users who need Instant Messaging for both internal and external employees. Connectivity to federated users and Public &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;IM&lt;/span&gt; is necessary. The company would like to report on both the usage of Instant Messaging but also be able to archive and extract historical conversations. High availability isn't a requirement today but may become important in the near future.&lt;br /&gt;&lt;br /&gt;What infrastructure you need:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Office Communications Server 2007 R2 Enterprise Edition&lt;/li&gt;&lt;li&gt;Monitoring Server (collocated with &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; pool server)&lt;/li&gt;&lt;li&gt;Archiving Server (collocated &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;wtih&lt;/span&gt; &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; pool server)&lt;/li&gt;&lt;li&gt;Edge Server&lt;/li&gt;&lt;li&gt;&lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;SQL&lt;/span&gt; Server database server (for &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;OCS&lt;/span&gt;/&lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;CDR&lt;/span&gt;/Archive DB)&lt;/li&gt;&lt;li&gt;File Server or SAN (for shared file data)&lt;/li&gt;&lt;li&gt;Existing &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;PKI&lt;/span&gt; infrastructure&lt;/li&gt;&lt;li&gt;Firewall with two DMZ networks ("&lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; Internal" and "&lt;span id="SPELLING_ERROR_9" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; External")&lt;/li&gt;&lt;li&gt;Split-horizon &lt;span id="SPELLING_ERROR_10" class="blsp-spelling-error"&gt;DNS&lt;/span&gt; infrastructure&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;For collocation information please see the following Microsoft article: &lt;a href="http://technet.microsoft.com/en-us/library/dd425201(office.13).aspx"&gt;http://technet.microsoft.com/en-us/library/dd425201(office.13).aspx&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;The above article suggests you can collocate all the above server roles with the exception of the Edge Server on the same system. It isn't typically recommended that the &lt;span id="SPELLING_ERROR_11" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; Server and Archiving Server roles be collocated, however given today's powerful servers I'm more inclined to put it all together.&lt;/p&gt;&lt;p&gt;From a physical server perspective you need:&lt;/p&gt;&lt;p&gt;1 - Dual &lt;span id="SPELLING_ERROR_12" class="blsp-spelling-error"&gt;proc&lt;/span&gt;/quad core server with 8GB RAM for &lt;span id="SPELLING_ERROR_13" class="blsp-spelling-error"&gt;OCS&lt;/span&gt;/Monitoring/Archiving&lt;br /&gt;1 - Single &lt;span id="SPELLING_ERROR_14" class="blsp-spelling-error"&gt;proc&lt;/span&gt;/quad core server with 4GB RAM for Edge (must have dual &lt;span id="SPELLING_ERROR_15" class="blsp-spelling-error"&gt;NIC's&lt;/span&gt;)&lt;br /&gt;1 - Single &lt;span id="SPELLING_ERROR_16" class="blsp-spelling-error"&gt;proc&lt;/span&gt;/quad core server with 4GB RAM for &lt;span id="SPELLING_ERROR_17" class="blsp-spelling-error"&gt;SQL&lt;/span&gt; database (unless you have one already)&lt;/p&gt;&lt;p&gt;You will be building an Enterprise Edition environment which has a defined "pool" name. This name is used by clients when they connect and is important to determine before you begin installing.&lt;/p&gt;&lt;p&gt;My guidelines for creating a pool name are quite simple. I typically ask the customer what their SMTP domain is. Let's say it's "&lt;span id="SPELLING_ERROR_18" class="blsp-spelling-error"&gt;contoso&lt;/span&gt;.com". I then ask what their &lt;span id="SPELLING_ERROR_19" class="blsp-spelling-error"&gt;NetBIOS&lt;/span&gt; domain name and domain &lt;span id="SPELLING_ERROR_20" class="blsp-spelling-error"&gt;fqdn&lt;/span&gt; are. The reason for this is that I need to determine if the domain &lt;span id="SPELLING_ERROR_21" class="blsp-spelling-error"&gt;fqdn&lt;/span&gt; is different from the SMTP domain (i.e. Domain &lt;span id="SPELLING_ERROR_22" class="blsp-spelling-error"&gt;fqdn&lt;/span&gt;=&lt;span id="SPELLING_ERROR_23" class="blsp-spelling-error"&gt;contoso&lt;/span&gt;.local, SMTP domain=&lt;span id="SPELLING_ERROR_24" class="blsp-spelling-error"&gt;contoso&lt;/span&gt;.com).&lt;/p&gt;&lt;p&gt;When you create your Enterprise pool name, the setup application will attempt to suggest a pool name by combining your domain &lt;span id="SPELLING_ERROR_25" class="blsp-spelling-error"&gt;fqdn&lt;/span&gt; with the name you've given the pool. I always override this because a pool name of "pool01.contoso.local" is of no use to us if we attempt to create SIP &lt;span id="SPELLING_ERROR_26" class="blsp-spelling-error"&gt;URI's&lt;/span&gt; with a "&lt;span id="SPELLING_ERROR_27" class="blsp-spelling-error"&gt;contoso&lt;/span&gt;.com" suffix. There is a GPO you can set whereby the &lt;span id="SPELLING_ERROR_28" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; client application won't deny a &lt;span id="SPELLING_ERROR_29" class="blsp-spelling-error"&gt;logon&lt;/span&gt; if the SIP URI suffix is different from the pool &lt;span id="SPELLING_ERROR_30" class="blsp-spelling-error"&gt;fqdn&lt;/span&gt;. &lt;strong&gt;This is very important as you can't change it easily once you've created the pool name.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span id="SPELLING_ERROR_31" class="blsp-spelling-error"&gt;DNS&lt;/span&gt; Requirements:&lt;/p&gt;&lt;p&gt;1 Internal A record for the pool name = &lt;strong&gt;pool01.contoso.com&lt;/strong&gt; pointing to the &lt;span id="SPELLING_ERROR_32" class="blsp-spelling-error"&gt;IP&lt;/span&gt; of the Enterprise Edition server.&lt;/p&gt;&lt;p&gt;1 Internal &lt;span id="SPELLING_ERROR_33" class="blsp-spelling-error"&gt;SRV&lt;/span&gt; record &lt;strong&gt;_sipinternaltls._tcp.contoso.com&lt;/strong&gt; pointing to the pool name (i.e. &lt;strong&gt;pool01.contoso.com&lt;/strong&gt;). Set the port to 5061, the priority and weight as default.&lt;/p&gt;&lt;p&gt;1 External &lt;span id="SPELLING_ERROR_34" class="blsp-spelling-error"&gt;SRV&lt;/span&gt; record &lt;strong&gt;_sip._tls.contoso.com&lt;/strong&gt; pointing to &lt;strong&gt;sip.contoso.com&lt;/strong&gt;. Set the port to 443, the priority and weight as default.&lt;/p&gt;&lt;p&gt;1 External A record for the Edge server's Access Edge role = &lt;strong&gt;sip.contoso.com&lt;/strong&gt; which should point to the public &lt;span id="SPELLING_ERROR_35" class="blsp-spelling-error"&gt;IP&lt;/span&gt; for this service.&lt;/p&gt;&lt;p&gt;Certificate Requirements:&lt;/p&gt;&lt;p&gt;1 Internal &lt;span id="SPELLING_ERROR_36" class="blsp-spelling-error"&gt;PKI&lt;/span&gt; certificate with a subject name of &lt;strong&gt;pool01.contoso.com&lt;/strong&gt; and a subject alternative name of &lt;strong&gt;server01.contoso.local&lt;/strong&gt;, and &lt;strong&gt;sipinternal.contoso.com&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;1 External public CA certificate with a subject name of &lt;strong&gt;sip.contoso.com&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;span id="SPELLING_ERROR_37" class="blsp-spelling-error"&gt;IP&lt;/span&gt; Address Requirements:&lt;/p&gt;&lt;p&gt;1 &lt;span id="SPELLING_ERROR_38" class="blsp-spelling-error"&gt;IP&lt;/span&gt; for the pool server&lt;br /&gt;1 &lt;span id="SPELLING_ERROR_39" class="blsp-spelling-error"&gt;IP&lt;/span&gt; for the database server&lt;br /&gt;2 &lt;span id="SPELLING_ERROR_40" class="blsp-spelling-error"&gt;IP's&lt;/span&gt; for the Edge Server (1 internal/1 external)&lt;/p&gt;&lt;p&gt;NOTE: If you're &lt;span id="SPELLING_ERROR_41" class="blsp-spelling-error"&gt;NAT'ing&lt;/span&gt; the external &lt;span id="SPELLING_ERROR_42" class="blsp-spelling-error"&gt;IP&lt;/span&gt; for the Edge server then you should have a public &lt;span id="SPELLING_ERROR_43" class="blsp-spelling-error"&gt;IP&lt;/span&gt; as well as a private &lt;span id="SPELLING_ERROR_44" class="blsp-spelling-error"&gt;IP&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;File Share requirements:&lt;/p&gt;&lt;p&gt;Meeting Content Share: &lt;a href="file://server/meeting_content"&gt;file://server/meeting_content&lt;/a&gt;&lt;br /&gt;Meeting &lt;span id="SPELLING_ERROR_45" class="blsp-spelling-error"&gt;Metadata&lt;/span&gt; Share: &lt;a href="file://server/meeting_metadata"&gt;file://server/meeting_metadata&lt;/a&gt;&lt;br /&gt;Application Data Share: &lt;a href="file://server/app_data"&gt;file://server/app_data&lt;/a&gt;&lt;br /&gt;Client Update Share: &lt;a href="file://server/client_update"&gt;file://server/client_update&lt;/a&gt;&lt;br /&gt;Address Book Share: &lt;a href="file://server/abs_store"&gt;file://server/abs_store&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Service Accounts:&lt;/p&gt;&lt;p&gt;&lt;span id="SPELLING_ERROR_46" class="blsp-spelling-error"&gt;RTCService&lt;/span&gt;&lt;br /&gt;&lt;span id="SPELLING_ERROR_47" class="blsp-spelling-error"&gt;RTCComponentService&lt;/span&gt;&lt;br /&gt;&lt;span id="SPELLING_ERROR_48" class="blsp-spelling-error"&gt;RTCGuestAccessUser&lt;/span&gt;&lt;br /&gt;&lt;span id="SPELLING_ERROR_49" class="blsp-spelling-error"&gt;RTCEdgeUser&lt;/span&gt; (often times a local user if no perimeter domain exists)&lt;/p&gt;&lt;p&gt;Database Requirements:&lt;/p&gt;&lt;p&gt;&lt;span id="SPELLING_ERROR_50" class="blsp-spelling-error"&gt;RTC&lt;/span&gt; (persistent user data/contacts/allow &amp;amp; block lists/etc)&lt;br /&gt;&lt;span id="SPELLING_ERROR_51" class="blsp-spelling-error"&gt;RTCConfig&lt;/span&gt; (global/pool/computer-level settings)&lt;br /&gt;&lt;span id="SPELLING_ERROR_52" class="blsp-spelling-error"&gt;RTCDyn&lt;/span&gt; (transient user data)&lt;br /&gt;&lt;span id="SPELLING_ERROR_53" class="blsp-spelling-error"&gt;LCSLog&lt;/span&gt; (used by Archiving Server for &lt;span id="SPELLING_ERROR_54" class="blsp-spelling-error"&gt;IM&lt;/span&gt; data)&lt;br /&gt;&lt;span id="SPELLING_ERROR_55" class="blsp-spelling-error"&gt;RTCCDR&lt;/span&gt; (used by Monitoring Server's call detail recording and &lt;span id="SPELLING_ERROR_56" class="blsp-spelling-error"&gt;IM&lt;/span&gt; stats)&lt;br /&gt;&lt;span id="SPELLING_ERROR_57" class="blsp-spelling-error"&gt;QOEMetrics&lt;/span&gt; (used by Monitoring Server's quality of experience data)&lt;/p&gt;&lt;p&gt;Firewall requirements:&lt;/p&gt;&lt;p&gt;Permit 443/&lt;span id="SPELLING_ERROR_58" class="blsp-spelling-error"&gt;TCP&lt;/span&gt; from any to Public &lt;span id="SPELLING_ERROR_59" class="blsp-spelling-error"&gt;IP&lt;/span&gt; of Edge Server&lt;br /&gt;Permit 5061/&lt;span id="SPELLING_ERROR_60" class="blsp-spelling-error"&gt;TCP&lt;/span&gt; from any to Public &lt;span id="SPELLING_ERROR_61" class="blsp-spelling-error"&gt;IP&lt;/span&gt; of Edge Server&lt;br /&gt;Permit 5061/&lt;span id="SPELLING_ERROR_62" class="blsp-spelling-error"&gt;TCP&lt;/span&gt; from Internal &lt;span id="SPELLING_ERROR_63" class="blsp-spelling-error"&gt;IP&lt;/span&gt; of Edge Server to &lt;span id="SPELLING_ERROR_64" class="blsp-spelling-error"&gt;IP&lt;/span&gt; of the pool server&lt;br /&gt;Permit 5061/&lt;span id="SPELLING_ERROR_65" class="blsp-spelling-error"&gt;TCP&lt;/span&gt; from pool server &lt;span id="SPELLING_ERROR_66" class="blsp-spelling-error"&gt;IP&lt;/span&gt; to Internal &lt;span id="SPELLING_ERROR_67" class="blsp-spelling-error"&gt;IP&lt;/span&gt; of Edge Server&lt;/p&gt;&lt;p&gt;Now that we have most of the base requirements for the infrastructure, let's talk about the Edge servers. When I first began installing an Edge server I was perplexed at the idea of an "internal" vs. "external" interface and how these would sit on two different networks. After reading some of the &lt;span id="SPELLING_ERROR_68" class="blsp-spelling-error"&gt;OCS&lt;/span&gt; documentation I found that you can actually set the Edge server up in three different configurations.&lt;/p&gt;&lt;p&gt;First, the Edge servers can be set up so the external and internal network interfaces are on completely separate networks from the "&lt;span id="SPELLING_ERROR_69" class="blsp-spelling-error"&gt;internet&lt;/span&gt;" network and the "&lt;span id="SPELLING_ERROR_70" class="blsp-spelling-error"&gt;lan&lt;/span&gt;" network. This means your external interface is on a DMZ network protected by a firewall and using NAT (or not). This also means your internal interface is on a DMZ network protected by the same (or another) firewall.&lt;/p&gt;&lt;p&gt;Q: So how can you have two network interfaces each on separate networks with two default gateways?&lt;br /&gt;A: Well you can do this but I wouldn't advise it. If connectivity is lost for a certain duration, you may have all traffic routed through the wrong &lt;span id="SPELLING_ERROR_71" class="blsp-spelling-error"&gt;NIC&lt;/span&gt;. This is due to a feature called "dead gateway detection" and is enabled by default. Read this link for more: &lt;a href="http://support.microsoft.com/kb/159168/EN-US/"&gt;http://support.microsoft.com/kb/159168/EN-US/&lt;/a&gt;. My suggestion would be to set your default gateway on your external interface and add a static route for any internal networks you need to get to (i.e. pool server, etc.).&lt;/p&gt;&lt;p&gt;Second, you can have both "internal" and "external" physical interfaces on the same network segment. Again, the external interface will hold the default gateway and a static route is required for all traffic destined for the LAN (i.e. your pool server(s)).&lt;/p&gt;&lt;p&gt;Third, you can get away with a single &lt;span id="SPELLING_ERROR_72" class="blsp-spelling-error"&gt;NIC&lt;/span&gt; but this isn't supported by Microsoft.&lt;/p&gt;&lt;p&gt;Another interesting case I run into with each project is an over zealous IT administrator wanting to team every &lt;span id="SPELLING_ERROR_73" class="blsp-spelling-error"&gt;NIC&lt;/span&gt; he can find. I really don't get this as I've only seen one network card ever fail in my 15 years of working in IT. Often times the network throughout isn't redundant and the team of &lt;span id="SPELLING_ERROR_74" class="blsp-spelling-error"&gt;NIC's&lt;/span&gt; are not connected to different switches, etc. etc. &lt;/p&gt;&lt;p&gt;Q: So what about &lt;span id="SPELLING_ERROR_75" class="blsp-spelling-error"&gt;NIC&lt;/span&gt; teaming in general for &lt;span id="SPELLING_ERROR_76" class="blsp-spelling-error"&gt;OCS&lt;/span&gt;?&lt;br /&gt;A: Well I've had a few Microsoft support cases with &lt;span id="SPELLING_ERROR_77" class="blsp-spelling-error"&gt;Jithendranath&lt;/span&gt; &lt;span id="SPELLING_ERROR_78" class="blsp-spelling-error"&gt;Reddy&lt;/span&gt; and he is a smart guy! Check this post of people "having no issues" with &lt;span id="SPELLING_ERROR_79" class="blsp-spelling-error"&gt;NIC&lt;/span&gt; teaming: &lt;a href="http://social.microsoft.com/Forums/en-US/communicationsserversetup/thread/f3dd11d0-a108-4dad-bcbd-976f08bc765b"&gt;http://social.microsoft.com/Forums/en-US/communicationsserversetup/thread/f3dd11d0-a108-4dad-bcbd-976f08bc765b&lt;/a&gt;. My response is much the same. Leave it out....don't confuse the design by adding this complexity as it will almost always cause more work than it is worth!&lt;/p&gt;&lt;p&gt;Well this is enough for now. Keep checking back for updates to this post for the latest information.&lt;/p&gt;&lt;p&gt;Cheers,&lt;/p&gt;&lt;p&gt;Jason&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-3679822491101833260?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/3679822491101833260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/05/microsoft-unified-communications_8877.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3679822491101833260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3679822491101833260'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/05/microsoft-unified-communications_8877.html' title='Microsoft Unified Communications Reference Guide: Part 2 (IM)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-8197157366394443289</id><published>2009-05-16T08:44:00.003-06:00</published><updated>2009-05-16T09:44:43.194-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office Communications Server 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><title type='text'>Microsoft Unified Communications Reference Guide: Part 1 (Architecture)</title><content type='html'>Greetings,&lt;br /&gt;&lt;br /&gt;This part will cover the overall architecture of Microsoft's Unified Communications platform.&lt;br /&gt;&lt;br /&gt;One of the reasons I appreciate working with this platform is the truely unified nature of the application stack. We're dealing with two server products (for the most part) when it comes to Microsoft UC; Office Communications Server 2007 R2 and Exchange Server 2007.&lt;br /&gt;&lt;br /&gt;Office Communications Server 2007 R2 is available in two versions; Standard and Enterprise. The same goes for Exchange Server. So the first question is:&lt;br /&gt;&lt;br /&gt;Q: What is the difference between Standard and Enterprise for OCS and Exchange?&lt;br /&gt;A: It has to do mostly with your requirement for High Availability. Do you need HA? If so, then use Enterprise for both platforms.&lt;br /&gt;&lt;br /&gt;The Standard Edition of both OCS and Exchange do not support high availability at all. In fact with OCS you don't get the choice of where to install the database and shared components; it will install SQL Express locally.&lt;br /&gt;&lt;br /&gt;It should be worth mentioning that the server edition software is independent of the client licensing platform. For example, you can have an Enterprise OCS and Exchange CAL for your users who connect to a Standard Edition OCS/Exchange environment (and vice versa).&lt;br /&gt;&lt;br /&gt;Q: What is the difference between the Standard OCS CAL and Enterprise?&lt;br /&gt;A: &lt;a href="http://www.microsoft.com/communicationsserver/en/us/pricing-licensing.aspx"&gt;The Microsoft web site has a great page which talks about this&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Q: What is the difference between the Standard Exchange CAL and Enterprise?&lt;br /&gt;A: &lt;a href="http://www.microsoft.com/exchange/2007/evaluation/editions.mspx"&gt;Again the Microsoft web site explains this well.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When you license both Exchange and OCS with 'all the trimmings' you get the following high-level features:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;OCS Features&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Presence/Instant Messaging&lt;/li&gt;&lt;li&gt;Web Conferencing (Live Meeting)&lt;/li&gt;&lt;li&gt;PC to PC and voice/video&lt;/li&gt;&lt;li&gt;IP Telephony (VoIP)&lt;/li&gt;&lt;li&gt;Audio dial-in conferencing&lt;/li&gt;&lt;li&gt;Group chat&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Exchange UM features&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Unified Messaging&lt;/li&gt;&lt;li&gt;Outlook Voice Access&lt;/li&gt;&lt;li&gt;Auto Attendant&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;As a best practice I like to design OCS solutions so they include some additional Microsoft UC platforms such as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Microsoft OCS Monitoring Server (for QoE/CDR)&lt;/li&gt;&lt;li&gt;Microsoft OCS Archiving Server (for IM logging)&lt;/li&gt;&lt;li&gt;Microsoft OCS Edge Server (for remote IM/Voice/Video/Federation/etc)&lt;/li&gt;&lt;li&gt;Microsoft OCS Mediation Server (for VoIP/PSTN features)&lt;/li&gt;&lt;li&gt;Microsoft OCS Communicator Web Access (for dial-in conferencing and web-based IM)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Q: When do you need a Monitoring Server?&lt;br /&gt;A: I like to include the Monitoring Server role in just about every implementation for two reasons. First, the Quality of Experience technology is key to understanding the Mean Opinion Score (MOS) of your voice conversations. The MOS score is given to a voice call and is a simulated subjective analysis of voice quality on a per call basis. The QoE data is invaluable when troubleshooting voice quality issues and has improved significantly from the R1 release. Second, the CDR data rolled up into the SQL reports contains excellent information when it comes to determining how many IM conversations, PC to PC calls, or conferences were conducted in a certain time frame. You can use this data to gauge relative interest in the technology or for capacity planning.&lt;/p&gt;&lt;p&gt;Q: When do you need an Archiving Server?&lt;br /&gt;A: If you have a requirement to log Instant Message conversations.&lt;/p&gt;&lt;p&gt;Q: When do you need an Edge Server?&lt;br /&gt;A: If you have a requirement to communicate with other companies running OCS (Federation), you want to enable users to have public IM capability (Yahoo!/AOL/MSN), or you simply want to enable remote access (anonymous or authenticated). One of the primary reasons for an Edge Server is to permit people to join your hosted Live Meeting sessions.&lt;/p&gt;&lt;p&gt;Q: When do you need a Mediation Server?&lt;br /&gt;A: If you wish to enable Voice over IP and use OCS to place phone calls. The Mediation server performs a few tasks. First, it does basic protocol conversion from Microsoft's "RTAudio" codec to a more industry standard "G7.11" codec. Second, it performs encryption or decryption on voice traffic. Many vendors today offer this server in an appliance configuration where the Mediation Server is combined with a voice gateway; this is often called a "Hybrid Gateway". One vendor called "NET" &lt;a href="http://www.net.com/"&gt;www.net.com&lt;/a&gt; has a gateway called the VX1200 which can perform both tasks without the need for a Windows operating system. The conversion is performed "on chip" and the integration with AD means you can implement OCS voice with one less server! Last, the Mediation Server performs inbound number normalization for PSTN calls (more on this later).&lt;/p&gt;&lt;p&gt;Q: When do I need a CWA Server?&lt;br /&gt;A: If you want to provide dial-in audio conferencing or web-based IM.&lt;/p&gt;&lt;p&gt;That pretty much covers the high level components for now.&lt;/p&gt;&lt;p&gt;Cheers,&lt;/p&gt;&lt;p&gt;Jason&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-8197157366394443289?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/8197157366394443289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/05/microsoft-unified-communications_16.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8197157366394443289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8197157366394443289'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/05/microsoft-unified-communications_16.html' title='Microsoft Unified Communications Reference Guide: Part 1 (Architecture)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1308650455164484147</id><published>2009-05-16T08:35:00.002-06:00</published><updated>2009-05-16T08:44:17.768-06:00</updated><title type='text'>Microsoft Unified Communications Reference Guide: Part 0</title><content type='html'>Greetings,&lt;br /&gt;&lt;br /&gt;I'm creating this guide since my &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-corrected"&gt;colleagues&lt;/span&gt; and I often ask the same questions over and over again when implementing Microsoft UC solutions such as:&lt;br /&gt;&lt;br /&gt;What databases are used by OCS and how big are they?&lt;br /&gt;What type of certificate do you need for Unified Messaging and what subject name/subject alternative names should it have?&lt;br /&gt;&lt;br /&gt;This guide will cover all aspects of implementing both Microsoft Office Communications Server 2007 R2 and Microsoft Exchange Server 2007 with Unified Messaging.&lt;br /&gt;&lt;br /&gt;One of the most interesting topics of late is the need for &lt;a href="http://en.wikipedia.org/wiki/E.164"&gt;E.164 &lt;/a&gt;formatted phone numbers. This means more than simply having a "+" sign in front of the digits. The use of this format, or more interestingly the use of a plus sign, has been debated by many in the industry along with Microsoft's internal product group. This guide will cover my theory behind using E.164 numbers, DID's and non-DID's.&lt;br /&gt;&lt;br /&gt;Please feel free to email me or post your questions/comments/etc.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;&lt;br /&gt;Jason&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1308650455164484147?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1308650455164484147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/05/microsoft-unified-communications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1308650455164484147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1308650455164484147'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/05/microsoft-unified-communications.html' title='Microsoft Unified Communications Reference Guide: Part 0'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-4300718354920990556</id><published>2009-05-10T13:50:00.006-06:00</published><updated>2009-05-28T09:12:54.724-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net regular expression'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Number normalization'/><title type='text'>To "9" or not to "9", that is the question</title><content type='html'>I know, terrible title....&lt;br /&gt;&lt;br /&gt;Anyway I have a quick post today about normalizing numbers with a "9" prefix (or without) using one line rather than two rules. This tip comes from Mike Stacy.&lt;br /&gt;&lt;br /&gt;....edited on May 28, 2009....&lt;edit&gt;&lt;br /&gt;&lt;br /&gt;I've come across a nasty case where the MOC client normalizes the number but just doesn't want to dial it. I originally posted the fact that you could use a "?" following a number such as "9" so the input of that value is optional. As it turns out, this isn't the case.&lt;br /&gt;&lt;br /&gt;The following format does work:&lt;br /&gt;&lt;br /&gt;^(?:91|9|1|)(780\d{7})$&lt;br /&gt;$1&lt;br /&gt;&lt;br /&gt;This will normalize the following numbers:&lt;br /&gt;&lt;br /&gt;97805551212&lt;br /&gt;17805551212&lt;br /&gt;7805551212&lt;br /&gt;&lt;br /&gt;...all into the following:&lt;br /&gt;&lt;br /&gt;7805551212&lt;br /&gt;&lt;br /&gt;No need to create two rules to handle the 9, 1 or nothing in front of your numerical value.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-4300718354920990556?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/4300718354920990556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/05/to-9-or-not-to-9-that-is-question.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4300718354920990556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4300718354920990556'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/05/to-9-or-not-to-9-that-is-question.html' title='To &quot;9&quot; or not to &quot;9&quot;, that is the question'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-2523579532325799070</id><published>2009-05-08T11:38:00.003-06:00</published><updated>2009-05-08T14:03:38.781-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2007 CAS'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange Server 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Object Expected'/><category scheme='http://www.blogger.com/atom/ns#' term='2003 Mailbox'/><category scheme='http://www.blogger.com/atom/ns#' term='OWA'/><title type='text'>ZANTAZ (EASOWA) ISAPI Filter causes a 2007 CAS to fail with "Object Expected"</title><content type='html'>Again, another odd issue I've come across this week....&lt;br /&gt;&lt;br /&gt;While installing an Exchange 2007 CAS server at a client site (getting ready for a 2003 to 2007 migration) we encountered a case where Outlook Web Access produced the following error:&lt;br /&gt;&lt;br /&gt;"Object Expected"&lt;br /&gt;&lt;br /&gt;A refresh of the page resulted in a white page with no formatting and some odd looking buttons. Exchange 2007 CAS server is supposed to proxy the client requests to either a 2003 or 2007 mailbox depending on where it "lives". During the implementation of of the CAS server we tested moving a user's mailbox to a 2007 server and logged onto the CAS just fine.....no issues. It was when we attempted to authenticate a user who had a 2003 mailbox where things went sideways.&lt;br /&gt;&lt;br /&gt;We tested navigating to the 2003 front-end server and directly at the 2003 mailbox cluster with no issues. I noticed a plug-in was installed when I visited the OWA site which lead me to ponder the possibility of it interfering with the proxy request. A call to Microsoft support confirmed this.&lt;br /&gt;&lt;br /&gt;The 2003 mailbox server had an ISAPI filter on the IIS web site used for OWA. The plug-in is called "EASOWA" and is used by the ZANTAZ software (for email archive). We removed the ISAPI filter and it worked immediately.&lt;br /&gt;&lt;br /&gt;Since the migration will be short, there will be no workaround for the issue and an EASOWA plug-in for 2007 is being tested as I write this.&lt;br /&gt;&lt;br /&gt;Troubleshooting this issue was particularly difficult in that a direct connection to the 2003 FE or MB server worked fine. The 2007 CAS server also worked fine when connecting to the 2007 MB server. It was the process of proxying the link where things broke down. I was convinced it was the 2007 CAS server at the time but obviously I was wrong. Hmmm....that's twice now.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;Jason&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-2523579532325799070?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/2523579532325799070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/05/zantaz-easowa-isapi-filter-causes-2007.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2523579532325799070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2523579532325799070'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/05/zantaz-easowa-isapi-filter-causes-2007.html' title='ZANTAZ (EASOWA) ISAPI Filter causes a 2007 CAS to fail with &quot;Object Expected&quot;'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-716941597664416401</id><published>2009-05-08T11:09:00.002-06:00</published><updated>2009-05-08T11:36:32.851-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exchange Server 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Autodiscover'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='EWS'/><category scheme='http://www.blogger.com/atom/ns#' term='Update Rollup 7'/><title type='text'>Exchange Update Rollup 7 blows up EWS/UM/AD</title><content type='html'>Well I spent a few hours with Microsoft support today throubleshooting an issue with Exchange Web Services, Unified Messaging, and Autodiscover. It appears that the web.config file contains a variable called %ExchangeInstallDir% which is invalid. The web application can't interpret what this variable is because it isn't set on the OS anywhere.&lt;br /&gt;&lt;br /&gt;The issue is visiable in two ways:&lt;br /&gt;&lt;br /&gt;1. Try to navigate to &lt;a href="https://serverfqdn/ews/exchange.asmx"&gt;https://serverfqdn/ews/exchange.asmx&lt;/a&gt; (it will fail)&lt;br /&gt;2. Try to run the "Test-OutlookWebServices -Identity &lt;a href="mailto:user@domain.com"&gt;user@domain.com&lt;/a&gt;  fl" and it will show you all kinds of errors.&lt;br /&gt;&lt;br /&gt;The fix was to open the web.config files at:&lt;br /&gt;&lt;br /&gt;C:\Program Files\Microsoft\Exchange Server\ClientAccess\exchweb\ews&lt;br /&gt;C:\Program Files\Microsoft\Exchange Server\UnifiedMessaging\WebService&lt;br /&gt;&lt;br /&gt;...and replace the &lt;strong&gt;%ExchangeInstallDir%&lt;/strong&gt; with &lt;strong&gt;C:\Program Files\Microsoft\Exchange Server\&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Restart IIS using "IISRESET" and you should be okay.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-716941597664416401?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/716941597664416401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/05/exchange-update-rollup-7-blows-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/716941597664416401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/716941597664416401'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/05/exchange-update-rollup-7-blows-up.html' title='Exchange Update Rollup 7 blows up EWS/UM/AD'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-2925001024250051866</id><published>2009-04-30T08:20:00.005-06:00</published><updated>2009-04-30T08:27:19.845-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office Communications Server 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Tanjay'/><category scheme='http://www.blogger.com/atom/ns#' term='Wildcard Certificate'/><title type='text'>Microsoft Communicator Phone Edition (Tanjay) and wildcard certficiate</title><content type='html'>I spent quite a bit of time troubleshooting the interaction of Tanjay to Exchange CAS server recently only to find out from Jens that wildcard certificates are not supported.&lt;br /&gt;&lt;br /&gt;So, for those of you out there who have a wildcard certificate (*.domain.com) on your CAS server, you must re-issue it before implementing OCS/UM with Tanjay phones.&lt;br /&gt;&lt;br /&gt;I typically use the following command when creating the request:&lt;br /&gt;&lt;br /&gt;New-ExchangeCertificate -DomainName mail.domain.com, autodiscover.domain.com, mbxserver1.domain.local -FriendlyName Exchange_CAS_SAN_Cert -GenerateRequest:$True -Keysize 1024 -path c:\exch-san.req -privatekeyExportable:$true&lt;br /&gt;&lt;br /&gt;Having the "autodiscover" name in the SAN is also required for the Tanjay phone to connect to the CAS server. Don't forget to create an "A" record as well for these names.&lt;br /&gt;&lt;br /&gt;Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-2925001024250051866?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/2925001024250051866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/04/microsoft-communicator-phone-edition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2925001024250051866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2925001024250051866'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/04/microsoft-communicator-phone-edition.html' title='Microsoft Communicator Phone Edition (Tanjay) and wildcard certficiate'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-6405385953807526115</id><published>2009-04-26T20:43:00.005-06:00</published><updated>2009-04-26T21:03:10.535-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mediant 1000'/><category scheme='http://www.blogger.com/atom/ns#' term='AudioCodes'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Gateway'/><title type='text'>AudioCodes gateways and TDM to TDM routing...</title><content type='html'>I came across an interesting issue with a gateway (Mediant 1000) I was setting up for a client today. If you follow the quick installation guide for OCS you probably won't have this issue but if you've bypassed the guide and have forgotten to set up your SIP Proxy IP then read on.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The gateway we were setting up was going inline of the PBX and PRI. The previous configuration was:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PSTN---&gt;PRI---&gt;Nortel---&gt;Gateway---&gt;OCS&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The new configuration is:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PSTN--&gt;PRI--&gt;Gateway--&gt;OCS&lt;/div&gt;&lt;div&gt;                           |&lt;/div&gt;&lt;div&gt;                       Nortel&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you don't set the SIP Proxy IP address then everything will work fine except TDM to TDM routing for outbound calls. It took 6 hours to figure this out and it didn't make sense but the call flow for Nortel to PSTN resulted in the call being sent to OCS always. Calls from OCS to PSTN worked fine. Also, more maddening was that PSTN to Nortel worked fine.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, remember......the quick installation guides are still a good reference for you and can save you a LOT of time and frustration for those key settings you may forget to change.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm tired....&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-6405385953807526115?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/6405385953807526115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/04/audiocodes-gateways-and-tdm-to-tdm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6405385953807526115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6405385953807526115'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/04/audiocodes-gateways-and-tdm-to-tdm.html' title='AudioCodes gateways and TDM to TDM routing...'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-8271073354207271397</id><published>2009-04-25T19:06:00.003-06:00</published><updated>2009-04-25T19:26:57.048-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office Communications Server 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Mediation Server'/><title type='text'>Normalizing inbound calls and solving the "9" prefix dilemma</title><content type='html'>I don't believe it is actually written anywhere but I've found out recently that the location profile you specify on your mediation server is actually used for normalizing inbound calls. Seems straightforward but it isn't always clear what these options and settings are used for.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This post is designed to bring awareness to this process first of all but more importantly I talk about the dilemma of including normalization rules for "9" prefix calling.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First off, if you're performing digit manipulation in the gateway for inbound calls you're probably doing the work of OCS anyway. Remove any digit manipulation you have in the voice gateway (or equivalent, i.e. Call Manager).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You want to create a normalization rule and include the name of the mediation server in it so you can easily keep track of which location profile is for what server. For example, if your mediation server is called "abedmocsm01" then create a LP called "abedmocsm01.domain.com".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Include the most common rule for North America calling as follows:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;^(\d{10})$ which translates to +1$1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Follow suit by adding rules for your DID's and non-DID ranges. If you have a main number with non-DID's behind it then it would look something like:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;^5(\d{3})$ which translates to +17805551212;ext=5$1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now that you have that sorted, you'll notice that you don't have a rule for something like:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;^9780(\d{7})$ which translates to +1780$1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The above rule wouldn't apply since the PSTN (or PBX) would never send a 9, then digits. Using this "split Location Profile" type scenario allows you to get away with not having both of these rules:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;^9780(\d{7})$&lt;/div&gt;&lt;div&gt;^780(\d{7})$&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I hope his is some value to those out there.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Jason&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-8271073354207271397?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/8271073354207271397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/04/normalizing-inbound-calls-and-solving-9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8271073354207271397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8271073354207271397'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/04/normalizing-inbound-calls-and-solving-9.html' title='Normalizing inbound calls and solving the &quot;9&quot; prefix dilemma'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-340675218378851938</id><published>2009-04-24T10:00:00.003-06:00</published><updated>2009-04-24T10:09:25.787-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='communicator phone edition r2'/><category scheme='http://www.blogger.com/atom/ns#' term='april 2009 update'/><title type='text'>Communicator Phone Edition April 2009 Update</title><content type='html'>Quick post today......&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There is an update to the Tanjay phone firmware (Communicator Phone Edition R2) for April which fixes a few things and adds new functionality:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=565595be-6cf3-4a61-a1e4-12555749ca64"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=565595be-6cf3-4a61-a1e4-12555749ca64&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Users will now see their own phone number displayed on screen at all times. The number shown is the 'work' number (the number in the General tab of the user account properties in AD).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-If you called a user's alternate number, that number is now stored as the called number in the call log.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Jason&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-340675218378851938?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/340675218378851938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/04/communicator-phone-edition-april-2009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/340675218378851938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/340675218378851938'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/04/communicator-phone-edition-april-2009.html' title='Communicator Phone Edition April 2009 Update'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-3826170178303624964</id><published>2009-04-23T18:02:00.002-06:00</published><updated>2009-04-23T19:58:09.271-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='regular expression tools'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS'/><title type='text'>Great tools for building .NET regular expressions</title><content type='html'>If you're like me and have trouble deciphering .NET regular expressions for tasks like creating normalization rules for OCS and the Address Book Service, look no further. I've included my favorite 'cheat' tools here for you to to evaluate.&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;RegexBuilder: &lt;/span&gt;The first one I'll start with is free and can be downloaded and run without an installation routine. It allows you to type or paste in your expression and test against it on the fly. This tool is great for performing simple validation of an existing string but you really need to know how to write one before you start with this tool. There are no 'helpers' to assist you with wondering the difference between "\d*" and "\d+", which by the way, I still don't know the difference. ;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Download location: &lt;a href="http://renschler.net/RegexBuilder/"&gt;http://renschler.net/RegexBuilder/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Expresso&lt;/span&gt;: This has to be my favorite tool thus far. It can be downloaded for free and by simply filling out their online registration form, they will send you a registration code. What I like about this product is that they give you examples and show you what each character means (even though \d* and \d+ are still not clear to me). The GUI interface allows testing of multiple strings and their translations so you could take a copy of your ABS normalization text file and paste it directly into the 'Test Mode' screen to verify your results.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It can be downloaded at: &lt;a href="http://www.ultrapico.com/Expresso.htm"&gt;http://www.ultrapico.com/Expresso.htm&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;RegexBuddy:&lt;/span&gt; If you have a few bucks lying around and want to give this application a spin, it certainly does the trick and more. This might be a good place to start for the beginner since the interface is much more helpful than the other two. At $39.95 USD it appears to be a pretty good deal however in the context of doing dial plans for OCS, I'm certain you can get what you need out of the other two combined.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's all for today.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Jason&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-3826170178303624964?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/3826170178303624964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/04/great-tools-for-building-net-regular.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3826170178303624964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3826170178303624964'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/04/great-tools-for-building-net-regular.html' title='Great tools for building .NET regular expressions'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-9097178324377393439</id><published>2009-04-12T11:46:00.002-06:00</published><updated>2009-04-12T11:49:30.710-06:00</updated><title type='text'>Microsoft Office Communicator &amp; Live Meeting April updates</title><content type='html'>Greetings,&lt;br /&gt;&lt;br /&gt;A quick post today...&lt;br /&gt;&lt;br /&gt;Microsoft has released a few new updates to the trio of OCS client applications:&lt;br /&gt;&lt;br /&gt;Office Communicator 2007 R2: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=515d6dba-4c6a-48bb-a06a-d99c5742676d&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=515d6dba-4c6a-48bb-a06a-d99c5742676d&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Live Meeting 2007: &lt;a href="http://office.microsoft.com/en-us/help/HA101733831033.aspx"&gt;http://office.microsoft.com/en-us/help/HA101733831033.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Microsoft Office Conferencing Add-Ins: &lt;a href="http://office.microsoft.com/en-us/help/HA102368901033.aspx"&gt;http://office.microsoft.com/en-us/help/HA102368901033.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;Jason&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-9097178324377393439?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/9097178324377393439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/04/microsoft-office-communicator-live.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/9097178324377393439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/9097178324377393439'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/04/microsoft-office-communicator-live.html' title='Microsoft Office Communicator &amp; Live Meeting April updates'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7908963646150754959</id><published>2009-04-05T20:16:00.008-06:00</published><updated>2009-10-27T16:09:06.339-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Normalization rule'/><category scheme='http://www.blogger.com/atom/ns#' term='e.164'/><category scheme='http://www.blogger.com/atom/ns#' term='Address Book Service'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS'/><title type='text'>OCS Address Book Service Normalization</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Recently I was working at a customer site where we were trying to come up with a normalization string for numbers in their AD forest that could handle the varying array of number formatting. I find this to be a common issue for many organizations with multiple people typing phone numbers into user accounts.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Some examples of these are:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;780.555.1212&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;(780) 555-1212&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;780-555-1212&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;1 (780) 555-1212&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The address book service performs a nightly scan of Active Directory and attempts to build a database of users and phone numbers. If the normalization rules in the "Company_Phone_Number_Normalization_Rules.txt" file can't normalize the numbers you will get a list of them outlined in the "Invalid_AD_Phone_Numbers.txt".&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;NOTE: The information in the "Company_Phone_Number_Normalization_Rules.txt" file is incorrect (yes, still in R2). The txt file suggests you rename the file to "Company_Phone_Normalization_Rules.txt" (which is missing the word "Number"). If you follow these instructions in the txt file it won't work. Just remove the word "Sample_" from the file name and don't forget to uncheck it as a read-only file.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Now, back to the Address Book Service and AD number normalization...&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The 'universal' normalization rule I use is as follows:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: black; font-family: 'Tahoma','sans-serif';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: georgia;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: 'Tahoma','sans-serif';"&gt;&lt;span class="Apple-style-span" style="font-family: georgia;"&gt;&lt;span class="Apple-style-span" style="color: black; font-size: small;"&gt;(\d+)([\s()\-\./]+(\d+))([\s()\-\./]+(\d+))([\s()\-\./]+(\d+))?([\s()\-\./]+(\d+))?([\s()\-\./]+(\d+))?[\s]*&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: black; font-size: small;"&gt;+1$1$3$5$7$9$11&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This above normalization rule will work for just about any North American phone number someone types in. To make this easy to decipher and modify I will also remove all the text from the default file and begin with this one rule.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;To test a number:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Open a command prompt and navigate to C:\Program Files\Microsoft Office Communications Server 2007 R2\Server\Core.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Type in "abserver.exe -testPhoneNorm &lt;/span&gt;&lt;thenumber&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;" and view the result&lt;/span&gt;&lt;/thenumber&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;If you wish to force the Address Book Service to scour AD again, type in "abserver.exe -regenUR" and "abserver.exe -syncNow". Be sure to open Event Viewer between these two commands and look for an event suggesting the system was successful. &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The bottom line is that all numbers in your AD environment should be formatted as e.164 numbers (+17805551212).&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Cheers!&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7908963646150754959?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7908963646150754959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/04/ocs-address-book-service-normalization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7908963646150754959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7908963646150754959'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/04/ocs-address-book-service-normalization.html' title='OCS Address Book Service Normalization'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-4251565961844929148</id><published>2009-04-05T19:40:00.002-06:00</published><updated>2009-04-05T19:46:02.448-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='ip phone'/><title type='text'>Use any IP phone with OCS?</title><content type='html'>Well if the folks at Evangelyze (&lt;a href="http://www.evangelyze.net"&gt;http://www.evangelyze.net&lt;/a&gt;) have their way, the SmartSIP product will allow support for generic SIP devices. This means you could potentially connect any IP phone (Cisco to MITEL) to OCS through this gateway style software.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From what I've been told, the IP device linkage isn't quite completed yet but stay tuned for more information as I test this software with OCS when it becomes ready.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-4251565961844929148?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/4251565961844929148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/04/use-any-ip-phone-with-ocs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4251565961844929148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4251565961844929148'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/04/use-any-ip-phone-with-ocs.html' title='Use any IP phone with OCS?'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-4169064825921411138</id><published>2009-04-05T19:30:00.002-06:00</published><updated>2009-04-05T19:37:55.626-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 14'/><title type='text'>Off to Exchange 14 Ignite!</title><content type='html'>Well I'm packing this evening for a first time trip to Dallas, Texas to attend 4 days of Exchange 14 Ignite training. The event is being held at various locations across the USA this year in preparation for the next release of Microsoft Exchange Server which has yet to be given an official name (or has it?). &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The event will consist of:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Setup and deployment&lt;/li&gt;&lt;li&gt;Planning and sizing&lt;/li&gt;&lt;li&gt;Client Access Server changes&lt;/li&gt;&lt;li&gt;Federation&lt;/li&gt;&lt;li&gt;Transport and Routing&lt;/li&gt;&lt;li&gt;Compliance: Information leakage protection and control&lt;/li&gt;&lt;li&gt;Archiving and retention&lt;/li&gt;&lt;li&gt;Unified Messaging&lt;/li&gt;&lt;li&gt;HA and storage&lt;/li&gt;&lt;li&gt;Online services&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I'm looking forwarding to the nice weather and opportunity to hear from the experts about this latest version of Microsoft's messaging platform.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well I'd better get packing...&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-4169064825921411138?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/4169064825921411138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/04/off-to-exchange-14-ignite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4169064825921411138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4169064825921411138'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/04/off-to-exchange-14-ignite.html' title='Off to Exchange 14 Ignite!'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1856265696784132842</id><published>2009-04-01T09:22:00.005-06:00</published><updated>2009-04-25T19:10:32.571-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CX700'/><category scheme='http://www.blogger.com/atom/ns#' term='Polycom'/><category scheme='http://www.blogger.com/atom/ns#' term='LG/Nortel'/><category scheme='http://www.blogger.com/atom/ns#' term='Tanjay'/><category scheme='http://www.blogger.com/atom/ns#' term='Update Server'/><category scheme='http://www.blogger.com/atom/ns#' term='WINS'/><title type='text'>Tanjay won't update (Polycom CX700)</title><content type='html'>Greetings,&lt;br /&gt;&lt;br /&gt;We've done our fair share of troubleshooting with the Tanjay phones lately as we have internally and at client sites various beta phones with the original firmware, R1 firmware and R2 firmware versions. I wanted to write a quick entry about how to update these phones.&lt;br /&gt;&lt;br /&gt;First off, read this article to get an understanding of how the process works: &lt;a href="http://blogs.technet.com/ucspotting/archive/2009/03/11/troubleshooting-ocs-2007-r2-device-update-service-for-communicator-phone-edition.aspx"&gt;http://blogs.technet.com/ucspotting/archive/2009/03/11/troubleshooting-ocs-2007-r2-device-update-service-for-communicator-phone-edition.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Second, if you have a SIP URI and SMTP domain which is different than the fqdn of the domain (i.e. contoso.com for SMTP/SIP and contoso.local for AD) and you don't have WINS deployed then you will likely have an issue with the entire process.&lt;br /&gt;&lt;br /&gt;You MUST MUST MUST deploy a WINS server and point your Domain Controller at the server so it registers the domain in WINS. You also need to add a static entry called "ucupdates" which points to your R1 update server.&lt;br /&gt;&lt;br /&gt;If you're updating an R1 phone in an R2 pool and you have the above mentioned issue with the domain fqdn being different from your SIP URI domain, then add a static WINS entry called "ucupdates-r2" which points to your R2 front-end server.&lt;br /&gt;&lt;br /&gt;If you're updating a beta firmware phone this MUST be done in an R1 environment first before logging into R2.&lt;br /&gt;&lt;br /&gt;We worked with Microsoft extensively on this issue troubleshooting it by capturing Wireshark traces through the second network port on the phone. You can see the requests for WINS entries going out and if you don't have WINS running properly in your environment, this won't work at all.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;NOTE: You may need to perform a hard reset on the phone once you update the beta firmware to R1. If you sign into an R2 pool an expect the phone to update and it doesn't, reset the phone and wait 5 minutes.&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Hope this helps!&lt;br /&gt;&lt;br /&gt;Jason&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1856265696784132842?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1856265696784132842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/04/tanjay-wont-update-polycom-cx700.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1856265696784132842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1856265696784132842'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/04/tanjay-wont-update-polycom-cx700.html' title='Tanjay won&apos;t update (Polycom CX700)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-3442339183859259685</id><published>2009-03-31T16:54:00.006-06:00</published><updated>2009-03-31T20:58:23.045-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WMI'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Access Denied'/><title type='text'>OCS WMI access denied 0x80041003, Windows 2008</title><content type='html'>Just a quick post today. Super busy...&lt;br /&gt;&lt;br /&gt;If you get this error when modifying the WMI properties on Windows 2008 for something like removing the "+" sign out of the Mediation server, simply run WBEMTEST by doing the following:&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5319490898071548418" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 357px; CURSOR: hand; HEIGHT: 119px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/SdKgybV6cgI/AAAAAAAAAC4/LpPb5nT_xMc/s400/wmi_error.PNG" border="0" /&gt;&lt;br /&gt;1. Either open a command prompt by right-clicking the icon and choosing "run as administrator"&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;2. Disable UAC&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;Jason&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-3442339183859259685?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/3442339183859259685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/03/ocs-wmi-access-denied-0x80041003.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3442339183859259685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3442339183859259685'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/03/ocs-wmi-access-denied-0x80041003.html' title='OCS WMI access denied 0x80041003, Windows 2008'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5p9ytPpDDjQ/SdKgybV6cgI/AAAAAAAAAC4/LpPb5nT_xMc/s72-c/wmi_error.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-2684970096000629106</id><published>2009-03-08T16:04:00.004-06:00</published><updated>2009-03-08T16:20:31.805-06:00</updated><title type='text'>OCS R2: Conferencing Attendant &amp; E.164</title><content type='html'>I recently griped about the new feature in OCS 2007 R2 called the Conferencing Attendant to my local Microsoft TSP. The issue I had was that the voice prompts for joining a meeting asked you to type in your phone extension to join as an 'authenticated user'. Since we have a mix of users with DID's and non-DID numbers, how could the user type in their extension (which is actually their TEL URI) if it followed the e.164 format of:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;+17805551212;ext=5555&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As it turns out the Conferencing Service uses normalization rules as well. So if the user types in "5555" as their extension, it will normalize to the above number and they will pass the TEL URI authentication.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Prior to writing this article I was convinced that using a TEL URI of "+5555" is the best option when using the Conferencing Attendant service. Now, once again I'm a supporter of the ';ext=' format.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are however two outstanding issues with this idea:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. The AudioCodes Mediant 2000 voice gateway (version 5.6 firmware) doesn't like the the non-numerical values such as ';ext=' when performing digit manipulation. As you are well aware, if your user doesn't have a DID, they'll require the voice gateway to manipulate the digits to prepend the +17805551212;ext= value before their extension number. When you save this type of manipulation into the AudioCodes gateway it wipes out all, YES ALL of your manipulation rules. I'm waiting for a fix at the moment :(&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. When you type in the e.164 formatted number into the "Telephone" field of a user's account in Active Directory, and try to perform a lookup using an Exchange Auto Attendant, it will fail. Apparently Exchange doesn't know how to handle the ';ext=' value either. Also, when building number masks for these types of numbers, the ';ext=' value is not something Exchange will accept. Seems odd doesn't it? Well give it a try. It doesn't work :(&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The so called 'workaround' for issue 1 is that you shouldn't reboot the gateway and a saved config file will have the values stored in it so if you must reboot, reload the config file. To get around issue 2, you need to change the Telephone field to the users extension only and make sure you have a normalization rule in OCS to handle the 4 (or 5) digits Exchange will toss at it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, the question is.....to e.164 or not?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-2684970096000629106?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/2684970096000629106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/03/ocs-r2-conferencing-attendant-e164.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2684970096000629106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2684970096000629106'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/03/ocs-r2-conferencing-attendant-e164.html' title='OCS R2: Conferencing Attendant &amp; E.164'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-8111905294782478711</id><published>2009-02-24T07:34:00.003-07:00</published><updated>2009-02-24T07:46:51.066-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exchange; Audacity; WAV format; OCS R2'/><title type='text'>Recording voice prompts for OCS 2007 R2 IVR and Exchange UM</title><content type='html'>Now that Windows Vista and Windows 7 lack the ability to record WAV files which are required for the OCS 2007 R2 IVR features and Exchange 2007 UM, I've been using a 3rd party program to record.&lt;br /&gt;&lt;br /&gt;The application is called Audacity and can be found at: &lt;a href="http://audacity.sourceforge.net/"&gt;http://audacity.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I simply record my voice file, use the cut/copy/paste to modify what I need from my various takes, and click File, then Export as WAV. I've found Exchange UM to be very picky when it comes to the type of WAV file it uses and Audacity seems to work out of the box without issue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-8111905294782478711?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/8111905294782478711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/02/recording-voice-prompts-for-ocs-2007-r2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8111905294782478711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8111905294782478711'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/02/recording-voice-prompts-for-ocs-2007-r2.html' title='Recording voice prompts for OCS 2007 R2 IVR and Exchange UM'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5516516595904344379</id><published>2009-02-24T06:50:00.008-07:00</published><updated>2009-02-24T07:15:51.495-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office Communications Server 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='click to dial'/><category scheme='http://www.blogger.com/atom/ns#' term='Communicator 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Dial plan'/><title type='text'>Click to dial with OCS 2007 R2 using a '9' prefix</title><content type='html'>I've been working with OCS dial plans for a year and half now and have always wondered how you would perform click to dial on numbers in OCS which need a '9' prefix to be normalized. For example:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I type in: 917805551212 which normalizes to +17805551212&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have this normalization pattern for two reasons. First, to duplicate the dialing experience for users who are used to a legacy phone system. Second, to eliminate overlapping dial plan numbers. An example of the overlapping dial plan is as follows:&lt;br /&gt;&lt;br /&gt;If I allowed the user to type: 7805551212 it could in some cases normalize to +7805 if my dial plan was set up to allow 4-digit dialing (i.e. &lt;strong&gt;^7(\d{3})$&lt;/strong&gt; or &lt;strong&gt;^(\d{4})$&lt;/strong&gt;).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So back to the '9' prefix issue.....if I don't normalize numbers without a '9' prefix, how do we perform click to dial from contacts in Outlook or numbers normalized through the Address Book Service?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The trick I've found is with the Windows dialing rules in Control Panel.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 290px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5306365783390123634" border="0" alt="" src="http://3.bp.blogspot.com/_5p9ytPpDDjQ/SaP_kM9BdnI/AAAAAAAAABc/udQHGv2sH-c/s320/dialing_location.PNG" /&gt;&lt;/p&gt;&lt;p&gt;Set up your location and dialing rules including the prefix you need to type to get 'out' to the PSTN.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_5p9ytPpDDjQ/SaQABuO--8I/AAAAAAAAABs/kneoqWmnNk4/s1600-h/dialing_location_detail.PNG"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 252px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5306366290540035010" border="0" alt="" src="http://3.bp.blogspot.com/_5p9ytPpDDjQ/SaQABuO--8I/AAAAAAAAABs/kneoqWmnNk4/s320/dialing_location_detail.PNG" /&gt;&lt;/a&gt;&lt;br /&gt;I haven't found any documentation on this case to date.....then again there is a lot of information to go through in OCS. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5516516595904344379?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5516516595904344379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/02/click-to-dial-with-ocs-2007-r2-using-9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5516516595904344379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5516516595904344379'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/02/click-to-dial-with-ocs-2007-r2-using-9.html' title='Click to dial with OCS 2007 R2 using a &apos;9&apos; prefix'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5p9ytPpDDjQ/SaP_kM9BdnI/AAAAAAAAABc/udQHGv2sH-c/s72-c/dialing_location.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7165631985335910144</id><published>2009-02-20T21:16:00.002-07:00</published><updated>2009-02-20T21:19:24.803-07:00</updated><title type='text'>Exchange Unified Messaging Auto Attendant calling issue from OCS R2</title><content type='html'>Greetings,&lt;br /&gt;&lt;br /&gt;I recently found that for some reason with OCS R2 clients they can't call an Exchange UM Auto Attendant if the name has spaces in it. To correct the problem I needed to recreate my AA objects in AD using the OCSUMUTIL.EXE application and remove/recreate the AA in the Exchange Management Console.&lt;br /&gt;&lt;br /&gt;The error from the client was "ID:1" which doesn't tell you much. Also, a SNOOPER trace within OCS shows an error of "408: Bad Request".&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;Jason&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7165631985335910144?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7165631985335910144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/02/exchange-unified-messaging-auto.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7165631985335910144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7165631985335910144'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/02/exchange-unified-messaging-auto.html' title='Exchange Unified Messaging Auto Attendant calling issue from OCS R2'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5624281386940171506</id><published>2009-01-22T07:23:00.005-07:00</published><updated>2009-01-22T07:54:10.587-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office Communications Server 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='CWA'/><category scheme='http://www.blogger.com/atom/ns#' term='SPN'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='error 0-1-492'/><title type='text'>Communcator Web Access (error 0-1-492)</title><content type='html'>I recently had the pleasure of working with a senior Microsoft escalation engineer who helped us resolve this error message and thought it would be helpful to share my experiences with how it was resolved.&lt;br /&gt;&lt;br /&gt;Apparently there is a bug with CWA and Windows 2008 where the Service Principal Name (SPN) isn't created for the FQDN of your CWA site. The result is the following error when you attempt to sign in with integrated Windows authentication:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Cannot sign in because your computer clock is not set correctly or your&lt;br /&gt;account is invalid (error code: 0-1-492)&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;When I created our 'internal' and 'external' CWA web sites on our web server I set up two IP addresses so that each site could have a unique IP with the same certificate bound to it. We use the same FQDN for both the internal and external CWA site (i.e. &lt;a href="https://cwa.contoso.com/"&gt;https://cwa.contoso.com/&lt;/a&gt;). ISA Server 2006 is used to direct external clients to the IP bound to the external CWA site and vice versa. The key difference is that the internal site uses both forms-based authentication as well as Windows authentication.&lt;br /&gt;&lt;br /&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 236px; DISPLAY: block; HEIGHT: 43px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5294128110365463410" border="0" alt="" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/SXiFd4W-U3I/AAAAAAAAABQ/taKuzSe_8FE/s320/cwapicture1.PNG" /&gt;The Windows authentication site will fail with the error if your site is running on Windows 2008 Server while the other site will work just fine. We limped along for a while by setting the IP address of the internal site to be the external site until this fix came along. &lt;p&gt;HOW TO FIX IT:&lt;/p&gt;&lt;p&gt;You need to add an SPN matching the FQDN of your internal site (cwa.contoso.com) to the user account you assigned in AD for CWA.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Open &lt;strong&gt;ADSIEDIT&lt;/strong&gt; and navigate to the OU where your CWA service account is stored.&lt;/li&gt;&lt;li&gt;Locate the CWA service account (mine is called &lt;strong&gt;'CWAService'&lt;/strong&gt;) and right-click then choose &lt;strong&gt;Properties&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Turn on the checkbox to &lt;strong&gt;'Show only attributes that have values'&lt;/strong&gt; and scroll down to an entry called &lt;strong&gt;'servicePrincipalName'&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Edit&lt;/strong&gt; button.&lt;/li&gt;&lt;li&gt;Type in the SPN using the following format (&lt;strong&gt;http/&lt;fqdn&gt;&lt;/strong&gt;). For example, if your site is called "cwa.intel.com" then type in "http/cwa.intel.com". NOTE: Do NOT type http://.&lt;/li&gt;&lt;li&gt;Click &lt;strong&gt;OK&lt;/strong&gt; and you're done!&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Depending on your topology and the location if your web server to a DC, replication may need to occur.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5624281386940171506?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5624281386940171506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/01/communcator-web-access-error-0-1-492.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5624281386940171506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5624281386940171506'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/01/communcator-web-access-error-0-1-492.html' title='Communcator Web Access (error 0-1-492)'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5p9ytPpDDjQ/SXiFd4W-U3I/AAAAAAAAABQ/taKuzSe_8FE/s72-c/cwapicture1.PNG' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-363397312215548889</id><published>2009-01-21T16:35:00.004-07:00</published><updated>2009-01-22T07:57:04.311-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exchange UM GSM PCM WMA codec iPhone PowerShell'/><title type='text'>Exchange Voice Mail for iPhone users</title><content type='html'>A great co-worker of mine found this PowerShell command which allows you to change the codec for voicemail on each user rather than the entire dial plan.&lt;br /&gt;&lt;br /&gt;set-UMMailbox useralias -CallAnsweringAudioCodec GSM/PCM/WMA&lt;br /&gt;&lt;br /&gt;I haven't tested which codec works for sure (yet) but I seem to recall GSM does and its a nice manageable size.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-363397312215548889?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/363397312215548889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/01/exchange-voice-mail-for-iphone-users.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/363397312215548889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/363397312215548889'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/01/exchange-voice-mail-for-iphone-users.html' title='Exchange Voice Mail for iPhone users'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7233091895997670461</id><published>2009-01-17T18:36:00.005-07:00</published><updated>2009-01-18T15:44:58.095-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mediation Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Cisco Call Manager'/><category scheme='http://www.blogger.com/atom/ns#' term='RemovePlusFromRequestURI'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS 2007 R2'/><title type='text'>Removing the plus "+" sign from a SIP INVITE in OCS R2</title><content type='html'>Recently I was asked to help get our Cisco Call Manager environment connected to our OCS environment since we have both Cisco and Microsoft phones in the company and we wanted to have 4digit dialing between the two environments.&lt;br /&gt;&lt;br /&gt;Well now that OCS R2 has the ability to remove the + sign from outgoing SIP INVITE commands via WMI, I thought I would share with you the process for making this happen.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Click on the START menu and click &lt;strong&gt;Run&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Type &lt;strong&gt;'wbemtest'&lt;/strong&gt; and click OK&lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Connect&lt;/strong&gt; button and make sure it says &lt;strong&gt;'root\cimv2'&lt;/strong&gt; then click &lt;strong&gt;Connect&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Enum Classes&lt;/strong&gt; button and click &lt;strong&gt;OK&lt;/strong&gt; (don't type in anything into the text box)&lt;/li&gt;&lt;li&gt;Scroll down until you see &lt;strong&gt;'MSFT_SIPMediationServerConfigSetting'&lt;/strong&gt; then double-click it&lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Instances&lt;/strong&gt; button then double-click the single object (this looks very similar to the previous screen)&lt;/li&gt;&lt;li&gt;Scroll down to the bottom and double-click on &lt;strong&gt;'RemovePlusFromRequestURI'&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Type in &lt;strong&gt;'TRUE'&lt;/strong&gt; and click Save Property&lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Save Object&lt;/strong&gt; button then the &lt;strong&gt;Close&lt;/strong&gt; button&lt;/li&gt;&lt;li&gt;Restart your Mediation Server service&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Now when you make outbound calls you can trace the SIP messages and should see your e.164 numbers without a + sign.&lt;/p&gt;&lt;p&gt;Cheers!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7233091895997670461?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7233091895997670461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2009/01/removing-plus-sign-from-sip-invite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7233091895997670461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7233091895997670461'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2009/01/removing-plus-sign-from-sip-invite.html' title='Removing the plus &quot;+&quot; sign from a SIP INVITE in OCS R2'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-3488965805390204422</id><published>2008-12-21T16:01:00.002-07:00</published><updated>2008-12-21T16:06:51.130-07:00</updated><title type='text'>Microsoft Office Communications Server 2007 R2 install/removal</title><content type='html'>Greetings,&lt;br /&gt;&lt;br /&gt;I recently attempted to remove RC code from a semi-production server this weekend and noticed I was getting errors from the 'Web Components' and 'Core' installation bits. The errors indicated there was a permission issue which wasn't much help.&lt;br /&gt;&lt;br /&gt;Eventually I figured out that UAC in Windows 2008 was preventing me from removing OCS and I quickly turned it off on all my servers. This raised another issue though....&lt;br /&gt;&lt;br /&gt;When attempting to install and activate the various OCS R2 components afterward I noticed the pre-requisite checker had indicated items such as 'Prepare Active Directory' where listed as 'Complete' however no checkmark appeared next to the words like it normally does. It was also greyed out.&lt;br /&gt;&lt;br /&gt;The fix took a few minutes to figure out but at the root of this issue is the fact that the OCS setup page is an HTA (application) and Microsoft's Internet Explorer Enhanced Security was getting in the way. After disabling this feature I was able to continue installing the RTM code for OCS R2 :)&lt;br /&gt;&lt;br /&gt;Hope this helps someone else out there!&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;Jason&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-3488965805390204422?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/3488965805390204422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/12/microsoft-office-communications-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3488965805390204422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/3488965805390204422'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/12/microsoft-office-communications-server.html' title='Microsoft Office Communications Server 2007 R2 install/removal'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-8789096291532985435</id><published>2008-11-10T18:51:00.004-07:00</published><updated>2008-11-10T19:07:15.554-07:00</updated><title type='text'>You can't call UM users on a different dial plan --NOT!</title><content type='html'>Well its been a few weeks of troubleshooting and help from Microsoft PSS but I think I've finally figured out how UM handles calls on both DTMF and voice activated auto attendants.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Our client's setup is a MITEL 3300 which is connected to both OCS and Exchange UM using two distinct paths. All inbound calls are supposed to route to the Exchange server which has a simple auto attendant set up to direct calls off to extensions local and remote to the MITEL as well as OCS. Since we were concerned about a single T1 between the voice gateway and the MITEL being used up for both OCS calls and auto attendant calls, a SIP trunk was created.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5267213553450924946" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 278px; CURSOR: hand; HEIGHT: 320px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/SRjm0emQu5I/AAAAAAAAABA/SIteqDRyOzo/s320/mitel_um_ocs_sip_trunking.JPG" border="0" /&gt;&lt;br /&gt;We quickly had an issue with voice activated dialing where you would say the person's name but the call would go directly to voice mail. A SIP trace from Exchange UM revealed ZERO packets leaving the server. This was quite odd since keying in the DTMF codes for the extension worked fine. The calls to Microsoft were originally met with "you can't call between dial plans" to which I responded......"um, WHAT???". If you could imagine a fully deployed UM environment with multiple geographic locations all with different dial plans (for language purposes) on the same server......it is possible......read on....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The fix was simple but finding out how UM initiates a voice activated call wasn't. Since a SIP trace wasn't possible, it was up to Microsoft to provide some insight. Even with the help from Microsoft it wasn't until we dug around testing various accounts that I noticed some of them produced different results.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After opening my own test account I noticed the General tab of my account properties didn't have a "telephone" number listed.....it was blank. I entered my extension number and it worked the first time! I had made a grave mistake assuming the UM server was pulling my TEL URI field from OCS on the name match when I used the auto attendant. As a matter of fact the UM server explicitly uses this field for calling the user.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now that we have that one fixed we're off to deploying phones and finishing the call tree for UM!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-8789096291532985435?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/8789096291532985435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/11/you-cant-call-um-users-on-different.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8789096291532985435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/8789096291532985435'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/11/you-cant-call-um-users-on-different.html' title='You can&apos;t call UM users on a different dial plan --NOT!'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5p9ytPpDDjQ/SRjm0emQu5I/AAAAAAAAABA/SIteqDRyOzo/s72-c/mitel_um_ocs_sip_trunking.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-976690842111302696</id><published>2008-10-22T12:54:00.003-06:00</published><updated>2008-10-22T12:59:19.275-06:00</updated><title type='text'>Tanjay phone firmware -version 2009</title><content type='html'>Just a quick update on what's coming with the new Tanjay phones:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Full integration with the PC via USB (existing port)&lt;/li&gt;&lt;li&gt;When a call is made on the Tanjay, the MOC client will also show that you're in a call. Call control from the MOC client affects the Tanjay and vice versa. This means that if you put a call on hold with the PC, it will do the same for the phone. Also when you lock/unlock your PC, the Tanjay does as well.&lt;/li&gt;&lt;li&gt;Redial!!! We now have a redial button on the screen.......finally!&lt;/li&gt;&lt;li&gt;The icons for the contacts show you quickly which type of call (PSTN or Communicator) that will be made if you click to call via the touch screen. This was a big complaint for many people who expected to to a PC call by clicking and assuming the phone would be "intelligent" enough to make sure the call went out via the cheapest method possible.&lt;/li&gt;&lt;li&gt;...and much more to come!&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-976690842111302696?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/976690842111302696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/10/tanjay-phone-firmware-version-2009.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/976690842111302696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/976690842111302696'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/10/tanjay-phone-firmware-version-2009.html' title='Tanjay phone firmware -version 2009'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-86822223733819935</id><published>2008-10-20T07:55:00.004-06:00</published><updated>2008-10-20T14:17:36.618-06:00</updated><title type='text'>Office Communications Server 2007 R2: Communicator Attendant</title><content type='html'>The following video demonstrates the new Communicator Attendant feature in OCS 2007 R2. The video shows how the new console will allow call queuing and handling of many incoming phone calls from both internal and PSTN-based users.&lt;br /&gt;&lt;br /&gt;What I find most impressive is how they've thought of every angle in terms of how the caller and callee know about where the call is going and where it came from. By adding presence information, Microsoft has improved the overall experience for the person handling the call.&lt;br /&gt;&lt;p align="center"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-b6c2f7f7167801b9" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v7.nonxt8.googlevideo.com/videoplayback?id%3Db6c2f7f7167801b9%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330451516%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1E3FDAC1A731ABCB767D635D0BD6A24D337B0287.36650A50118D98578C8F1518B4C2E1EFF060C3E5%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Db6c2f7f7167801b9%26offsetms%3D5000%26itag%3Dw160%26sigh%3DY0eaWmrk-6qU3hERQ6sGY8bQ8q4&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v7.nonxt8.googlevideo.com/videoplayback?id%3Db6c2f7f7167801b9%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330451516%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1E3FDAC1A731ABCB767D635D0BD6A24D337B0287.36650A50118D98578C8F1518B4C2E1EFF060C3E5%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Db6c2f7f7167801b9%26offsetms%3D5000%26itag%3Dw160%26sigh%3DY0eaWmrk-6qU3hERQ6sGY8bQ8q4&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;Video provided by Microsoft. More available at &lt;a href="http://edge.technet.com/"&gt;http://edge.technet.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-86822223733819935?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=b6c2f7f7167801b9&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/86822223733819935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/10/office-communications-server-2007-r2.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/86822223733819935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/86822223733819935'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/10/office-communications-server-2007-r2.html' title='Office Communications Server 2007 R2: Communicator Attendant'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-1946148452509286452</id><published>2008-10-16T07:38:00.005-06:00</published><updated>2008-10-16T08:08:47.899-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office Communications Server 2007 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='SIP Trunking'/><category scheme='http://www.blogger.com/atom/ns#' term='Group Chat'/><category scheme='http://www.blogger.com/atom/ns#' term='ACD'/><category scheme='http://www.blogger.com/atom/ns#' term='IVR'/><category scheme='http://www.blogger.com/atom/ns#' term='OCS R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Hunt Group'/><category scheme='http://www.blogger.com/atom/ns#' term='64-bit'/><title type='text'>Microsoft Office Communications Server 2007 R2</title><content type='html'>Well it has been publicly released.....well maybe not yet....but Microsoft has given us a glimpse into the next version of their next version of OCS 2007.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Highlights of OCS 2007 R2:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;All server roles will be based on &lt;strong&gt;64-bit&lt;/strong&gt; code meaning you will be able to scale to more users and more roles per server with less hardware.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Conference bridge&lt;/strong&gt; capability! This will allow an internal or remote user to call an OCS conference bridge resulting in a substantial cost savings. To expand on this more, Microsoft has done a fantastic job of making the experience easy to use and seamless to the end user.&lt;/li&gt;&lt;li&gt;A new version of the &lt;strong&gt;MOC client will allow application (and desktop) sharing&lt;/strong&gt; which is similar to MSN Messenger today. This is a welcome feature as the previous version required you to install the Live Meeting 2007 client to share apps/etc.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Support for Mac/Linux&lt;/strong&gt; via web interface&lt;/li&gt;&lt;li&gt;A completely new feature is the ability to set up and participate in &lt;strong&gt;"Persistent Group Chat"&lt;/strong&gt; sessions. These seem somewhat similar to IRC-style chat sessions where you can invite others and collaborate in a persistent real-time chat environment. This could be perfect for those "SWAT" teams that get called together in critical situations to solve a production issue (both IT and non-IT staff). The chat sessions are searchable and can be filtered as well.&lt;/li&gt;&lt;li&gt;For those people who manage incoming calls such as administrative assistants a new &lt;strong&gt;"Attendant Console"&lt;/strong&gt; gives the power of call routing, managing conferences, and setting up workflows for high volume call environments.&lt;/li&gt;&lt;li&gt;Direct &lt;strong&gt;"SIP Trunking" &lt;/strong&gt;is a long awaited feature which eliminates the need for a physical voice gateway. In my blog I talk about using a similar SIP trunk connection for my software PBX and OCS but this is officially supported now. Apparently there won't be a method for authentication so the SIP trunks would typically be for organizations who have a dedicated MPLS link to a telco. This opens up new possibilities for branch survivability in that you could route traffic through an ISP in case a site VPN link went down.&lt;/li&gt;&lt;li&gt;A long awaited feature is the ability to define "hunt groups" and set basic call routing features for a collection of users. This is called a &lt;strong&gt;"Response Group" &lt;/strong&gt;in OCS 2007 R2. This feature is similar in nature to an &lt;a href="http://en.wikipedia.org/wiki/Automatic_call_distributor"&gt;ACD&lt;/a&gt; in a legacy PBX. Basic features should include Music on Hold, ring-no-answer to voice mail (Exchange UM/etc), and call routing/escalation. I've heard they have included the same Microsoft Speech Server engine in Exchange UM into OCS R2.&lt;/li&gt;&lt;li&gt;If you're a Nokia, Motorola, or Blackberry user you may now be in luck when it comes to the Office Communicator Mobile client. Support for these phone manufacturers is coming with a new "single number reach" feature. More on this to come...&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So that's it for now....there is even more to come but I can't say much other than this! &lt;/p&gt;&lt;p&gt;Cheers!&lt;/p&gt;REGISTER FOR THE OCS R2 LAUNCH HERE:&lt;br /&gt;&lt;a href="http://www.microsoft.com/communicationsserver/en/us/default.aspx"&gt;http://www.microsoft.com/communicationsserver/en/us/default.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-1946148452509286452?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/1946148452509286452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/10/microsoft-office-communications-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1946148452509286452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/1946148452509286452'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/10/microsoft-office-communications-server.html' title='Microsoft Office Communications Server 2007 R2'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5196601631926564520</id><published>2008-10-16T07:32:00.001-06:00</published><updated>2008-10-16T07:34:43.402-06:00</updated><title type='text'>Moving the OCS database</title><content type='html'>I couldn't have written it any better: &lt;a href="http://technet.microsoft.com/en-us/bb936638.aspx"&gt;http://technet.microsoft.com/en-us/bb936638.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5196601631926564520?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5196601631926564520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/10/moving-ocs-database.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5196601631926564520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5196601631926564520'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/10/moving-ocs-database.html' title='Moving the OCS database'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-2165338967107397270</id><published>2008-10-07T18:55:00.004-06:00</published><updated>2008-10-07T19:03:37.997-06:00</updated><title type='text'>And now for something completely different....</title><content type='html'>&lt;a href="http://www.metallica.com/images/extras/death_magnetic_black_1024.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://www.metallica.com/images/extras/death_magnetic_black_1024.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;I've enjoyed listening to Metallica for many years now but stopped some time after high school (in 1992). I wasn't alone and most of my friends agreed the new self titled album was rubbish....well most of it was. The next decade was dissapointment over and over again until only just recently.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Fast forward to the fall of 2008 and the guys from Metallica along with Rick Rubin have put together a masterpiece. Death Magnetic is as close to the 'real' Metallica we've all grown to love. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Maybe it was the death of the hair metal bands of the late 80's and early 90's that caused them to re-think their format but someone smarter than me knows for sure. All I know today is that this latest album freakin' rocks.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;So far my favorite track has to be &lt;strong&gt;All Nightmare Long.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-2165338967107397270?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/2165338967107397270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/10/and-now-for-something-completely.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2165338967107397270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/2165338967107397270'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/10/and-now-for-something-completely.html' title='And now for something completely different....'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-6403454966874754754</id><published>2008-09-20T17:50:00.005-06:00</published><updated>2008-09-20T17:54:02.629-06:00</updated><title type='text'>OCS Update Server</title><content type='html'>Just a quick post about quick links for using the OCS update server (i always forget them):&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;blockquote&gt;&lt;strong&gt;Management Console: &lt;a href="https://servername.fqdn.com/mgmtconsole"&gt;https://servername.fqdn.com&lt;fqdn&gt;/mgmtconsole&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/strong&gt;&lt;br /&gt;The Management Console is used for posting updates to phones such as the Tanjay and RoundTable.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;blockquote&gt;&lt;strong&gt;UC Update Server Site: &lt;a href="https://servername.fqdn.com/sites/UCUpdateServer"&gt;https://servername.fqdn.com&lt;fqdn&gt;/sites/UCUpdateServer&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/strong&gt;&lt;br /&gt;This site can be used to check logs of test devices defined on the Management Console link (above).&lt;br /&gt;&lt;br /&gt;OCS document for deploying Update Server: &lt;a href="http://www.microsoft.com/downloads/thankyou.aspx?familyId=83ef9159-e446-4d13-b05f-7e328b3cb4ad&amp;amp;displayLang=en"&gt;http://www.microsoft.com/downloads/thankyou.aspx?familyId=83ef9159-e446-4d13-b05f-7e328b3cb4ad&amp;amp;displayLang=en&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-6403454966874754754?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/6403454966874754754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/09/ocs-update-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6403454966874754754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/6403454966874754754'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/09/ocs-update-server.html' title='OCS Update Server'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-4373923786262405145</id><published>2008-09-20T15:47:00.002-06:00</published><updated>2008-09-20T16:08:26.201-06:00</updated><title type='text'>pbxnsip.com &amp; inphonex.com</title><content type='html'>Well its about time I wrote about my experiences with &lt;a href="http://www.pbxnsip.com/"&gt;www.pbxnsip.com&lt;/a&gt; as a software based PBX and &lt;a href="http://www.inphonex.com/"&gt;www.inphonex.com&lt;/a&gt; as an online SIP provider.&lt;br /&gt;&lt;br /&gt;First off, I can't say enough about the support from pbxnsip so far! I was new to the VoIP world when I started investigating options for my lab environment where I wanted to build out something more than an IM and web conferencing solution. After working through many of the issues with my OCS Edge servers, I finally had an environment I could prove out all my scenarios and began looking for a software PBX.&lt;br /&gt;&lt;br /&gt;Going back some time though, I had started with the "3CX" free PBX software as it seemed to have some ability to talk to things like Exchange 2007 Unified Messaging (even though you needed to buy a license to get it to work). My trouble soon began when I tried making outbound calls and realized 3CX couldn't handle e.164 phone numbers prefixed with a plus sign "+". I posted my concerns along with others on the forum and wasn't able to get much assistance other than a few pointed questions as to why we would want to implement OCS and digs on how Microsoft's SIP implementation is non-standard, etc. etc.&lt;br /&gt;&lt;br /&gt;Somewhere along the way I found a post about pbxnsip and their work with Microsoft Office Communications Server. I quickly checked the compatibility guide for IP-PBX's and noticed they were already listed on the Exchange 2007 UM site: &lt;a href="http://technet.microsoft.com/en-ca/library/cc164342.aspx#supIPPBX"&gt;http://technet.microsoft.com/en-ca/library/cc164342.aspx#supIPPBX&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So this was good news!&lt;br /&gt;&lt;br /&gt;Even though they're not on the tekVizion list of certified PBX's for OCS --yet, this was a viable option. Thanks as well to their wiki page on the subject: &lt;a href="http://wiki.pbxnsip.com/index.php/Office_Communications_Server"&gt;http://wiki.pbxnsip.com/index.php/Office_Communications_Server&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So this is what I needed to get all the software bits in place, now it was time to find a SIP trunk provider. I asked around and did some digging online and found &lt;a href="http://www.inphonex.com/"&gt;www.inphonex.com&lt;/a&gt; which I think is based in Miami, FL, USA. They were able to provide me a DID based in Edmonton, Alberta, Canada and their rates were decent. So far I've been happy with their service even though the odd time I call my DID I get a busy signal....but not to bad for a lab environment.&lt;br /&gt;&lt;br /&gt;For those of you who are looking for an alternative to &lt;a href="http://www.inphonex.com/"&gt;www.inphonex.com&lt;/a&gt;, check out &lt;a href="http://www.voiphiway.ca/"&gt;www.voiphiway.ca&lt;/a&gt; as they seem to have slightly better prices and have a more "trusting" web presence.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-4373923786262405145?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/4373923786262405145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/09/pbxnsipcom-inphonexcom.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4373923786262405145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4373923786262405145'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/09/pbxnsipcom-inphonexcom.html' title='pbxnsip.com &amp; inphonex.com'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-7014212751746346462</id><published>2008-09-20T12:15:00.014-06:00</published><updated>2008-09-21T12:22:32.283-06:00</updated><title type='text'>SNOM OCS Edition...</title><content type='html'>&lt;div align="center"&gt;&lt;a href="http://www.snom.com/products/software/snom-ocs-edition/"&gt;&lt;img id="BLOGGER_PHOTO_ID_5248222570651073426" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_5p9ytPpDDjQ/SNVunynYO5I/AAAAAAAAAA4/6Me5eafoycY/s320/SNOM+Phones+012+(Small).jpg" border="0" /&gt;SNOM OCS Edition &lt;/a&gt;firmware (Contact &lt;a href="mailto:tk@snom.com"&gt;tk@snom.com&lt;/a&gt;)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SNVDoXrxHII/AAAAAAAAAAo/veLc2Hkca14/s1600-h/SNOM+Phones+005+(Small).jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5248175301601598594" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_5p9ytPpDDjQ/SNVDoXrxHII/AAAAAAAAAAo/veLc2Hkca14/s320/SNOM+Phones+005+(Small).jpg" border="0" /&gt;&lt;/a&gt; I recently purchased two SNOM VoIP phones, a 320 dual line display and a 370 hi-res LCD unit. My goal is to connect them in various configurations to my software based PBX solution (pbxnsip) and my Microsoft Office Communications Server 2007 lab environment.&lt;br /&gt;&lt;br /&gt;Tim Koehler of SNOM in Germay was kind enough to respond to my request for their latest firmware which supports OCS. The firmware update allows registration, SRTP, and directory lookup from Active Directory along with basic presence information.&lt;br /&gt;&lt;br /&gt;Both phones use similar firmware and support the same basic features:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a call from OCS to SNOM or SNOM to OCS&lt;/li&gt;&lt;li&gt;Call transfer (attended/unattended/blind)&lt;/li&gt;&lt;li&gt;Hold/Unhold&lt;/li&gt;&lt;li&gt;TLS Encryption&lt;/li&gt;&lt;li&gt;Basic Presence (in a call/available)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The instructions on how to configure the phones are quite good however they are missing one or two steps (&lt;a href="http://www.snom.com/en/products/software/how-to-configure-the-snom-ocs-edition/"&gt;http://www.snom.com/en/products/software/how-to-configure-the-snom-ocs-edition/&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;Step 4 shows the setting "Register HTTP Contact:" as "Off" however the instructions don't specifically indicate to make this setting. My firmware on both phones had this set to "On" which resulted in an error when registering "Invalid Contact Information". &lt;/p&gt;&lt;p&gt;Also, when the phone attempted to register using the IP or FQDN as suggested (i.e. 192.168.1.100;transport=tls), it would fail with the error "Registration Failed". When searching event viewer logs on the OCS server I found several error messages such as:&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;A significant number of invalid certificates have been provided by remote IP&lt;br /&gt;address 192.168.1.70 when attempting to establish an MTLS peer. There have been&lt;br /&gt;10 such failures in the last 20 minutes.&lt;br /&gt;Certificate Names associated with&lt;br /&gt;this peer were&lt;br /&gt;snom VoIP Phone&lt;br /&gt;The serial number of this certificate&lt;br /&gt;is&lt;br /&gt;00.&lt;br /&gt;The issuer of this certificate is snom VoIP Phone&lt;br /&gt;The specific&lt;br /&gt;failure types and their counts are identified below.&lt;br /&gt;Instance count - Failure&lt;br /&gt;Type&lt;br /&gt;10 800B0109&lt;/strong&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;So for some reason the phone is attempting to use MTLS to connect to the OCS server. To resolve this I created a new inbound connection object on my front-end server. I set it to use the same IP, port 5066, and TLS as the transport. I then configured the registration parameter in the phone to: "192.168.1.100:5066;transport=tls" and it worked!&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_5p9ytPpDDjQ/SNVC2EzwYFI/AAAAAAAAAAg/OqEhc60qWyc/s1600-h/SNOM+Phones+002+(Small).jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5248174437541371986" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_5p9ytPpDDjQ/SNVC2EzwYFI/AAAAAAAAAAg/OqEhc60qWyc/s320/SNOM+Phones+002+(Small).jpg" border="0" /&gt;&lt;/a&gt; So now the phones can be registered with OCS. I can call back and forth between MOC, Tanjay, and SNOM without issue.&lt;br /&gt;&lt;br /&gt;In order for presence information to be conveyed I had to set the "Report Machine State" value to "On". Now when I pick up the handset the presence shows "In a call".&lt;br /&gt;&lt;br /&gt;This solution isn't without significant issues though and deploying these units as is would be impossible in just about every environment.&lt;br /&gt;&lt;br /&gt;So here are the current issues:&lt;br /&gt;&lt;br /&gt;1. When I call in from the PSTN my DID goes to my Exchange UM server where the Auto Attendant picks up the call. I type in the extension of my now-signed-in SNOM phone (+8021) and it rings! I pick up the phone and NO AUDIO comes through.&lt;br /&gt;&lt;br /&gt;I can call from OCS to OCS (SNOM) and it works great.&lt;br /&gt;I can call from OCS (SNOM) to OCS and it works great.&lt;br /&gt;I can call from OCS to my Exchange UM AA and transfer to the OCS (SNOM) and it works great.&lt;br /&gt;I can call from OCS (SNOM) to PSTN and it works great. &lt;/p&gt;&lt;p&gt;&lt;span style="color:#66ff99;"&gt;&lt;strong&gt;&lt;span style="color:#ff6666;"&gt;!!UPDATE!! You need to change the dial plan in Exchange UM to "SIP Secured" for this to work.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;2. When I place a call on hold using the OCS (SNOM) unit, the other party shows the call being held. When I pick up the call again it drops the call. I've tried this many different ways and think this is a genuine bug. &lt;/p&gt;&lt;p&gt;&lt;span style="color:#ff6666;"&gt;&lt;strong&gt;!!UPDATE!! This appears to be resolved with the above fix ("SIP Secured" setting).&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;3. When I try to call my Exchange UM AA from my OCS (SNOM) unit, I get an error "&lt;strong&gt;unsupported media type&lt;/strong&gt;" on the phone and Exchange produces an error:&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;strong&gt;'The SDP media description received from the remote SIP peer could not&lt;br /&gt;be parsed.'&lt;/strong&gt;&lt;/blockquote&gt;&lt;/strong&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color:#ff6666;"&gt;!!UPDATE!! You need to change the dial plan in Exchange UM to "SIP Secured" for this to work. Also, change the "RTP Encryption" setting to "off" in the user registration, RTP settings.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;4. I'm not 100% sure how to bring up the directory but I've found that hitting the "0" key once or twice usually works. I've programmed the Directory button to do this for me so I suppose its working&lt;br /&gt;&lt;br /&gt;That's all I have for now...I'll post again as I find out more. &lt;/p&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;Cheers!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5248181544746255922" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_5p9ytPpDDjQ/SNVJTxNchjI/AAAAAAAAAAw/9y82HCy4Mqg/s320/SNOM+Phones+010+(Small).jpg" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-7014212751746346462?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/7014212751746346462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/09/snom-ocs-edition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7014212751746346462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/7014212751746346462'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/09/snom-ocs-edition.html' title='SNOM OCS Edition...'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5p9ytPpDDjQ/SNVunynYO5I/AAAAAAAAAA4/6Me5eafoycY/s72-c/SNOM+Phones+012+(Small).jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-5543772248766489761</id><published>2008-08-26T13:27:00.004-06:00</published><updated>2008-08-26T13:40:02.422-06:00</updated><title type='text'>Wild goose chase with Windows 2008</title><content type='html'>So I'm trying to add a Windows 2008 DC which has been a domain member for a few months and I keep getting the error:&lt;br /&gt;&lt;br /&gt;Missing DNS SRV record "_ldap._tcp.dc.domainname&lt;domainname&gt;"&lt;br /&gt;&lt;br /&gt;I searched for it in DNS and even ran an NSLOOKUP....which lead me to my discovery....&lt;br /&gt;&lt;br /&gt;My NSLOOKUP was defaulting to a server called "::1". After changing it in the command line I noticed I was able to find the SRV record. As it turns out IPv6 is enabled and set to "automatically obtain address". This causes the primary client DNS to be "::1" if you don't have IPv6 set up in your network.&lt;br /&gt;&lt;br /&gt;By unchecking IPv6 in the network properties the IPv4 DNS IP's took affect and POW!!! It worked.&lt;br /&gt;&lt;br /&gt;I chased this one down and ran in circles for a while before figuring it out. :S&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-5543772248766489761?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/5543772248766489761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/08/wild-goose-chase-with-windows-2008.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5543772248766489761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/5543772248766489761'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/08/wild-goose-chase-with-windows-2008.html' title='Wild goose chase with Windows 2008'/><author><name>Jason Shave [MSFT]</name><uri>http://www.blogger.com/profile/03747845055419267019</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/-nMx-wUEDNpc/Tox7-da4xCI/AAAAAAAAAMk/OhpPYTrihh4/s1600/2011_can_am_outlander__800r_efi_x__mr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4272670118163405613.post-4209056896444755043</id><published>2008-08-12T21:16:00.001-06:00</published><updated>2008-08-12T21:17:26.395-06:00</updated><title type='text'>Microsoft Office Communications Server 2007 R2</title><content type='html'>...still waiting for the OCS R2 beta. Lots of great things to come. Can't say much other than I like what I hear so far....&lt;br /&gt;&lt;br /&gt;Stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4272670118163405613-4209056896444755043?l=jasonshave.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jasonshave.blogspot.com/feeds/4209056896444755043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jasonshave.blogspot.com/2008/08/microsoft-office-communications-server.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4209056896444755043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4272670118163405613/posts/default/4209056896444755043'/><link rel='alternate' type='text/html' href='http://jasonshave.blogspot.com/2008/08/microsoft-office-communications-server.html' title='Microsoft Office Communications Server 2007 R2'/><author><name>Jason Shave [MSFT]
