<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Anurag's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/anuagar/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/anuagar/feed.xml</link>
    <description>Learning starts slowly...</description>
    <lastBuildDate>Tue, 16 Apr 2019 04:40:23 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Microsoft TEAMS: TEAMS Client Sign-in</title>
      <link>https://docs.microsoft.com/archive/blogs/anuagar/microsoft-teams-teams-client-sign-in</link>
      <pubDate>Sun, 15 Oct 2017 14:51:36 GMT</pubDate>
      <dc:creator><![CDATA[Anurag Agarwal(Anuagar)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/anuagar/?p=345</guid>
      <description><![CDATA[Teams client sign in issue is one of the most common scenario for Helpdesk or Admins or Support...]]></description>
      <content:encoded><![CDATA[Teams client sign in issue is one of the most common scenario for Helpdesk or Admins or Support Folks who are working in TEAMS troubleshooting filed. I tried to find detailed article which talks about TEAMS Sign-in but didn't find any such article. This inspired me to write detailed article on sing-in process, I always preferred my OneNote page created by taking bits and pieces from different places that covers all these details. I thought of sharing info here that might help in getting all the details in one go.

Before entering the troubleshooting phase, one should first understand the TEAMS Sign in process flow to identity what's expected and act accordingly. In this article, we will focus mainly on TEAMS Client login.

&nbsp;

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/Flow1.png" alt="" width="756" height="371" class="aligncenter wp-image-435" />

&nbsp;
<ul>
 	<li>
<div>How does Sign IN work?</div>
<img src="https://msdnshared.blob.core.windows.net/media/2017/10/Flow2-1024x508.jpg" alt="" width="822" height="408" class=" wp-image-445 aligncenter" /></li>
 	<li>
<div></div>
<ul style="margin-left: 54pt">
 	<li>
<div>The client reaches teams.skype.com and start the bootstrap. Under JSON we should be able to view all features are enabled or not enabled:</div>
<div></div>
<div></div>
<img src="https://msdnshared.blob.core.windows.net/media/2017/10/TC01.jpg" alt="" width="921" height="59" class="aligncenter wp-image-355" /><img src="https://msdnshared.blob.core.windows.net/media/2017/10/TC02.jpg" alt="" width="398" height="377" class="aligncenter wp-image-365" /></li>
</ul>
<ul style="margin-left: 54pt">
 	<li>The page teams.microsoft.com will present a sign in page with a frame from login.microsoftonline.com and follow an OAUTH authentication.</li>
 	<li><a href="https://login.microsoftonline.com/common/userrealm/"><span style="color: blue;text-decoration: underline">https://login.microsoftonline.com/common/userrealm/</span></a> - will return where the OAUTH auth will happen.<img src="https://msdnshared.blob.core.windows.net/media/2017/10/TC03.jpg" alt="" width="694" height="249" class="aligncenter wp-image-366" /></li>
</ul>
</li>
</ul>
<ul style="margin-left: 81pt">
 	<li>
<div>A token will be generated and the client and can be verified on the 302 message from login.microsoftonline.com:</div>
<img src="https://msdnshared.blob.core.windows.net/media/2017/10/TC04.jpg" alt="" width="657" height="562" class="aligncenter wp-image-375" /></li>
</ul>
<ul style="margin-left: 81pt">
 	<li>Token expires_in=3599 (1h)</li>
 	<li>From this point the client execute all the requests with the access token on the HTTP header:<img src="https://msdnshared.blob.core.windows.net/media/2017/10/TC05.jpg" alt="" width="426" height="235" class="aligncenter wp-image-385" /></li>
</ul>
<ul>
 	<li>
<div>How does the client identify where to register?</div>
<ul style="margin-left: 54pt">
 	<li>The client will always attempt to register to <strong>teams.microsoft.com</strong> that is the URL of the service.</li>
 	<li>
<div>Once registered, the client will POST to <strong>api.teams.skype.com</strong> that will reply with a JSON with the services the client have to register:</div>
<img src="https://msdnshared.blob.core.windows.net/media/2017/10/TC06.jpg" alt="" width="619" height="375" class="aligncenter wp-image-386" />

The client do authenticated requests to the <strong>ams, chat service, middleTier, msImageService </strong>and<strong> search</strong> services on respective geographical region.</li>
</ul>
</li>
</ul>
&nbsp;
<ul>
 	<li>How does Sign IN work in SSO?</li>
</ul>
<img src="https://msdnshared.blob.core.windows.net/media/2017/10/Flow2-1024x504.jpg" alt="" width="849" height="418" class="wp-image-455 aligncenter" />

<strong>Log Collection:
</strong>
<div>
<table width="1080">
<tbody>
<tr>
<td width="506"><strong>Windows</strong></td>
<td width="574"><strong>MAC</strong></td>
</tr>
<tr>
<td width="506">Web logs

·       Press (CTRL+ALT+SHFT+1) in client to download logs (Electron Logs)
Note - be sure to use the 1 on top of keyboard and not 1 from number pad as that maps to a different key

·       %downloads%\MSTeams Diagnostics Log &lt;timestamp&gt;.txt

Best logs to start with

Contains most all client activity

Desktop logs

·       %appdata%\Microsoft\Teams\logs.txt

Contains framework and bootstrapping info

App Bootstrap process

Plugin initialization

Update Management

Some SSO info when using SSO builds (Desktop Auth)

<strong> </strong></td>
<td width="574">Web logs

·       Press (Command+Option+SHFT+1) in client to download logs (Electron Logs)
<strong>Note</strong> - be sure to use the 1 on top of keyboard and <strong>not</strong> 1 from number pad as that maps to a different key

·       Downloads\MSTeams Diagnostics Log &lt;timestamp&gt;.txt

Best logs to start with

Contains most all client activity

Desktop logs

·       ~/Library/Application Support/Microsoft/Teams/logs.txt

Contains framework and bootstrapping info

App Bootstrap process

Plugin initialization

Update Management

Some SSO info when using SSO builds (Desktop Auth)

&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<strong>Troubleshooting:
</strong>

While troubleshooting TEAMS Sign-in we need to have answers to following questions. Once, you have answer to questions you have almost know the cause of it:
<ul style="margin-left: 72pt">
 	<li>
<div>Was user able to sign in before?</div>
<ul>
 	<li>Provisioning Issue?</li>
</ul>
</li>
 	<li>
<div>How widespread is the sign-in failure?</div>
<ul>
 	<li>1 user, few users, All users in the tenant</li>
</ul>
</li>
 	<li>
<div>What is the Repro rate?</div>
<ul>
 	<li>Intermittent</li>
 	<li>Consistent</li>
</ul>
</li>
 	<li>
<div>What clients are impacted?</div>
<ul>
 	<li>Web</li>
 	<li>Windows</li>
 	<li>Mac</li>
</ul>
</li>
 	<li>
<div>Networks where sign-in fails</div>
<ul>
 	<li>Corp</li>
 	<li>VPN to Corp</li>
 	<li>Public Internet (Shopping complex, airports, etc)</li>
</ul>
</li>
</ul>
<ul>
 	<li>
<div>Initial steps when investigating a sign in problem:</div>
<ul style="margin-left: 72pt">
 	<li>
<div>Issue is isolated to specific network</div>
<ul>
 	<li>Likely cause is a Firewall blocking at a perimeter network</li>
</ul>
</li>
 	<li>
<div>Issue is impacting all users everywhere</div>
<ul>
 	<li>
<div>Likely cause is with entitlement or other issue authenticating to the service</div>
<ul>
 	<li>Possible SSO or 2fA issue.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
 	<li>
<div>Gather app logs or web traffic tracing (Fiddler)</div>
<ul style="margin-left: 72pt">
 	<li>From bottom of the log search for key words</li>
 	<li>Example or "err_" or "error" or "failed"</li>
 	<li>
<div>From Fiddler trace, you can filter Example Process=Teams.exe</div>
<ul>
 	<li>Search for anything unusual like a 4xx or 5xx response that suggests something is missing or there is an error. (Recommend opening "Raw" view in Inspectors)</li>
</ul>
</li>
</ul>
</li>
</ul>
To use Microsoft Teams, ensure both the FQDN and IP Address endpoints listed in the Microsoft Teams tables are reachable: <a href="https://support.office.com/en-us/article/Office-365-URLs-and-IP-address-ranges-8548a211-3fe7-47cb-abb1-355ea5aa88a2?ui=en-US&amp;rs=en-US&amp;ad=US">Microsoft TEAMS</a>

Tools to refer while troubleshooting Sign-in:
<ol>
 	<li>Fiddler</li>
 	<li>Log files.txt</li>
</ol>
Troubleshooting Examples:
<ol>
 	<li>
<div>In case of Firewall issue – You may see an HTTP response in Fiddler traces will suggest firewall is blocking</div>
<img src="https://msdnshared.blob.core.windows.net/media/2017/10/TC07.jpg" alt="" width="695" height="391" class="aligncenter wp-image-395" />                                                                                                                                                                                                    ** <span style="font-size: 8pt">Screen shot referred from demo pptx.</span></li>
</ol>
<ul>
 	<li>
<div>Example of time out issue (Electron Log file)</div>
<img src="https://msdnshared.blob.core.windows.net/media/2017/10/TC08.jpg" alt="" width="646" height="74" class="aligncenter wp-image-405" />                                                                                                                                                                                                    ** <span style="font-size: 8pt">Screen shot referred from demo pptx.
</span></li>
 	<li>
<div>Example of time-out issue (Fiddler Trace, Response Inspector)</div>
<img src="https://msdnshared.blob.core.windows.net/media/2017/10/TC09.jpg" alt="" width="428" height="162" class="aligncenter wp-image-415" />                                                                                                                                                                                                     ** <span style="font-size: 8pt">Screen shot referred from demo pptx.</span></li>
</ul>
To summarize TEAMS Sign-In I would recommend to refer fiddler traces and if any further queries please feel free to drop queries.]]></content:encoded>
    </item>
    <item>
      <title>Microsoft TEAMS: Guest Access</title>
      <link>https://docs.microsoft.com/archive/blogs/anuagar/microsoft-teams-guest-access</link>
      <pubDate>Mon, 09 Oct 2017 02:58:57 GMT</pubDate>
      <dc:creator><![CDATA[Anurag Agarwal(Anuagar)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/anuagar/?p=185</guid>
      <description><![CDATA[Introduction:

In this article I will be discussing more about new feature "Guest Access" which...]]></description>
      <content:encoded><![CDATA[<strong>Introduction</strong>:

In this article I will be discussing more about new feature <strong>"Guest Access"</strong> which has been launched recently in Microsoft TEAMS.

Today, Teams is getting better with the rollout of guest access to all Office 365 commercial and education customers. Now Office 365 users can add people from outside their company to a team, so guests can participate in chats, join meetings, collaborate on documents, and more.

&nbsp;

Teams is built upon Office 365 Groups and provides a new way to access shared assets for an Office 365 group. Teams is the best solution for persistent chat among group/team members. Office 365 Groups is a service that provides cross-application membership for a set of shared team assets, like a SharePoint site or a Power BI dashboard, so that the team can collaborate effectively and securely.

TEAMS is available in three principle forefronts:
<ul>
 	<li>
<div><strong>Teamwork</strong> - Based on today's requirement to easily communicate and share with others you want to work with, including people outside your organization. Anyone with an Azure Active Directory (Azure AD) account can be added as a guest in Teams. That means anyone who is present as a user in Azure AD whether being licensed or not with any service/invited user should be valid Office 365 domain user or synced from On-Premise Active Directory to Azure AD using Directory Synchronization.</div>
<div></div></li>
 	<li>
<div><b>Public <span>accessibility</span></b>- We’re introducing the ability to add anyone as a guest in Microsoft Teams. This means that anyone with a business or consumer email account, such as Outlook.com, Gmail.com or others, can participate as a guest in Teams with full access to team chats, meetings and files.</div>
<div>Previously, anyone with an Azure Active Directory (Azure AD) account could be added as a guest, and now anyone with an email address can be added to a team. All guests in Teams are covered by the same compliance and auditing protection as the rest of Office 365, and can be managed securely within Azure AD.</div></li>
 	<li>
<div><strong>Security and compliance - </strong>We have kept Teams to provide enterprise-grade security and compliance assurances. In Teams, guest accounts are added and securely managed within Azure AD. This enables enterprise-grade security, like conditional access policies for guest user access. In addition, with Azure AD, IT departments have unparalleled insight into the activities of external users in their organization through detailed sign-in and access reports. Guest user content and activities are reported under compliance and auditing reporting of Office 365.</div></li>
 	<li>
<div><strong>IT manageability</strong> - Guest access in Teams comes with the ability for IT to centrally manage how guests participate within their Office 365 environment, providing consistency across application experiences in Office 365. IT admins can quickly and easily view, add, or revoke a guest's access to the host tenant.</div></li>
</ul>
Guest Access Capabilities:
<div>
<table style="border-collapse: collapse" border="0"><colgroup> <col style="width: 698px" /> <col style="width: 294px" /> <col style="width: 281px" /></colgroup>
<tbody valign="top">
<tr style="height: 38px;background: #4472c4">
<td valign="middle" style="border: solid #4472c4 1.0pt;padding: 8px"><strong>Capabilities</strong></td>
<td valign="middle" style="border-top: solid #4472c4 1.0pt;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px"><strong>Teams User</strong></td>
<td valign="middle" style="border-top: solid #4472c4 1.0pt;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px"><strong>Guest User</strong></td>
</tr>
<tr style="height: 29px">
<td valign="middle" style="border-top: none;border-left: solid #4472c4 1.0pt;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">Create channels</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
</tr>
<tr style="height: 29px">
<td valign="middle" style="border-top: none;border-left: solid #4472c4 1.0pt;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">Private chat</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
</tr>
<tr style="height: 38px">
<td valign="middle" style="border-top: none;border-left: solid #4472c4 1.0pt;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">Channel conversations</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
</tr>
<tr style="height: 29px">
<td valign="middle" style="border-top: none;border-left: solid #4472c4 1.0pt;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">Channels Files</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
</tr>
<tr style="height: 29px">
<td valign="middle" style="border-top: none;border-left: solid #4472c4 1.0pt;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">Chat Files Sharing</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
<td valign="middle" style="background: #b4c7e7;border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">n</td>
</tr>
<tr style="height: 38px">
<td valign="middle" style="border-top: none;border-left: solid #4472c4 1.0pt;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">Add apps (tabs, bots, connectors)</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
<td valign="middle" style="background: #b4c7e7;border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">n</td>
</tr>
<tr style="height: 38px">
<td valign="middle" style="border-top: none;border-left: solid #4472c4 1.0pt;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">Tenant wide and Teams\Channels Guest Access policies</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
</tr>
<tr style="height: 48px">
<td valign="middle" style="border-top: none;border-left: solid #4472c4 1.0pt;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">Users can be invited via any email address outside the O365 tenant's domain</td>
<td valign="middle" style="background: #dae3f3;border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">n</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
</tr>
<tr style="height: 38px">
<td valign="middle" style="border-top: none;border-left: solid #4472c4 1.0pt;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">Create team</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
<td valign="middle" style="background: #dae3f3;border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">n</td>
</tr>
<tr style="height: 38px">
<td valign="middle" style="border-top: none;border-left: solid #4472c4 1.0pt;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">Discover and join public teams</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
<td valign="middle" style="background: #dae3f3;border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">n</td>
</tr>
<tr style="height: 2px">
<td valign="middle" style="border-top: none;border-left: solid #4472c4 1.0pt;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">View org chart</td>
<td valign="middle" style="border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">y</td>
<td valign="middle" style="background: #dae3f3;border-top: none;border-left: none;border-bottom: solid #4472c4 1.0pt;border-right: solid #4472c4 1.0pt;padding: 8px">n</td>
</tr>
</tbody>
</table>
</div>
&nbsp;

<strong>How guest joins a teams group</strong>:

User have email address corresponds to Office 365 or Azure AD work or school can be added as guest user.

[**Before guest user can join, admins need to enable guest access in their respective tenant. Global administrator needs to click <strong>Settings &gt; Services &amp; add-ins &gt; Microsoft Teams</strong>. Select <strong>Guest</strong> in Select the user/license type you want to configure, and select <strong>On</strong> in <strong>Turn Microsoft Teams on or off for all users of this type</strong>. It might take 1 hour to replicate across environment]

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/011.jpg" alt="" width="570" height="422" class="wp-image-216 aligncenter" />

Steps:
<ol>
 	<li><span style="color: #2f2f2f;background-color: white">From your teams list, just click  next to the team name, and then click <strong>Add members</strong>.</span></li>
</ol>
<span style="color: #2f2f2f;background-color: white"> </span><img src="https://msdnshared.blob.core.windows.net/media/2017/10/02.jpg" alt="" width="490" height="269" class="wp-image-226 aligncenter" />

2. Enter the guest's email address.

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/03.jpg" alt="" width="384" height="280" class="wp-image-235 aligncenter" />

[**<span style="color: #2f2f2f;background-color: white">For guests, you need to set the name other people will see. Click  and then type their name.]
</span>

<strong>What the guest experience is like:
</strong>

<span style="color: #2f2f2f;background-color: white">When guest is invited to join a team, they will receive a notification email that includes some information about teams. The guest must redeem the invitation in email messages.
</span>

<span style="color: #2f2f2f;background-color: white"><img src="https://msdnshared.blob.core.windows.net/media/2017/10/04.jpg" alt="" width="422" height="553" class="wp-image-236 aligncenter" />
</span>

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/05.jpg" alt="" width="419" height="527" class="wp-image-245 aligncenter" />

<span style="color: #2f2f2f;background-color: white">
</span>

<span style="color: #2f2f2f;background-color: white">When user tries to redeem using web following notification is received:
</span>

<span style="color: #2f2f2f;background-color: white"><img src="https://msdnshared.blob.core.windows.net/media/2017/10/06.jpg" alt="" width="447" height="268" class="wp-image-246 aligncenter" />
</span>

Test User 1 &amp; User 1 are added to "Guest Testing" group:

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/07.jpg" alt="" width="536" height="196" class="wp-image-255 aligncenter" />

After Guest user is added to Group, all members of group receive notification:

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/08.jpg" alt="" width="562" height="404" class="wp-image-256 aligncenter" />

Experience for guest user "User1"

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/09.jpg" alt="" width="755" height="484" class="aligncenter wp-image-265 " />

Note: To switch between different teams instance, user can select Microsoft and vice-versa as per requirement

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/10.jpg" alt="" width="270" height="433" class="wp-image-266 aligncenter" />

<strong>Troubleshooting:
</strong>
<ol>
 	<li>
<div>Login to <span style="background-color: white"><a href="https://aad.portal.azure.com">https://aad.portal.azure.com</a> </span><span style="color: #333333;background-color: white">to manage group and members</span><strong>
</strong></div>
<strong><img src="https://msdnshared.blob.core.windows.net/media/2017/10/111.jpg" alt="" width="649" height="298" class="wp-image-275 aligncenter" /></strong></li>
 	<li><strong></strong>Manage Audit logs and activity as per below screen shot<img src="https://msdnshared.blob.core.windows.net/media/2017/10/121.jpg" alt="" width="715" height="314" class="aligncenter wp-image-285" /></li>
 	<li>To manage users from Azure AD PowerShell, we need to follow following steps:
<ol>
 	<li>Install Azure AD PowerShell modules from<span style="color: #444444;font-family: Verdana;font-size: 10pt;background-color: white"> <a href="http://connect.microsoft.com/site1164/Downloads/DownloadDetails.aspx?DownloadID=59185"><span style="color: #3778cd">Azure Active Directory PowerShell Module</span></a></span> and sign-in assistance from <a href="https://www.microsoft.com/en-us/download/details.aspx?id=41950&amp;751be11f-ede8-5a0c-058c-2ee190a24fa6=True"><span style="color: #4d469c;font-family: Verdana;font-size: 10pt;background-color: white">Microsoft Online Services Sign-In Assistant for IT Professionals RTW</span></a>.</li>
 	<li>Open Windows PowerShell as Administrator</li>
 	<li>Run Import-Module MSOnline</li>
 	<li>
<div>After Step C, run Connect-MsolService</div>
<img src="https://msdnshared.blob.core.windows.net/media/2017/10/13.jpg" alt="" width="534" height="55" class="aligncenter wp-image-295 size-full" /></li>
 	<li>Once, prompted for User Name &amp; Password, provide Global Administrator credentials for the tenant you want to manage Guest Accounts.</li>
 	<li>
<div>To get the list of Guest Accounts in a tenant run:</div>
<strong>Get-MsolUser -All | where {$_.UserType -eq "Guest"}
</strong>

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/14.jpg" alt="" width="965" height="127" class="aligncenter wp-image-296 size-full" /></li>
 	<li>
<div>To change display name for guest user:</div>
<strong>Set-MsolUser -UserPrincipalName "TU1_akumase3.onmicrosoft.com#EXT#@anuagartest.onmicrosoft.com" -DisplayName "Test Guest User 1"
</strong>

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/15.jpg" alt="" width="1318" height="51" class="aligncenter wp-image-306 size-full" /></li>
 	<li>
<div>Verify if display name has been changed:</div>
<img src="https://msdnshared.blob.core.windows.net/media/2017/10/16.jpg" alt="" width="1014" height="120" class="aligncenter wp-image-195 size-full" /></li>
 	<li>
<div>To disable guest user without deleting:</div>
<strong>Set-MsolUser -UserPrincipalName "<a href="mailto:TU1_akumase3.onmicrosoft.com">TU1_akumase3.onmicrosoft.com#EXT#@anuagartest.onmicrosoft.com</a>" -BlockCredential $True
</strong>

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/17.jpg" alt="" width="1315" height="42" class="aligncenter wp-image-205 size-full" /></li>
 	<li>
<div>To remove guest user from tenant:</div>
<strong>Remove-MsolUser -UserPrincipalName "<a href="mailto:TU1_akumase3.onmicrosoft.com">TU1_akumase3.onmicrosoft.com#EXT#@anuagartest.onmicrosoft.com</a>"
</strong>

<img src="https://msdnshared.blob.core.windows.net/media/2017/10/18.jpg" alt="" width="1327" height="212" class="aligncenter wp-image-206 size-full" /></li>
</ol>
</li>
</ol>
**Hope the above article helps you in understanding, managing and troubleshooting "Microsoft TEAMS: Guest Access".
<p style="margin-left: 36pt"></p>]]></content:encoded>
    </item>
    <item>
      <title>Introducing PSTN Calling Dial Plans</title>
      <link>https://docs.microsoft.com/archive/blogs/anuagar/introducing-pstn-calling-dial-plans</link>
      <pubDate>Sun, 24 Sep 2017 18:42:29 GMT</pubDate>
      <dc:creator><![CDATA[Anurag Agarwal(Anuagar)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/anuagar/?p=75</guid>
      <description><![CDATA[What is Dial-Plan?


Dial Plan is a set of normalization rules that translates dialed phone...]]></description>
      <content:encoded><![CDATA[<strong>What is Dial-Plan?
</strong>

Dial Plan is a set of normalization rules that translates dialed phone number into singe standard E.164 format for Call Routing.

A Dial-Plan consist of one or more Normalization Rule which are based on users Dialing habits.

You use your Skype Client to dial PSTN number, and you used to dial a prefix, assume 9, then dial the called number. You may see on the phone screen that some digits gone, e.g. 9, and others added (may be the Country and Area codes). Why? I don't dial that! But finally, you hear your colleague voice and call established successfully.

The reason being Skype administrator in your company created special formula that accept your inputs and translate it to (E.164) what you see on the screen.

This is what we called it Normalization Rules and Dial Plans.

<span style="color: #2f2f2f;font-family: Segoe UI;background-color: white">In Skype for Business Online there two types of dial plans:
</span>
<ul>
 	<li>Service Scoped: Is scoped for every country where Cloud PBX is available. Each user is automatically assigned with this dial-plan and it cannot be altered.</li>
 	<li>
<div>Tenant Scoped: It can further be broken into 2 types of Dial-Plan:</div>
<ul style="margin-left: 144pt">
 	<li>Tenant Scope – It is customizable and applied to all users in respective tenant</li>
 	<li>User Scope – It is customizable and applies to specific users</li>
</ul>
</li>
</ul>
<img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture01.jpg" alt="" width="563" height="166" class="aligncenter wp-image-56 " />

The following are the possible effective dial plans:
<ol>
 	<li>Service Dial-Plan: If no tenant global dial plan is scoped &amp; user global dial plan is assigned to provisioned user then user will inherit Service Dial Plan mapped to country with their Office 365 usage location</li>
 	<li>Tenant Global: If tenant global dial plan is defined and no user global dial plan is assigned to provisioned user then user will inherit effective dial plan merged with tenant dial plan and service dial plan</li>
 	<li>User Global: If user global dial plan is defined and assigned to provisioned user then user will inherit effective dial plan merged with user global dial plan and service dial plan mapped to country with their Office 365 usage location</li>
</ol>
<img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture02.jpg" alt="" width="769" height="193" class="aligncenter wp-image-66 " />

<strong>Planning for tenant dial plans
</strong>

<strong>Step 1</strong> Decide whether a custom dial plan is needed to enhance the user dialing experience – typically the need for one would be to support non-E.164 dialing such as extensions or abbreviated national dialing.

<strong>Step 2</strong> Determine whether tenant global or tenant user scoped dial plans are needed or both. User scoped dial plans are needed if users have different local dialing requirements.

<strong>Step 3</strong> Identify valid number patterns for each required dial plan. Only the number patterns that are not defined in the service level country dial plans are required.

<strong>Step 4</strong> Develop an organization-wide scheme for naming dial plans. Adopting a standard naming scheme assures consistency across an organization and makes maintenance and updates easier.

&nbsp;

<strong>Tenant dial plan walk through
</strong>

Normalization rules that are assigned to each Cloud PBX user within US automatically:
<ul>
 	<li><span>PS C:\WINDOWS\system32&gt; (Get-CsDialPlan US).Normalization | FT Name,Description,Pattern,Translation</span></li>
</ul>
<img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture03.jpg" alt="" width="764" height="108" class="aligncenter wp-image-95 " />

Without configuring custom Dial Plans, this is the result when dialing number:

<img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture04.jpg" alt="" width="837" height="444" class="aligncenter wp-image-105 " />

We will now create Custom tenant dial plan for practical understanding
<ul>
 	<li><span style="color: #203864;background-color: lightgrey">$nr1 = New-CsVoiceNormalizationRule -Parent Global -Name Test1 -Pattern "^(\d{4})$" -Description "Number with 181" -Translation '+1816406$1' -InMemory
</span></li>
 	<li><span style="color: #1f4e79;background-color: lightgrey">$nr2 = New-CsVoiceNormalizationRule -Parent Global -Name Test2 -Pattern '^([2-9]\d{7})$' -Description "Local number normalization for Australia" -Translation '+613$1' -InMemory
</span></li>
 	<li><span style="color: #203864"><span style="background-color: lightgrey">New-CsTenantDialPlan  -Identity DialPlan-Test1 -NormalizationRules @{Add=$nr1,$nr2}</span>
</span></li>
</ul>
<img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture05.jpg" alt="" width="723" height="166" class="aligncenter wp-image-115 " />

Assign this to user John Depp
<ul>
 	<li>Grant-CsTenantDialPlan -PolicyName DialPlan-Test1 -Identity <a href="mailto:john.depp@anuagar.info">john.depp@anuagar.info</a></li>
</ul>
<img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture06.jpg" alt="" width="789" height="23" class="aligncenter wp-image-125 " />
<p style="background: white"><span style="color: #353535;font-family: Arial;font-size: 10pt">After signing out and back in from the Skype for Business client, the additional normalization rules are now applied.
</span></p>
<p style="background: white"><span style="color: #353535;font-family: Arial;font-size: 10pt"><strong>Update Global Tenant Dial Plan with Normalization Rules
</strong></span></p>
<p style="background: white"><span style="color: #353535;font-family: Arial;font-size: 10pt"><strong><img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture07.jpg" alt="" width="772" height="182" class="aligncenter wp-image-135 " />
</strong></span></p>
<p style="background: white"><span style="color: #353535;font-family: Arial;font-size: 10pt"><strong>
</strong></span></p>

<ul>
 	<li><span style="color: #203864;background-color: lightgrey">$nr1 = New-CsVoiceNormalizationRule -Parent Global -Name Test1 -Pattern "^(\d{4})$" -Description "Number with 181" -Translation '+1816406$1' -InMemory
</span></li>
 	<li>
<div style="background: white"><span style="color: #1f4e79;background-color: lightgrey">Set-CsTenantDialPlan -Identity Global -NormalizationRules @{Add=$nr1}
</span></div></li>
</ul>
<strong>Removing Tenant User Dial Plan from a User
</strong>
<ul>
 	<li><span style="color: #1f4e79;background-color: lightgrey">Grant-CsTenantDialPlan -PolicyName $null -Identity <a href="mailto:John.Depp@anuagar.info"><span style="color: #023160">John.Depp@anuagar.info</span></a>
</span></li>
</ul>
<img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture08.jpg" alt="" width="778" height="24" class="aligncenter wp-image-137 " />

<span style="color: #1f4e79;background-color: lightgrey">
</span>

<strong>Removing Tenant Dial Plan
</strong>

Remove a Tenant User Dial Plan (force will allow delete even if assigned to any users)

Whilst it's recommended to gracefully remove a dial plan from all users it's assigned to prior to deleting the dial plan, include -force if you want to remove anyway:
<ul>
 	<li><span style="color: #1f4e79;background-color: lightgrey">Remove-CsTenantDialPlan -Identity Tag:DialPlan-Test1 -Force
</span></li>
</ul>
<img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture09.jpg" alt="" width="806" height="38" class="aligncenter wp-image-146 " />

<span style="color: #1f4e79;background-color: lightgrey">
</span>

<strong>Identify Effective Dial Plan
</strong>
<ul>
 	<li><span style="color: #1f4e79;background-color: lightgrey">Get-CsEffectiveTenantDialPlan -Identity John.Depp@anuagar.info| Select-Object -ExpandProperty NormalizationRules
</span></li>
</ul>
<img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture10.jpg" alt="" width="967" height="77" class="aligncenter wp-image-156 " />

<span style="color: #1f4e79;background-color: lightgrey">
</span>

You can also use above command to test number normalization
<ul>
 	<li><span style="color: #1f4e79;background-color: lightgrey">Get-CsEffectiveTenantDialPlan -Identity John.Depp@anuagar.info | Test-CsEffectiveTenantDialPlan -DialedNumber 2423456578
</span></li>
</ul>
<img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture11.jpg" alt="" width="816" height="79" class="aligncenter wp-image-157 " />

<strong>Service Dial Plan
</strong>

The following cmdlet will list default dial plan entries that apply to a region. In this example, the region is US:
<ul>
 	<li><span style="color: #1f4e79;background-color: lightgrey">(Get-CsDialPlan US).NormalizationRules | FT Name,Description,Pattern,Translation,IsInternalExtension
</span></li>
</ul>
<img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture12.jpg" alt="" width="828" height="100" class="aligncenter wp-image-166 " />

<span style="color: #1f4e79;background-color: lightgrey">
</span>

<strong>Troubleshooting
</strong>

<span style="color: black">Step1: Collect UCCAPI logs for the effected user from location "<span style="background-color: yellow">C:\Users\useralias\AppData\Local\Microsoft\Office\16.0\Lync\Tracing</span>" or "<span style="background-color: yellow">%userprofile%\AppData\Local\Microsoft\Office\16.0\Lync\Tracing</span>"
</span>

<span style="color: black">Step2: Open the UCCAPILOG file using Snooper.
</span>

<span style="color: black">Step3</span><strong>: </strong><span style="color: black">Expand the</span><strong>
<span style="color: blue;font-family: Segoe UI;font-size: 9pt">SIP/2.0 200 OK</span>, </strong><span style="color: black">you will see the normalization rules that have been applied to the user:</span><strong>
</strong>

<strong><img src="https://msdnshared.blob.core.windows.net/media/2017/09/Capture13.jpg" alt="" width="853" height="546" class="aligncenter wp-image-175 " />
</strong>
<ul>
 	<li>Hope the above information is helpful<strong>
</strong></li>
</ul>]]></content:encoded>
    </item>
  </channel>
</rss>