tag:blogger.com,1999:blog-46886886805841671292024-03-05T23:43:01.390-08:00Matt Landis Windows PBX & UC ReportReviews, News, HowTo's and Commentary About Microsoft Communication SolutionsMatt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.comBlogger985125tag:blogger.com,1999:blog-4688688680584167129.post-54695358252082952692022-01-15T12:37:00.009-08:002022-02-15T10:12:45.025-08:00Microsoft Teams Room for Windows Gets Remote, Far End Camera PTZ Control: Quick Demo<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi52F5VWHG93p2ztAKDcojGyrY50cbydNjTmW0Cd9ZdSEPSgKy3vmQ6hkF_7jn_ZvezkUFnKlclPnu2wWyp2t_LZGn3V4sAM42lfjeN18xpb2fdQC2NgLsRT5dQ-SCIUhE0575OLsPhDVetSWFJlCy-3ccs-1kJZTOQPtBx8m5UNXpcWxK0uzu8S43eQQ=s988" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="580" data-original-width="988" height="188" src="https://blogger.googleusercontent.com/img/a/AVvXsEi52F5VWHG93p2ztAKDcojGyrY50cbydNjTmW0Cd9ZdSEPSgKy3vmQ6hkF_7jn_ZvezkUFnKlclPnu2wWyp2t_LZGn3V4sAM42lfjeN18xpb2fdQC2NgLsRT5dQ-SCIUhE0575OLsPhDVetSWFJlCy-3ccs-1kJZTOQPtBx8m5UNXpcWxK0uzu8S43eQQ=s320" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><p>Recently Microsoft has <a href="https://docs.microsoft.com/en-us/powershell/module/skype/set-csteamsmeetingpolicy?view=skype-ps" target="_blank">added a setting</a> to TeamsMeetingPolicy that appeared set to allow "TeamsCameraFarEndPTZMode". <a href="https://twitter.com/matthewlandis/status/1481742603301363712" target="_blank">On January 13, 2022 a Microsoft Teams Rooms for Windows update enabled the long awaited "multi camera support"</a> and apparently FarEndPTZ as well.<br /><br /></p><h4 style="text-align: left;">How It Works</h4><p></p><ul style="text-align: left;"><li>Enable the "TeamsCameraFarEndPTZMode" = AutoAcceptInTenant</li><ul><li>The values of this setting can be:</li><ul><li></li><li>Disabled</li><li>AutoAcceptInTenant</li><li>AutoAcceptAll</li></ul></ul><li>Schedule meeting with an end point that supports providing a FarEndPTZ</li><ul><li>Joining a scheduled meeting is important as you can only add Meeting Apps to scheduled Teams meetings</li></ul><li>Now join the meeting from a Microsoft Teams Room for Windows with a PTZ camera</li><ul><li>a Logitech Meetup, for example, supported PTZ in my test.</li></ul><li>Now join the meeting from a PC Teams Client & "Add an App" | and then select the camera</li><ul><li>It appears a PC Teams client can control however many rooms with PTZ cameras that are joined to a meeting</li><li>A Meeting Room can turn on PTZ camera control and revoke control for this meeting.</li></ul></ul><p></p><h4 style="text-align: left;">Multiples Cameras in one Meeting & Multiple Users Controlling</h4><p>What if there are several participants in a meeting that can provide a PTZ camera? On the "PTZ Camera Controls" side there will be several options under "Select a participant" as shown below.<br /><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1xywotser-xfIKenzWxxzFceIvc-bjfR7ohH_pueBHK8Ny2sIh_4zIOp-RDVzUOT4556e7CS39-_iFdGPn3-GV14yeB3QtoncVBwmTnRVwwboEt6MAZdSEZNFFEEbdiMS7YKoTqlsUlry/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="894" data-original-width="1066" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1xywotser-xfIKenzWxxzFceIvc-bjfR7ohH_pueBHK8Ny2sIh_4zIOp-RDVzUOT4556e7CS39-_iFdGPn3-GV14yeB3QtoncVBwmTnRVwwboEt6MAZdSEZNFFEEbdiMS7YKoTqlsUlry/" width="286" /></a></div><br />What happens when one user is controlling a camera and another attempts to control a particular camera?<p></p><p></p><ul style="text-align: left;"><li>The user that was controlling the camera will get a message "Someone else has taken control of the camera" (as shown below)</li><li>On the user/room who's camera is being control it will show the new controlling user as controlling the camera.</li></ul><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqg6VrGGfphyphenhyphenKi_GIGtrc-Iuo50Zo6u12sss0vi5qn0U0hAJyXe6OPLngfBWNuHpFolYSoBLXu4ZpaWZhIU4DLAIAXrhJDPouW8eXB42L2b1jCObVOLu3W2n7QWTvKgtYs6JTs9I0Gth4m/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1241" data-original-width="1283" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqg6VrGGfphyphenhyphenKi_GIGtrc-Iuo50Zo6u12sss0vi5qn0U0hAJyXe6OPLngfBWNuHpFolYSoBLXu4ZpaWZhIU4DLAIAXrhJDPouW8eXB42L2b1jCObVOLu3W2n7QWTvKgtYs6JTs9I0Gth4m/" width="248" /></a></div><br />What happens if a user/room with a PTZ camera that is being controlled, for some reason, become no longer available? The controlling user will get a message that "The persons camera is no longer available". (as shown below)<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ-24Dsd1RCxR_3QOlJDxW97EPwxqt-lAvVWgM5RPRsNEqCpKdQgVciWANfmU0ubSPPkeYyyDvTxLo6v6WUUqCa34DZes9OodNtVfUVu2Lc3bkF6VwA-7Grd8R3ETsO0KC5fbHvrxi_viX/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1120" data-original-width="631" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ-24Dsd1RCxR_3QOlJDxW97EPwxqt-lAvVWgM5RPRsNEqCpKdQgVciWANfmU0ubSPPkeYyyDvTxLo6v6WUUqCa34DZes9OodNtVfUVu2Lc3bkF6VwA-7Grd8R3ETsO0KC5fbHvrxi_viX/" width="135" /></a></div><br /><br /><p></p><p><br /></p><p></p><h4 style="text-align: left;">What PTZ Cameras work with this?</h4>I expect that Teams Certified PTZ cameras work with this feature, but there isn't a published list that I'm aware of. Below are some I tested that do work.<p></p><p></p><ul style="text-align: left;"><li>Logitech Meetup</li><li>Logitech PTZ Pro 2</li></ul><p></p><p>A question is if cameras that allow ePTZ work? not sure at the moment.</p><h4 style="text-align: left;">Video Demonstration</h4><p></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/ITjm5q06VwA" width="320" youtube-src-id="ITjm5q06VwA"></iframe></div><br /></div><br /><h4 style="text-align: left;">Some Observations</h4><div>This is an interesting new feature that might indicate the direction Microsoft is thinking in relation to PTZ camera control. Some Microsoft Teams Rooms vendors have made plugins to control PTZ for Microsoft Teams Rooms (Yealink, Poly Studio X30/50) but this could be an alternative way to think about controlling room cameras.</div><div><br /></div><div>I could see it being interesting to be able to set presets for each camera. (Poly Studio x30/50 has camera PTZ presets built into their Poly TC8 controller and I've used this.)</div><div><br /></div><div>This is a new feature and I am still learning how everything works, so let me know any corrections or additions.<br /><br /><br />Sources:<br /><br />TeamsMeetingPolicy:<br /><a href="https://docs.microsoft.com/en-us/powershell/module/skype/set-csteamsmeetingpolicy?view=skype-ps">Set-CsTeamsMeetingPolicy (SkypeForBusiness) | Microsoft Docs</a><p></p><br /></div><br />Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-88767724710815075512022-01-07T09:08:00.005-08:002022-01-07T14:17:46.528-08:00Microsoft to Integrate Canon AMLOS with Microsoft Teams: One Camera in the Room, Many Videos Views with Simple Hand Gestures to Guide Camera<p>An interesting announcement at CES 2022 is that Microsoft Teams will be integrating Canon AMLOS.</p><p>Canon AMLOS was built to be "Single. Simple. Seamless." A single camera in the meeting room that creates multiple video streams, with simple to use hand gestures to guide it within the room, and seamlessly integrated to platform.<br /><br />Let's take a look at it a little. (from CES Cannon press video)</p><p>Below is the AMLOS web app user interface. (Notice the hat tip to the Microsoft Teams UI.)</p><p></p><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGZeV07bj23Jve9eKVN6hL1fpIM0QAMm4w_uYx0QmLejL4xFoArDv9xcY6PEIfE9aerprB0f1AibdyrSG-ZSnAwxqHc4sgYY0hZV8fjkEAAN65SnP8tK0MVkP-NoB9nn_5OAfSPQpDVMDe/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="580" data-original-width="1068" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGZeV07bj23Jve9eKVN6hL1fpIM0QAMm4w_uYx0QmLejL4xFoArDv9xcY6PEIfE9aerprB0f1AibdyrSG-ZSnAwxqHc4sgYY0hZV8fjkEAAN65SnP8tK0MVkP-NoB9nn_5OAfSPQpDVMDe/w400-h217/app+UI.png" width="400" /></a></div><br /><br /><br /><p></p><p>Showing one camera show both presenter and white board. The user can zoom into a detail on the white board with remote control. <br /><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvv-FU1JNoMn0dni0CEpbu3PaY9oPiAUxFEEjayigGOGtQa-sRnIzzut7oz5ZGP1BnvOWFhi-uNrY81JpkUYkNsWXJNubWHnzEjutVJ02ocVqhOQD5N9nGEsdUXC6ulqKFrxXhzt1v_0cs/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="589" data-original-width="1067" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvv-FU1JNoMn0dni0CEpbu3PaY9oPiAUxFEEjayigGOGtQa-sRnIzzut7oz5ZGP1BnvOWFhi-uNrY81JpkUYkNsWXJNubWHnzEjutVJ02ocVqhOQD5N9nGEsdUXC6ulqKFrxXhzt1v_0cs/w400-h221/image.png" width="400" /></a></div><br />3 views: Presenter, room, and white board.<br /><br /><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8sQRFiXvFzWutgIaN93vej72-L29nqioZrdMIvcjSFCNMZ3-HVCDGABOe_MFFpReiBZedH9Ry2q8eEXQhRDTyfjLacD4DkihVf0fnodoKe00SPfqpi0Qfnj_zKRBMWEFkvy7LXRvi8zOG/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="561" data-original-width="1071" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8sQRFiXvFzWutgIaN93vej72-L29nqioZrdMIvcjSFCNMZ3-HVCDGABOe_MFFpReiBZedH9Ry2q8eEXQhRDTyfjLacD4DkihVf0fnodoKe00SPfqpi0Qfnj_zKRBMWEFkvy7LXRvi8zOG/w400-h210/image.png" width="400" /></a></div><br /><br /><p></p>Remote users (<a href="https://youtu.be/oY-I6TzNbRA?t=1329" target="_blank">source</a>) can drag and drop views to see what they want to see. Local people in the room can control the meeting entirely with hand gestures. Can guide the camera to bring things to the attention of the remote users. CANONPRESENTER opened his hand in front of something and it zoomed into it and showed it. (what appeared to be a still?) (Matt's note: It appears that with a high quality PTZ camera you can use open hand to zoom in with video as well.)<div><br />A hand in the air can end the meeting.</div><div><br /></div><div>AMLOS was built to be "Single. Simple. Seamless." A single camera in the meeting room that creates multiple video streams, with simple to use hand gestures to guide it within the room, and seamlessly integrated to platform.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYNwF0uatax51GMgFU3NnJXkAo1hdnN_0-TlVuY5M2j4xw3x9zQihap8xpyhg2O_K7Us9fI4EOuZaUQnY8T6y8sda3zDfWyHGHAj0RtMQxWNig02K0kvTV3xcIzR1UYVnzg-sJUuMUISv0/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="548" data-original-width="960" height="229" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYNwF0uatax51GMgFU3NnJXkAo1hdnN_0-TlVuY5M2j4xw3x9zQihap8xpyhg2O_K7Us9fI4EOuZaUQnY8T6y8sda3zDfWyHGHAj0RtMQxWNig02K0kvTV3xcIzR1UYVnzg-sJUuMUISv0/w400-h229/image.png" width="400" /></a></div><br /><br /></div><div>Microsoft Teams is the first to integrate AMLOS technologies. By this spring (Spring 2022) will be able to take advantage of AMLOS.</div><div><br /></div><h4 style="text-align: left;">Matt's Observations & Comments</h4><div><br /></div><div>This is an interesting development.</div><div><br /></div><div>The <a href="https://www.usa.canon.com/internet/portal/us/home/explore/ces-2022/amlos" target="_blank">Canon landing page</a> notes: "The AMLOS solution utilizes Microsoft's Azure Communication Services (ACS), which requires out-bound connections to ACS servers." So the integration is likely a fairly tight integration with MS Teams, and not "in name only".<br /><br />It is interesting that the Canon cameras specifically called out as working with AMLOS & MS Teams are the <a href="https://www.usa.canon.com/internet/portal/us/home/products/details/cameras/ptz-remote-cameras/cr-n500" target="_blank">Canon CR300 & CR500, which are NDI HDX cameras</a>. Does this mean that Microsoft Teams client and/or Microsoft Teams Room Systems (for Windows) will get (is indirectly getting?) official NDI HDX support as a camera? (The MS Teams client can already output NDI HDX streams) <br /><br /></div><div>It seems the way the remote user changes their view of the remote AMLOS based Teams caller is by going into a AMLOS cloud User Interface? I think so.</div><div><br /></div><div>I could see it being useful for the AMLOS remote view changer user interface showing up on a Teams Room System controller or mobile phone app. I don't know if there are plans for this though.<br /><br />I'm still doing more digging (and have signed up for a Canon AMLOS live demo), so let me know if you have any more comments or clarifications.</div><div><br /><br />Canon AMLOS Press Video:<br /><a href="https://youtu.be/oY-I6TzNbRA?t=1132">https://youtu.be/oY-I6TzNbRA?t=1132</a><br /><br />How to see a demo:<br /><a href="https://www.canontogethernext.com/thewritersroom/">https://www.canontogethernext.com/thewritersroom/</a><br /><br />More details:<br /><a href="https://www.usa.canon.com/internet/portal/us/home/explore/ces-2022/amlos">https://www.usa.canon.com/internet/portal/us/home/explore/ces-2022/amlos</a><p></p></div>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-56342657959825314542022-01-03T12:57:00.003-08:002022-01-03T13:03:55.829-08:00VIDEO REVIEW: Using Microsoft Teams Walkie Talkie with the Klein Valor Speaker Microphone<p>For some front line workers a walkie talkie is a necessity and having a physical mic can make using the Teams Walkie Talkie even more efficient and useful. Below is my video review of the Klein Valor Speaker Microphone for Microsoft Teams.</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/Hp_dv-i6mJI" width="320" youtube-src-id="Hp_dv-i6mJI"></iframe></div><br /><p><br /></p><p></p><h4 style="text-align: left;">Klein Valor Speaker Microphone for MS Teams</h4><p>Pros</p><p></p><ul style="text-align: left;"><li>Makes using Teams Walkie Talkie very convenient, even if Teams app doesn't have the focus or the phone screen is powered off</li><li>Very rugged</li><li>Configuration is absolutely no fuss: just plug it into the Android audio/mic jack.</li><li>Microsoft Recommended. See: <a href="https://docs.microsoft.com/en-us/microsoftteams/walkie-talkie">https://docs.microsoft.com/en-us/microsoftteams/walkie-talkie</a></li></ul><p></p><p>Cons</p><p></p><ul style="text-align: left;"><li>There is a bit of "talk permit tone" feedback (Teams on Android does this as well, but not as pronounced</li><li>No physical volume knob/buttons on device</li><li>no battery charge level indicator</li><li>battery seems to drain even without use</li><li>A charging cradle might be nice</li></ul><div><p>https://kleinelectronics.com/valor-speaker-mic-for-3-5mm-pin-samsung/</p><p>$136 USD</p></div><p></p>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-23532636141744717832021-12-28T20:44:00.009-08:002021-12-29T06:57:19.789-08:00Build Your Own Microsoft Teams Pager: 4G LTE, Compact, Rugged, Waterproof, Loud Alerting, Paging Beeper<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7fzkmUy5c4HXrDvsPe02V14J6xD2ATlHWdjJcJIL7kU8qVtv9d-qJyqRDX6fGVZHCGTu0JUuQWlTI42cFQlEYX0BUdodpUuBJ_F_nEb9ZOTkkOXAi-o3Xg2T55sE3kHneR5Na7sh3SWFD/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="908" data-original-width="1469" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7fzkmUy5c4HXrDvsPe02V14J6xD2ATlHWdjJcJIL7kU8qVtv9d-qJyqRDX6fGVZHCGTu0JUuQWlTI42cFQlEYX0BUdodpUuBJ_F_nEb9ZOTkkOXAi-o3Xg2T55sE3kHneR5Na7sh3SWFD/w400-h248/image.png" width="400" /></a></div><br />NOTE: This device is not in any way approved by Microsoft or the mobile services mentioned.<p></p><h4 style="text-align: left;">The Requirement</h4><p>Sometimes there is a need for a device who's sole job is to make sure a user gets an alert at all times. (including waking an on-duty individual during the night if necessary) This means as a minimum requirement this solution needs an loud audio alert that is NEVER inadvertently turned off and there are NO unintentional alerts.</p><h4 style="text-align: left;">The Challenge</h4><p>For an organization that lives in Microsoft Teams, the solution seems obvious: Use Microsoft Teams Urgent Chat. The inability to assign a specific alert sound for very specific a Chat message (coming from a certain Contact, containing specific content, or only Urgent Messages, etc.) makes this tricky, if not impossible, to configure on a users primary MS Teams phone to achieve our goal of never inadvertently alerting. <br /><br />NOTE: There seems like there should be some way to achieve this with some combination of DND, Notification configuration or a separate Teams user signed into Teams Android with different combination of notification settings, but every byzantine trail of notification combinations I've tried does not seem to deliver a reliable version of our requirements. If you know of a way, please let me know.</p><p></p><h4 style="text-align: left;">The Solution Overview</h4>An alternative way to achieve our requirements is to:<p></p><p></p><ul style="text-align: left;"><li>have a dedicated mobile device to provide alerting and be our "pager"</li><li>sign in with a Teams user not likely to get Chat messages from unexpected contacts. (Something like pager1@contoso.com)</li><li>configure a loud notification sound for Teams Chat messages</li><ul><li><a href="https://onedrive.live.com/?id=5C8E78952C32AF95%2178465&cid=5C8E78952C32AF95" target="_blank">Loud beeper notification sound available here</a></li></ul><li>Turn all other notifications on the device off (not just Teams, but ALL other notifications)</li><li>Now use MS Teams to Chat or Urgent Chat to this user to achieve the alert</li><ul><li>Urgent Chat will re-alert every 2 minutes for 20 minutes or until alert is acknowledged.</li></ul></ul><h4 style="text-align: left;">Detailed Steps</h4><div>What is a good device to be our Microsoft Teams "Pager"? The <a href="https://www.unihertz.com/products/atom" target="_blank">Unihertz Atom</a> (<a href="https://www.amazon.com/Unihertz-Smallest-Smartphone-Android-Unlocked/dp/B07KP8J8YN" target="_blank">available here</a>) is a pretty interesting form factor and is ideal for the following reasons:</div><div><br /></div><p></p><div><ul style="text-align: left;"><li>4G LTE (national & international service)</li><li>Very Small (pager sized device at 2.45" display)</li><li>Rugged: Tough/Waterproof (IP68)</li><ul><li>Comparable to emergency services pager build quality</li></ul><li>Loud alert/ringer & vibrate</li><li>Android 9</li><li>Runs Microsoft Teams (with capacity to spare)</li><li>a <a href="https://www.unihertz.com/products/atom-clip?pr_prod_strat=copurchase&pr_rec_pid=6900620394686&pr_ref_pid=6950342230206&pr_seq=uniform" target="_blank">belt clip accessory</a> available separately </li></ul><div>The Unihertz Atom device shown below.<br /><br /></div><div><img src="data:image/jpeg;base64,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" /></div><div><br /></div><div>Detailed Steps to Configure Unihertz Atom Android Device & Teams</div><div><br /></div><div><div><ol style="text-align: left;"><li>Setup the Unihertz Atom (Android device)</li><ol><li>Settings > Duraspeed > Teams > "Allow apps to turn in background" = On</li><li>Settings > Intelligent Assistance > App Blocker > Teams > [no restrictions]</li><li>Settings > Sounds > Phone Ringtone = none (or as desired)</li><li>Settings > Sounds > Default notification sound = none</li><li>Settings > Sounds > Advanced > Dial pad, screen locking, charging, touch = off</li></ol><li>Get Data Service working</li><ol><li>Activate AT&T (or other 4G LTE service) with an authorized 4G phone to enabled 4G/LTE then move to this phone.</li><li>Some services (in USA) are as low as $10 to $20 a month. See <a href="https://www.redpocket.com/plans/add/M020" target="_blank">Redpocket</a>.</li></ol><li>Setup Microsoft Teams</li><ol><li><div><div>Sign into Google Play Store and install Microsoft Teams</div></div></li><li><div>sign into MS Teams with "pager" user</div></li><li><div>Send "<a href="https://onedrive.live.com/?id=5C8E78952C32AF95%2178465&cid=5C8E78952C32AF95" target="_blank">Pager-Alert-Long</a>" to this MS Teams. "..." > Download.</div></li><li><div>MS Teams > Notifications > General Activity > Uncheck everything but "Chats"</div></li><li><div>MS Teams > Notifications > General Activity > Chats > Advanced > Sound > Add ringtone > Downloads (or location of ringer) > Pager-Alert-Long > OK.</div></li></ol></ol></div><div>Now send a Chat message to this Teams user to provide an alert.</div><div><br /></div><h4 style="text-align: left;">A Few Images of Device In Action</h4></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1q_MNPNf5vIOQqbBVEg1BuvwaiQqvG96l1bTkZit8o52yUhWGrvuuIZoTkEhPXTGc_qHlvOtCni847o_C2sa2IHxKAIkBP5u-z4VEqZrlMEcWLnU6CIfcz2UG3SLBYifinEZ91rAaUl6I/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="432" data-original-width="240" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1q_MNPNf5vIOQqbBVEg1BuvwaiQqvG96l1bTkZit8o52yUhWGrvuuIZoTkEhPXTGc_qHlvOtCni847o_C2sa2IHxKAIkBP5u-z4VEqZrlMEcWLnU6CIfcz2UG3SLBYifinEZ91rAaUl6I/" width="133" /></a></div><br />Amazingly Microsoft Teams renders nearly perfectly on the Atom's tiny 2.4" screen.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmB1Fj2RQXXmn_d8A4OLMumZTT93Bltx-e79sSMpZzVgdhXwUb2jP0hveUgrhreT2IyJa1V9sYBpQWrGoyneGof6QVTuhFCoEmKYgKOFW85RqEmopPZmxWuT0SFuAyh92nLW7QdfqlUFsW/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="432" data-original-width="240" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmB1Fj2RQXXmn_d8A4OLMumZTT93Bltx-e79sSMpZzVgdhXwUb2jP0hveUgrhreT2IyJa1V9sYBpQWrGoyneGof6QVTuhFCoEmKYgKOFW85RqEmopPZmxWuT0SFuAyh92nLW7QdfqlUFsW/" width="133" /></a></div>The Teams Settings & presence screen.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ6kqUFpJ_w81OTSBTA-VYoh_MdC91Nm_i-Lv5XdRQNm6MvjGevcRUP6LskZEOoF0maXpcVTd3APLLkxljnK0fBIIeeYSpk3GLnQPpfnnCFKLuOH-0DTo-kdOsfbPVvZqYNSMdT0SzBGYu/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="432" data-original-width="240" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ6kqUFpJ_w81OTSBTA-VYoh_MdC91Nm_i-Lv5XdRQNm6MvjGevcRUP6LskZEOoF0maXpcVTd3APLLkxljnK0fBIIeeYSpk3GLnQPpfnnCFKLuOH-0DTo-kdOsfbPVvZqYNSMdT0SzBGYu/" width="133" /></a></div><br />Alert toast. (NOTE: no, it does not look like the "glamour" image for this blog. No landscape mode for Teams either.) Using the Pager-Alert-Long.ogg file you can download above, a chat notification will beep for 40 seconds or until you swipe down on the Android home screen (& view current notifications). Note the swiping down will not clear the Teams Urgent Message and it will alert again in 2 minutes (for 20minutes) until you look at the Chat message in Teams.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_y924ClQUGQJg0sEakIBI2GH898dODzrSMVZ1apiDwqxa5nD01chFVdRrs2hRPf1X_Y2X5Un3wc3Wm5wCu0LnCIav02TxEY3nW6GfieCSfpoiVHDzrFiZZXrUsKKTfXnU7g9e5mVwsrjO/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="432" data-original-width="240" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_y924ClQUGQJg0sEakIBI2GH898dODzrSMVZ1apiDwqxa5nD01chFVdRrs2hRPf1X_Y2X5Un3wc3Wm5wCu0LnCIav02TxEY3nW6GfieCSfpoiVHDzrFiZZXrUsKKTfXnU7g9e5mVwsrjO/" width="133" /></a></div><br />All of chat functionality available including compose message, voice messages, Urgent messages.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz3vyl1VAndI7HjhKZ8tY0PykBb3AetVY-oh3kuUiPh5sfecyOwMzPUqU-6zMA06S77zy9T8_TnB1xxUXcl24u2ZC3yA3bLfc7X1Zd-KsmsSGK9vNuMJw2iH8xSTNa7Wkm21rw10PhwsgA/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="432" data-original-width="240" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz3vyl1VAndI7HjhKZ8tY0PykBb3AetVY-oh3kuUiPh5sfecyOwMzPUqU-6zMA06S77zy9T8_TnB1xxUXcl24u2ZC3yA3bLfc7X1Zd-KsmsSGK9vNuMJw2iH8xSTNa7Wkm21rw10PhwsgA/" width="133" /></a></div><br />Yes, you can reply. But your replies will be short typing on a 2.4" screen. (but its a lot better than the best purpose built 4G pagers.) You CAN use Teams voice messages.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPcv6O30fyMXfDVSKV-0crZlBu8DMRieCy5VE_N82v2W_m4bOro2bzT1HYKztSfrPqXrEw0oVLgwcpXAPM0tp9gMDUrfD1mulk79p1lRYiOz_AJb74zKhxeQAYrvxr0frB63uw6g3R5oi5/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="432" data-original-width="240" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPcv6O30fyMXfDVSKV-0crZlBu8DMRieCy5VE_N82v2W_m4bOro2bzT1HYKztSfrPqXrEw0oVLgwcpXAPM0tp9gMDUrfD1mulk79p1lRYiOz_AJb74zKhxeQAYrvxr0frB63uw6g3R5oi5/" width="133" /></a></div><br />Yes, you can use this devices as a PTT Walkie Talkie. (I haven't been able to map the PTT button on the Unihertz Atom--If you figure it out, let me know.) </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr_V6PBBbwZBY1S3aRPXwrRQGd9CYnh4JxhC4NKObbR1MQUCC2ZwYEsbCBTFcWgaKvI8JgifM05xonP_-DHp-m2jFvi_ZTvBGtg_kfpjO_sK_EZShrlxDTE_grV5be_hZMZ_ofR9QuNa1M/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="432" data-original-width="240" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr_V6PBBbwZBY1S3aRPXwrRQGd9CYnh4JxhC4NKObbR1MQUCC2ZwYEsbCBTFcWgaKvI8JgifM05xonP_-DHp-m2jFvi_ZTvBGtg_kfpjO_sK_EZShrlxDTE_grV5be_hZMZ_ofR9QuNa1M/" width="133" /></a></div><br />And yes, Teams Apps work too. <br /><br /></div>Now you have a Microsoft Teams pager (that competes, and in many ways surpasses, industry purpose built devices like <a href="https://tplsystemes.com/product/80" target="_blank">TPL Birdy 4G pager</a>) with the following features:</div><div><br /></div><div><ul style="text-align: left;"><li>Alphanumeric</li><li>Receive/Send</li><li>Text Messages, Teams Voice Message responses</li><li>Auto Receipt/Acknowledgement</li><li>Urgent alerts keep alerting every 2 minutes for 20 minutes</li><li>Send Alerts/Message with familiar Microsoft Teams user interface</li><li>Send Alerts/Messages from Landis Attendant Console for MS Teams</li><li>Manager can see Receipts/Acknowledgement in MS Teams user interface</li><li>Manage device with Microsoft 365</li><li>Pager alert or set to any alert you wish</li><li>Unlimited historical messages</li><li>Ability to see if pager is online via presence indicator</li><li>Teams Apps</li><li>2.45" touch color display </li><li>Additional services: PTT/2way radio of WIFI/4G, SMS, Share location, etc.</li><li>Finger print/Face detection security</li></ul><div><br /><h4 style="text-align: left;">Ways to Send a chat/alert to the "pager"</h4></div><div>There are several ways to send the chat/alert to the pager:</div><div><ul style="text-align: left;"><li>Microsoft Teams user interface</li><li>Microsoft Power automate or MS Graph API (Not Urgent Chat)</li><li>Landis Attendant Console for Microsoft Teams</li></ul></div><div><br /></div><div>First we'll look at Microsoft Teams Chat user interface.</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoyIBh4m8CP_UKk3nPJenJkF9lyU4o54kNM-ipqxvoxybnnAC3KnvtGg6hb_cDYsUiCPSshQT-wVCqMXU8-z0dNJsWYMKmfBTVn8e8lgGzVQAJ3a6JqejW4D9uG_PaozsupGlRVNpPKagw/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="527" data-original-width="636" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoyIBh4m8CP_UKk3nPJenJkF9lyU4o54kNM-ipqxvoxybnnAC3KnvtGg6hb_cDYsUiCPSshQT-wVCqMXU8-z0dNJsWYMKmfBTVn8e8lgGzVQAJ3a6JqejW4D9uG_PaozsupGlRVNpPKagw/" width="290" /></a></div><br />Just select the pager user and (1) type the message. (2) Select how urgent this message is. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_bYMcXa2NE8nh7kQ0O2VMjjnk6FWHnkfZS6fXmdqiIG3niDPv_NI0tYqF62R5T7pNvHCwfGmrL3vsI-l5FoXsDUWFQXqj3E563ao2sMpqx6P_U4sM2lggXq2kHE63aWolcod3782K6HPF/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="227" data-original-width="343" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_bYMcXa2NE8nh7kQ0O2VMjjnk6FWHnkfZS6fXmdqiIG3niDPv_NI0tYqF62R5T7pNvHCwfGmrL3vsI-l5FoXsDUWFQXqj3E563ao2sMpqx6P_U4sM2lggXq2kHE63aWolcod3782K6HPF/w200-h133/image.png" width="200" /></a></div></div><div><br /></div><div>(3) Send. (4) Then monitor that user the user gets the message. This will require that Pager Teams user have "Read Receipts" turned on.</div><div><br /></div><div>You can also use Microsoft Power Automate to send a chat to a Microsoft Teams user. NOTE: At this time a flow cannot mark the message as "Urgent".</div><div><br /></div><div>Also, last but not least, a shameless plug: The <a href="https://landistechnologies.com/microsoft-teams-attendant-console/" target="_blank">Landis Attendant Console for Microsoft Teams</a> allows sending alerts to this type of solution with 1-click "Chat Call Back Reminder". When a caller requests a call back, just find the Pager contact and click "Chat Call Back Reminder" & send. Presto! ;-) <br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF_EbS_Gdtvm1Mvw222bYNYH0J4T5AwppuK5A7mLca3adyU468p5OTFZbWRzz70EmFyQAaUTc6YQrZcQL93Po6nyt8kaeYIoGBVZj60og8fbUambYymCUotGKuSA9nAAuGjFYnjbznj86D/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="827" data-original-width="1182" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF_EbS_Gdtvm1Mvw222bYNYH0J4T5AwppuK5A7mLca3adyU468p5OTFZbWRzz70EmFyQAaUTc6YQrZcQL93Po6nyt8kaeYIoGBVZj60og8fbUambYymCUotGKuSA9nAAuGjFYnjbznj86D/" width="320" /></a></div><br /><br /></div></div><div>Some ways this solution could be improved:</div><div><ul style="text-align: left;"><li>Use the PTT/definable button to toggle between vibrate+audio alert & vibrate only</li><li>Alert when device has no data service</li></ul></div><div><br /></div><div>If you can improve on this idea, please comment.<br /><br /></div><div><br /></div><div>Sources:<br />40 second Pager Beep Alert for Android</div>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-74350305114208598492021-12-22T18:29:00.005-08:002021-12-22T18:50:55.966-08:00How Microsoft Teams Meeting Push-to-Talk Works aka "Keyboard Shortcut to Unmute" and Gotchas<p>Yay, Teams Meeting CTRL+Spacebar to unmute is GA. See <a href="https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=83419" target="_blank">Roadmap</a>.<br /></p><h4 style="text-align: left;">What Feature are we talking about?</h4><p></p><p>First let's get straight that there are 2 completely different Microsoft Teams features being called Push-to-Talk (and I see a lot of news articles conflating them):</p><p></p><ol style="text-align: left;"><li>The Teams Walkie Talkie App: Provide 2-way radio functionality in Teams. This is like having one of those good old, black, Motorola 2 way radios inside your Android phone and having Teams as Channels. (super cool, but not what we are talking about today.)</li><li>Teams Meeting press CTRL+SPACEBAR feature: to temporarily unmute during a meeting</li></ol><p></p><p>This article is talking about number 2.</p><h4 style="text-align: left;">Now How It Works</h4><p></p><ol style="text-align: left;"><li>The setting is in Settings > Privacy > Keyboard Short Cut to Unmute. (This is enabled by default)</li><li>Get in a Teams meeting (or see below, any call) and mute yourself.</li><li>Now pressing CTRL+Spacebar will temporarily unmute yourself while pressed.</li></ol><p></p><h4 style="text-align: left;">Why People Want This (and Not Mute/Unmute)</h4><p>Some people work in noisy environments. Many meetings are spent listening with only 1 10 second question or answer in the whole meeting. Can we have a very efficient way to temporarily allow themselves to speak? This is the reason for "Keyboard Shortcut to Unmute" aka Meeting PTT (push to talk). And Microsoft ain't beyond saying "If our competition is doing it, we had better be too!"</p><p>You could think of it as Mute/Unmute being oriented towards those spending a lot of time both speaking and not. PTT is for those meetings when you only talk for short periods.</p><h4 style="text-align: left;">Notes & Gotchas:</h4><p></p><ul style="text-align: left;"><li>I notice that PTT/ctrl+spacebar works in regular telephone calls as well as meetings.</li><li>If you are not muted, ctrl+spacebar has no effect.</li><li>Ctrl + Spacebar only works with the Microsoft Teams app has the focus.</li><li>ctrl+shift+M does not work when ctrl+spacebar (meeting PTT) is enabled.</li><li>Be careful onscreen buttons are not selected when you hit ctrl+spacebar as spacebar "presses" a selected button. (for example: if "Video" or "Share" has the selection, ctrl+spacebar will press that action.)</li></ul><p></p><h4 style="text-align: left;">How Stuff Looks</h4><p>New Setting:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGomVbBNprmc2PwtNkA3ZxmYLguuXWEtgToypn-2PGu3Wexw2GVbFU2YlUwlcbTzUWavPRQKsR00za-1BplIW0QoA4SwUiGgpf9q4Ir_JqJIAOnpHsPI9FnxAmZyYbfN2BgMbT4iyfYONc/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1301" data-original-width="1583" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGomVbBNprmc2PwtNkA3ZxmYLguuXWEtgToypn-2PGu3Wexw2GVbFU2YlUwlcbTzUWavPRQKsR00za-1BplIW0QoA4SwUiGgpf9q4Ir_JqJIAOnpHsPI9FnxAmZyYbfN2BgMbT4iyfYONc/" width="292" /></a></div><br />What is shown when you are unmuted:<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWZ9ispmWJTl0jawDLqCIn_znNWvYNlZiTuw-DE_TPYKphC8vKxLXhMlfahW8eLTTVRb02_aiCSu5l4cyMdnFdxD0ZqmKO82Ay58X85oP2PnYKwqIwKQN2itmHGV9nUCjSLFud6oDNJvTd/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1650" data-original-width="2660" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWZ9ispmWJTl0jawDLqCIn_znNWvYNlZiTuw-DE_TPYKphC8vKxLXhMlfahW8eLTTVRb02_aiCSu5l4cyMdnFdxD0ZqmKO82Ay58X85oP2PnYKwqIwKQN2itmHGV9nUCjSLFud6oDNJvTd/" width="320" /></a></div><br /><br /><p></p><p>Sources:<br />https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=83419</p>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-74861765542852934472020-09-22T08:32:00.006-07:002020-09-22T13:36:13.910-07:00Microsoft Introduces the Azure Communication Services (ACS): Twilio Competitor, Not a Native Microsoft Teams API & Comparison to Microsoft Teams Graph Communication API<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpm6NAQjuCMrBQQkgCYZ6L0JWh348Qbe4f-hp0SUtqIaqXD9Q3xoclLKcg4qR4QgQcLVJoJUmmLXf_bi0MFsw-b7RpFa7xMz3Y4fZ1Ma59L88rheYjMnlOls5AcIM-phKWEHWQVuKxo-kN/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="517" data-original-width="924" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpm6NAQjuCMrBQQkgCYZ6L0JWh348Qbe4f-hp0SUtqIaqXD9Q3xoclLKcg4qR4QgQcLVJoJUmmLXf_bi0MFsw-b7RpFa7xMz3Y4fZ1Ma59L88rheYjMnlOls5AcIM-phKWEHWQVuKxo-kN/w400-h224/image.png" width="400" /></a></div><br /> <br /><br />In Feb 2020 I wrote a prescient <a href="http://windowspbx.blogspot.com/2020/02/where-is-microsoft-microsoft-teams-in.html" target="_blank">article entitled "Where is MS & Microsoft Teams in the OnPrem to CPaaS Journey?"</a> in which I explored where Microsoft was with a "Twilio-like API" for Microsoft Teams. At that time I estimated Microsoft is about 25% (looking back, perhaps a bit generous) of the way to a "Twilio-like API" for Microsoft Teams.<p></p><p>Well, today at Microsoft Ignite 2020 Microsoft has announced the Azure Communication Service, which is most definitely aimed at being a "Twilio-like API", but to accommodate no AAD requirement, it does not interface directly with Microsoft Teams. </p><h3 style="text-align: left;">What is the Azure Communication Service?</h3><p>The <a href="https://developer.microsoft.com/en-us/microsoft-teams/blogs/microsoft-teams-microsoft-graph-dev-platform-ignite-2020/" target="_blank">Microsoft Developer article</a> describes it like this "Built on the same Microsoft 365 infrastructure that supports Microsoft Teams, ACS offers developers consumption-based use of those same enterprise-ready chat, SMS, video and WebRTC capabilities".</p><p>It is an communication platform as a service that provides apis to build your own communication enabled apps. This means for those developers wanting to build a SMS, IM, audio, video & desksharing app, developers don't need to build the low level communication components, they can just use the apis to utilize Microsoft's services.</p><h3 style="text-align: left;">What is the difference between the "Microsoft Graph Communication APIs" for Microsoft Teams and "Azure Communication Service"?</h3><p>Here is a quick comparison, first Teams Graph Communications API | Azure Communication Service:</p><p>Calls automated with CommAPIs show up in MS Teams reports | Unrelated to MS Teams</p><p>Utilizes the MS Teams platform you already paid for | Consumption based, unrelated to MS Teams billing</p><p>Requires Teams/AD Users | Does not require AD Users</p><p>Integrated to MS Teams/Automated MS Teams calls/meetings | Separate systems from Teams/Could integrate via SBC/Federation? (appears like Microsoft "light up integration to Teams in Preview soon..."-CVP Scott Van Vliet source: <a href="https://youtu.be/49oshhgY6UQ?t=735">https://youtu.be/49oshhgY6UQ?t=735</a> )</p><p>Increasingly complete server API & no client API | Server API's & Client API's</p><p>audio calls, video, PSTN | SMS/IM/audio/video/PSTN/</p><p></p><h3 style="text-align: left;">Pricing</h3><a href="https://docs.microsoft.com/en-us/azure/communication-services/concepts/pricing#pricing-example-group-audiovideo-call-using-js-and-ios-client-libraries">https://docs.microsoft.com/en-us/azure/communication-services/concepts/pricing#pricing-example-group-audiovideo-call-using-js-and-ios-client-libraries</a><p></p><h3 style="text-align: left;">What Modalities Does ACS Support?</h3><p>Below are some of the communication methods supported by ACS per the current Docs page:</p><p></p><ul style="text-align: left;"><li>Chat</li><li>Telephony</li><li>SMS</li><li>Voice</li><li>Video</li></ul><p></p><h3 style="text-align: left;">Our Experience Using the ACS Preview</h3><p>Building a simple chat and video conferencing app with ACS is very simple. </p><h3 style="text-align: left;">Summary</h3><p>ACS looks to provide a very nice Microsoft alternative to Twilio and other CPaaS API options. The Server and Client API components are complete enough to create many interesting solutions today. It is not a replacement to create native Microsoft Teams solutions.</p><p>To learn more about the ACS, watch the session "Innovate with Azure Communication Services" from Microsoft Ignite 2020.</p><p><br /></p><p>Sources:<br /><a href="https://azure.microsoft.com/en-us/services/communication-services/">https://azure.microsoft.com/en-us/services/communication-services/</a></p><p>Azure Communication Service API Docs: <a href="https://docs.microsoft.com/en-us/azure/communication-services/">https://docs.microsoft.com/en-us/azure/communication-services/</a></p><p>Ignite 2020 Microsoft Teams Developer Platform Article: <a href="https://developer.microsoft.com/en-us/microsoft-teams/blogs/microsoft-teams-microsoft-graph-dev-platform-ignite-2020/">https://developer.microsoft.com/en-us/microsoft-teams/blogs/microsoft-teams-microsoft-graph-dev-platform-ignite-2020/</a></p><p>Pricing: <a href="https://docs.microsoft.com/en-us/azure/communication-services/concepts/pricing#pricing-example-group-audiovideo-call-using-js-and-ios-client-libraries">https://docs.microsoft.com/en-us/azure/communication-services/concepts/pricing#pricing-example-group-audiovideo-call-using-js-and-ios-client-libraries</a></p>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-66907557418126612062020-07-21T14:07:00.000-07:002020-07-22T18:44:48.859-07:00 Microsoft Adds "Advanced Communication" License That Teams Users Need On Top of Existing Commercial Licenses to Use Recent Meetings & API Features<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDaqv2QxVz-EfKwj9Guw46CnSPVZqx6QgUXGOH2xPtK-4OZvMK17vEyTFiQQn1KD3SV2VJY1Rcbkhg65XfaYVKnlrOGRQGgmViC_fs85qdWCCa-MD3D6SIpCqY8pgUcvHawDiBgRvled4I/s1600/advanced+communication+license.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="407" data-original-width="642" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDaqv2QxVz-EfKwj9Guw46CnSPVZqx6QgUXGOH2xPtK-4OZvMK17vEyTFiQQn1KD3SV2VJY1Rcbkhg65XfaYVKnlrOGRQGgmViC_fs85qdWCCa-MD3D6SIpCqY8pgUcvHawDiBgRvled4I/s400/advanced+communication+license.png" width="400" /></a></div>
<br />
<br />
At Microsoft Inspire 2020, Microsoft noted that it will be adding a new user license for some select meeting and calling features called "Advanced Communication" license. This license will be additive to existing commercial licenses (like E5).<br />
<br />
Some of the types of features that will require the "Advanced Communication" license noted at Inspire 2020 are:<br />
<br />
<ul>
<li>Large meetings</li>
<li>Customized lobby controls</li>
<li>Compliance / policy call recording</li>
<li>Etc.</li>
<ul>
</ul>
</ul>
<div>
Angela Donohue, in session IDB151 noted the license would be available later this month.<br />
<br />
Update: Microsoft has now communicated more granularity[1] on what will be included with the "Advanced Communications" license:<br />
<br />
<br />
<ul>
<li>Released at launch</li>
<ul>
<li>Live event limits to 20k participant (50 concurrent, 16 hours)</li>
<li>Compliance Recording integration (ISV)</li>
<li>Contact Center solution integration (ISV)</li>
</ul>
<li>Released later in CY2020</li>
<ul>
<li>1000 person interactive Teams meeting</li>
<li>Interactive meetings for 1000 participants with the capability to enabled up to 20,000 in a 'view only' meeting</li>
<li>Custom branded meeting lobby</li>
</ul>
<li>Beyond</li>
<ul>
<li>Additional customizations, tool and communications enhancements will be added to the SKU throughout the calendar year</li>
</ul>
</ul>
</div>
<div>
<br /></div>
<h3>
Some Questions We Had</h3>
<div>
<br /></div>
<div>
I had a chance to chat with a person at Microsoft who answered some of my questions related to "Advanced Communications":</div>
<div>
<br /></div>
<div>
Q. Will "Resource Accounts", used to call auto attendants and call queues require the "Advanced Communication" license?</div>
<div>
A. No, "Advanced Communication" license is just a user license and resource accounts will not be changed.</div>
<div>
<br /></div>
<div>
Q. Do Teams Apps or Bot require this license?</div>
<div>
A. No.<br />
<br />
Q. What features will all need the "Advanced Communication" license?<br />
A. [still collecting the exactly list of what features will require the new license...]<br />
<br />
Q. Cost?<br />
A. The "Advanced Communication" license will be available on August 1, 2020. A 60-90 day trial license will be available on August 1. All commercial licenses can have this added to it, and at this time no license includes it. The license will be $12 per user per month. EDU licensing is $2.50 per user per month.</div>
<div>
<br /></div>
<h3>
Some Comments on this change</h3>
<div>
<br /></div>
<div>
For users who do not need to advanced meeting features, but need compliance recording, the net effect is paying for usage of the Microsoft Graph API's, and in the case of call recording, a license that costs more than call recording vendors typically charge per user. It is also somewhat unusual for Microsoft to charge for using Graph API's. I am not aware of other products like Exchange, SharePoint or Azure charging to use Graph API to interact with a product a user is already licensed for. Also, in the industry, as already noted, vendors like Zoom include REST API's in their lowest tier user pricing. This could seem like Microsoft is not incentivizing ISV's to build their solutions on the Microsoft communication platform, which is almost certainly not the effect Microsoft is wanting to achieve. </div>
<div>
<br /></div>
<h3>
In Conclusion</h3>
<div>
<br /></div>
<div>
Covid19 has been putting pressure on Microsoft to add some features. Microsoft Teams has indeed been receiving a tsunami of features recently. It seems the "Advanced Communication" license may be an effort by Microsoft to recoup some of the costs going into adding these features, and question is if this should be passed on to the customer.<br />
<br />
[1] Microsoft "Advanced Communication FAQ" </div>
Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-49198774539336747272020-06-19T13:15:00.001-07:002020-06-19T13:15:51.836-07:00Microsoft Teams User tip #28: How Does a Teams Recording Handle Switching Between Webcams?<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVMplHnvWNFoMAORq_plZeTGbT1Rd_Sb0P6_g1KuDGrUrNgwDq9RWchEMYYieHk0GxJ4AkUnQutuzaqnW2BUxZi31g-ORG_vJEX2yxTkTNlBDpAx9dphni63A39mQwr-BhTmaIewqezY1d/s1600/switchcams.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="348" data-original-width="785" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVMplHnvWNFoMAORq_plZeTGbT1Rd_Sb0P6_g1KuDGrUrNgwDq9RWchEMYYieHk0GxJ4AkUnQutuzaqnW2BUxZi31g-ORG_vJEX2yxTkTNlBDpAx9dphni63A39mQwr-BhTmaIewqezY1d/s320/switchcams.png" width="320" /></a></div>
<br />
<br />
One of the things I've noticed using Microsoft Teams recording is that the recording will not necessary look or sound exactly like what the meeting organizer saw.<br />
<br />
One of the items I noticed today is around switching webcams. When you switch between webcams you will can a momentary blank/black screen. By momentary, I should clarifying that this actually can take some time. Then the new webcam will start presenting.<br />
<br />
The interesting thing is that the recording handles this slightly different. In recording the webcam image will freeze until the next camera starts.<br />
<br />
In my opinion its really nice that you can switch between webcams so easily using native Microsoft Teams switching capability. In normal scenarios switching between webcams only happens to those with way too much hardware plugged into their PCs, but its good to know what effect switching will have on a recording.<br />
<br />
If you want the switching on the recording to happen more smoothly, take a look at using OBS Studio & webcam driver.Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-78340523271675114622020-04-01T14:22:00.001-07:002020-04-01T14:34:09.450-07:00How Microsoft Teams Calls App for Slack Works<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzdk1K77WR_gAOc8Zcx6x5ZmlQnbFrqPz21YptXUOx_eVUJyWhH40xXWPePkYUpCagxAb3nA6LTL-3cFN2SXU_-F2xrTdGKW56gRb_w4hllwdMPbTRpYV1hbbQq52eYENwRSLcinCQ8EI/s1600/header.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="532" data-original-width="1226" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzdk1K77WR_gAOc8Zcx6x5ZmlQnbFrqPz21YptXUOx_eVUJyWhH40xXWPePkYUpCagxAb3nA6LTL-3cFN2SXU_-F2xrTdGKW56gRb_w4hllwdMPbTRpYV1hbbQq52eYENwRSLcinCQ8EI/s640/header.png" width="640" /></a></div>
<br />
<br />
<br />
Slack and Microsoft Teams have surprised industry watchers by adding a "Microsoft Teams Calls" Slack app. A question is: How does this work? Let's install and see.<br />
<br />
<h4>
Setup</h4>
<br />
First you will need a Slack and Teams account. Sign into Slack and go to: <a href="https://slack.com/app-pages/teams-calls">https://slack.com/app-pages/teams-calls</a>. Click "Add to Slack"<br />
<br />
<br />
Now you will get a Slack permission. Next Teams/Microsoft permissions.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUMmj_600Inksf2peeNK2fDpyReESidupGhqzpsGFZ-vHnUimaxzUtMWCNQGdh5Zgff7U8dcSmEfB5i6bWAXMwRUmo2Lq7LJkLrGxPvmVoCRTfdzKmGs-QHasx8z7-mtOYsUP8N761ZslJ/s1600/microsoft+permissions.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="933" data-original-width="525" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUMmj_600Inksf2peeNK2fDpyReESidupGhqzpsGFZ-vHnUimaxzUtMWCNQGdh5Zgff7U8dcSmEfB5i6bWAXMwRUmo2Lq7LJkLrGxPvmVoCRTfdzKmGs-QHasx8z7-mtOYsUP8N761ZslJ/s640/microsoft+permissions.png" width="360" /></a></div>
<br />
<br />
<h3>
Create & Join Meetings</h3>
<br />
<br />
In essence you will now have a "/teams-calls" bot in Slack that you can create a meeting in any Slack channel. Using the Join button others in the Slack channel can join the meeting.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
From my test the time "Meeting started xx ago." is when the meeting was created. The only user that shows for me is the user that created the meeting. If more people join the meeting, the do not show up in the bot post in the channel.<br />
<br />
The below example was created 10 minutes ago. I joined the meeting 5 minutes ago. And another user joined after that, but does not show in the channel link to the meeting.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_E2mJX5tixtiRyKV3ts3V586ufe0G1fAO3a18i4hZUE5Yre-Wb5WsiOAbNgzsmN3AnBbfXVJhR_X52OPl1IcMUygs-Nn8uxo9Z2IwmsgFzABlAh-5FwEDo64hS5tAQH5nrRMdDWqxI0k/s1600/createdmeeting.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="313" data-original-width="587" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_E2mJX5tixtiRyKV3ts3V586ufe0G1fAO3a18i4hZUE5Yre-Wb5WsiOAbNgzsmN3AnBbfXVJhR_X52OPl1IcMUygs-Nn8uxo9Z2IwmsgFzABlAh-5FwEDo64hS5tAQH5nrRMdDWqxI0k/s320/createdmeeting.png" width="320" /></a></div>
<br />
<h3>
Calls</h3>
<br />
Slack has a call button at the top of the screen. It looks you can set this call button to use Microsoft Teams. I suspect this will use the protocol handler to dial a call using Microsoft Teams (similar to how Outlook and web pages dial from Teams) but I could not find where to configure this feature.<br />
<br />
<h3>
Jump Into Scheduled Meetings</h3>
<br />
This looks like Slack reminders will surface Outlook Teams Meeting Join info.<br />
<br />
<h3>
Summary</h3>
<br />
From what I can see, this Slack app allows meetings and calling to be initiated from Slack if a user has a Teams account.<br />
<br />
<br />
<br />Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-6183929345295050522020-03-19T15:14:00.001-07:002020-03-19T15:14:30.741-07:00COVID19 Progress Tracking<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Y5c0QlQlPUQxd8AsnxUyWqSPsn-DdPt9PsXTrSDmFs7OrSoge6XxtK02BVk0-8oi1HpoymmVSmC7tOKZ7j1XxZLhyphenhyphenOoW191E0vNanFWCqKYRQGOldC3VZ4Z6AzVKLPOXEIpyJ5I-D3NP/s1600/USAvsItaly-NumberConfirmedCases.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="455" data-original-width="578" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Y5c0QlQlPUQxd8AsnxUyWqSPsn-DdPt9PsXTrSDmFs7OrSoge6XxtK02BVk0-8oi1HpoymmVSmC7tOKZ7j1XxZLhyphenhyphenOoW191E0vNanFWCqKYRQGOldC3VZ4Z6AzVKLPOXEIpyJ5I-D3NP/s320/USAvsItaly-NumberConfirmedCases.png" width="320" /></a></div>
<br />The above chart track the raw number of confirmed cases based on John Hopkins report.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgebsOUqkNSQDPHYN7TgYadTdzy0GYvrHoJE4cFJctG3NXBpKaqRk-LjV1mZAG2TChyyuMGZyESc0JnEw7cxLtXnxGgj58M1aIR5vGS9swSTaFcMSfOkQTWMWsh_7qzcNfQIDf4T5CAvjTh/s1600/USAvsItaly-PercentofPopulationConfirmedCases.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="403" data-original-width="576" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgebsOUqkNSQDPHYN7TgYadTdzy0GYvrHoJE4cFJctG3NXBpKaqRk-LjV1mZAG2TChyyuMGZyESc0JnEw7cxLtXnxGgj58M1aIR5vGS9swSTaFcMSfOkQTWMWsh_7qzcNfQIDf4T5CAvjTh/s320/USAvsItaly-PercentofPopulationConfirmedCases.png" width="320" /></a></div>
<br />The above chart tracks the percent of country population of confirmed cases.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT7fKMvBTlB35wpHLZVNR6aEg2_0wXy0n3tzMECXxWWBxEitI7Eolo-XnIfnQsBguj6CaM-MR_t1ZlMZtuinvkLURH5sCSsKlUk2o0E4NB5YaLWCIR5bElLDmceT_nEFJJb7VhJNGrBeEt/s1600/countryeventsbyday.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="675" data-original-width="776" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT7fKMvBTlB35wpHLZVNR6aEg2_0wXy0n3tzMECXxWWBxEitI7Eolo-XnIfnQsBguj6CaM-MR_t1ZlMZtuinvkLURH5sCSsKlUk2o0E4NB5YaLWCIR5bElLDmceT_nEFJJb7VhJNGrBeEt/s320/countryeventsbyday.png" width="320" /></a></div>
<br /><br /><br />To see the up to date spreadsheet: <a href="https://1drv.ms/x/s!ApWvMiyVeI5cg6p1DlanDqQt1YLegg?e=SbpgGf" target="_blank">Click Here</a>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-39488609981952790332020-03-10T06:03:00.000-07:002020-03-10T06:04:44.449-07:00Microsoft Changes Microsoft Teams Compliance Recording API Name to "Policy Recording"<br />
Its interesting to note that Microsoft has changed the name of the Microsoft Teams "Compliance Recording" API to "Policy Recording" to more accurately describe what it does. This name change was noticed <a href="https://github.com/microsoftgraph/microsoft-graph-comms-samples/pull/188" target="_blank">on Github</a> as shown below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7k5O7jXI_vjgJiJR0Db7VnWIlCUOS1CRR7t0HW2afJMMXPHR7QGGKXnKmvIVI8zDRaP6O_rEMp9bpmSfw7rp1mdagl0ES3ygJvdvYPzFHo7yusAKY26i8FfkPYKd1FdSb-zTt3dKzavTP/s1600/policy+recording.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="766" data-original-width="866" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7k5O7jXI_vjgJiJR0Db7VnWIlCUOS1CRR7t0HW2afJMMXPHR7QGGKXnKmvIVI8zDRaP6O_rEMp9bpmSfw7rp1mdagl0ES3ygJvdvYPzFHo7yusAKY26i8FfkPYKd1FdSb-zTt3dKzavTP/s320/policy+recording.png" width="320" /></a></div>
<br />
<br />
I find this an interesting and good move as Landis Technologies has developed a Microsoft Teams Call Recording solution using the "Policy Recording" API's (formerly Compliance Recording) for convenience and customer service scenarios. (We are not focusing on compliance recording scenarios at this time.) You can see a demo of the <a href="https://www.landiscomputer.com/landis-demonstrates-microsoft-teams-customer-service-call-recording-powered-by-the-new-compliance-recording-api/" target="_blank">Landis Call Recording for Microsoft Teams here</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/NuKu8tU3mJA/0.jpg" src="https://www.youtube.com/embed/NuKu8tU3mJA?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<br />
A few nice things that the Policy Recording api's allow in <a href="https://appsource.microsoft.com/en-us/product/web-apps/landis-technologies.landis-call-recording?tab=Overview" target="_blank">Landis Call Recording for Microsoft Teams</a>:<br />
<br />
<ul>
<li>Any peer to peer call can be recorded (PSTN, p2p or Meetings) for a user with the policy enabled</li>
<li>The recording happens no matter what client the Teams users is using</li>
<li>There is a notification banner in the Teams client that call recording is happening</li>
<li>Using our agent the user can pause recording or stop recording if Landis Call Recording policy allows that.</li>
</ul>
<div>
Summary</div>
<div>
<br /></div>
<div>
I think this name change is a good move as it more accurately reflects the breadth of what the "Policy Recording" apis/ hooks can do.</div>
<br />
<br />
Source:<br />
<a href="https://github.com/microsoftgraph/microsoft-graph-comms-samples/pull/188">https://github.com/microsoftgraph/microsoft-graph-comms-samples/pull/188</a><br />
<br />
Landis Call Recording for Microsoft Teams on Appsource:<br />
<a href="https://appsource.microsoft.com/en-us/product/web-apps/landis-technologies.landis-call-recording?tab=Overview">https://appsource.microsoft.com/en-us/product/web-apps/landis-technologies.landis-call-recording?tab=Overview</a><br />
<br />
Demonstration of Landis Call Recording:<br />
<a href="https://www.landiscomputer.com/landis-demonstrates-microsoft-teams-customer-service-call-recording-powered-by-the-new-compliance-recording-api/">https://www.landiscomputer.com/landis-demonstrates-microsoft-teams-customer-service-call-recording-powered-by-the-new-compliance-recording-api/</a>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-11811717535228727812020-02-01T10:31:00.001-08:002020-02-03T05:53:41.939-08:00Where is Microsoft & Microsoft Teams in the OnPrem to CPaas Journey?<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgicg0PXwYgc8ezCR2TYV8MIPwWBExnLR6cgQSQ1eVuIWC-HcwlOQweJ-taeuB08JFjH8g-gCHReCS7kqSz6xFjfkas_a4ahDRhzsNWFL312FoJSDI54TdZwtrTYAWU2XupKzEzn9aPOTMp/s1600/LastTeamsPuzzle.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="811" data-original-width="1600" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgicg0PXwYgc8ezCR2TYV8MIPwWBExnLR6cgQSQ1eVuIWC-HcwlOQweJ-taeuB08JFjH8g-gCHReCS7kqSz6xFjfkas_a4ahDRhzsNWFL312FoJSDI54TdZwtrTYAWU2XupKzEzn9aPOTMp/s320/LastTeamsPuzzle.png" width="320" /></a></div>
<br />
<br />
In a recent <a href="https://techcommunity.microsoft.com/t5/microsoft-teams-blog/what-s-new-in-microsoft-teams-january-2020/ba-p/1141831" target="_blank">Microsoft Community article Marissa Salazar</a> noted that:<br />
<br />
"The last piece of the puzzle is here! The last API to enable partners to develop contact solutions is now available."<br />
<br />
Translated into plain English for the rest of us this is saying: "You can now connect existing contact centers to Teams via a SIP tie trunk" and there is an initial Graph presence API to see presence of Teams users from a client/user perspective. (See more of my <a href="http://windowspbx.blogspot.com/2019/12/a-subset-of-microsoft-teams-beta.html" target="_blank">technical details on the API here</a>.). Or in other words, "The last piece to integrating existing contact centers to Teams is now in place"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVcepBB9-nSB4FNLEP07jM4pYxOTeY-vi51OoqUVUYCvBHtw8jXI3LsgyNuXJXmZygikA9JCmNwLduStZyuAlQaEkiHs7w-lFDyM5gxHlPibigSLBnyp5FQiuGsAF7iwBUHSBmzouRn6qv/s1600/last+peice+of+puzzle.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="578" data-original-width="1460" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVcepBB9-nSB4FNLEP07jM4pYxOTeY-vi51OoqUVUYCvBHtw8jXI3LsgyNuXJXmZygikA9JCmNwLduStZyuAlQaEkiHs7w-lFDyM5gxHlPibigSLBnyp5FQiuGsAF7iwBUHSBmzouRn6qv/s320/last+peice+of+puzzle.png" width="320" /></a></div>
<br />
<br />
Vendors that are producing Contact Centers using only the Microsoft Teams Communication API do not have all the API's they need to produce a complete Contact Center. In Microsoft parlance this is a "Power" contact center. (most people in the industry I hear calling this "native" Microsoft Teams Contact Center.)<br />
<br />
For those integrating to an existing SBC SIP tie trunk connected Contact Center (Microsoft parlance is "Connect" contact center) the ability to do Direct Routing plus a Presence API opens up connections to existing Contact Centers. A UC solution really should be able to facilitate an SBC connected contact center, so this is really good progress! This might be better explained as the last piece of the first half of getting parity with Skype for Business Server: Microsoft now can "integrate" contact centers to Teams, and now Microsoft needs to complete an API to create Contact Centers that only use Teams and are based completely on Office 365 Phone System components.)<br />
<br />
So where is Microsoft and Microsoft Teams in the OnPrem to CPaaS journey? This is my "back of the envelope, quick scribble on the naptkin" version of where I would estimate we are at:<br />
<br />
<ol>
<li>OnPrem: Skype for Business Server</li>
<li>Hosted: Skype for Business Server </li>
<li>UCaaS: Skype for Business Online & MicrosoftTeams</li>
<li>CPaaS: Microsoft Teams + MicrosoftGraph + Communication API</li>
<li>What's next?</li>
</ol>
<br />
A bit more detail on 3 and 4:<br />
<br />
<ul>
<li>3 & 4 are "In Progress"</li>
<li>3 is ~90% here. (think in terms of replacing phone systems like Cisco/Avaya)</li>
<ul>
<li>Excellent <a href="https://lucavitali.wordpress.com/2017/10/01/sfb-teams-features-comparison-table/" target="_blank">source by MVP Luca Vitali on gaps is located here</a>.</li>
</ul>
<li>4 is ~25% here. (think in terms of <a href="https://www.twilio.com/voice/features" target="_blank">Twilio</a>. Microsoft has just started)</li>
</ul>
<br />
No, "the last piece of the puzzle" is *not* quite here yet. Maybe a more accurate announcement to avoid confusing customers would be "We now have the last piece of the first half of the puzzle." ;-)<br />
<br />
But its coming along. And right now I would not be switching away from Microsoft Teams and would not recommend anyone else to do so either. The new Microsoft Teams features are raining down so fast its hard to keep up. Its the best time to be a Microsoft Teams focused Microsoft Partner, ISV and user.<br />
<br />
PS-Landis Technologies is creating a Contact Center and Attendant Console that is entirely built on Microsoft Teams & Phone System. (Native).<span style="background-color: white;"> We get the question multiple times a day: We want a Contact Center and Attendant Console solution built entirely on Microsoft Teams like Landis is doing and Microsoft people are telling us "We have the last piece of the puzzle for API's!". What is the real state?<span style="color: black; display: inline; float: none; font-family: "times new roman"; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"> </span></span><a href="https://www.landiscomputer.com/office365contactcenter/" style="-webkit-text-stroke-width: 0px; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;" target="_blank">Landis Contact Center for Microsoft Teams</a><span style="background-color: white; color: black; display: inline; float: none; font-family: "times new roman"; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">, which has many of the most requested contact center features already, is in Preview due to some key features being dependent on Calling API's which are still BETA. There are additional contact center features we would like to add, like outbound calling & more, that are not BETA/Preview yet from Microsoft. </span><span style="background-color: white; color: black; display: inline; float: none; font-family: "times new roman"; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">And a client based Teams Attendant Console is depending on the lack of </span><a href="https://microsoftteams.uservoice.com/forums/555103-public/suggestions/38534776-full-teams-client-api-including-call-control" style="-webkit-text-stroke-width: 0px; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;" target="_blank">any Teams Client Call Control API</a><span style="background-color: white; color: black; display: inline; float: none; font-family: "times new roman"; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"> at all. In the mean time some customers can use <a href="https://www.landiscomputer.com/attendantpro/" target="_blank">our existing Attendant Pro</a> in interop mode.)</span><br />
<span style="background-color: white; color: black; display: inline; float: none; font-family: "times new roman"; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><br /></span>
<strike></strike>
<b></b><i></i><u></u><sub></sub><sup></sup><strike></strike>
Sources:<br />
My details on what is released on Teams Communication API:<br />
<a href="http://windowspbx.blogspot.com/2019/12/a-subset-of-microsoft-teams-beta.html">http://windowspbx.blogspot.com/2019/12/a-subset-of-microsoft-teams-beta.html</a><br />
<br />
"Last Piece of Puzzle" article:<br />
<a href="https://techcommunity.microsoft.com/t5/microsoft-teams-blog/what-s-new-in-microsoft-teams-january-2020/ba-p/1141831">https://techcommunity.microsoft.com/t5/microsoft-teams-blog/what-s-new-in-microsoft-teams-january-2020/ba-p/1141831</a><br />
<br />
Luca Vitali: Skype for Business and Teams features comparison table<br />
<a href="https://lucavitali.wordpress.com/2017/10/01/sfb-teams-features-comparison-table/">https://lucavitali.wordpress.com/2017/10/01/sfb-teams-features-comparison-table/</a><br />
<br />
Landis Contact Center for Microsoft Teams:<br />
<a href="https://www.landiscomputer.com/office365contactcenter/">https://www.landiscomputer.com/office365contactcenter/</a><br />
<br />
Landis Attendant Console for Microsoft Teams<br />
<a href="https://www.landiscomputer.com/attendantpro/">https://www.landiscomputer.com/attendantpro/</a><br />
<br />
UserVoice Teams Client API for Call Control<br />
<a href="https://microsoftteams.uservoice.com/forums/555103-public/suggestions/38534776-full-teams-client-api-including-call-control">https://microsoftteams.uservoice.com/forums/555103-public/suggestions/38534776-full-teams-client-api-including-call-control</a>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-28425067116777107742020-01-16T18:38:00.002-08:002020-02-07T05:23:01.139-08:00My First Impression Review of the Lenovo Thinksmart View Microsoft Teams IP Phone<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja87wi_f1m4kfGf65vAk4q15fN7TE-zkGp_PmnZHoTYXwxvkr-prI8qSMKnhJNW7vD0KqSKzclywUC_hCNdJULMBxLwa5uLY8_xNOF6apC5_QRlG6kxrMKa7L5NUS4pYCpJlubWjshXGnI/s1600/20200116_183124.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja87wi_f1m4kfGf65vAk4q15fN7TE-zkGp_PmnZHoTYXwxvkr-prI8qSMKnhJNW7vD0KqSKzclywUC_hCNdJULMBxLwa5uLY8_xNOF6apC5_QRlG6kxrMKa7L5NUS4pYCpJlubWjshXGnI/s400/20200116_183124.jpg" width="400" /></a></div>
<br />
The Thinksmart View is an interesting new form factor IP Phone-like device that is Certified for Microsoft Teams by Lenovo. Lenovo calls it a "...collaborative smart device that works from an individual’s workspace...". I might call it a next gen IP Phone for users who tend to use a bluetooth headset.<br />
<br />
<h3>
My Video Review</h3>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/HRfq3sw5uAY/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/HRfq3sw5uAY?feature=player_embedded" width="320"></iframe></div>
<br />
<br />
<h3>
Plugs and buttons</h3>
<ul>
<li>Power plug</li>
<li>Volume up and down</li>
<li>web cam privacy shade</li>
<li>microphone mute slide button</li>
</ul>
<h3>
Lenovo ThinkSmart View Official Page Tidbits</h3>
<div>
<br /></div>
<ul>
<li>Cortana Integration: Based on the Lenovo landing page images there will be Cortana integration.</li>
<li>The Lenovo landing page also shows a home screen apart from the Microsoft Teams client, but my unit starts up right into the Teams client like other Teams IP phone. </li>
<li>Hotdesking: "It’s flexible enough for hotdesking..."</li>
<li><span style="background-color: white; color: black; display: inline; float: none; font-family: "times new roman"; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">FUTURE: Chat/FileSharing: Also, this interesting tidbit: "Future updates are planned for the deployment of convenient features such as chat, file-sharing, and more."</span></li>
<li>When you’re not using the device, it will stay locked with a four-digit personal identification number (PIN), and if they’re paired via Bluetooth®, the device will lock in tandem with your PC.</li>
</ul>
<br />
<h4>
Specs</h4>
<br />
<ul>
<li>5MP wide angle (720p)</li>
<li>1.75" 10W full-range speaker</li>
<li>Bluetooth® 4.2 (LE)</li>
<li>8" HD (1200 x 800) IPS touchscreen</li>
<li>NOTE: This device does not have a battery.</li>
</ul>
<br />
<h3>
Surprises</h3>
<br />
<ul>
<li>What might be unexpected for a corporate communication device is that this devices has no Ethernet or USB ports, but it just might not be needed.</li>
<li>Landscape AND portrait mode </li>
<li>It might look like a control unit for a Teams Room System, but without a video output it doesn't seem ideally suited for Room video, even for a fairly small room. (Individual video is a different story) </li>
</ul>
<br />
<br />
<h3>
Some of My initial Usage Notes:</h3>
<ul>
<li>Pros</li>
<ul>
<li>8" screen means Teams client is a nice size for touch</li>
<li>Solid build quality: It feels like "Think" quality</li>
<li>Interesting form factor</li>
<li>Speaker phone produces solid sound</li>
<li>Lenovo mention of "hot desking" sounds interesting</li>
<li>Hardware video and audio mute is execellent</li>
<li><br /></li>
</ul>
<li>Cons</li>
<ul>
<li>The lack of USB might feel limiting for some applications</li>
<li>Webcam is 720p and I'm used to PC 1080HD cameras, so this seems a step back</li>
<li>Shows meeting content, but an 8" screen doesn't show a PC desktop monitor very well</li>
</ul>
</ul>
<br />
<h3>
Summary</h3>
<br />
The ThinkSmart View is an interesting form factor. Build quality is excellent. Its not for those who want a traditional IP Phone experience, but it could fill the need for a dedicated device a user can walk up to and start using on the desk. Lenovo is positioning this device as something that can fill a hot desk or common area scenario. Perhaps "hot desk" but it seems a lack of handset makes it a bit unhandy for walk up/ad hoc usage. Likely the best fit is the millennial executive desk communicator device.<br />
<br />
<br />
<br />
Official Lenovo landing page:<br />
<a href="https://www.lenovo.com/gb/en/smart-devices/smart-office/thinksmart/Lenovo-CD-18781/p/ZZISZSCCD03">https://www.lenovo.com/gb/en/smart-devices/smart-office/thinksmart/Lenovo-CD-18781/p/ZZISZSCCD03</a>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-53309814334120075162020-01-10T12:53:00.001-08:002020-01-13T12:25:14.235-08:00How to configure a Microsoft Teams Compliance Recording BOT Policy Using PowerShell<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ61DbbBFK3z-9gbjtkqNJPcteTsvLUaXakExnGJDyWMvc8aV7Qc7Ng-c8cQNS3GkrF89_RPm2t40vEZHdw8uUoIPje90E4XF70v1yU2grNaMlOn-T-ku1y91IamIOWqSFIlbYQE5QPRc0/s1600/compliance-recording-2020-01-10+15_49_50-VCE40.pptx+-+PowerPoint.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="664" data-original-width="1052" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ61DbbBFK3z-9gbjtkqNJPcteTsvLUaXakExnGJDyWMvc8aV7Qc7Ng-c8cQNS3GkrF89_RPm2t40vEZHdw8uUoIPje90E4XF70v1yU2grNaMlOn-T-ku1y91IamIOWqSFIlbYQE5QPRc0/s400/compliance-recording-2020-01-10+15_49_50-VCE40.pptx+-+PowerPoint.png" width="400" /></a></div>
<br />
Some organizations using Microsoft Teams in telephone/voice scenarios need the ability to record every call. Microsoft has opened up the ability to address this scenario by giving Microsoft Teams Administrators the ability to assign a policy to users that adds a Microsoft Teams Calling Bot to every call they take. In short, the PowerShell assigned policy lets you define an App ID that is invited to the calls the target user makes. 3rd Party ISVs can build these bots that are invited to the calls.<br />
<br />
<h3>
Create & Assign Compliance Recording Policy to User(s)</h3>
<br />
Create Application Instance<br />
<ul>
<li>New-CsOnlineApplicationInstance -UserPrincipalName <upn@contoso.com> -DisplayName <displayName> -ApplicationId <your_botappId></li>
<li>Sync-CsOnlineApplicationInstance -ObjectId <objectId></li>
</ul>
<div>
Note: <Y<span style="background-color: white; color: black; display: inline; float: none; font-family: "times new roman"; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">our_botappId> will be an ID your Compliance Recording vendor will give you, unless you are a developer making your own.</span></div>
<b></b><i></i><u></u><sub></sub><sup></sup><strike></strike><br />
Create a Compliance Recording Policy: Requires the application instance ID created above. Continue your PowerShell session and run the following commands.<br />
<br />
<br />
<ul>
<li>New-CsTeamsComplianceRecordingPolicy -Tenant <tenantId> -Enabled $true -Description "Test policy created by <yourName>" <policyIdentity></li>
<li>Set-CsTeamsComplianceRecordingPolicy -Tenant <tenantId> -Identity <policyIdentity> -ComplianceRecordingApplications ` @(New-CsTeamsComplianceRecordingApplication -Tenant <tenantId> -Parent <policyIdentity> -Id <objectId>)</li>
</ul>
<div>
After 30-60 seconds, the policy should show up. To verify your policy was created correctly:</div>
<ul>
<li>Get-CsTeamsComplianceRecordingPolicy <policyIdentity></li>
</ul>
<div>
Assign the Compliance Recording Policy</div>
<div>
<br /></div>
<div>
Requires the policy identity created above. Continue your PowerShell session and run the following commands.</div>
<div>
<br /></div>
<ul>
<li>Grant-CsTeamsComplianceRecordingPolicy -Identity <userUnderCompliance@contoso.com> -PolicyName <policyIdentity> -Tenant <tenantId></li>
</ul>
<br />
<h3>
Compliance Recording Policy Settings</h3>
Priority<br />
RequiredBeforeMeetingJoin<br />
RequiredBeforeCallEstablishment<br />
RequiredDuringMeeting<br />
RequiredDuringCall<br />
ConcurrentInvitationCount<br />
<h3>
Some Other Notes & Discoveries</h3>
Here are a few other interesting facts about the Compliance Recording Bot functionality:<br />
<br />
<ul>
<li>This ability to add a bot to every call is not limited to "call recording" functionality and it could be used for other functionality an organization wants to apply to call calls of a set of users.</li>
<li>The bot that is invited into the call does not show up on the roster of the user in the Teams client. If a call is recording the ISV will utilize API functionality to display a banner message in the Teams conversation window "Recording Started".</li>
<li>Is there a notification for PSTN callers? As far as I can tell there is no audible notification to PSTN callers that a compliance recording bot is in a call. This would presumably be the responsibility of the organization via an auto attendant or 3rd party IVR.</li>
<li>Another note: bots more generally do not currently show up in reports in the Teams Admin Panel. (You can ask Microsoft to mark your tenant so they do, but by default they do not)</li>
<li>Since its server-side, the bot works with all clients: Desktop/Web, Mobile, Teams IP Phones & Teams Rooms.</li>
<li>Only available for Office 365 Phone System users (via E5 or E3 addon)</li>
<li>When is a compliance recording bot invited to a conversation?</li>
<ul>
<li>It seems like when there is a media call: audio call, PSTN Call, joining a meeting or a chat with desk share going.</li>
<li><br /></li>
</ul>
</ul>
<h3>
Landis Contact Center for Microsoft Teams Call Recording</h3>
<br />
We are glad that Microsoft is providing this mechanism to hook into calls as we are utilizing the compliance recording bot in <a href="https://landistechnologies.com/office365contactcenter/" target="_blank">our native Microsoft Teams contact center</a> to do customer service callrecordings and sentiment analysis. Below is a demonstration of how sentiment analysis looks on a live call in the Landis Contact Center for Microsoft Teams.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/514rbpLou5M/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/514rbpLou5M?feature=player_embedded" width="320"></iframe></div>
<br />
<br />
<br />
If there is anything more you know about Compliance Recording bots, I'd be glad to hear it, so comment.<br />
<br />
Source:<br />
<br />
Github<br />
<a href="https://github.com/microsoftgraph/microsoft-graph-comms-samples/tree/master/Samples/BetaSamples/LocalMediaSamples/ComplianceRecordingBot">https://github.com/microsoftgraph/microsoft-graph-comms-samples/tree/master/Samples/BetaSamples/LocalMediaSamples/ComplianceRecordingBot</a><br />
<br />
Microsoft Ignite 2019 VCE40<br />
<a href="https://myignite.techcommunity.microsoft.com/sessions/83184?source=sessions">https://myignite.techcommunity.microsoft.com/sessions/83184?source=sessions</a><b></b><i></i><u></u><sub></sub><sup></sup><strike></strike>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-64425133446283481922020-01-03T19:22:00.000-08:002020-02-07T05:20:03.657-08:00Lenovo to Enter Microsoft Teams IP Phone Market with SmartThink View<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidy4cFmPb6VEEjpa80wGHbtkDEX2abel0Vlgk6ZPg5SBK2ziQz6ppwswCTaXtQXwQt8RRvHWD222VZP5OV1OY36V6pL-m3n6M0BmYvpahICRAKZ7pMscd6gMe1IEMMFFRdyA3HB865pe7j/s1600/03_Thinksmart_View_Hero_Front_Facing_Left.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1042" data-original-width="1390" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidy4cFmPb6VEEjpa80wGHbtkDEX2abel0Vlgk6ZPg5SBK2ziQz6ppwswCTaXtQXwQt8RRvHWD222VZP5OV1OY36V6pL-m3n6M0BmYvpahICRAKZ7pMscd6gMe1IEMMFFRdyA3HB865pe7j/s320/03_Thinksmart_View_Hero_Front_Facing_Left.png" width="320" /></a></div>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuhg5OfQL3dgPFNH0nGfLtjJR4mmG7KcHyR4WQAOtkcw477kSfaLVO6GuHAg7_pJL3HOTK7ocYpmvmkeqtFG5iFyU4KOpH5NTyUp9m_TJY03CheYYam1Jf_o8IHFG6uid5IrLbHNtlz-1j/s1600/MicrosoftTeams-image+%25286%2529.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><br />
Lenovo provides these specs:<br />
<br />
The ThinkSmart View is a new form factor that provides the following<br />
<br />
Standalone productivity device with integrated audio and video camera<br />
<br />
<ul>
<li>Always on, always connected, with an 8” HD IPS touchscreen</li>
<li>Start or join Teams video calls and meetings</li>
<li>Headset connectivity is via Bluetooth only</li>
<li>WiFi connectivity only (no physical Ethernet connection)</li>
<li>Price $349</li>
<li>When? Later this month</li>
</ul>
<div style="text-align: center;">
</div>
Lenovo had marketed as similar device called <a href="https://www.lenovo.com/us/en/smart-display/" target="_blank">Smart Display</a> before this "repurpose" as a Microsoft Teams IP phone / endpoint.<br />
<br />
<br />
<br />
Source:<br />
<div style="text-align: left;">
<a href="https://techcrunch.com/2020/01/03/lenovo-is-bringing-smart-displays-to-the-office-with-microsoft-teams-devices/">https://techcrunch.com/2020/01/03/lenovo-is-bringing-smart-displays-to-the-office-with-microsoft-teams-devices/</a></div>
Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-64370637585546671752019-12-24T11:34:00.001-08:002019-12-24T11:34:57.784-08:00Microsoft Teams User Tip #27: Hover Over Back to Get 1 Click Access to Previous Locations <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh8330AKok6J7jsV4J9QJgyMgcJtshzmx9C_0-vXZKOdDpWcWEzCaWuC5KtRO31xTaq5RXewkb0TRt4X4RViuQJsp0ZsLmJprjBvvABvKSiEZHDg8x_Qx_ZPLiktJazm8EUrXo9qXknZmf/s1600/hover+back.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="345" data-original-width="485" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh8330AKok6J7jsV4J9QJgyMgcJtshzmx9C_0-vXZKOdDpWcWEzCaWuC5KtRO31xTaq5RXewkb0TRt4X4RViuQJsp0ZsLmJprjBvvABvKSiEZHDg8x_Qx_ZPLiktJazm8EUrXo9qXknZmf/s400/hover+back.png" width="400" /></a></div>
<br /><br />Am I the last to notice this feature? You can now hover over the Back button on Microsoft Teams PC client and get a 1 Click quick access to recent places you visited in Teams.<br />
<br />
Nice!<br />
<br />
Merry Christmas!<br /><br />Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-17528860621616278772019-12-17T10:10:00.003-08:002019-12-18T07:08:47.801-08:00A Subset of the Microsoft Teams BETA Calling API, Now Known as "Communications API" in Microsoft Graph Are Now v1<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx5MRLArm3bEL54ruYXtKq42mw31UJ2yenIjn5UB1gEEXbiLkUa2IDZjLufKshVAcZsnXz1SxRfmIIHAfEnZoUQz61Y1hkFUNrecBkV8prjG1oYFuylRog62NVxQEjyVuHw9Z0GWyRB7CY/s1600/teams-graph-communications-api.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="520" data-original-width="966" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx5MRLArm3bEL54ruYXtKq42mw31UJ2yenIjn5UB1gEEXbiLkUa2IDZjLufKshVAcZsnXz1SxRfmIIHAfEnZoUQz61Y1hkFUNrecBkV8prjG1oYFuylRog62NVxQEjyVuHw9Z0GWyRB7CY/s400/teams-graph-communications-api.png" width="400" /></a></div>
<br />
<br />
A subset of the Microsoft Teams BETA/Preview Calling & Meeting API, now apparently known as "Communications API" in Microsoft Graph Are Now version 1.<br />
<br />
The question for many has been, "When will the Teams Calling API's be GA?", but a more complete question would be "When will the features (or, all the features needed for a particular application) of the Preview/BETA Calling API's be GA?" as the roll out of the Communications API is not a single "BETA/Preview" to "GA" but more of a process to release, first all the features in the current Preview/BETA, and then additionally all the typical features needed for voice communication solutions.<br />
<br />
What are some of the key features in Preview/BETA <u>not</u> released to version 1? Very significantly the ability to escalate a call to a multiparty call. This is a key component for vendors creating native Microsoft Teams Contact Center functionality like our own <a href="https://landistechnologies.com/office365contactcenter" target="_blank">Landis Contact Center for Microsoft Teams</a>.<br />
<br />
What are some key features not yet in the Preview/BETA that are very typically needed for voice solutions? The ability to:<br />
<br />
<ul>
<li>cancel inviting a participant to a multiparty call</li>
<li>eject a participant from a multiparty call</li>
<li>outbound dialing</li>
<li>more</li>
</ul>
<br />
As <a href="https://twitter.com/matthewlandis/status/1203471652794839041" target="_blank">I noticed and called out on Dec 6</a>, it appears that Microsoft will be referring to these APIs as the "Communications API", based on the <a href="https://docs.microsoft.com/en-us/graph/api/resources/communications-api-overview?view=graph-rest-1.0" target="_blank">documentation on the Microsoft Graph website</a> as shown on the screenshote below.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDPZyJ-Zm8V5OEXHFIg0qYTWbu7QvP0XnRM-VVcH_7VivryQqEjIY_kNRa849oIwuHtMZ7A5_9p7bCBwt3faWqzqC0LmPRvEncM_iZh6lQYzNcYGJBvTbDUHOXNlTD9S5u-dEOmCkAS9bR/s1600/communicationsAPI.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="196" data-original-width="676" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDPZyJ-Zm8V5OEXHFIg0qYTWbu7QvP0XnRM-VVcH_7VivryQqEjIY_kNRa849oIwuHtMZ7A5_9p7bCBwt3faWqzqC0LmPRvEncM_iZh6lQYzNcYGJBvTbDUHOXNlTD9S5u-dEOmCkAS9bR/s400/communicationsAPI.png" width="400" /></a></div>
<br />
<br />
<h3>
Do this mean "ISVs have the calling APIs, so they can do everything they need?" No.</h3>
<br />
There is considerable confusion about what the Teams "communications API" can now do among users, Microsoft Partners and Microsoft employees.<br />
<br />
A good way to think about Microsoft Teams related calling APIs based on current Graph API naming conventions:<br />
<br />
<ul>
<li>communications API = Server/Application perspective</li>
<ul>
<li>Skype for Business = UCMA</li>
<li>Formerly known as/Also known as: Calling & Meeting API</li>
</ul>
<li>me = Client/User Perspective</li>
<ul>
<li>In Skype for Business world = UCWA/Skype for Business Client SDK</li>
<li>Also known as/referred to as: Embedded API/ Client API</li>
</ul>
</ul>
<br />
Note that Microsoft has made no announcements about the Me/Client/User perspective Calling API at this time. There is no ETA from Microsoft on call control from a client/user perspective.<br />
<br />
<h3>
Conclusion</h3>
<br />
The release of some of the communication API is a great start and will enable some applications such as IVR-like services & transfer to another solution via Direct Routing.<br />
<br />
All the features for properly creating native call queuing inside the Microsoft Teams service has not been released to version 1 yet.<br />
<br />
It is not a client calling API, so it does not unblock the ability to create a specialized Microsoft Teams calling client like an Attendant Console.<br />
<br />
The communication API team at Microsoft has been working hard on this so congratulations on releasing version 1 of the communication API!<br />
<br />
Read More Here:<br />
<a href="https://docs.microsoft.com/en-us/graph/api/resources/communications-api-overview?view=graph-rest-1.0">https://docs.microsoft.com/en-us/graph/api/resources/communications-api-overview?view=graph-rest-1.0</a>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-44100006381537708202019-11-29T13:12:00.000-08:002019-12-07T15:59:08.526-08:00Microsoft Teams Presence Graph API: How to Use It and Some Other Details About It<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir9XCB2Cd4ORUZcs6xqvkqOUxhh2DBpb90284QehWDEKMvRWLGxgHwqsWhshLi_Ly9YvBnEmbJ2Sb1zkXjGslNRJFLNFPXQkI8q4KuDATy_XTo05gTovBVoxxWDBD9Rbt69FyXLH8-lGq-/s1600/presence.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="463" data-original-width="496" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir9XCB2Cd4ORUZcs6xqvkqOUxhh2DBpb90284QehWDEKMvRWLGxgHwqsWhshLi_Ly9YvBnEmbJ2Sb1zkXjGslNRJFLNFPXQkI8q4KuDATy_XTo05gTovBVoxxWDBD9Rbt69FyXLH8-lGq-/s320/presence.png" width="320" /></a></div>
<br />
<br />
<span style="color: red;">Update</span>: Dec 6, 2019 Microsoft Graph Presence API Preview <a href="https://developer.microsoft.com/en-us/graph/blogs/microsoft-graph-presence-apis-are-now-available-in-public-preview/" target="_blank">announced here</a>. We now know for certain: No App Permissions (you get presence from a AD user perspective), no subscription (programmers only get point in time presence) and get a batch of AD User's presence. <a href="https://docs.microsoft.com/en-us/graph/api/resources/presence?view=graph-rest-beta" target="_blank">Graph details here</a>.<br /><br />Teams developers have been waiting on the Graph Presence API with baited breath. (It appears to be available in Preview as of 11/29/2019. At this time there have been no announcements since Ignite 2019, but it seems to work).<br />
<h2>
How to quickly test the Teams Presence Graph API it</h2>
The Graph presence API for Microsoft Teams was mentioned in session VCE50 at Ignite 2019 but I just decided to test it today and it seems to work. Here is how:<br />
<br />
<ol>
<li>Go to <a href="https://developer.microsoft.com/en-us/graph/graph-explorer">https://developer.microsoft.com/en-us/graph/graph-explorer</a> and sign in as a valid Teams users</li>
<li>Give your user permissions to see Presence by clicking "modify permissions"</li>
<li>run: https://graph.microsoft.com/beta/me/presence for a quick test. more below</li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR12KfQDeYdb0xLypR2qtfATrwQMIuX9HECWZ_35Rj2AInWpD4MO8Qvw17fqWx9kA1N8mjMx_pbeAGxQnnPUg-WKB_y7EEQjkNN0D4L-Mpi4DH7MGkiC-0Z8ge3gU-Fh5eTI9lhqhGsPlp/s1600/graph+explorer+presence.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1037" data-original-width="1600" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR12KfQDeYdb0xLypR2qtfATrwQMIuX9HECWZ_35Rj2AInWpD4MO8Qvw17fqWx9kA1N8mjMx_pbeAGxQnnPUg-WKB_y7EEQjkNN0D4L-Mpi4DH7MGkiC-0Z8ge3gU-Fh5eTI9lhqhGsPlp/s400/graph+explorer+presence.png" width="400" /></a></div>
<div>
<br /></div>
<h2>
Some more about the Graph API for Microsoft Teams</h2>
<div>
It appears to be user based at the moment. (Perhaps App based will come later this month?)</div>
<div>
<br /></div>
<div>
Presence permissions include: Presence.Read and Present.Read.All: Read lets this user read its own presence and Read.All lets users read other user's presence as well.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyep-W0C_EA2_2ETi9M-ENUlVqMzQj9GLsax4WYFtKgPbDn2sSVbb2gZ3luMMHcVyH3BFY1cwS0idS5mcu_0kMfG4NXcaITzNxAkL1l8cU8WMwFg0rrhl5JJ_ahqs-MrFbuWdHh7htgQp1/s1600/presence+permissions.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="915" data-original-width="1600" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyep-W0C_EA2_2ETi9M-ENUlVqMzQj9GLsax4WYFtKgPbDn2sSVbb2gZ3luMMHcVyH3BFY1cwS0idS5mcu_0kMfG4NXcaITzNxAkL1l8cU8WMwFg0rrhl5JJ_ahqs-MrFbuWdHh7htgQp1/s400/presence+permissions.png" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
You can check your own presence or others:</div>
<div>
https://graph.microsoft.com/beta/me/presence</div>
<div>
https://graph.microsoft.com/beta/users/{ad_user_guid}/presence</div>
<div>
<br />
The API returns "availability" (ie:Busy) and "activity" (ie: InACall).<br />
<br /></div>
<div>
The presence is request based and not subscription based which means it is a somewhat basic API and not optimal for most realtime applications since the app needs to keep asking for the state.<br />
<br />
NOTE: The presence response is sometimes very slow (5000ms?).</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Below is the Ignite 2019, Session VCE50 slide 29:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg83gNEHkw0IXHJJ9Ea79Tnw4vXps3FI3qG61GXgoE3KdMd6diqwG-X8OvujvdbrwLYvxiexSJCEOe9ogqg9hZpGvn1Z-_ZP3XuargY4u8408pPyiy05D2EfzmFSCY6Kp9dxWk417aZzROY/s1600/VCE50+Presence+Graph+Command.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="843" data-original-width="1600" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg83gNEHkw0IXHJJ9Ea79Tnw4vXps3FI3qG61GXgoE3KdMd6diqwG-X8OvujvdbrwLYvxiexSJCEOe9ogqg9hZpGvn1Z-_ZP3XuargY4u8408pPyiy05D2EfzmFSCY6Kp9dxWk417aZzROY/s400/VCE50+Presence+Graph+Command.png" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Below is the Ignite 2019, Session VCE50 slide 30:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO2Gb8V2m3z9_M5XB0fHh-X7cmCZv8C4WYrku4F0SDsRl1jmtfGYvrCLwmrGJsQzn37hfD2Tfgg13PIpufE-3YZtBot5ooJmslkrCV4omNv3Pdi-6o1dkQ6y6M3pefLkt3UluK3MuGma9l/s1600/vce50+presence+overview.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="847" data-original-width="1600" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO2Gb8V2m3z9_M5XB0fHh-X7cmCZv8C4WYrku4F0SDsRl1jmtfGYvrCLwmrGJsQzn37hfD2Tfgg13PIpufE-3YZtBot5ooJmslkrCV4omNv3Pdi-6o1dkQ6y6M3pefLkt3UluK3MuGma9l/s400/vce50+presence+overview.png" width="400" /></a></div>
<div>
<br /></div>
<h2>
Conclusion</h2>
<div>
<br /></div>
<div>
This is an additional API that helps Microsoft Teams developers make solutions for Teams more full featured. Its another step in enabling voice scenarios for Microsoft Teams. The lack of subscriptions indicates this is the "first step" in the presence API.<br />
<br />
Landis Technologies has been eager for presence API's to add presence based routing & Queue alerting to <a href="https://landistechnologies.com/office365contactcenter/" target="_blank">our Contact Center for Microsoft Teams</a>. I'm sure vendors like <a href="https://embrava.com/pages/microsoft-teams-busy-light" target="_blank">Embrava are eager to put the ME API to use in their Blync Lights</a> as well as many other ISV's and developers.</div>
<div>
<br /></div>
<div>
If there is anything you noticed that I've missed, please comment.</div>
Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-2470644205870827602019-11-27T13:36:00.002-08:002019-11-27T13:36:55.619-08:00Will the Microsoft Teams IP Phone without Handset Become a Category?<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVeDuqJsOZznItmKuP5ILo4zT8WIG7JFfqXgbQp3VN7sPirrA5OGT686eWqaKQzqHunIMWTFAC7Cr2zsZPVT5abyg1NfLrUirpXHL9Ru6RFLhvtCdIxXU6VMJa0EPnOVg9ygXvTWaVQgpI/s1600/polyccx500.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="362" data-original-width="370" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVeDuqJsOZznItmKuP5ILo4zT8WIG7JFfqXgbQp3VN7sPirrA5OGT686eWqaKQzqHunIMWTFAC7Cr2zsZPVT5abyg1NfLrUirpXHL9Ru6RFLhvtCdIxXU6VMJa0EPnOVg9ygXvTWaVQgpI/s320/polyccx500.png" width="320" /></a></div>
<br />
At Microsoft Ignite 2019 I saw the Poly CCX500 without a handset for the first time. At first I thought it was a CCX500 side car expansion but quickly realized it just an ip phone without a handset.<br />
<br />
Will this become a category beyond Poly? Is it the new form factor of the IP deskphone?<br />
What do you think?<br />
<br />
Source:<br />
<a href="https://www.polycom.com/voice-conferencing-solutions/desktop-ip-phones/ccx-phones.html">https://www.polycom.com/voice-conferencing-solutions/desktop-ip-phones/ccx-phones.html</a>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-90106696553960014582019-11-27T12:55:00.003-08:002019-11-28T06:24:05.936-08:00December 2019 Graph API Update Looks Poised to Enable "Connected" Contact Centers (Direct Route Connected) with "Native" Contact Centers (Calling API Based) Following<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLeJwdIPg95UnLit6o-uXUGLZVonNlbSRGQR_L37Sv90qjyAiujm8BArD737F59begadYi20EkPwmQkP4-w21uXWzTXtZF4xSdTTIFpMbSA3LhWROmkPGhp1ygveqlc7o_HSUW_r1UgzZY/s1600/2019api-larger.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="422" data-original-width="594" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLeJwdIPg95UnLit6o-uXUGLZVonNlbSRGQR_L37Sv90qjyAiujm8BArD737F59begadYi20EkPwmQkP4-w21uXWzTXtZF4xSdTTIFpMbSA3LhWROmkPGhp1ygveqlc7o_HSUW_r1UgzZY/s400/2019api-larger.png" width="400" /></a></div>
<br />
<br />
At Microsoft Ignite 2019 Andy Bybee gave session <a href="https://techcommunity.microsoft.com/t5/Microsoft-Ignite-Content-2019/Contact-centers-and-Microsoft-Teams/m-p/865658" target="_blank">VCE50 on Contact Centers</a>, or as Microsoft would rather call it, "Customer Journeys" or "Customer Interactions". (Although even Andy admitted the term "customer journeys" is notoriously nebulous and hard to pin down...) In this session Microsoft laid out its vision around customer interactions and that included:<br />
<br />
<ul>
<li>Transforming instead of just integrating</li>
<li>Microsoft does some customer interaction scenarios, partners others</li>
</ul>
<br />
Microsoft plans to enable some customer interaction scenarios using things like Power Virtual Agents and their own basic call queues and auto attendants, but will look to partners for more advanced functionality that go beyond that and include things like skills routing, call backs, call flow designers and more.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4cSB8Nf1ACptd_DAtCvC1SrFMAcg2COqnBF_M_zotsiPTxPltnkMLgnLUXe4cTpAut-ixDWWwdu_Ykmafcx0YxGWyGdlgjzFCQ3NCl1BwG8Sobabq3bUG6dL8cEt_IsWlu2glPDYGHs-j/s1600/connect+extend+power.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="854" data-original-width="1600" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4cSB8Nf1ACptd_DAtCvC1SrFMAcg2COqnBF_M_zotsiPTxPltnkMLgnLUXe4cTpAut-ixDWWwdu_Ykmafcx0YxGWyGdlgjzFCQ3NCl1BwG8Sobabq3bUG6dL8cEt_IsWlu2glPDYGHs-j/s400/connect+extend+power.png" width="400" /></a></div>
<br />
<div style="text-align: center;">
<span style="font-size: xx-small;">slide explaining Connect, Extend, Power in session VCE50</span></div>
<br />
Those Contact Center vendors that provide more advanced features beyond what Microsoft will provide are being divided into several broad categories:<br />
<br />
<ul>
<li>Connected: Direct Route integration of exsisting systems</li>
<li>Extended: Utilize other Teams integration points</li>
<li>Powered: New Contact Centers built entirely on Teams Calling API's and leveraging all Microsoft 365 services</li>
</ul>
<br />
The "Connected" category appears to me to be those contact centers who use Direct Routing (SIP Trunking) to Microsoft Teams. These are vendors who aren't focusing solely on Microsoft Teams and thus the integration will be more work and the integration level won't be as tight and robust, but it is easier for existing CC vendors & Microsoft to "make their existing solution work with Teams" as Direct Routing can largely facilitate this with some assistance from new presence API's. Read: Low hanging fruit for MS to "get a solution". Microsoft has been communicating this type vendors is <a href="https://techcommunity.microsoft.com/t5/Microsoft-Teams-Blog/What-s-New-for-Calling-in-Microsoft-Teams-Ignite-2019-Edition/ba-p/974935" target="_blank">on track to be available sometime early in 2020</a>.<br />
<br />
The "Powered" category appears to be contact centers power by Microsoft Teams calling and using the Calling & Meeting API's and integrated deeply to Microsoft 365. What our company has been referring to as "native Teams contact center" when referring to our <a href="https://landistechnologies.com/office365contactcenter/" target="_blank">Landis Contact Center for Microsoft Teams</a> & other vendors following this track. Read: MS needs to provide more API features to achieve this level. Microsoft noted that it is starting a Certified for Microsoft Teams program to facilitate these and other vendors.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpMZMZ7DbQwP0C7eUMgogqvtObV2J8LNKXi7oZdtPZPgT_yJRq8UqbTTZzJDn66xkW30cL3uflMqSh4SUOOcJWdB3hMqtx8jNOxhkn5lpb-W4114h_5weiIMFkVBU_LKJ4da-wZVUlzVQg/s1600/2019api.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="437" data-original-width="1074" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpMZMZ7DbQwP0C7eUMgogqvtObV2J8LNKXi7oZdtPZPgT_yJRq8UqbTTZzJDn66xkW30cL3uflMqSh4SUOOcJWdB3hMqtx8jNOxhkn5lpb-W4114h_5weiIMFkVBU_LKJ4da-wZVUlzVQg/s400/2019api.png" width="400" /></a></div>
<br />
The <a href="https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=53939" target="_blank">Microsoft 365 Roadmap Update notes</a>:<br />
"Microsoft Teams - Teams Voice Platform<br />
Enable Contact Center integration, Remote Advisor integration and Graph API for Presence"<br />
<br />
This looks like the December round of Graph API updates is really around enabling "Connected" contact centers. The December 2019 Graph API update looks poised to enable "Connected" Contact Centers (Direct Route Connected) with "Native" Contact Centers (Calling API Based) following that.<br />
<br />
Landis Technologies was glad to be the first contact center vendor presenting a Teams Powered Contact Center at Microsoft Ignite 2019, which not only is based on the Teams Calling API's but is deeply integrated to Power Apps, Power Automate (Flow) & Power BI allowing organizations to transform how they interact with customers. The <a href="https://landistechnologies.com/office365contactcenter/" target="_blank">Landis Contact Center for Microsoft Teams</a> is in Customer Preview currently and to be released when Microsoft releases the features needed for a native Contact Center to GA.<br />
<br />
Source:<br />
<a href="https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=53939">https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=53939</a>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-10135727462541421252019-11-01T13:25:00.001-07:002019-11-01T13:34:21.143-07:00My Microsoft Ignite 2019 Microsoft Teams NotesThis is a placeholder for my Ignite 2019 notes and observations.<br />
<br />
Microsoft Teams Announcements<br />
<br />
<a href="https://twitter.com/SkypeSenorita/status/1188980924467146752" target="_blank">Teams Ignite Keynotes </a><br />
<br />
Who to Follow:<br />
<br />
<ul>
<li><a href="https://twitter.com/tomorgan" target="_blank">Tom Morgan, an Ignite Community Reporter</a> this year</li>
<li><a href="https://twitter.com/GetCsJosh/status/1189234266582011906" target="_blank">Josh Blalock</a> <a href="https://twitter.com/tomarbuthnot" target="_blank">Tom Arbuthnot</a> </li>
</ul>
<br />
<br />
Microsoft Teams Product Announcements:<br />
<br />
<ul>
<li><a href="https://landistechnologies.com/landis-technologies-announces-contact-center-for-microsoft-teams-customer-preview-growing-functionality-like-skill-routing-power-bi-integration/">Landis Technologies Contact Center for Microsoft Teams</a> </li>
<li>Numonix Recording for Microsoft Teams</li>
</ul>
<br />
Microsoft Teams Evening Events:<br />
<br />
<ul>
<li><a href="https://twitter.com/CommsvNext/status/1187820005230071809" target="_blank">"Don't Hate, Federate" CommsvNext Party</a></li>
<li>Teams User Group</li>
</ul>
<br />
<br />
Did you vote for the #MicrosoftTeams Voice Client API's?<br />
http://bit.ly/teamsclientapiMatt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-7112148198944888782019-11-01T06:27:00.004-07:002019-11-01T13:17:23.223-07:00Microsoft Teams Compliance Call Recording Bot Sample Now Available<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDo8VhYHdc7HMeAXeznoIqanMO9IS57xh_tlfYjwxgE6tf1NTuDTIyL8AAZSj2VQezGb9gIgzhAQlhU50S4NA-qwTMPhWaLkKfpkcRh5jgUGngjNvCvEaIEBMfmYUeWEnkp11AIwNdsoL5/s1600/bot+sample.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="218" data-original-width="1013" height="85" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDo8VhYHdc7HMeAXeznoIqanMO9IS57xh_tlfYjwxgE6tf1NTuDTIyL8AAZSj2VQezGb9gIgzhAQlhU50S4NA-qwTMPhWaLkKfpkcRh5jgUGngjNvCvEaIEBMfmYUeWEnkp11AIwNdsoL5/s400/bot+sample.png" width="400" /></a></div>
<br />
It looks like Microsoft has released the Compliance Call Recording Bot sample code.<br />
<br />
On October 31, 2019 user "ksikorst" <a href="https://github.com/microsoftgraph/microsoft-graph-comms-samples/tree/master/Samples/BetaSamples/LocalMediaSamples/ComplianceRecordingBot" target="_blank">posted "Kasikors/compliance recording #121"</a> sample bot code on the "Microsoft Graph Comms Samples" Github.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrBiHKhjrNmdhNN1kFr5fLmZuNGVWAs4Vsf_vx4tr5yRcCmsrao8zr7aNavfUIuQfl_I5MIgSMNyckaGWlW5UebohzinFVxfOdJAZXAj6SlQoighuGhnuoPhOzHw3H0LMeOu0BQMlWF1K1/s1600/compliance+recording+github+committ.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="339" data-original-width="769" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrBiHKhjrNmdhNN1kFr5fLmZuNGVWAs4Vsf_vx4tr5yRcCmsrao8zr7aNavfUIuQfl_I5MIgSMNyckaGWlW5UebohzinFVxfOdJAZXAj6SlQoighuGhnuoPhOzHw3H0LMeOu0BQMlWF1K1/s400/compliance+recording+github+committ.png" width="400" /></a></div>
<br />
You can read an overview of how the sample works at this <a href="https://github.com/microsoftgraph/microsoft-graph-comms-samples/tree/kasikors/compliance_recording/Samples/BetaSamples/LocalMediaSamples/ComplianceRecordingBot" target="_blank">URL</a>.<br />
<br />
It appears like the way it works in brief:<br />
<br />
<ul>
<li>Mark a Microsoft Teams user or users as a "recorded user" (will this be set via Powershell? TAC?)</li>
<li>Now when a "recorded user" gets in a call, a configured bot will be invited to the call</li>
</ul>
<br />
Since the <a href="http://landistechnologies.com/office365contactcenter" target="_blank">Landis Contact Center for Microsoft Teams</a> does policy based call recording we are eager to have this new API functionality as an option, as I'm sure many other vendors are as well.<br />
<br />
Source:<br /><a href="https://github.com/microsoftgraph/microsoft-graph-comms-samples/tree/master/Samples/BetaSamples/LocalMediaSamples/ComplianceRecordingBot">https://github.com/microsoftgraph/microsoft-graph-comms-samples/tree/master/Samples/BetaSamples/LocalMediaSamples/ComplianceRecordingBot</a><br />
<br />
<a href="https://github.com/microsoftgraph/microsoft-graph-comms-samples/pull/121">https://github.com/microsoftgraph/microsoft-graph-comms-samples/pull/121</a>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-3218170751059689202019-10-31T07:50:00.002-07:002019-10-31T08:02:35.202-07:00Microsoft Teams Presence Between Internal Teams User Now Updates In Near Real Time<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcWO80iJOlPBCpIuknZivfIr_SxrRpAnkNIUyoR8A5IJzDEoIZTE4ApdyiT7yKSqqj2wgnAxc0Q5AVB2EK46gmitCap7rjyPnDND8cKrwIjZ_wL0X6YyEJ_A81GU8lNFS_y0yMTUbRtbtY/s1600/Microsoft+Teams+Presence.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="231" data-original-width="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcWO80iJOlPBCpIuknZivfIr_SxrRpAnkNIUyoR8A5IJzDEoIZTE4ApdyiT7yKSqqj2wgnAxc0Q5AVB2EK46gmitCap7rjyPnDND8cKrwIjZ_wL0X6YyEJ_A81GU8lNFS_y0yMTUbRtbtY/s1600/Microsoft+Teams+Presence.png" /></a></div>
<br />
It looks like Microsoft Teams presence between internal Microsoft Teams users is now nearly instant. (several seconds)<br />
<br />
<ul>
<li>Internal Teams to Teams Users presence updates are immediate</li>
<li>External Teams user to another tenant is up to several minutes</li>
<ul>
<li>I've noticed that presence will update in the header of the Chat window quicker than in the Contacts list (Chat | Contacts)</li>
</ul>
<li>Teams to external Skype for Business users are still hit or miss when presence will work at all.</li>
</ul>
<div>
<br /></div>
<div>
So if your users have gotten used to disregarding Microsoft Teams presence, you can now start training them that presence is somewhat relevant again! I'm glad to see that Microsoft is focusing Teams presence and is working on "making it great again". 😃<br />
<br />Announcement it was coming:<br />
<a href="https://blog.thoughtstuff.co.uk/2019/06/real-time-presence-is-coming-to-microsoft-teams/">https://blog.thoughtstuff.co.uk/2019/06/real-time-presence-is-coming-to-microsoft-teams/</a><br /><br />Presence API Coming<br /><a href="https://microsoftteams.uservoice.com/forums/555103-public/suggestions/35689261-blynclight-for-microsoft-teams">https://microsoftteams.uservoice.com/forums/555103-public/suggestions/35689261-blynclight-for-microsoft-teams</a></div>
Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-60349489168161814482019-09-18T12:39:00.001-07:002019-09-18T12:55:49.709-07:00Microsoft Teams Meeting & Calling API Now Enabled for Incoming PSTN And You Can Call the Landis Contact Center for Microsoft Teams To Test It Out<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaMnQyARzb9AuWxafgrH8fFq-dGEhj7EYfG3N9xiCWT6zZRSp37bbB8fXxborYi17xLD_M-cCC-fZ74t5mB-kfrh63J3_25WXalwNpnmd1MwDOONRX3DKRBZINaapmmu_HSHQdp1DRALTB/s1600/pstn+api.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="381" data-original-width="483" height="315" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaMnQyARzb9AuWxafgrH8fFq-dGEhj7EYfG3N9xiCWT6zZRSp37bbB8fXxborYi17xLD_M-cCC-fZ74t5mB-kfrh63J3_25WXalwNpnmd1MwDOONRX3DKRBZINaapmmu_HSHQdp1DRALTB/s400/pstn+api.png" width="400" /></a></div>
<br />
<br />
For those who have been waiting, the Microsoft Teams Meeting & Calling API now is enabled for incoming PSTN. PSTN callers can now call into your applications. (peer to peer and multiparty applications)<br />
<br />
To not only say its possible, but also to demonstrate this new Calling API functionality, just dial +1-717-721-5367 to call a queue configured on the Landis Technologies Contact Center for Microsoft Teams. Read more: <a href="https://landistechnologies.com/office365contactcenter/">https://landistechnologies.com/office365contactcenter/</a><br />
<br />
If you already have a Microsoft Teams Calling API application, you can enable PSTN Callers to call it by using these instructions:<br />
<a href="http://windowspbx.blogspot.com/2019/08/how-to-assign-telephone-number-to-teams.html">http://windowspbx.blogspot.com/2019/08/how-to-assign-telephone-number-to-teams.html</a>Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0tag:blogger.com,1999:blog-4688688680584167129.post-18660420646020319672019-08-16T11:38:00.002-07:002019-08-16T11:38:46.592-07:00Jabra Foray into Video: Jabra Panacast USB 4k 180 Degree USB WebcamBelow is my quick video look at the Jabra Panacast at Microsoft Inspire 2019.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/HgjW6zqyP0s/0.jpg" src="https://www.youtube.com/embed/HgjW6zqyP0s?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
A few observations on the panaramic 4k USB webcam by Jabra:<br />
<br />
<ul>
<li>180 Degree panaramic view by stitching together 3 cameras</li>
<li>4K USB video solution</li>
<li>Works with Teams because it is a standard USB webcam, but NOT Teams Certified as of this writing</li>
<li>The microphone in the device is not Jabra (because of acquisition)</li>
<ul>
<li>Jabra recommend using Jabra speakerphone with it.</li>
</ul>
<li>The panacast will frame the group using built in cpu</li>
<ul>
<li>It does not recognize/frame the active speaker, but the group</li>
</ul>
<li>The device built is metal and excellent feel/fit/finish</li>
<li>Because of the built in cpu to stich the cameras together, the case is a heat sink and it needed: the device gets warm, as did the Panacast edition of the usb webcam</li>
<li>Jabra apparently aquired the tech from https://www.panacast.com/panacast-3/</li>
</ul>
<div>
<br /></div>
<div>
And here is the official Jabra page:</div>
<div>
https://www.jabra.com/business/video-conferencing/jabra-panacast#/#8100-119</div>
Matt Landishttp://www.blogger.com/profile/15397535269742889630noreply@blogger.com0