tag:blogger.com,1999:blog-48956792656181091802024-03-02T22:32:45.024-07:00ucomsGeekAll about Microsoft based Unified CommunicationsJonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.comBlogger79125tag:blogger.com,1999:blog-4895679265618109180.post-17791204467395005272020-08-19T22:37:00.003-06:002020-08-19T22:39:42.273-06:00The Pendulum Is Swinging Away from the Big City<p>For a really long time, we've had lots of incentives to put lots of people together into very large, cramped, cities. There were a lot of advantages to having so many people together and it has made some large cities very powerful in the global marketplace.</p><p>I believe we are in the middle of a transformation where businesses and people are realizing that the big city doesn't have the advantages like it used to. </p><p>Covid-19 has for a lot of reasons changed our lives. Whether you believe it is a valid threat or not, it is unquestionable that the response governments from around the world has forced EVERYONE to reevaluate their life and how they interact with others. What are acceptable risks for a pandemic that no one can really agree on what it exactly is. How do we protect our loved ones, friends, coworkers while still trying to earn an income and not go completely crazy from having so many restrictions on what we can and can't do with our lives. </p><p>I could go on and on... My point with all this is that never have we experienced such a dramatic instantaneous forced shift in our daily habits... on a global basis. Never have we put such a demand on technology to help us adapt in such a short amount of time. Overnight, remote workers at businesses doubled their load for communications systems that now had to replace face to face meetings. Schools went from in classroom learning to streaming several Mb of video to try to recreate their classroom experiences. Cloud communications systems struggled to ramp up capacity for the onslaught of all the new users trying to find ways to keep performing their duties.</p><p>Through all this we have learned as a human race that we don't have to be in close proximity to each other to perform all the jobs out there. Yes, there are jobs that still require workers to be in a particular location, but there are an enormous amount of information workers that don't. The whole notion of going to an office so you can collaborate with others has completely been blown up to pieces. Large swaths of corporations are learning they don't need to invest in real estate for people to work. Instead they are heavily investing in technology to help their workers communicate and collaborate instead. </p><p>I've been living in this reality since 1999. At first it was just a couple of phone lines with a modem connected to one, but at least for the last decade the technology has existed for people to communicate and collaborate from anywhere. Way back in 1999 my boss had the foresight to realize that I just needed to be close to an airport (I traveled to install physical phone systems at the time for Nortel). Ever since 1999, all the jobs I've had, never had a location tied to them. In fact, I've traveled across multiple states and the customers I was working for didn't even notice I was working from a different location. </p><p>What I'm seeing now is that big cities that used to thrive on having a large number of people in a small compact area are now struggling. Here are some examples in the news:<br /><br />NPR: <a href="https://www.npr.org/2020/07/08/887585383/new-yorkers-look-to-suburbs-and-beyond-other-city-dwellers-may-be-next">https://www.npr.org/2020/07/08/887585383/new-yorkers-look-to-suburbs-and-beyond-other-city-dwellers-may-be-next</a></p><p>USA Today: <a href="https://www.usatoday.com/story/money/2020/05/01/coronavirus-americans-flee-cities-suburbs/3045025001/">https://www.usatoday.com/story/money/2020/05/01/coronavirus-americans-flee-cities-suburbs/3045025001/</a></p><p>Forbes: <a href="https://www.forbes.com/sites/jrose/2020/08/06/time-to-move-data-suggests-americans-may-flee-to-rural-areas-post-covid/#6b192b377161">https://www.forbes.com/sites/jrose/2020/08/06/time-to-move-data-suggests-americans-may-flee-to-rural-areas-post-covid/#6b192b377161</a></p><p>Bloomberg: <a href="https://www.bloomberg.com/opinion/articles/2020-08-10/new-york-san-francisco-u-s-cities-will-struggle-after-covid-19">https://www.bloomberg.com/opinion/articles/2020-08-10/new-york-san-francisco-u-s-cities-will-struggle-after-covid-19</a></p><p>Not only were big cities really bad for spreading Covid-19, but as soon as people realized they don't have to live in the big city to earn their income and instead can literally live anywhere that has a good internet connection, they are leaving in droves. Housing and rent prices that used to be sky high are taking a nose dive. People are re-locating their lives to places that are less stressful and more affordable. </p><p>It will take a while, but I expect some smaller communities that have been dying for a long time, might get a serious economic boost from people looking for a simpler life and don't have to rely on a local employer. </p><p>I also expect to see that businesses will catch on that they can now seek out employees from anywhere. While I'm not sure we are going to be hoping borders between countries to find talent because tax wise that gets complicated, I do expect that we will see businesses looking for employees outside of the actual hiring location with no intention of relocating those workers. </p><p>Put simply, I believe we are witnessing a new economic revolution like none other than before. Jobs will go to the best qualified, instead of to someone that kind of fits the role but was closer in proximity to a particular location. It's going to completely turn the whole notion of compensation on it's head, because now you are paying for skills without having to adjust for location. It's gonna take some time to sort through all this... maybe a decade or longer... but it's going to happen. I suggest you pay attention and figure out how you are going to thrive in this new world.</p>Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com0tag:blogger.com,1999:blog-4895679265618109180.post-10011053540255257372018-09-10T11:50:00.002-06:002018-09-13T10:22:23.006-06:00The Microsoft IC/UC Water Cooler<div>
Not many know this... but the main reason I actually started to pursue being an <a href="https://mvp.microsoft.com/en-us/PublicProfile/5000450?fullName=Jonathan%20McKinney" target="_blank">Office Servers and Services MVP</a> was because the Microsoft Masters program and subsequent Lync Masters discussion/mailing list, was not going to be maintained anymore. Having access to that many knowledgeable people was a huge benefit when I came across something that I didn't have an answer to... and now that source of information was being threatened. </div>
<div>
<br /></div>
<div>
Fast forward a few months later, I was successfully nominated and then awarded as an MVP. Once again, I had access to a discussion list of peers that if they didn't know the answer... it was real problem that needed a case to be opened. </div>
<div>
<br /></div>
<div>
Anyway the point of this blog is not a history lesson about me. It is that I've come across this new Microsoft tool called Kaizala and it seems to be a great low barrier method to get like-minded people together to communicate.</div>
<div>
<br /></div>
<div>
So I've decided to take the Discussion List experience I've had access to for years... and bring it to the Skype for Business and Microsoft Teams masses. </div>
<div>
<br /></div>
<div>
First things first, Kaizala is a mobile only app. So, you'll need to download it first. Next you'll want to click on the <a href="https://join.kaiza.la/p/eIZg1gyaRvCqJh2HsGkHPA" target="_blank">join link</a></div>
(<a href="https://join.kaiza.la/p/eIZg1gyaRvCqJh2HsGkHPA">https://join.kaiza.la/p/eIZg1gyaRvCqJh2HsGkHPA</a>) from your mobile device.
<br />
<div>
<br /></div>
<div>
The rest is easy... say Hi and join in the conversation. Unfortunately Kaizala doesn't have chat history so you will only see the conversation point from when you joined. All the more reason to not delay joining! </div>
<div>
<br /></div>
<div>
See you there!</div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com0tag:blogger.com,1999:blog-4895679265618109180.post-51809168963688049752018-08-03T10:37:00.001-06:002018-09-21T16:02:46.881-06:00Tips and Tricks / Unofficial Party and Sweepstakes list for Microsoft Ignite 2018<h2>
Registration</h2>
Every year there has been a Microsoft Ignite, it has sold out. Don't delay registration.<br />
<br />
At the time of writing this blog, there are no hotels available for the entire week through the Microsoft Ignite website If you find that those hotels don't work for you, you might take a look at Airbnb, there are still a number of options around the Orange County Convention Center.<br />
<br />
<br />
<h2>
Choosing Sessions</h2>
Microsoft has yet to release the <a href="https://myignite.microsoft.com/" target="_blank">Schedule Builder</a> for Microsoft Ignite 2018. When they do, you will want to choose "Personalize Schedules" and start to filter and select sessions that interest you. I didn't bother with trying to determine which sessions conflicted with others on my first pass, I just simply selected anything that looked interesting to me. Then later I went by into "My Conference -> My Schedule" and whittled things down. It's actually a good idea to pick more than one session for a given time so that if plans change last moment you know what your options are.<br />
<br />
<br />
<h2>
Taking Notes and Recording during Sessions</h2>
Microsoft does provide a video with the slide deck for most of the sessions that can then be later referenced, if you can't quite remember that one little detail.<br />
<br />
If you are really bent on recording sessions, I'd suggest using a Jabra Speak 410/510 (or similar devce) with OneNote. If you have the Bluetooth version you might even get permission to put it up near where the speaker is speaking. Using OneNote in this manner, you can take notes and they will be tied to the audio so you can go back and listen to the audio at that moment you made the entry in OneNote. I cover this technique in my <a href="http://blog.lyncdialog.com/2012/04/so-you-want-to-be-lync-master.html" target="_blank"><span style="color: #dd7700;">Lync Masters report</span></a>.<br />
<br />
<br />
<h2>
Clothing</h2>
I'm no style expert... so don't expect any style tips from me. The expected temp in Orlando for September is around 90 Fahrenheit (32C). To me... being from Colorado that is rather hot. Some people from further down south will likely disagree. My point is you know yourself better than I do. Bring appropriate clothes and be prepared for rain.<br />
<br />
Shoes are really, really, really important. Did I mention REALLY important? Even if you have a car, you will do an enormous amount of walking just in the <a href="https://view.publitas.com/orange-county-convention-center/facility-floor-plans/page/4-5" target="_blank">convention center</a>. If you plan to visit any theme parks like Disney/Universal while you are there (Microsoft Attendee party is at Universal) they can be quite large as well. Please bring your best walking shoes... you'll thank me later. If you want to really be prepared, take a look at what some die hard <a href="http://www.wdwinfo.com/walt-disney-world/top-tips-to-help-your-feet-survive-walt-disney-world/" target="_blank">Disney fans prepare for</a>.<br />
<br />
Dress code... In all the searches I did, the only places you'll encounter a dress code are Night Clubs and upscale restaurants.<br />
<b></b><i></i><u></u><sub></sub><sup></sup><strike></strike><br />
<br />
<h2>
Networking</h2>
Not the wired kind of networking... but the people kind of networking. You know... like <a href="https://www.linkedin.com/feed/" target="_blank">LinkedIn</a>... but in person. For me, networking with others is by far the most important part of going to a conference. There always seems to be a way to get the "information" shared at a conference before or after, but you can't replace that face to face interaction, especially with people that understand your tech language.<br />
<br />
Use the time wisely to meet people and make connections. Many of the connections I made at conferences like this have come in handy when I have questions I can't answer on my own.<br />
<br />
If you are looking for me... just ping me on Twitter <a href="https://twitter.com/ucomsgeek" target="_blank">@ucomsgeek</a> . Last year I cooked up a way using Microsoft Flow to share my location when I pressed a button on my phone.<br />
<br />
It's always a good idea to bring your Business Cards to hand out and there are usually a number of drawings that you'll probably want to enter (some right on the spot during a session). If I come across any really good ones, I'll post them here.<br />
<br />
<br />
<h2>
Transportation</h2>
Most people will be flying in, and I'm sure a great number will be new to Orlando. If you plan to just stick to the <a href="https://www.microsoft.com/en-us/ignite/agenda" target="_blank">Agenda</a> and not do anything extra, you can likely get away with not having a rental car. But if you plan on exploring Orlando, or going to any Vendor parties, you might want to have one available or at least be prepared to do a Taxi/Uber. To use Uber, you'll want to download their app to your device.<br />
<br />
Getting from the Airport to the Hotel without a rental car is as simple as getting a Taxi, Super Shuttle, or use Uber.<br />
<br />
<a href="https://www.supershuttle.com/" target="_blank">Super Shuttle</a> will cost about $18 each way (I used the Orange County Convention Center as reference). I've used Super Shuttle in many cities and they are very efficient and professional. You can usually find them close to the rental car counters... but I highly recommend having a reservation ahead of time with so many people traveling to Orlando the same time you are.<br />
<br />
The Uber method from the Airport to your Hotel, you should be aware that there are <a href="https://www.uber.com/airports/mco/" target="_blank">specific instructions</a> you need to follow in order to find your ride successfully. Cost will probably be in the $23-28 range but you won't be sharing with others (I used the Orange County Convention Center as reference).<br />
<br />
The Taxi method from the Airport is the most common. There should be signs for Ground Transportation at the airport that takes you to the Taxi area. Cost will be in the $40-65 range depending on traffic (I used the Orange County Convention Center as reference).<br />
<br />
<br />
<h2>
How to use Microsoft Teams for Ignite</h2>
<br />
For Microsoft Ignite 2017, I <a href="http://blog.ucomsgeek.com/2017/09/how-to-use-microsoft-teams-for.html" target="_blank">published a blog</a> with some ideas on how to use Microsoft Teams for a Team attending the conference. Hopefully it will give you some ideas on how you can use it to maximize your time while at Microsoft Ignite<br />
<br />
<br />
<h2>
Checklist</h2>
<br />
<a href="https://twitter.com/Tidjani_B" target="_blank">@tidjani_b</a> sent me his checklist and I think it is a great way to make sure you make the most of Microsoft Ignite, even before he added some things from this blog ;-) <a href="https://github.com/BelRarr/conference-checklist/blob/master/ignite-checklist.md" target="_blank">Check it out </a>and share with others that are going!<br />
<br />
<br />
<h2>
CommsvNext Organizer Hunt</h2>
<br />
I'm one of four organizers for CommsvNext and we've decided to have a little fun at Microsoft Ignite to help get the CommsvNext brand out there a bit more. The basic idea is that you need to find either <a href="https://twitter.com/adamcball" target="_blank">Adam Ball</a>, <a href="https://twitter.com/getcsjosh" target="_blank">Josh Blalock</a>, <a href="https://twitter.com/patrichard" target="_blank">Pat Richard</a> or <a href="https://twitter.com/ucomsgeek" target="_blank">Jonathan McKinney</a> (myself)... Take a selfie with us and then post on twitter and tag @CommsvNext and include the #msignite hashtag! Doing so will enter you into a drawing to be done after all four of us have left Orlando that the winner will get a free pass to CommsvNext 2019 targeted for June 2019 in Denver, CO. This does not include hotel or airfare those are on you. This is just the conference pass.<br />
<br />
The rules:<br />
<br />
<ul>
<li>If we are in a session, wait til we are out in the hallway. We don't want to affect the ability of people to get in and out of sessions.</li>
<li>If we are working a booth, wait til we are done. It's perfectly fine to ask us when that is.</li>
<li>Parties are off limits</li>
<li>No Photoshop... looking at you <a href="https://twitter.com/rbrynteson" target="_blank">Richard</a> (see <a href="https://twitter.com/search?f=tweets&vertical=default&q=notpatrichard&src=typd" target="_blank">#NotPatRichard</a>)</li>
<li>These rules may be modified at any time.</li>
</ul>
<div>
Here are the pictures of us so you know who you are hunting for...</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://commsvnext.com/wp-content/uploads/2018/04/adam_ball.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="200" data-original-width="200" src="https://commsvnext.com/wp-content/uploads/2018/04/adam_ball.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://commsvnext.com/wp-content/uploads/2018/04/HatProfilePic-1-300x300.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="300" height="200" src="https://commsvnext.com/wp-content/uploads/2018/04/HatProfilePic-1-300x300.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://commsvnext.com/wp-content/uploads/2018/04/Pat-Richard-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="209" data-original-width="209" src="https://commsvnext.com/wp-content/uploads/2018/04/Pat-Richard-1.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://commsvnext.com/wp-content/uploads/2018/04/MicrosoftTeams-image-300x300.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="300" height="200" src="https://commsvnext.com/wp-content/uploads/2018/04/MicrosoftTeams-image-300x300.png" width="200" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
<br /></div>
<br />
<h2>
Sweepstakes / Awards /Giveaways</h2>
<div>
<br /></div>
<a href="https://twitter.com/NigelFrank" target="_blank">@NigelFrank</a> is doing a <a href="https://twitter.com/NigelFrank/status/1031578616960884737" target="_blank">coffee, cab, food and fun giveaway</a>! It's a standard follow and RT type of entry. From the looks of it... it is $50 for Starbucks, $50 for Uber, $100 for Ruth's Chris Steak House, and $50 for Windows Store! Not too shabby for less than a minute of work :-)<br />
<br />
<a href="https://twitter.com/Thycotic" target="_blank">@Thycotic</a> is giving away t-shirts, socks, amazon and Starbuck's gift cards, $100, magnets, and a ton of other swag! All you have to do is spin their massive Price is Right wheel!! Come on... you know you want to... Make your way to Booth #2801!<br />
<br />
<a href="https://twitter.com/1E_Global" target="_blank">@1E_Global</a> is going to be hiding <a href="https://twitter.com/1E_Global/status/1037508244120510464" target="_blank">GOLDEN TICKETS</a> daily throughout the exhibit hall! If you are lucky enough to find one take it back to their booth for a prize!<br />
<br />
<a href="https://twitter.com/IxiaCom" target="_blank">@IxiaCom</a> We are going to raffle off an Amazon TAP in the booth and will also be handing out an assortment of smaller giveaways to all booth visitors – pens, USB chargers, and mints.<br />
<div>
<br /></div>
<br />
<h2>
Parties</h2>
There are a always a number of parties being thrown during Microsoft Ignite. Some by Microsoft you can find easily in the <a href="https://www.microsoft.com/en-us/ignite/agenda" target="_blank">agenda</a> on the Microsoft Ignite 2017 site. There are other extra-curricular parties that are put on by different vendors and groups. When public parties are announced I will only list the ones I know are public so far. If you are a vendor and would like to be listed on this blog, please reach out to me via <a href="https://twitter.com/ucomsgeek" target="_blank">@ucomsgeek</a><br />
<br />
One thing new this year is the use of Kaizala. There is a Kaizala group that discusses parties along with lots of other Microsoft Ignite topics. If you have the stomach for hundreds of messages a day it is probably the best way to keep track of the pulse of what is going on at Ignite. To join download Kaizala on your mobile device then click the join URL <a href="https://join.kaiza.la/p/skBNyqhZT1CMcWKSFRF52A" target="_blank"><span id="goog_131313899"></span>https://join.kaiza.la/p/skBNyqhZT1CMcWKSFRF52A <span id="goog_131313900"></span></a><br />
<a href="https://www.blogger.com/"></a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Saturday</span></b><br />
<div>
<br /></div>
<b><br /></b>
No Parties announced yet<br />
<b><br /></b>
<b></b><b><br /></b><b><span style="font-size: large;">Sunday</span></b><br />
<br />
<a href="https://www.eventbrite.com/e/the-krewe-meet-n-greet-2018-tickets-48845656674" target="_blank">The Krewe Meet and Greet 2018</a>: For a number of years, The Krewe has gotten together the night before TechEd to meet new faces and renew old friendships. This year is no different. This year, we have Tin Roof to ourselves with food and beverages for all from 7:00-10:00pm thanks to our awesome sponsors!<br />
<br />
<ul>
<li>Where: Tin Roof Orlando</li>
<li>When: September 23, 2018 - 7:00 to 10:00pm</li>
<li>Access: <a href="https://www.eventbrite.com/e/the-krewe-meet-n-greet-2018-tickets-48845656674" target="_blank">$25 Ticket through EventBrite</a></li>
</ul>
<br />
<br />
<a href="https://www.ignitesharepint.com/" target="_blank">Ignite SharePint</a>: SharePint is a tradition starting from the early days of SharePoint. Friends would gather for a pint at conferences to celebrate being together.<br />
<br />
SharePoint doesn’t exist on its own anymore, and we’d like to celebrate our connections with people from all Microsoft technologies. Please join us to say hello to old friends and maybe make some new ones! People from all backgrounds and technology areas ware welcome.<br />
<br />
<ul>
<li>Where: Hyatt Regency Rocks Bar</li>
<li>When: September 23, 2018 - 8:00 to 1:30am</li>
<li>Access: <a href="https://www.ignitesharepint.com/" target="_blank">Just Come</a></li>
</ul>
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Monday</span></b><br />
<br />
<a href="http://www.skysync.com/syncopath-party/" target="_blank">SYNCOPATH PARTY</a>: This is the first annual SyncoPath Party sponsored by <a href="https://www.knowledgelake.com/" target="_blank">KnowledgeLake</a> and <a href="http://www.skysync.com/" target="_blank">SkySync</a>. Get in touch with your inner Syncopath at Microsoft Ignite’s hottest afterparty. Come chill out after the conference with killer cocktails, fiery entertainment, and – yes – a full, roasted pig. The first annual Syncopath Party, co-sponsored by our friends at KnowledgeLake, is going down at 8 p.m. Monday, Sept. 24.<br />
<br />
Get your name on our waiting list and we’ll follow up with your official invite and all of the important details later. Tickets to the Syncopath Party are extremely limited.<br />
<br />
Please note that this event is intended for registered Microsoft Ignite attendees only – you’ll need your conference badge and party confirmation to get in.<br />
<ul>
<li>Where: Not Announced Yet</li>
<li>When: September 24, 2018 starting at 8pm</li>
<li>Access: <a href="http://www.skysync.com/syncopath-party/" target="_blank">Limited Pass</a></li>
</ul>
<br />
<br />
<br />
<b><span style="font-size: large;">Tuesday</span></b><br />
<br />
<strike><a href="https://www.omada.net/en-us/more/news-events/events/microsoft-ignite-2018" target="_blank">Omada Ignite Party</a>: Join us on September 25 for our exclusive Microsoft Ignite party. Enjoy food and drinks while meeting our identity governance and administration experts and connect with peers while hearing more about news in enterprise business applications.</strike><br />
<ul>
<li><u><strike>Where: The Pharmacy – 8060 Via Dellagio Way, #106, Orlando, FL 32819</strike></u></li>
<li><u><strike>When: September 25, 2018 starting at 6:30pm</strike></u></li>
<li><u><strike>Access: <a href="https://www.omada.net/en-us/more/news-events/events/microsoft-ignite-2018" target="_blank">Register</a></strike></u></li>
</ul>
<div>
<br /></div>
<div>
<a href="https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x4798109f635" target="_blank">US Intelligent Cloud Developer Party</a>: Please join Microsoft’s US Intelligent Cloud team members and other developers for a one-of-a-kind event on September 25th at Orlando’s IceBar! Come and enjoy great music, food and beverages while making new connection and networking with your peers and your Microsoft contacts. You won’t want to miss this ‘chill’ evening of adventure and fun!</div>
<div>
<br />
<ul>
<li>Where: Icebar - 8967 International Dr., Orlando, Florida 32819</li>
<li>When: September 25, 2018 from 7:00 to 9:00pm</li>
<li>Access: <a href="https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x4798109f635" target="_blank">Register</a> (targeted at developers)</li>
</ul>
</div>
<div>
<br />
<br />
<strike><a href="http://ixinfo.ixiacom.com/cocktails-and-conversations-microsoft-ignite-registration" target="_blank">Ixia Cocktails and Conversations</a>: Attending Microsoft Ignite? Make sure to add Ixia Solutions Group’s exclusive networking event to your conference agenda! Join us for cocktails, hor d’oeuvres, and networking with your fellow conference attendees.</strike><br />
<strike></strike><br />
<ul>
<li><strike>Where: Charley's Steakhouse - 8255 International Dr. #100 Orlando, FL 32819</strike></li>
<li><strike>When: September 25, 2018 from 5:30 to 7:30pm</strike></li>
<li><strike>Access: <a href="http://ixinfo.ixiacom.com/cocktails-and-conversations-microsoft-ignite-registration" target="_blank">Register</a> (space is limited)</strike></li>
</ul>
</div>
<b><strike></strike><br /></b>
<b><br /></b>
<b><br /></b>
<b><span style="font-size: large;">Wednesday</span></b><br />
<br />
<a href="http://schedulemymaintenance.com/" target="_blank">>_scheduledMaintenance</a>: Tired of your servers receiving all the attention? Need your own Scheduled Maintenance? <a href="http://www.enowsoftware.com/" target="_blank">ENow</a> has thrown legendary parties usually at venues with killer views. Register to request a pass. For extra consideration follow the instructions at the bottom of their page.<br />
<ul>
<li>Where: Icebar</li>
<li>When: September 26, 2018 - 9:00pm to 12:00am</li>
<li>Access: <a href="http://schedulemymaintenance.com/" target="_blank">Limited Pass</a></li>
</ul>
<br />
<br />
<a href="https://www.1e.com/ignite/?utm_content=76130383&utm_medium=social&utm_source=twitter" target="_blank">1E Party</a>: Join us for an evening of food, drinks, networking and entertainment!<br />
<br />
Stop by Booth #127 to pick up your wristband. Wristbands are required for entry.<br />
<ul>
<li>Where: Taverna Opa!</li>
<li>When: September 26, 2018 starting at 7:00pm</li>
<li>Access: <a href="https://www.1e.com/ignite/?utm_content=76130383&utm_medium=social&utm_source=twitter" target="_blank">Stop by Booth #127 for wristband</a></li>
</ul>
<br />
<br />
<br />
<b><span style="font-size: large;">Thursday</span></b><br />
<br />
<a href="https://www.microsoft.com/en-us/ignite" target="_blank"><b>Microsoft Ignite Attendee Celebration</b></a><br />
Venue: <a href="https://www.universalorlando.com/web/en/us/index.html" target="_blank">Universal Studios</a><br />
Time: 7:30pm<br />
<br />
<h2>
</h2>
<h2>
</h2>
<br />
<br />
<span style="color: red;"><b>Keep checking back... this blog post will be updated as more information comes out!</b></span><br />
<br />
<br />Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com0tag:blogger.com,1999:blog-4895679265618109180.post-24276612760294022272017-09-11T14:59:00.000-06:002017-09-11T16:16:06.789-06:00Thoughts on Impact to Communications with Disasters like Hurricane HarveyHurricane Harvey has been on my mind lately. The devastation is simply unimaginable. Peoples lives have been thrown into chaos and its going to be a very long time to get some normalcy. One of the things that I dwell on is something near and dear to me... Communications.<br />
<br />
I've been thinking about all the businesses that have been flooded. All the buildings that won't be fit to have people in them until they get cleaned up. Even once those buildings are cleaned up, all those PBXs and phones that have been rendered useless will make communications impossible. Even when the local telco restores service, there won't be anything that can communicate at the end of the wire.<br />
<br />
There is a big problem that I don't think has been realized yet. Some of these phone systems can't be repaired. The manufacturer may not exist anymore or has been merged with another company and the products have been discontinued. Even if there is the ability to repair the equipment, it won't be available for a long time because of such high demand. What if the business decides to replace the equipment with a new PBX, same problem, it won't be available.<br />
<br />
This is one of those instances where cloud communications can really save the day. No this isn't about giving lip service to the latest trend in computing. The cloud can really be beneficial in helping businesses get back on their feet.<br />
<div>
<br /></div>
<div>
One of cloud based communications hallmarks is that it isn't dependent on location like a traditional PBX is. How are businesses supposed to communicate when they can't get physical access to buildings? Many, quite possibly, might be condemned and have to be torn down. What happens when the business needs to physically move? How long will it take to re-establish in the new location and how long before communications can be restored. Cloud based communications can help during that time period where access to physical location is impossible, users can work from anywhere and at anytime. </div>
<div>
<br /></div>
<div>
Let me tell you about some Kudos that <a href="https://www.t2mdev.com/cloud-complete" target="_blank">Time2Market</a> has been getting with people impacted by Hurricane Harvey. I'm excited about this because we have been hard at work building out a Cloud offering and now we are starting to see the fruits of our labor. </div>
<div>
<br /></div>
<div>
I just read about where one of Time2Market's Cloud Complete customers in Houston sent in kudos for how one of our engineers went above and beyond in helping them change their call handling several times this week based on all the calls they were getting from clients in the Houston area. Not only did our cloud give them the flexibility to adjust to their business needs in a very short amount of time, we had the engineering talent that understood their needs and helped them achieve it. </div>
<br />
But wait, that's not all... Earlier this week I was also told a story from our VP of Sales about a customer with many offices Nationwide that was already using Time2Market Cloud Complete for their business communications when Hurricane Harvey hit. Short story is that their office in Houston had water in it, but all the employees simply started working from home and the business didn't skip a beat.<br />
<br />
Just take a moment and let that sink in.<br />
<br />
This is the promise of Unified Communications actually realized. The ability to work anytime and from anywhere. How powerful is that?<br />
<br />
These are two examples of how Time2Market Cloud Complete is helping make a difference to businesses day in and day out through providing full Skype for Business functionality with Enterprise Voice and having the Engineers behind it to help make a difference in our customers communications when they need it most.<br />
<br />
<a href="https://www.t2mdev.com/cloud-complete" target="_blank">Time2Market Cloud Complete</a> is prepared to help Hurricane Harvey victims with special pricing and methodology to help you best get your communications back up and running. If your business is in desperate need of help, please do not hesitate to reach out. We have a number of engineers in the Houston area ready to help.Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com0tag:blogger.com,1999:blog-4895679265618109180.post-40923964543260504222017-09-07T08:27:00.002-06:002018-09-11T08:42:56.723-06:00How to use Microsoft Teams for Microsoft IgniteAs soon as I found out I was headed to Microsoft Ignite, I went into prep mode. I started my <a href="http://blog.ucomsgeek.com/2017/08/tips-and-tricks-unofficial-party-and.html">usual blog post on tips and tricks</a>. Then I started to think about how I could coordinate two other engineers, while at the conference and share information with others back at <a href="https://www.t2mdev.com/" target="_blank">Time2Market</a>. Then it dawned on me that <a href="https://teams.microsoft.com/" target="_blank">Microsoft Teams</a> is the perfect tool for the job.<br />
<div>
<br /></div>
<div>
This blog post is a combination of all the things I thought would be useful. As I find more things to do with Teams, I'll try to update the blog. Some of it is pulling together lots of different resources into one interface, but I also thought of some ways that it could be used that will be really beneficial for covering the conference and sharing of information. All of it, I have tested with the mobile client and it works well.</div>
<div>
<br /></div>
<div>
To get started, I highly recommend creating a dedicated Team for Microsoft Ignite. This way you can control who has access and who doesn't have access just for this tasks. If your team goes to conferences on a regular basis, you might consider making the name more generic.</div>
<div>
<br /></div>
<div>
Down in the lower left of the Teams client, Click "Add team"</div>
<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/AVvXsEh3LX7x2LiQuuqGuiYuCyjJrhGxFYwVuGPuutX6K4e6jLUx38KF2OYdz8C2ONQz8tjvV683fRQQVJ7g96pxziX6Zu3g0GhtInndgsWs9eOJJQHy6vsDlk_VT4Xml7ufdPrVdtpVCDBQy23Z/s1600/TeamsAddTeam.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="119" data-original-width="440" height="107" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3LX7x2LiQuuqGuiYuCyjJrhGxFYwVuGPuutX6K4e6jLUx38KF2OYdz8C2ONQz8tjvV683fRQQVJ7g96pxziX6Zu3g0GhtInndgsWs9eOJJQHy6vsDlk_VT4Xml7ufdPrVdtpVCDBQy23Z/s400/TeamsAddTeam.PNG" width="400" /></a></div>
<br />
You'll see an option to "Create a team" appear. Click "Create a team"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIxaJHvmqIg3AMrc2CcH3wyyjQm8ljB3Jy7hRiX7Lfcjhyphenhyphen1RzSQ_koRKr-hRrki9ZqSXBvw5h0B4Vzj8WrF6ArM9TWS2uj8cm1kbnkvHP0ZuQ88FjyUkIci3C6SqcUVxQaINBSKFIVhmuZ/s1600/TeamsCreateaTeam.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="397" data-original-width="433" height="366" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIxaJHvmqIg3AMrc2CcH3wyyjQm8ljB3Jy7hRiX7Lfcjhyphenhyphen1RzSQ_koRKr-hRrki9ZqSXBvw5h0B4Vzj8WrF6ArM9TWS2uj8cm1kbnkvHP0ZuQ88FjyUkIci3C6SqcUVxQaINBSKFIVhmuZ/s400/TeamsCreateaTeam.PNG" width="400" /></a></div>
<br />
Give your team a name, I used "Microsoft Ignite" and set the Privacy appropriately. Then Click "Next"<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwULu0wL2DTdFyvqao2AP_Rz3Y4aYP4zU1_oIW84olTv6ba_Thi06miPBH0PkfcFylEzpWtQ7JhuiueIpTERZzYj9OWjeym-0012_sHzRPgLei2YzGXvZm3XqIVodrBDCBHCKmUBEq_MJy/s1600/TeamsCreateaTeamDialog.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="581" data-original-width="702" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwULu0wL2DTdFyvqao2AP_Rz3Y4aYP4zU1_oIW84olTv6ba_Thi06miPBH0PkfcFylEzpWtQ7JhuiueIpTERZzYj9OWjeym-0012_sHzRPgLei2YzGXvZm3XqIVodrBDCBHCKmUBEq_MJy/s400/TeamsCreateaTeamDialog.PNG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
If you want you can add members to the Team immediately. But if you want to take some time to setup the area before inviting people, Click "Skip"<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGfeioPGGRJ9tWbwL-MUCU-LO1Qk6O1zmOlOtIwY-fGw-eLFOa98zIKnobwj_-Mz2oi0wKTsbSHKPng9jkGmbSYp6Aj5jmTanRleozMaIucANWDYWjWjYoxK7bC0VwN4PF_56mN8anijzy/s1600/TeamsAddMembers.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="440" data-original-width="703" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGfeioPGGRJ9tWbwL-MUCU-LO1Qk6O1zmOlOtIwY-fGw-eLFOa98zIKnobwj_-Mz2oi0wKTsbSHKPng9jkGmbSYp6Aj5jmTanRleozMaIucANWDYWjWjYoxK7bC0VwN4PF_56mN8anijzy/s400/TeamsAddMembers.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
That's it... You've created your Team! Now on to how to make it really work for you...<br />
<div>
<br /></div>
<h2>
The Easy Stuff</h2>
<div>
You'll notice that when you create your team there will be a Conversation, Files and Wiki area already created for you. I suggest deleting the Wiki area, because it doesn't work well with Mobile clients and Mobile clients are crucial for Microsoft Ignite. </div>
<div>
<br /></div>
<div>
For the files area, I decided to use it to organize whatever files we needed for reference. The other Engineers and I are all staying at the same Airbnb. So, I put all the reservation info in PDF form and placed in the Airbnb directory. I also downloaded the floor plans document from Orange County Convention Center and placed those in the Convention Center info directory. Lastly, any interesting Ignite photos any of us take, they can be uploaded into the photo directory. You can of course create any directories that make sense for you and your team.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ZgdExlW9pyhBIjN0S3SpaRLhhJnsKF0xjyk5zV_Fb-yOXmnnR6pl_rW5t1sWl_F26HEY2zlrHRYU_aUEAuHR5fdUhKz1gwciMDbvPG6FUltuOC3EKGdT_0WQGRrgZqZCdqTeoO4X-T4D/s1600/TeamsFiles.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1144" data-original-width="1600" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ZgdExlW9pyhBIjN0S3SpaRLhhJnsKF0xjyk5zV_Fb-yOXmnnR6pl_rW5t1sWl_F26HEY2zlrHRYU_aUEAuHR5fdUhKz1gwciMDbvPG6FUltuOC3EKGdT_0WQGRrgZqZCdqTeoO4X-T4D/s400/TeamsFiles.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
Next, I suggest you add a OneNote tab. To do so, click the "+" at the end of the tabs area. An add tab dialog will appear. Select OneNote,</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQKnHWOXfe-AHOQ4-4AoEVNJzFSarz_zDRdImw74430jUrJjjo6fzZ5Ta5oMh7Dp1Vl4qAdd_ww6zV5hGxlkjvpNLJkQMGFQb3PsAsHLY3jZO57mwVvFkKMy86OzWSIjOtYMMnb0Ec5Ole/s1600/TeamsAddTab.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1266" data-original-width="1600" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQKnHWOXfe-AHOQ4-4AoEVNJzFSarz_zDRdImw74430jUrJjjo6fzZ5Ta5oMh7Dp1Vl4qAdd_ww6zV5hGxlkjvpNLJkQMGFQb3PsAsHLY3jZO57mwVvFkKMy86OzWSIjOtYMMnb0Ec5Ole/s400/TeamsAddTab.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
Give the OneNote a name and then Click "Save"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhivA0MiGXcv58EtMRpxQdAwUOMtmkIXTac6Qh8lckoBPAdB5KivEIwJribj2WSyrQwJ3LHId9gBja3C8_N6QkXax0clwV5ws-A2UocllVjePECqyMW9w7CFh8uvv1LciqPJbh24WC-LDk3/s1600/TeamsNameOneNote.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="335" data-original-width="601" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhivA0MiGXcv58EtMRpxQdAwUOMtmkIXTac6Qh8lckoBPAdB5KivEIwJribj2WSyrQwJ3LHId9gBja3C8_N6QkXax0clwV5ws-A2UocllVjePECqyMW9w7CFh8uvv1LciqPJbh24WC-LDk3/s400/TeamsNameOneNote.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
You can see in my example below, I've created several pages in the OneNote. The page displayed is something I dreamed up because I always get requests to ask vendors certain questions and track down information while at the conference. I thought this would be a great way to capture that and have it handy when I'm talking to someone from that vendor. The next page is a general To Do page. Teams does have a separate To Do tab you can add, but alas it doesn't work well in Mobile clients.Finally, the last page, is an example of a page that can be created to take notes for a specific session.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw_hnKy74OxuSlXTQ6UgUxD1PhEvbviajPTEwDojL1P4eZ2DFLAx7PF2sokMX6fQEXqKf2IzmrJNyLrWrDqtzR6CEVm1snYQ-aPcs34cBhylrpgF1TAtK6bIt54NIQM5BAQXi9_U2nTFJv/s1600/TeamsOneNote.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1144" data-original-width="1600" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw_hnKy74OxuSlXTQ6UgUxD1PhEvbviajPTEwDojL1P4eZ2DFLAx7PF2sokMX6fQEXqKf2IzmrJNyLrWrDqtzR6CEVm1snYQ-aPcs34cBhylrpgF1TAtK6bIt54NIQM5BAQXi9_U2nTFJv/s400/TeamsOneNote.PNG" width="400" /></a></div>
<div>
<br /></div>
<h2>
The Website Tabs</h2>
<div>
<br /></div>
<div>
<span style="font-size: large;"><b>Twitter PowerBI</b></span></div>
<div>
<br /></div>
<div>
Next, we are going to add a really awesome PowerBI app created by <a href="https://www.tygraph.com/" target="_blank">tyGraph</a> for viewing the twitter-verse through the #MSIgnite hashtag. I plan to use this to keep track of how much more I need to do to catch <a href="https://twitter.com/matthewlandis" target="_blank">Matt Landis</a> on sharing info on Twitter:-) . Anyway... Click on the "+" at the end again to create a tab and this time select "Website"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimaQXwCHyre2gd_mfzROvp8milfIvJ95O3bruDFi19ilPjPr2EqKaMZA4zDSCKSDk8phoCd5dHX8hhC-XwCqdyuO4l9BJXWYId2IWIh_4FMytXFmxIc4Tzoi92U1cmJrp9FankS73Pu5C5/s1600/TeamsAddTab.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1266" data-original-width="1600" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimaQXwCHyre2gd_mfzROvp8milfIvJ95O3bruDFi19ilPjPr2EqKaMZA4zDSCKSDk8phoCd5dHX8hhC-XwCqdyuO4l9BJXWYId2IWIh_4FMytXFmxIc4Tzoi92U1cmJrp9FankS73Pu5C5/s400/TeamsAddTab.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Give the tab a name, I suggest "Ignite Twitter PowerBI". Next you'll need to provide this URL and then Click "Save"</div>
<blockquote class="tr_bq" style="clear: both; text-align: left;">
https://app.powerbi.com/view?r=eyJrIjoiNTc2NjE3NGYtMWQ4ZC00NTgwLWE5MWItYzZiMzgwOGFlMDU1IiwidCI6ImZkMTI5OGJlLWMwOWYtNDM0OS05NmU4LWJkMDk3MjEwZTI3NCIsImMiOjF9</blockquote>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgyqvQZARKQtlfL9oOZcZ-ADd5rxZPPo-xQWUs7XZci6jZcnPpOe7dxZ_q5e9bhQ2gLEZWOoUP9YgR7_Co0_p8ueZznI2q0rkOj-qixQB65sRB0o1ue79tUw7BPE_0Y7AHYOHEAFeDxDex/s1600/TeamsAddWebsiteDialog.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="453" data-original-width="605" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgyqvQZARKQtlfL9oOZcZ-ADd5rxZPPo-xQWUs7XZci6jZcnPpOe7dxZ_q5e9bhQ2gLEZWOoUP9YgR7_Co0_p8ueZznI2q0rkOj-qixQB65sRB0o1ue79tUw7BPE_0Y7AHYOHEAFeDxDex/s400/TeamsAddWebsiteDialog.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
When created this is what the tab will look like. Take special note that the bottom there are several pages that display twitter information in different ways.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtUrNDN9iekZ0IYFgElRUTtysxw4MtHeCa4pWllNknVeld4FDyZUyI7D-Gc1bJddiWDmv5-RFjnln-FitYogXbC5hyphenhyphenF_iX8Jsiwyo-NgP6zfF4keJULCseMYM35QA520piI2cMcxL1kiDx/s1600/TeamsTwitterPowerBI.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1144" data-original-width="1600" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtUrNDN9iekZ0IYFgElRUTtysxw4MtHeCa4pWllNknVeld4FDyZUyI7D-Gc1bJddiWDmv5-RFjnln-FitYogXbC5hyphenhyphenF_iX8Jsiwyo-NgP6zfF4keJULCseMYM35QA520piI2cMcxL1kiDx/s400/TeamsTwitterPowerBI.PNG" width="400" /></a></div>
<div>
<span style="font-size: large;"><b><br /></b></span></div>
<div>
<span style="font-size: large;"><b><br /></b></span></div>
<div>
<span style="font-size: large;"><b><br /></b></span></div>
<div>
<span style="font-size: large;"><b>#MSIgnite Twitter Search</b></span></div>
<div>
<br /></div>
<div>
Now, let's add a tab that does a Twitter search for the #MSIgnite hashtag. Click on the "+" again and click "Website"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimaQXwCHyre2gd_mfzROvp8milfIvJ95O3bruDFi19ilPjPr2EqKaMZA4zDSCKSDk8phoCd5dHX8hhC-XwCqdyuO4l9BJXWYId2IWIh_4FMytXFmxIc4Tzoi92U1cmJrp9FankS73Pu5C5/s1600/TeamsAddTab.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1266" data-original-width="1600" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimaQXwCHyre2gd_mfzROvp8milfIvJ95O3bruDFi19ilPjPr2EqKaMZA4zDSCKSDk8phoCd5dHX8hhC-XwCqdyuO4l9BJXWYId2IWIh_4FMytXFmxIc4Tzoi92U1cmJrp9FankS73Pu5C5/s400/TeamsAddTab.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
Again, you'll need to name the tab. I suggest "#msignite Twitter". Then provide this URL and then Click "Save"</div>
<blockquote class="tr_bq">
https://twitter.com/search?f=tweets&vertical=default&q=%23msignite&src=typd</blockquote>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0V9dH1FJf2QdyMqP5Qf8sT15ZY4d0BsfFKdx0eBJ7zIXiqTCCxIsgXippklpiaNhw_L-9YgOg4XH5xHnazTtin4hxhOSRITf7Oj32YJQmm3fzat-trPBzE5xB8NZHE_dBRYKAHpvqB_L/s1600/TeamsAddWebsiteDialog.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="453" data-original-width="605" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0V9dH1FJf2QdyMqP5Qf8sT15ZY4d0BsfFKdx0eBJ7zIXiqTCCxIsgXippklpiaNhw_L-9YgOg4XH5xHnazTtin4hxhOSRITf7Oj32YJQmm3fzat-trPBzE5xB8NZHE_dBRYKAHpvqB_L/s400/TeamsAddWebsiteDialog.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
When the tab is created it will look like this. The URL will default to "Latest" tweets. But as you can see there are other options for how to view the #msignite hashtag from the twitter search.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitFzirk5VCH7s0IicuEa9AwMjhDC9VCGzU1ptb2_j27kMplWUwmvhJa5tCr_1d6AZZ-i_rCmnfgbQHxx4kZ-KBE4ENq5N-ADLeUxGnhGQUVLTJVwIuyZbGYnCtbpZa9eX6o9WdFoUiayjv/s1600/TeamsTwitterMSIgnite.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1144" data-original-width="1600" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitFzirk5VCH7s0IicuEa9AwMjhDC9VCGzU1ptb2_j27kMplWUwmvhJa5tCr_1d6AZZ-i_rCmnfgbQHxx4kZ-KBE4ENq5N-ADLeUxGnhGQUVLTJVwIuyZbGYnCtbpZa9eX6o9WdFoUiayjv/s400/TeamsTwitterMSIgnite.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="font-size: large;"><b>Session Browser PowerBI</b></span></div>
<div>
<br /></div>
<div>
Again, <a href="https://www.tygraph.com/" target="_blank">tyGraph</a> really outdid themselves and they created a PowerBI app that makes browsing sessions so much easier. There are so many different ways to slice and dice the sessions it isn't funny. To add this tab, once again click the "+" at the end of the tab area and Select Website.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimaQXwCHyre2gd_mfzROvp8milfIvJ95O3bruDFi19ilPjPr2EqKaMZA4zDSCKSDk8phoCd5dHX8hhC-XwCqdyuO4l9BJXWYId2IWIh_4FMytXFmxIc4Tzoi92U1cmJrp9FankS73Pu5C5/s1600/TeamsAddTab.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1266" data-original-width="1600" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimaQXwCHyre2gd_mfzROvp8milfIvJ95O3bruDFi19ilPjPr2EqKaMZA4zDSCKSDk8phoCd5dHX8hhC-XwCqdyuO4l9BJXWYId2IWIh_4FMytXFmxIc4Tzoi92U1cmJrp9FankS73Pu5C5/s400/TeamsAddTab.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
I think you are a pro at this by now, but give it a cool name like "Session Browser PowerBI". Next use this URL and click Save</div>
<div>
<br /></div>
<blockquote class="tr_bq">
https://app.powerbi.com/view?r=eyJrIjoiNDYyMGY1MGQtYWZjZS00OTBmLTgxMGItZTVlYTk1MTlkOWU3IiwidCI6IjdlNGNjMjBjLTdiOTgtNDU2MC04NzhkLTkwNjllN2M1NTdjYiIsImMiOjN9</blockquote>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0V9dH1FJf2QdyMqP5Qf8sT15ZY4d0BsfFKdx0eBJ7zIXiqTCCxIsgXippklpiaNhw_L-9YgOg4XH5xHnazTtin4hxhOSRITf7Oj32YJQmm3fzat-trPBzE5xB8NZHE_dBRYKAHpvqB_L/s1600/TeamsAddWebsiteDialog.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="453" data-original-width="605" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0V9dH1FJf2QdyMqP5Qf8sT15ZY4d0BsfFKdx0eBJ7zIXiqTCCxIsgXippklpiaNhw_L-9YgOg4XH5xHnazTtin4hxhOSRITf7Oj32YJQmm3fzat-trPBzE5xB8NZHE_dBRYKAHpvqB_L/s400/TeamsAddWebsiteDialog.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
When the tab is created it should look like this. Again please note the multiple pages at the bottom.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEs94RXWQlWTGUHGp19YPy2q8-0WuBH3cHZT3AvJazYszGo2DIC59UtUCw-pNX77ZqVr5UQsQfS4pRzmt2ydQqFlKxpz6YRb4v73bol26RmHYaoHzD5bpsXweLdEuyM35kF4UrG1-OgezX/s1600/TeamsSessionPowerBI.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1144" data-original-width="1600" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEs94RXWQlWTGUHGp19YPy2q8-0WuBH3cHZT3AvJazYszGo2DIC59UtUCw-pNX77ZqVr5UQsQfS4pRzmt2ydQqFlKxpz6YRb4v73bol26RmHYaoHzD5bpsXweLdEuyM35kF4UrG1-OgezX/s400/TeamsSessionPowerBI.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
<span style="font-size: large;"><b><br /></b></span></div>
<div>
<span style="font-size: large;"><b><br /></b></span></div>
<div>
<span style="font-size: large;"><b>Convention Center Floor Plans</b></span></div>
<div>
<br /></div>
<div>
I'm not sure if we will get great maps of the Convention Center in the Microsoft Ignite mobile app, so I decided to add a tab that points to the Orange County Concvention Center Floor plans in PDF format. This is the same file that I put into the "Files" area, but the website has a nice web viewer for the PDF that works well in Microsoft Teams and as an added benefit I can reference a specific page. To add this tab, once again click the "+" at the end of the tab area and Select Website.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimaQXwCHyre2gd_mfzROvp8milfIvJ95O3bruDFi19ilPjPr2EqKaMZA4zDSCKSDk8phoCd5dHX8hhC-XwCqdyuO4l9BJXWYId2IWIh_4FMytXFmxIc4Tzoi92U1cmJrp9FankS73Pu5C5/s1600/TeamsAddTab.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1266" data-original-width="1600" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimaQXwCHyre2gd_mfzROvp8milfIvJ95O3bruDFi19ilPjPr2EqKaMZA4zDSCKSDk8phoCd5dHX8hhC-XwCqdyuO4l9BJXWYId2IWIh_4FMytXFmxIc4Tzoi92U1cmJrp9FankS73Pu5C5/s400/TeamsAddTab.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
Give the tab a name like "Convention Center Floor Plans". Then provide this URL and Click "Save"</div>
<div>
<br /></div>
<blockquote class="tr_bq">
https://view.publitas.com/orange-county-convention-center/facility-floor-plans/page/4-5</blockquote>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0V9dH1FJf2QdyMqP5Qf8sT15ZY4d0BsfFKdx0eBJ7zIXiqTCCxIsgXippklpiaNhw_L-9YgOg4XH5xHnazTtin4hxhOSRITf7Oj32YJQmm3fzat-trPBzE5xB8NZHE_dBRYKAHpvqB_L/s1600/TeamsAddWebsiteDialog.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="453" data-original-width="605" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0V9dH1FJf2QdyMqP5Qf8sT15ZY4d0BsfFKdx0eBJ7zIXiqTCCxIsgXippklpiaNhw_L-9YgOg4XH5xHnazTtin4hxhOSRITf7Oj32YJQmm3fzat-trPBzE5xB8NZHE_dBRYKAHpvqB_L/s400/TeamsAddWebsiteDialog.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
When the tab is created it should look like this. Please note the navigation arrows to the side to change pages.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnVM7LtfMVSLmZHDZpUpG5KwPjST0a-kIIcCoU5kmvVsVes9NPTe0xvFywy87ytX04gaDkXM9Hi87_bS6AWnOMF9X-bDxr1SOSx96W4ikqzRWY93TDvcSYq6K-5nvKnIziixeFlNYO6tNz/s1600/TeamsConventionFloorPlan.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1144" data-original-width="1600" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnVM7LtfMVSLmZHDZpUpG5KwPjST0a-kIIcCoU5kmvVsVes9NPTe0xvFywy87ytX04gaDkXM9Hi87_bS6AWnOMF9X-bDxr1SOSx96W4ikqzRWY93TDvcSYq6K-5nvKnIziixeFlNYO6tNz/s400/TeamsConventionFloorPlan.PNG" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="font-size: large;"><b>The Advanced Stuff</b></span></div>
<div>
<br /></div>
<div>
I've been playing with Microsoft Flow and how to use it with Microsoft Teams while at Ignite. I've done a couple other blog posts that cover how to put the <a href="http://blog.ucomsgeek.com/2017/08/microsoft-ignite-weather-to-microsoft.html">Weather into the Conversation tab</a> every morning and another one that <a href="http://blog.ucomsgeek.com/2017/08/using-microsoft-flow-to-search-bing.html">searches for new news stories</a> that match the terms "Microsoft Ignite 2017" or "Skype for Business" or "Microsoft Teams".</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com8tag:blogger.com,1999:blog-4895679265618109180.post-11791785950526334502017-08-30T07:13:00.000-06:002017-08-30T13:37:25.820-06:00Using Microsoft Flow to Search Bing News and Post to Microsoft TeamsSo continuing the theme of finding ways to use <a href="https://flow.microsoft.com/" target="_blank">Microsoft Flow</a> with <a href="https://teams.microsoft.com/" target="_blank">Microsoft Teams</a> for <a href="https://www.microsoft.com/en-us/ignite/default.aspx" target="_blank">Microsoft Ignite</a>, I've cooked up a flow that uses <a href="https://azure.microsoft.com/en-us/services/cognitive-services/?v=17.29" target="_blank">Azure Cognitive Services</a> to <a href="https://azure.microsoft.com/en-us/services/cognitive-services/bing-news-search-api/" target="_blank">Search Bing News</a> for news related to Microsoft Ignite, Skype for Business or Microsoft Teams and then posts articles that match that criteria to a Microsoft Teams Channel.<br />
<div>
<br /></div>
<div>
One of the problems I had to solve is that by default, Microsoft Flow Bing News trigger for new news, triggers Azure Cognitive Services way too often! The plan I configured for Cognitive Services allowed 1000 hits a month and my original flow burned through that in less than a week. If I had a different plan that allowed overages, I quite possibly would have had quite a big bill. So, I set out to see if I could control how often my flow would look for new news. The secret was in using a somewhat hidden feature of timeout for a trigger.</div>
<div>
<br /></div>
<div>
Anyway... let me show you how to put all this together!<br />
<br />
So before we do the flow, we need to create the Azure Cognitive Service for Bing Search.<br />
.<br />
Start by accessing the Azure Portal and click the "+" to create a new service. Then select AI + Cognitive Services and the click "Create" under Bing Search APIs<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizP8-Aq9lu5XJotxRUAGPTHIm8u9ETobEuaSy1KrUce0nydHw3p-a8QRQf9IcZqLTHxzXQHtIjiWct6HxwMMPvYfO6vS27-LERVtYzVM0sLkCu8BfYy3q82kJlQRki2gEEOqhSZ_0i_uv6/s1600/CognitiveNew.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizP8-Aq9lu5XJotxRUAGPTHIm8u9ETobEuaSy1KrUce0nydHw3p-a8QRQf9IcZqLTHxzXQHtIjiWct6HxwMMPvYfO6vS27-LERVtYzVM0sLkCu8BfYy3q82kJlQRki2gEEOqhSZ_0i_uv6/s400/CognitiveNew.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Give the service a name. I used "BingSearch" and then select the appropriate Subscription that you want to bill the service to. Under the Pricing Tier, I suggest that you select the $1 tier that limits you to 1000 calls per month. The other Tiers allow for overages, which if not planned for correctly could get costly. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Next, I suggest creating a new Resource Group. As a rule I name my resource groups something similar to the service they are used with, in this case I named it "BingSearch-RG". Make sure the Resource Group is created in the data center you want and then Check the box for the confirmation of the notice. Lastly, Click the "Create" at the bottom.</div>
<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/AVvXsEjWEr1dTnU-SW5Sz8L9J1hEG7HihIkyHqRQWbMj-QZE-ZwUTcQm5rLROMOAvJZ4ilsYPQpiuBP3x8OJk7PN7oK-X_Zzy07yEq2z30WUxqlLy_44y7veqWXThytnI4AlT_sK6GhbMGEzvBAb/s1600/CognitiveCreateNewBingSearch.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWEr1dTnU-SW5Sz8L9J1hEG7HihIkyHqRQWbMj-QZE-ZwUTcQm5rLROMOAvJZ4ilsYPQpiuBP3x8OJk7PN7oK-X_Zzy07yEq2z30WUxqlLy_44y7veqWXThytnI4AlT_sK6GhbMGEzvBAb/s400/CognitiveCreateNewBingSearch.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
After the service is created, the Overview is displayed. From here you will want to click "Show access keys"<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/AVvXsEiS0GB15z6SlQXYhrQ9AXJJ63ieqeDAunyb23fWSv2Ks_cb9ZMxN5x-Y7tFyMGUj15ScMz1Nzag3pAjAOHknrTQxjNmNiJLkwaCXXrjkaYp00I5xj39Qm4M0-H6cvhmzL6pvGB_AdpuNwWA/s1600/CognitiveAfterCreateDashboard.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS0GB15z6SlQXYhrQ9AXJJ63ieqeDAunyb23fWSv2Ks_cb9ZMxN5x-Y7tFyMGUj15ScMz1Nzag3pAjAOHknrTQxjNmNiJLkwaCXXrjkaYp00I5xj39Qm4M0-H6cvhmzL6pvGB_AdpuNwWA/s400/CognitiveAfterCreateDashboard.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Two access keys will be displayed. Copy the first one into the clipboard and put it into notepad or somewhere else where you can reference it later.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWqqPmXRnic8S6_9v7Rb8LDMQZlhqiT-Q1a167NkLBrwngz8XIu7e1h3WBRb54SLFULjZdBslLhvLuclOoPCWQ0NlgL2KcPLcAPhXLzVmzJJN9k15ZukkXwCdEE-GWl6F1WK3dpgy8CLMa/s1600/CognitiveAPIKeys.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWqqPmXRnic8S6_9v7Rb8LDMQZlhqiT-Q1a167NkLBrwngz8XIu7e1h3WBRb54SLFULjZdBslLhvLuclOoPCWQ0NlgL2KcPLcAPhXLzVmzJJN9k15ZukkXwCdEE-GWl6F1WK3dpgy8CLMa/s400/CognitiveAPIKeys.PNG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
So, now we start to build the Flow. Much like my first blog using Microsoft Flow, you'll need to access "My Flows" and then click "Create from blank"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnd4M-la05cbUepMnLpJ3E1wqOvs-26eAc-wdIqU0m39uuX4aFkqfhRI1n58gy7PIPSy5o0OaUsUpRaGs3UYnZtcczuMvbDXtHrdFePq7Ait6nrvz98Haha175Dk1eXPiMKZj92gBqlm2y/s1600/MyFlows.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnd4M-la05cbUepMnLpJ3E1wqOvs-26eAc-wdIqU0m39uuX4aFkqfhRI1n58gy7PIPSy5o0OaUsUpRaGs3UYnZtcczuMvbDXtHrdFePq7Ait6nrvz98Haha175Dk1eXPiMKZj92gBqlm2y/s400/MyFlows.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Next click on "Search hundreds of connectors and triggers"</div>
<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/AVvXsEiKRkJCcirSv7kh4Ep7xg7ecWK67avirE5bEp0Js57fPFH-PtxqUPV_Gwth62llTDRSqByVCofKFMarLlRWfX9ozWQuzU7BXTRGrcbBPrx04knnFHZnDR_KgN84YlMhTWxxfGCsXIqADSut/s1600/CreateFromBlank+-+Copy.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKRkJCcirSv7kh4Ep7xg7ecWK67avirE5bEp0Js57fPFH-PtxqUPV_Gwth62llTDRSqByVCofKFMarLlRWfX9ozWQuzU7BXTRGrcbBPrx04knnFHZnDR_KgN84YlMhTWxxfGCsXIqADSut/s400/CreateFromBlank+-+Copy.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Click on "Schedule"</div>
<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/AVvXsEh4DxKR1J-eqcXxOTgHwWxotr6B4C_j_V4l8BXsnwgepRQ7PsiUjJO5FEuU1F3x2PC0j7O007gWsVyxAAvzN4CEl3nvKnT5QBe8OQaDEdZnyJj5e4OxHx3UMvhjAZ4SwA9sGg-8na0ntgV2/s1600/SearchConnectors.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4DxKR1J-eqcXxOTgHwWxotr6B4C_j_V4l8BXsnwgepRQ7PsiUjJO5FEuU1F3x2PC0j7O007gWsVyxAAvzN4CEl3nvKnT5QBe8OQaDEdZnyJj5e4OxHx3UMvhjAZ4SwA9sGg-8na0ntgV2/s400/SearchConnectors.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Then Click "Schedule - Recurrence" under Triggers</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3bbOpivaYJyK5KB2LqJrrdI0eDP3gaFd0nsWHn_Wx4uyOVLnNi6Op8RtsqDnVBkx_kcPozkEQnhXDSQdKumtmG7wNr2HxZvsDlG-N_oNg9KA52uU3uRKcIGgiEFRJO_LYdABLSjq9YmT2/s1600/FlowScheduleConnector+-+Copy.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3bbOpivaYJyK5KB2LqJrrdI0eDP3gaFd0nsWHn_Wx4uyOVLnNi6Op8RtsqDnVBkx_kcPozkEQnhXDSQdKumtmG7wNr2HxZvsDlG-N_oNg9KA52uU3uRKcIGgiEFRJO_LYdABLSjq9YmT2/s400/FlowScheduleConnector+-+Copy.PNG" width="400" /></a></div>
<br />
Configure the Recurrence trigger for every 4 hours. Then Click "New Step" and choose "Add an action"</div>
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOGvStvB4WC0SEeoPSUnwWmmFtrJITdcNIaU9p444ZmmKwLXXpVFuY2eskYz1RDL70WSQKQQ3qjo6XB6PsxtMItnb_AsxC2pck2at44lUJvHPkxbj_o1-VqZK6rMZhrZGPd_-C_2oXQZ_7/s1600/BingNewsRecurrence.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOGvStvB4WC0SEeoPSUnwWmmFtrJITdcNIaU9p444ZmmKwLXXpVFuY2eskYz1RDL70WSQKQQ3qjo6XB6PsxtMItnb_AsxC2pck2at44lUJvHPkxbj_o1-VqZK6rMZhrZGPd_-C_2oXQZ_7/s400/BingNewsRecurrence.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Search for "bing" and select "Bing News"</div>
<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/AVvXsEiX_gd1hOfNUuowKFTrw90osjFjjt4COXzO60uyNY9NqpRSlmF1ZCdr70UWMfTr8b0q-V9raNsuTQbmst8it9lj9JVKHDWUmMyIchDM_fudU6G4Gg9cz-9LkeTUPWoFlDJYxDVibK2xlc0L/s1600/BingNewsSearchBing.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX_gd1hOfNUuowKFTrw90osjFjjt4COXzO60uyNY9NqpRSlmF1ZCdr70UWMfTr8b0q-V9raNsuTQbmst8it9lj9JVKHDWUmMyIchDM_fudU6G4Gg9cz-9LkeTUPWoFlDJYxDVibK2xlc0L/s400/BingNewsSearchBing.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Switch to Triggers and select "Bing Search - On new news article"</div>
<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/AVvXsEhMPnSDeV9rsw329pbpu8PSZWQM4nubLMVuj0_Eb9wKtajzFumvzejcMkNGJKv9cgyVP0Lq0ysKtCkP9hQbUBK-TSEb45ZoJK91n_9_cDqz6hGJq77DE3-BMhQSWtdut-VAm528Oq6i0bbu/s1600/BingNewsBingSearchTriggerNewNews.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMPnSDeV9rsw329pbpu8PSZWQM4nubLMVuj0_Eb9wKtajzFumvzejcMkNGJKv9cgyVP0Lq0ysKtCkP9hQbUBK-TSEb45ZoJK91n_9_cDqz6hGJq77DE3-BMhQSWtdut-VAm528Oq6i0bbu/s400/BingNewsBingSearchTriggerNewNews.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
If you haven't setup Bing News before, Microsoft Flow will prompt you to setup a connection to Azure Cognitive Services for Bing Search. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
This is where that Access keys come into play. Give the connection a name. In my example below, I used the name "BingNews". Next provide that Access key you saved earlier and click "Create".</div>
<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/AVvXsEiSCfLt4QxN2p7MkMbWNge8xysht5BuhiTwgVXihTXEpHEh1Aku4bAV_-T2vpZYH1lqs0PiucVU-01YPiEGXq5_qOk7ymTxuumVtDWcb9Nw5nKPhvpW_HoBi7W7sJLt7ygRhKj1IwSVizgO/s1600/BingNewsBingSearchDefineConnection.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSCfLt4QxN2p7MkMbWNge8xysht5BuhiTwgVXihTXEpHEh1Aku4bAV_-T2vpZYH1lqs0PiucVU-01YPiEGXq5_qOk7ymTxuumVtDWcb9Nw5nKPhvpW_HoBi7W7sJLt7ygRhKj1IwSVizgO/s400/BingNewsBingSearchDefineConnection.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Specify the Search Query. In my example below, I use the Logical OR between specific search terms encapsulated in quotes. The result is that any new news article that contains "Microsoft Ignite 2017" or "Skype for Business" or "Microsoft Teams". </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
To keep the Bing News search from going nuts making queries to Azure Cognitive Services, click the ellipses menu in the upper right of the Bing News step. Select "Settings"</div>
<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/AVvXsEjt7XEQUHPv3Zo7LUjXfmWjIsVxRnG8koBgsLRxcpO1ACW2CKg2zsyyWakU3Ov4vqmCJEKHqT_KzFwSq5miGX4HG24MlebY8XR3QnU8g9sWAxjtBwHpTUNdFZuNViHhhXP_qS9qTJICJYMA/s1600/BingNewsBingSearchDefineSearchCriteria.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt7XEQUHPv3Zo7LUjXfmWjIsVxRnG8koBgsLRxcpO1ACW2CKg2zsyyWakU3Ov4vqmCJEKHqT_KzFwSq5miGX4HG24MlebY8XR3QnU8g9sWAxjtBwHpTUNdFZuNViHhhXP_qS9qTJICJYMA/s400/BingNewsBingSearchDefineSearchCriteria.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In the dialog box that appears, configure the Time Duration to be PT10M. This will configure Bing News to timeout after 10 minutes of not finding new news. Combined with the Recurrence of every 4 hours, this means we will have 2 queries to Azure Cognitive Service every 4 hours. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Click "Done" and then "New Step" and "Add an action"</div>
<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/AVvXsEgK5JWM2Nba_3gt9ZSAqVgsexUV3ZaXIxV-nTC6kTpVbtWvYWQtjtgk0lVcq9msyUIPStXNsu5oj4oAbJmq5ZK6yYNe6apq1Kbjhg1z1uHPyXnOtY0tFWRRwRn7MmDHuEZbZ4mf0m0iOg1l/s1600/BingNewsBingSearchConfigureTimeout.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK5JWM2Nba_3gt9ZSAqVgsexUV3ZaXIxV-nTC6kTpVbtWvYWQtjtgk0lVcq9msyUIPStXNsu5oj4oAbJmq5ZK6yYNe6apq1Kbjhg1z1uHPyXnOtY0tFWRRwRn7MmDHuEZbZ4mf0m0iOg1l/s400/BingNewsBingSearchConfigureTimeout.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Search for "teams" and select "Microsoft Teams"</div>
<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/AVvXsEixaMUNUGhW-7PWDir2Ei-W5JibZAM0zeqMfPYQZL84jovc5QSdHVDO3SEQD60fQh7YUsAEIZei0k9pBwCQgstVfNJnpGNGEk_N3y7trVAaGXZdOx6dj1nprDfm-rrhIc16pvjeUUMAj1Uu/s1600/BingNewsSearchforTeams.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixaMUNUGhW-7PWDir2Ei-W5JibZAM0zeqMfPYQZL84jovc5QSdHVDO3SEQD60fQh7YUsAEIZei0k9pBwCQgstVfNJnpGNGEk_N3y7trVAaGXZdOx6dj1nprDfm-rrhIc16pvjeUUMAj1Uu/s400/BingNewsSearchforTeams.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Click on "Microsoft Teams - Post message"</div>
<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/AVvXsEhAOXOOWomjiXWi_soaidz0NrZ6J5EpePD6g6S-JI9zOuJ-RD_ebsUXSYiZhsGw9z7VARGb2Xk9cD-BBWRewPrp1OxcWCP2rDuX5EaMW20K-g-vipcfp-2tReQPtIo4AsAMFydGa2rOm4_E/s1600/BingNewsPostMessagetoTeams.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAOXOOWomjiXWi_soaidz0NrZ6J5EpePD6g6S-JI9zOuJ-RD_ebsUXSYiZhsGw9z7VARGb2Xk9cD-BBWRewPrp1OxcWCP2rDuX5EaMW20K-g-vipcfp-2tReQPtIo4AsAMFydGa2rOm4_E/s400/BingNewsPostMessagetoTeams.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Select the appropriate Team ID and Channel ID. Then specify the message. As you can see below I used a combination of HTML markups and dynamic content in the message. Click "Save Flow" when done</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_8_YKMbFFz8GLzXdNjeIS2TQe1eUyXKxYf3udJ8YqK9EJIH-x9lefcqc8SLhvfSpNz3o1Kn-o6D48nBLLSIXbYtspBgHmPxPl6z9VoA7hxEObbSdQ1WgFJoGQ0W1VKsm3mgMtJShRUGvo/s1600/BingNewsPostMessagetoTeamsDefinePost2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="909" data-original-width="1221" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_8_YKMbFFz8GLzXdNjeIS2TQe1eUyXKxYf3udJ8YqK9EJIH-x9lefcqc8SLhvfSpNz3o1Kn-o6D48nBLLSIXbYtspBgHmPxPl6z9VoA7hxEObbSdQ1WgFJoGQ0W1VKsm3mgMtJShRUGvo/s400/BingNewsPostMessagetoTeamsDefinePost2.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Your flow will run immediately. Since it will run for awhile, feel free to go to "My Flows" and check on it later.</div>
<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/AVvXsEgV34zz887Sntp8XSRsQn7sBEByid03TsmTUY5k3aOtToNLt6LfNexYHZDeXvYRLc5gXSEgkQOHGfczHu6ijWkeGoVvptsPr9mEXzDKwGU-LjpssrJHPhckPN9_rTwmbhVqP1ikLkAAwYNj/s1600/BingNewsFlowRun.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1222" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV34zz887Sntp8XSRsQn7sBEByid03TsmTUY5k3aOtToNLt6LfNexYHZDeXvYRLc5gXSEgkQOHGfczHu6ijWkeGoVvptsPr9mEXzDKwGU-LjpssrJHPhckPN9_rTwmbhVqP1ikLkAAwYNj/s400/BingNewsFlowRun.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
When you click on the flow later you can see the run history. The only thing I don't like with how Microsoft Flow is with the Timeout feature is that when it isn't successful before the Timeout, the flow looks like it failed, when in fact it did exactly like it was configured. So before you freak out and start changing things, let it run for a day or two and see if it is successful.</div>
<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/AVvXsEiBDUv552dG1d3gWRe0DnkuX1MCA7gkWLawsrl4zobzQ3T-4RLryO4-jtUhPSB1UK2-uJrLnQFai5y5-57klVmdUKUVXJKFe-DgCUc3Ue9JDaNReuL5k2cycQLC1wGbi8jB8K5MK-jvO2VK/s1600/BingNewsRunHistory.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="909" data-original-width="1221" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBDUv552dG1d3gWRe0DnkuX1MCA7gkWLawsrl4zobzQ3T-4RLryO4-jtUhPSB1UK2-uJrLnQFai5y5-57klVmdUKUVXJKFe-DgCUc3Ue9JDaNReuL5k2cycQLC1wGbi8jB8K5MK-jvO2VK/s400/BingNewsRunHistory.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
That's it! Hopefully this inspires you to experiment with some other uses for Microsoft Flow, Azure Cognitive Services and/or Microsoft Teams.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br /></div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com3tag:blogger.com,1999:blog-4895679265618109180.post-90061957213368894262017-08-21T13:53:00.002-06:002017-08-23T17:29:44.194-06:00Microsoft Ignite Weather to Microsoft Teams using Microsoft FlowSo I'm headed down to <a href="https://www.microsoft.com/en-us/ignite/default.aspx" target="_blank">Microsoft Ignite</a> along with a couple other guys from <a href="https://www.t2mdev.com/" target="_blank">Time2Market</a>. I've decided to setup a Microsoft Team to help us keep recorded, take notes, and share information with others at Time2Market that couldn't go to the conference.<br />
<div>
<br /></div>
<div>
So I decided to see what interesting things I could cook up in our use of Teams. I recently noticed that <a href="https://us.flow.microsoft.com/en-us/" target="_blank">Microsoft Flow</a> has had quite an update. One of those updates that I really like is that there is now a connector for Microsoft Teams. The connector is pretty basic right now, but it does allow you to post a message. So to start to play with Flow and Teams I decided to cook up a flow that posts the Weather forcast in our Microsoft Ignite Teams General channel.</div>
<div>
<br /></div>
<div>
First off, you need to gain access to Microsoft Flow. There is a <span id="goog_1517492986"></span><a href="https://us.flow.microsoft.com/en-us/pricing/" target="_blank">free versio<span id="goog_1517492987"></span>n</a>, but it is limited in some of its features. Beyond that, it appears it is part of every Office 365 and Dynamics 365 plans.</div>
<div>
<br /></div>
<div>
Anyway, now that we got getting access to Microsoft Flow out of the way. Login and Navigate to "My Flows"</div>
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYTDdn3O39nGOQdfj3InvdqGCT5-TGj2AUn8G344adLjUsp7IV7iUlZldyI4hSu6DbpFQum76_beNmx6iJeC8cQmx3q7W9xsRn518rCkeF_ROg4MIQfLP3VIcaxeNtG5aJCceWfoSNPVBH/s1600/MyFlows.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYTDdn3O39nGOQdfj3InvdqGCT5-TGj2AUn8G344adLjUsp7IV7iUlZldyI4hSu6DbpFQum76_beNmx6iJeC8cQmx3q7W9xsRn518rCkeF_ROg4MIQfLP3VIcaxeNtG5aJCceWfoSNPVBH/s400/MyFlows.PNG" width="400" /></a></div>
<span id="goog_1517492999"></span><span id="goog_1517493000"></span><br />
This is where you can see all the flows you've created. For the weather flow, there isn't a template that matches what we want to do, so we will need to "Create from Blank".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjChp2Y5CpD36_fl_W7GVYpzRA-gsvSqKe4DARyI-TicYhrU-A-2G1H-UXPDZ-bzZly9I1QXVFXRBksNbiFneJgjApoqQ_rzrnLc1_VivmUrgejhL1Gms02OpQd2lwn-HUpUKUhKZ2mIg7_/s1600/CreateFromBlank+-+Copy.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjChp2Y5CpD36_fl_W7GVYpzRA-gsvSqKe4DARyI-TicYhrU-A-2G1H-UXPDZ-bzZly9I1QXVFXRBksNbiFneJgjApoqQ_rzrnLc1_VivmUrgejhL1Gms02OpQd2lwn-HUpUKUhKZ2mIg7_/s400/CreateFromBlank+-+Copy.PNG" width="400" /></a></div>
<br />
Microsoft provides some commonly used connectors, but for this flow we need to hit the link for 'Search hundreds of connectors and triggers"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY4qOz09ax03153UiV7_VipdPPiytDSA2bO14JK2QQFYo5LFK0rk2OfCvMYIwr-2411D1TAk-09p02E-OfcLuN7MgFO_MI9fYHVl4vmfKHGsdKdzDTsY4SBsuGG8ooXBtYdUnnRcD9rjfG/s1600/SearchConnectors.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY4qOz09ax03153UiV7_VipdPPiytDSA2bO14JK2QQFYo5LFK0rk2OfCvMYIwr-2411D1TAk-09p02E-OfcLuN7MgFO_MI9fYHVl4vmfKHGsdKdzDTsY4SBsuGG8ooXBtYdUnnRcD9rjfG/s400/SearchConnectors.PNG" width="400" /></a></div>
.<br />
On the search screen click on "Recurrence" and click Advanced Options. Then set the Frequency to "Day", the Interval to "1", Time Zone to "Eastern" and then "2017-08-19T08:00:00" for the Start time. Make sure you change the date to the current day.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC__5LVGmZ5yto85_bvvOQEHkQkzsF71XOOg4oPKHD6HVX4GQ4yaVaYOOQxlR03-NFu_D8eqTsg4icKq4w7vKGN4xgQSdurpiYiixfSWS7YWZad4DnPGdkAeEc0iaa8fCQID5lVptVuryt/s1600/ScheduleRecurrence.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC__5LVGmZ5yto85_bvvOQEHkQkzsF71XOOg4oPKHD6HVX4GQ4yaVaYOOQxlR03-NFu_D8eqTsg4icKq4w7vKGN4xgQSdurpiYiixfSWS7YWZad4DnPGdkAeEc0iaa8fCQID5lVptVuryt/s400/ScheduleRecurrence.PNG" width="400" /></a></div>
<br />
Next click on "New Step"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9jI4A-YlTjGS5oEAd7cJzDeZjVjeBhZg0eqZpKcLBx_bEOg9Vwj_JqXNUdmb0JlBui0xiYPMPtGMlZwhJdR0zYehzOxUxJ6Jmv5yqszz0etQqkHp4AaYsYozF0s0zHrRvPYytePrvTKog/s1600/ScheduleRecurrenceNewStep.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9jI4A-YlTjGS5oEAd7cJzDeZjVjeBhZg0eqZpKcLBx_bEOg9Vwj_JqXNUdmb0JlBui0xiYPMPtGMlZwhJdR0zYehzOxUxJ6Jmv5yqszz0etQqkHp4AaYsYozF0s0zHrRvPYytePrvTKog/s400/ScheduleRecurrenceNewStep.PNG" width="400" /></a></div>
<br />
Click "Add an Action" and then search for "Weather". Click on "Get Weather for today".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWnSfSC8VG9wDPwY5sU3-vGLXPcMx0ghN1FyOoePgnUZtsNiIzWCqbZ8vSYwOEqeXo7a1E9mN7rVMLY1UgJTXVLZDdmTWhJweD80cNU3ytvRCEQAPksmgg7nPyQQZzyDssBUVMJAMovmh3/s1600/Weather.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWnSfSC8VG9wDPwY5sU3-vGLXPcMx0ghN1FyOoePgnUZtsNiIzWCqbZ8vSYwOEqeXo7a1E9mN7rVMLY1UgJTXVLZDdmTWhJweD80cNU3ytvRCEQAPksmgg7nPyQQZzyDssBUVMJAMovmh3/s400/Weather.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Set the Location to be "9800 International Dr, Orlando, FL 32819" for the Orange County Convention Center and set the Units to be appropriate for whether you are used to Imperial (US) or Metric (Practically everyone else)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRxxMbgHsTYDYYQ5_FSwFuGsniCwK8wGma3zZNmM94FRkAbelcQIJRHxcNiiS-oy1Nl3uYf4Q8QiU9O9GbPRGyBY3IyaxSNqp_eD1e1sWooMfp6PjylJpyGYk0GvrUUzeRnoCn45ckNBN8/s1600/GetForcastforToday+-+Copy.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRxxMbgHsTYDYYQ5_FSwFuGsniCwK8wGma3zZNmM94FRkAbelcQIJRHxcNiiS-oy1Nl3uYf4Q8QiU9O9GbPRGyBY3IyaxSNqp_eD1e1sWooMfp6PjylJpyGYk0GvrUUzeRnoCn45ckNBN8/s400/GetForcastforToday+-+Copy.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
Click "New Step"<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHRE4tDuybPh6zmcXy-IFe_FoEaqvMEF7-yURSm9LaFuSv6ZXlpFM9hHGlOdRnAfPeFT0LD8tGh8JP0o2Vh1o90mRDjeu5toLFI5UCReFKAOCOMwRMMfAiL1rb01E7jpL9hZKoWhHI8bza/s1600/GetForcastforTodayNewStep+-+Copy.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHRE4tDuybPh6zmcXy-IFe_FoEaqvMEF7-yURSm9LaFuSv6ZXlpFM9hHGlOdRnAfPeFT0LD8tGh8JP0o2Vh1o90mRDjeu5toLFI5UCReFKAOCOMwRMMfAiL1rb01E7jpL9hZKoWhHI8bza/s400/GetForcastforTodayNewStep+-+Copy.PNG" width="400" /></a></div>
<br />
Click "Add an Action"<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqnz7txiVHpNMQGnCWdgluMMr1d9NffqaS26NVFYGEtxUOFhrN_GqLkqF6_zdMg3-N427mlrtYI2_t38vrTr2YR3G7OAjW8kS6taTEC44z4h2R0WjEk5W9m6e5OE1VkjXo5d11P5-JzCMD/s1600/ForcastConnectorSearchTeams+-+Copy.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1164" data-original-width="1597" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqnz7txiVHpNMQGnCWdgluMMr1d9NffqaS26NVFYGEtxUOFhrN_GqLkqF6_zdMg3-N427mlrtYI2_t38vrTr2YR3G7OAjW8kS6taTEC44z4h2R0WjEk5W9m6e5OE1VkjXo5d11P5-JzCMD/s400/ForcastConnectorSearchTeams+-+Copy.PNG" width="400" /></a></div>
<br />
Search for "Teams". Then click "Post Message". At this point you could select a number of places to send this message. You could send it to email, or a mobile notification. A great way to discover is to just scroll through the list of Actions available. <br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk4VpCx0TBPjUcjSAcrqAUpEZQvoO3Vf-liCBIP85Tu-sHxfsprw1jKG7hzEn2T_0WCvKMOx2Q4nj453ln0BWjuoybI7L2MOHLJjMQHfQ7gMC7pjNUDYq6sLc4c-XdvNaEI3HIIYzvznqK/s1600/ForcasttoTeamsPostMessage+-+Copy.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1220" data-original-width="1597" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk4VpCx0TBPjUcjSAcrqAUpEZQvoO3Vf-liCBIP85Tu-sHxfsprw1jKG7hzEn2T_0WCvKMOx2Q4nj453ln0BWjuoybI7L2MOHLJjMQHfQ7gMC7pjNUDYq6sLc4c-XdvNaEI3HIIYzvznqK/s400/ForcasttoTeamsPostMessage+-+Copy.PNG" width="400" /></a></div>
<div>
<br /></div>
Select your "Team" from your Microsoft Teams in your tenant. Then select the Channel, the default one created is "General". Finally format the message. You can see in my example I mixed in text along with the dynamic content tags. You can really go nuts and HTML tags to format things how you want.<br />
<br />
When done click "Save Flow"<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHhCy4-6bUdV49-rm686XYdyr_bTJT7MfhEQ2RdrLjJz4qbMfh4LF1uH-H1myNJqlt9c1OYHW5PuGIgRYSmbWISym8ZU-ojL-uWYuFGeeR0J5cC_HCUy6RmtMMKK1e4mCHmRpYGlUAaD7g/s1600/WeathertoTeamsFlowRun.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="880" data-original-width="1600" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHhCy4-6bUdV49-rm686XYdyr_bTJT7MfhEQ2RdrLjJz4qbMfh4LF1uH-H1myNJqlt9c1OYHW5PuGIgRYSmbWISym8ZU-ojL-uWYuFGeeR0J5cC_HCUy6RmtMMKK1e4mCHmRpYGlUAaD7g/s400/WeathertoTeamsFlowRun.PNG" width="400" /></a></div>
<br />
<br />
To test it out immediately click "Run Flow". Otherwise you'll have to wait til 8:00am Eastern for the flow to run. You can see in the Teams client behind flow what the message looks like<br />
<br />
There you have it... hope this inspires you to explore what else you can do with Microsoft Flow and Microsoft Teams. Stay tuned to this blog for more flows as I dream them up.<br />
<br /></div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com2tag:blogger.com,1999:blog-4895679265618109180.post-14122609825191413742017-08-03T13:15:00.000-06:002018-08-26T22:54:18.202-06:00Tips and Tricks / Unofficial Party and Sweepstakes list for Microsoft Ignite 2017<h2>
<span style="-webkit-text-stroke-width: 0px; background-color: transparent; color: black; display: inline !important; float: none; 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: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">Looking for the Microsoft Ignite 2018 Party List? Go </span><a href="http://blog.ucomsgeek.com/2018/08/tips-and-tricks-unofficial-party-and.html" style="-webkit-text-stroke-width: 0px; background-color: transparent; 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">here</a></h2>
<h2>
Registration</h2>
Every year there has been a Microsoft Ignite, it has sold out. Don't delay registration. The <a href="https://www.microsoft.com/en-us/ignite/default.aspx" target="_blank">Microsoft Ignite 2017</a> website already indicates there are limited passes available. <span style="color: yellow;">Update: <a href="https://techcommunity.microsoft.com/t5/Microsoft-Ignite-Blog/Thank-you-Microsoft-Ignite-is-sold-out/ba-p/101863?ocid=ignite_finish-reg_all_social_tw_msig_n_sellout_illustration_9259" target="_blank">Conference Passes have now been sold out</a>! There are still some other types of passes available, including Expo Hall passes and Day Passes.</span><br />
<br />
At the time of writing this blog, there are only a couple of conference discounted hotels with rooms available. If you find that those hotels don't work for you, you might take a look at Airbnb, there are still a number of options around the <a href="https://www.airbnb.com/s/Orange-County-Convention-Center--North-Concourse--Universal-Boulevard--Orlando--FL--United-States/homes?checkin=2017-09-24&checkout=2017-09-29&allow_override%5B%5D=&s_tag=lEWRWYVj" target="_blank">Orange County Convention Center available</a>.<br />
<br />
<h2>
Choosing Sessions</h2>
Microsoft as of August 15th has released the <a href="https://myignite.microsoft.com/" target="_blank">Schedule Builder</a>. Once you go to Myignite you will want to choose "Personalize Schedules" and start to filter and select sessions that interest you. I didn't bother with trying to determine which sessions conflicted with others on my first pass, I just simply selected anything that looked interesting to me. Then later I went by into "My Conference -> My Schedule" and whittled things down.<br />
<br />
If you really want a cool way to look at all the sessions <a href="https://twitter.com/tyGraphTweets" target="_blank">@tyGraphTweets</a> built a <a href="https://app.powerbi.com/view?r=eyJrIjoiYzU4NDVjMzAtNDRkOC00YTkwLWFjNDUtZGVkNjM0MjMzZDdlIiwidCI6IjdlNGNjMjBjLTdiOTgtNDU2MC04NzhkLTkwNjllN2M1NTdjYiIsImMiOjN9" target="_blank">PowerBI mashup of the Sessions</a> and it is awesome way to slice and dice things.<br />
<br />
<h2>
Taking Notes and Recording during Sessions</h2>
Microsoft does provide a video with the slide deck for most of the sessions that can then be later referenced, if you can't quite remember that one little detail.<br />
<br />
If you are really bent on recording sessions, I'd suggest using a Jabra Speak 410/510 (or similar devce) with OneNote. If you have the Bluetooth version you might even get permission to put it up near where the speaker is speaking. Using OneNote in this manner, you can take notes and they will be tied to the audio so you can go back and listen to the audio at that moment you made the entry in OneNote. I cover this technique in my <a href="http://blog.lyncdialog.com/2012/04/so-you-want-to-be-lync-master.html" target="_blank"><span style="color: #dd7700;">Lync Masters report</span></a>.<br />
<br />
<h2>
Clothing</h2>
I'm no style expert... so don't expect any style tips from me. The expected temp in Orlando for September is around 90 Fahrenheit (32C). To me... being from Colorado that is rather hot. Some people from further down south will likely disagree. My point is you know yourself better than I do. Bring appropriate clothes and be prepared for rain.<br />
<br />
Shoes are really, really, really important. Did I mention REALLY important? Even if you have a car, you will do an enormous amount of walking just in the <a href="https://view.publitas.com/orange-county-convention-center/facility-floor-plans/page/4-5" target="_blank">convention center</a>. If you plan to visit any theme parks like Disney/Universal while you are there (Microsoft Attendee party is at Universal) they can be quite large as well. Please bring your best walking shoes... you'll thank me later. If you want to really be prepared, take a look at what some die hard <a href="http://www.wdwinfo.com/walt-disney-world/top-tips-to-help-your-feet-survive-walt-disney-world/" target="_blank">Disney fans prepare for</a>.<br />
<br />
Dress code... In all the searches I did, the only places you'll encounter a dress code are Night Clubs and upscale restaurants. Once I know party venues, I'll try to dig that up and post here if I find something.<br />
<b></b><i></i><u></u><sub></sub><sup></sup><strike></strike><br />
<h2>
Networking</h2>
Not the wired kind of networking... but the people kind of networking. You know... like <a href="https://www.linkedin.com/feed/" target="_blank">LinkedIn</a>... but in person. For me, networking with others is by far the most important part of going to a conference. There always seems to be a way to get the "information" shared at a conference before or after, but you can't replace that face to face interaction, especially with people that understand your tech language.<br />
<br />
Use the time wisely to meet people and make connections. Many of the connections I made at conferences like this have come in handy when I have questions I can't answer on my own.<br />
<br />
If you are looking for me... just ping me on Twitter <a href="https://twitter.com/ucomsgeek" target="_blank">@ucomsgeek</a> . Feel free to follow me too, because I'll be trying to feverishly be more social than <a href="https://twitter.com/matthewlandis" target="_blank">Matt Landis</a> (which is impossible) ;-)<br />
<br />
It's always a good idea to bring your Business Cards to hand out and there are usually a number of drawings that you'll probably want to enter (some right on the spot during a session). If I come across any really good ones, I'll post them here.<br />
<br />
<h2>
Transportation</h2>
Most people will be flying in, and I'm sure a great number will be new to Orlando. If you plan to just stick to the <a href="https://www.microsoft.com/en-us/ignite/agenda" target="_blank">Agenda</a> and not do anything extra, you can likely get away with not having a rental car. But if you plan on exploring Orlando, or going to any Vendor parties, you might want to have one available or at least be prepared to do a Taxi/Uber. To use Uber, you'll want to download their app to your device.<br />
<br />
Getting from the Airport to the Hotel without a rental car is as simple as getting a Taxi, Super Shuttle, or use Uber.<br />
<br />
<a href="https://www.supershuttle.com/" target="_blank">Super Shuttle</a> will cost about $18 each way (I used the Orange County Convention Center as reference). I've used Super Shuttle in many cities and they are very efficient and professional. You can usually find them close to the rental car counters... but I highly recommend having a reservation ahead of time with so many people traveling to Orlando the same time you are.<br />
<br />
The Uber method from the Airport to your Hotel, you should be aware that there are <a href="https://www.uber.com/airports/mco/" target="_blank">specific instructions</a> you need to follow in order to find your ride successfully. Cost will probably be in the $23-28 range but you won't be sharing with others (I used the Orange County Convention Center as reference).<br />
<br />
The Taxi method from the Airport is the most common. There should be signs for Ground Transportation at the airport that takes you to the Taxi area. Cost will be in the $40-65 range depending on traffic (I used the Orange County Convention Center as reference).<br />
<br />
<h2>
Sweepstakes / Awards</h2>
<a href="https://turbonomic.com/cloud-burst-sweepstakes" target="_blank">Cloud Burst Sweepstakes</a> by Turbonomic - Do you want to attend Microsoft Ignite<sup>®</sup> in Orlando, Florida but your company won’t pay for the conference passes? Enter the Turbonomic<sup>®</sup> Cloud Burst Sweepstakes to earn your chance to win a full conference pass and unlock access to other monthly cloud prizes – including our grand prize worth $4,950.00! Microsoft Ignite drawing takes place on September 1st!<br />
<br />
<a href="http://competition.nigelfrank.com/MSIgnite17?utm_source=twitter&utm_medium=web&utm_campaign=ignite17comp" target="_blank">$300 DINNER AT FOGO DE CHÃO!</a> by Nigel Frank International -<br />
Microsoft Ignite Orlando 2017 is fast approaching, and to celebrate Nigel Frank are offering attendees the chance to win a $300 voucher for Fogo de Chão. Nigel Frank are thrilled to be Silver Sponsors at Ignite 2017, and we can’t wait to see you there. To make one lucky attendee’s Ignite experience even more incredible, we’re giving away $300 to spend at fine dining, full service Brazilian steakhouse Fogo de Chão.<br />
<br />
<a href="http://www.gsx.com/ms-ignite-2017-gsx-super-hero?utm_campaign=Incentive%20Ignite%202017&utm_source=twitter&utm_medium=social" target="_blank">GSX Super Hero Giveaway</a> - Got complaints with Office 365 performance? Be a Super Hero, Fight Against Poor End-User Experience Today! GSX is the Office 365 End-User Experience Monitoring Company. Measuring and improving service delivery within complex hybrid and cloud scenarios<br />
will make you a super hero. With SuperPower, Come SuperPrizes! Enter to win prizes totalling $2,000!<br />
<br />
<a href="http://go.convergenceconsultinggroup.com/Ignite-2017.html" target="_blank">Convergence Consulting Group Drawing</a> - As a Premier Microsoft Business Partner, Convergence Consulting Group has access to a select number of passes that we are offering free to clients and connections!<br />
<br />
<strike><a href="http://www2.adaptiva.com/ignite-17?utm_content=buffer5cd9a&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer" target="_blank">2017 Microsoft Ignite Pass Giveaway</a> by Adaptiva - Participants enter the Microsoft Ignite 2017 free pass contest by completing the Adaptiva online entry form in addition to liking or following us on one of the following networks: Facebook, Twitter or LinkedIn. By completing the Adaptiva online entry form and following at least one of our social sites, participants will automatically be entered into the contest drawing.</strike><br />
<br />
<strike>SAPIEN Technologies, Inc., developer of PowerShell Studio and PrimalScript, <a href="https://www.sapien.com/blog/2017/07/27/microsoft-ignite-2017-full-conference-pass-award/?utm_source=SAPIEN+Mailing+Lists&utm_campaign=7c1188ffb4-EMAIL_CAMPAIGN_2017_08_07&utm_medium=email&utm_term=0_071e223df8-7c1188ffb4-156326313" target="_blank">will award a </a><b><strong><a href="https://www.sapien.com/blog/2017/07/27/microsoft-ignite-2017-full-conference-pass-award/?utm_source=SAPIEN+Mailing+Lists&utm_campaign=7c1188ffb4-EMAIL_CAMPAIGN_2017_08_07&utm_medium=email&utm_term=0_071e223df8-7c1188ffb4-156326313" target="_blank">full conference pass</a></strong></b><a href="https://www.sapien.com/blog/2017/07/27/microsoft-ignite-2017-full-conference-pass-award/?utm_source=SAPIEN+Mailing+Lists&utm_campaign=7c1188ffb4-EMAIL_CAMPAIGN_2017_08_07&utm_medium=email&utm_term=0_071e223df8-7c1188ffb4-156326313" target="_blank"> for </a><b><strong><a href="https://www.sapien.com/blog/2017/07/27/microsoft-ignite-2017-full-conference-pass-award/?utm_source=SAPIEN+Mailing+Lists&utm_campaign=7c1188ffb4-EMAIL_CAMPAIGN_2017_08_07&utm_medium=email&utm_term=0_071e223df8-7c1188ffb4-156326313" target="_blank">Microsoft Ignite 2017</a></strong></b> to a woman in the Windows PowerShell community, or any individual who is new to IT or devops within the last two years, and works with Windows PowerShell in some capacity. SAPIEN encourages other Ignite vendors to match this award and support the attendance of technical women and new talent at IT and devop conferences. See details on the link!</strike><br />
<br />
<strike><a href="https://pages.metalogix.com/metalogix-2017-ignite-promo.html?lead=social&lsd=twitter.com" target="_blank">Metalogix Microsoft Ignite 2017 Conference Pass Giveaway</a> - We're giving away two free passes to Microsoft Ignite 2017! For a chance to win a Microsoft Ignite Full Conference Pass, simply fill out the entry form by Wednesday, August 23, 2017 to be automatically placed in the raffle. Winners will be selected on Thursday, August 24, 2017.</strike><br />
<br />
<br />
<h2>
Parties</h2>
There are a always a number of parties being thrown during Microsoft Ignite. Some by Microsoft you can find easily in the <a href="https://www.microsoft.com/en-us/ignite/agenda" target="_blank">agenda</a> on the Microsoft Ignite 2017 site. There are other extra-curricular parties that are put on by different vendors and groups. At the time of writing this blog, it is still a bit early for vendor announced parties. When they are announced I will only list the ones I know are public so far. If you are a vendor and would like to be listed on this blog, please reach out to me via <a href="https://twitter.com/ucomsgeek" target="_blank">@ucomsgeek</a><br />
<br />
<b><span style="font-size: large;">Saturday</span></b><br />
<div>
<b><br /></b></div>
<div>
First #SharePint party by <a href="https://twitter.com/SPCPartyPatrol" target="_blank">@SPCPartyPatrol</a> - Saturday Sept 23 at The Rocks in Hyatt Regency Hotel from 5 PM until ??? Just show up... Capacity for 150! <b></b></div>
<b></b><b><br /></b>
<b><span style="font-size: large;">Sunday</span></b><br />
<b><br /></b>
Microsoft Ignite Community Happy Hour - by <a href="https://techcommunity.microsoft.com/" target="_blank">Microsoft Tech Community</a> - Community Members! Start off Ignite right, and join us for
happy hour! Let’s have some post Pre-Day fun over drinks and appetizers.
The dueling piano’s should provide some great entrainment while you connect
with friends, old & new, and put faces with those familiar names. This is an open party for anyone with an Ignite badge. Likely to be very very busy so get there early!<br />
<br />
See below for details:<br />
<br />
Date: Sunday, September 24th<br />
Time: 5:00pm – 7:30pm<br />
Location: Howl at the Moon<br />
8815 International Dr, Orlando, FL 32819<br />
Directions from OCCC: <a href="https://binged.it/2vnZ5yR" target="_blank">https://binged.it/2vnZ5yR </a><br />
<br />
<br />
<a href="http://bindtuning.com/ignite2017?utm_source=twitter" target="_blank">BindTuning Azul Party</a> - by <a href="http://bindtuning.com/" target="_blank">BindTuning</a> - Kick off your week at Microsoft Ignite 2017 with BindTuning from 7:00pm to 10:00pm at Marlow's Tavern. Join us for good food, cold beer, wine from Portugal & tech talk (or not!). RSVP on the link!<br />
<br />
<a href="https://www.eventbrite.com/e/the-krewe-meet-n-greet-2017-tickets-35795788166" target="_blank">The Krewe Meet N Greet 2017</a> - by <a href="https://www.facebook.com/groups/TheKrewe/" target="_blank">The Krewe</a> - This is the place to be on Sunday night to kick off your week at Microsoft Ignite 2017! Join us at Howl at the Moon Orlando for an evening of networking and fun! For a number of years, The Krewe has gotten together the night before TechEd to meet new faces and renew old friendships. This year is no different.This year, we have Howl at the Moon to ourselves with food and beverages for all from 8:00-11:00pm thanks to our awesome sponsors! There is no better way to meet others in the Microsoft Ignite community and build bonds that will last long past the conference. Make sure not to miss this event! <b>There is a $23 cost for this event.</b><br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Monday</span></b><br />
<b><br /></b><a href="https://www.microsoft.com/en-us/ignite/agenda" target="_blank">Microsoft Ignite Welcome Reception</a> <br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Tuesday</span></b><br />
<b><br /></b><a href="https://www.surveymonkey.com/r/azurestackmeetup" target="_blank">Azure Stack Customer Meetup</a> - If you are familiar with hybrid clouds and are interested in shaping the future of Microsoft Azure Stack by interfacing with the Azure Stack engineering team - this meetup is for you! The event will take place on Tuesday 26th September in the evening at a hotel location near the event center. An email invite detailing the exact details will be sent closer to the event. <span class="user-generated notranslate">To receive an invite it is a pre-requisite that you have successfully deployed the <a href="https://docs.microsoft.com/en-us/azure/azure-stack/" rel="nofollow">Azure Stack Development Kit</a> . By Ignite will you have completed a successful deployment? (There will be a test!!)</span> <br />
<br />
<a href="https://www.eventbrite.com/e/veeams-annual-ignite-party-2017-tickets-36657544703" target="_blank">Veeam's Annual Ignite Party 2017</a> - by <a href="https://www.veeam.com/" target="_blank">Veeam</a> - Join us Tuesday night at <strong>Dewey’s Indoor Golf & Sports Grill</strong> for Veeam's Annual Microsoft Ignite Party! Enjoy a night of music, interactive entertainment and drinks on Veeam! <em>A Microsoft Ignite 2017 badge is required for entrance</em>. <em></em>If you are bringing a guest, please mark that on your registration and EventBrite will send you two separate tickets. Register & bring your Eventbrite ticket to show at the door for entry in a FASTER line!*Occupancy is limited, so admittance will be granted on a first come, first serve basis.<br />
<br />
<a href="https://thwack.solarwinds.com/events/2292" target="_blank">SolarWinds Microsoft Ignite 2017 Meetup</a> - by SolarWinds - Both residents in the Orlando area and Microsoft Ignite attendees are encouraged to register and attend this SolarWinds User Group. See details below! Beer, wine and non-alcoholic refreshments (along with a Buffet it looks like) will be served throughout the evening along with talks and demos!<br />
<br />
<a href="https://www.1e.com/ignite/?utm_source=Twitter&utm_medium=social&utm_campaign=GaggleAMP&utm_content=we-are-going-to-msignite-stop-by-our-booth-for-demos-swag-an-1076554" target="_blank">1 E Party</a> - by <a href="https://www.1e.com/" target="_blank">1 E</a> - Join us for an evening for great conversation, entertainment and drinks with your industry experts and peers at one of Orlando’s most unique venues! Stop by the 1E Booth to collect your wristband. Transportation will be provided from the convention center beginning at 6:00 PM.<br />
<b><br /></b>
<b><span style="font-size: large;">Wednesday</span></b><br />
<br />
<a href="https://enowsoftware.com/" target="_blank">eNow</a> has done some pretty epic parties in the past and the Microsoft Ignite "<a href="http://www.schedulemymaintenance.com/" target="_blank"><span style="color: #dd7700;">//scheduledMaintenance</span></a>"... is likely to be something you won't want to miss. Tired of your servers receiving all the attention? Need your own Scheduled Maintenance? This might be the place for you... space is limited and like the other parties... spots might go quickly.<br />
<br />
<a href="http://go.metalogix.com/ZIWbQ0eTJ0000H0Ra00vZNi" target="_blank">MetaFest 2017</a> by <a href="https://www.metalogix.com/" target="_blank">Metalogix</a> - Join us for our annual MetaFest on Wednesday, September 27, at Mango’s Tropical Café! MetaFest will feature an amazing lineup of live bands, dance performances, and an abundance of food and drinks. It’s one party you definitely won’t want to miss! Passes are limited, so register now to reserve your spot! It’s guaranteed to be a great time.<br />
<span style="font-size: large;"></span><br />
<b><span style="font-size: large;">Thursday</span></b><br />
<br />
<a href="https://techcommunity.microsoft.com/t5/Microsoft-Ignite-Blog/Announcing-the-Microsoft-Ignite-Attendee-Celebration-at/ba-p/86801" target="_blank">Microsoft Ignite Attendee Celebration</a> - Get ready for one of the biggest parties Microsoft has ever thrown—we’ve reserved both Universal Orlando Resort™ theme parks for Microsoft Ignite attendees only. From 7:30pm to 12:00am on Thursday, 9/28, you’ll have unlimited access to immersive, award-winning rides and attractions.<br />
<br />
<a href="https://www.eventbrite.com/e/sharepoint-party-at-ms-ignite-2017-tickets-37925796077" target="_blank">SharePoint Party at Ignite 2017!</a> - by <a href="https://twitter.com/SPCPartyPatrol" target="_blank">@SPCPartyPatrol</a> - Seen by many as the after-party to the big Microsoft party... SharePoint Party at MS Ignite 2017! #SharePint brought to you by Sharepointalist Inc, PDF ShareForms, @SPCPartyPatrol, and Crush Networks, Inc. RSVP to grab your FREE drink before 9:00 PM! Get ready for the most unique nightlife experience in the country! Come sing, dance and howl as the most versatile and talented musicians perform your favorite songs from 80's rock, 90's pop and today's dance hits on pianos, guitars and more in a high-energy show!<br />
<br />
<h2>
</h2>
<h2>
</h2>
<br />
<br />
<span style="color: red;"><b>Keep checking back... this blog post will be updated as more information comes out!</b></span><br />
<br />
<br />
<br />
<b></b><i></i><u></u><sub></sub><sup></sup><strike></strike>Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com6tag:blogger.com,1999:blog-4895679265618109180.post-42305156474834778842017-07-05T13:17:00.002-06:002017-07-05T13:47:01.387-06:00PowerShell Script to Backup AudioCodes Gateways (updated for 7.0 and 7.2)A few years ago I created a <a href="http://blog.ucomsgeek.com/2013/08/script-to-backup-audiocodes-gateways.html" target="_blank">PowerShell script that would backup AudioCodes gateways</a>. It's gone through several iterations as AudioCodes has changed how they do authentication. Now with 7.0 and 7.2 out in the wild, I again found that I needed to update this script again to support the changes to the user interface.<br />
<br />
Fortunately I've got great friends and <a href="https://twitter.com/mitchsteiner" target="_blank">Mitch Steiner</a> had been messing with AudioCodes new API to pull some interesting metrics for our <a href="http://blog.ucomsgeek.com/2015/09/unified-communications-as-service-ucaas.html" target="_blank">T2M Cloud</a> and he let me know that he stumbled upon a way to pull the .ini configuration using the REST API. The new REST API reduced the amount of code to do a backup down to literally one line. Now obviously it would be cool to have a script that detected which AudioCodes version it was connected to, so it is more than just one line in the script below. I also found a way to "Burn" the configuration on 7.0 and 7.2 using the API. So that is part of the script and executes just before backup.<br />
<br />
Couple of key items before you run the script below.<br />
<ul>
<li>If you are running on a Windows 7 or other workstation you'll need to set your <a href="http://go.microsoft.com/fwlink/?LinkID=135170" target="_blank">PowerShell Execution Policy</a>.</li>
<li>Next you will need to install a package called cURL that is a command line tool for interacting with web pages. It is required to work with the Forms Based Auth that audiocodes uses. I used a new tool to install it called Chocolatey, which is the equivalent of RPM packages for Windows. Here is the page for cURL (<a href="http://chocolatey.org/packages/curl">http://chocolatey.org/packages/curl</a>) and here is the main page for Chocolatey (<a href="http://chocolatey.org/">http://chocolatey.org/</a>)</li>
<li>PowerShell has an alias for curl that you'll need to remove. The command is Remove-Item alias:curl </li>
</ul>
<div>
Without further adieu... I give you the AudioCodes backup script that will backup any 6.4, 6.6, 6.8, 7.0, or 7.2 AudioCodes Gateway/SBC. </div>
<div>
<br /></div>
<div>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"># Script to Backup AudioCodes Gateways# Created By Jonathan McKinney (blog.ucomsgeek.com)# Disclaimer: You running this script means you won't blame Jonathan McKinney or his employer if this breaks your stuff. This script is provided AS IS without warranty of any kind.</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"># User Modifiable Variables</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">$username = "Admin"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">$password = "Admin"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">$address = "m4000.ucomsgeek.com"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">$backuppath = "c:\scripts\backups\"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"># Variable Initialization</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">$filename = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">$statuscodeeval = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">#Function to detect if Forms Auth is present</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">function DetectAuthType ($ad)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">{</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $loginurl = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> </span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $loginurl = "http://" + $ad + "/api"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $statuscode = curl -o null.txt $loginurl -w '%{http_code}'</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> If ($statuscode -eq "404")</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> {</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $loginurl = "http://" + $ad + "/"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $statuscode = curl -o null.txt $loginurl -w '%{http_code}'</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-host `r`n "Status Code " $statuscode</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> If ($statuscode -eq "401")</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> {</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $statuscodeeval = "basic"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> }</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> ElseIf ($statuscode -eq "203")</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> {</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $statuscodeeval = "forms"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> }</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Else</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> {</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $statuscodeeval = "neither"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> }</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> }</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> ElseIf ($statuscode -eq "401")</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> {</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $statuscodeeval = "api"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> }</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Return $statuscodeeval</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Remove-Item null.txt</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">}</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> # Function to Authenticate with Forms Auth</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">function AuthenticateForms ($un, $pw, $ad)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">{</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $login1sregex = "\<s\>(\d*)\<\/s\>"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $login1rregex = "\<r\>(.*)\<\/r\>"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $a1 = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $loginusername = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $loginurl = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $login1webpage = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $login1spattern = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $login1rpattern = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $hashByteArray1 = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $hashByteArray2 = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $passwordhash = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $resultwebpage = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $formsbasedauth = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> </span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host `r`n 'Forms Authentication' `r`n</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $login1username = "c1=" + $un</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $loginurl = "http://" + $ad + "/UE/Login"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $login1webpage = curl $loginurl --data-urlencode "t=1" `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> --data-urlencode "c0=0" `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> --data-urlencode $login1username `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> --header "X-Requested-With: XMLHttpRequest" `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> -c cookiejar.txt `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> --header "Cookie: aclogname=; C2=ct" `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $login1spattern = $login1webpage -split "`n" | Select-String -pattern $login1sregex -Allmatches | % { $_.Matches | % { $_.groups[1].Value } }</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $login1spattern = "s=" + $login1spattern</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $login1rpattern = $login1webpage -split "`n" | Select-String -pattern $login1rregex -Allmatches | % { $_.Matches | % { $_.groups[1].Value } }</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $cryptoServiceProvider = [System.Security.Cryptography.SHA256CryptoServiceProvider]</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $hashAlgorithm = New-Object $cryptoServiceProvider</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $hashByteArray1 = $hashAlgorithm.ComputeHash($([Char[]]$password))</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> foreach ($byte in $hashByteArray1)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> {</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $a1 += "{0:x2}" -f $byte</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> }</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> </span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $a2 = $username + ":" + $login1rpattern + ":" + $a1</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $hashByteArray2 = $hashAlgorithm.ComputeHash($([Char[]]$a2))</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> foreach ($byte in $hashByteArray2)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> {</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $passwordhash += "{0:x2}" -f $byte</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> }</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> </span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $passwordhash = "c1=" + $passwordhash</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $resultwebpage = curl $loginurl --data-urlencode "t=1" `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> --data-urlencode $login1spattern `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> --data-urlencode "c0=1" `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> --data-urlencode $passwordhash `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> --header "X-Requested-With: XMLHttpRequest" `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> -c cookiejar.txt `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> --header "Cookie: aclogname=; C2=ct" `</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">}</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"># Function to Backup Gateway WITHOUT Forms Auth</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">function BackupBasic ($un, $pw, $ad, $path)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">{</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $regex = "BOARD.*\.ini"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $webclient = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $configurl = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupurl = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $webpage = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $pattern = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupfilename = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $webclient = new-object System.Net.WebClient</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $webclient.Credentials = New-Object System.Net.NetworkCredential($un, $pw)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host `r`n 'Detecting .ini name' `r`n</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $configurl = "http://" + $ad + "/ConfigurationFile"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $webpage = $webclient.DownloadString($configurl)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $pattern = $webpage -split "`n" | Select-String -pattern $regex -Allmatches | % { $_.Matches | % { $_.Value } }</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host `r`n 'Detected Board Filename ' $pattern</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host `r`n 'Backing up ' $ad `r`n</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupurl = "http://" + $ad + "/FS/" + $pattern</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupfilename = $path + $pattern</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $webclient.DownloadFile($backupurl,$backupfilename)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host `r</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">}</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"># Function to Detect the Backup Filename with Forms Auth for the Audiocodes Configuration File</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">function DetectFilenameForms ($ad)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">{</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $fnregex = "BOARD.*\.ini"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $configurl = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $fnpat = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $configwebpage = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host `r`n 'Detecting .ini name' `r`n</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $configurl = "http://" + $ad + "/ConfigurationFile"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $configwebpage = curl $configurl -b cookiejar.txt</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $fnpat = $configwebpage -split "`n" | Select-String -pattern $fnregex -Allmatches | % { $_.Matches | % { $_.Value } }</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host `r`n 'Detected Board Filename ' $fnpat</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> return $fnpat</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">}</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"># Function to Backup Gateway with Forms Auth</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">function BackupGatewayForms ($ad, $path, $fn)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">{</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupurl = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupfilename = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> </span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host `r`n 'Backing up ' $ad `r`n</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupurl = "http://" + $ad + "/FS/" + $fn</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupfilename = $path + $fn</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> curl -o $backupfilename $backupurl -b cookiejar.txt</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host `r</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">}</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">function BackupGatewayAPI ($un, $pw, $ad, $path)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">{</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupurlsc = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupurlini = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupfilename = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $securepw = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $cred = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupurlsc = "http://" + $ad + "/api/v1/actions/saveConfiguration"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupurlini = "http://" + $ad + "/api/v1/files/ini"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $addressfilename = $ad.Replace(“.”,”-”)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $backupfilename = $path + "BOARD.ini"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host $backupfilename</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $securepw = ConvertTo-SecureString -String $pw -AsPlainText -Force</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $cred = new-object System.Management.Automation.PSCredential ($un, $securepw)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Invoke-RestMethod $backupurlsc -Method post -Credential $cred</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Invoke-RestMethod $backupurlini -Method get -Credential $cred -OutFile $backupfilename -verbose</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> </span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host `r</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">}</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"># Function to Logoff Audiocodes with Forms Auth after finishing work</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">function LogoffForms ($ad)</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">{</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $logoffurl = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $logoffwebpage = $null</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> </span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $logoffurl = "http://" + $ad + "/PressLogOff"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $logoffwebpage = curl $logoffurl -b cookiejar.txt</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Remove-Item cookiejar.txt</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">}</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"># Main Script</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $formsbasedauth = DetectAuthType $address</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> if ($formsbasedauth -eq "forms")</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">{</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> AuthenticateForms $username $password $address</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $filename = DetectFilenameForms $address</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> BackupGatewayForms $address $backuppath $filename</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> LogoffForms $address</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">}</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">ElseIf ($formsbasedauth -eq "basic")</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">{</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> BackupBasic $username $password $address $backuppath</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">}</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">ElseIf ($formsbasedauth -eq "api")</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">{</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> BackupGatewayAPI $username $password $address $backuppath</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">}</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">Else</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">{</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Write-Host "Something went really wrong... couldn't detect Authentication type... Might I suggest Wireshark"</span><br />
<span style="color: #ffd966; font-family: "courier new" , "courier" , monospace; font-size: xx-small;">}</span></div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com22tag:blogger.com,1999:blog-4895679265618109180.post-91089050439282458932017-06-30T14:55:00.002-06:002017-06-30T14:59:27.071-06:00Polycom VVX 5.5.2 QoE ReportsIt's no secret that I've been hard on Polycom VVX phones in the past (especially with the lack of local Normalization rules processing). But I will say with the version 5.5 release they have come a long way on addressing some key issues and making the phone a decent replacement for the old Aries sets (Polycom CX Series).<br />
<div>
<br /></div>
<div>
Today, I'm excited to share that I've verified that Polycom VVX 5.5.2 now produces QoE reports just like the SfB/Lync PC Client. This means if you have Lync, Skype for Business on-premises or Skype for Business CloudPBX, they all will start showing reports for VVX phones.<br />
<br />
If you look at the release notes, QoE Reporting actually was in 5.5.1 but at least for my customer there was a problem with that release that prevented deployment. My guess is there are a lot of people out there that haven't updated to 5.5 because what they have just works.</div>
<div>
<br /></div>
<div>
I am super excited about QoE reporting for VVX because it was a huge hole that was missing in the story. It's really hard to explain to customers that they have these great phones, but there is no way to see how they are performing on a call-by-call basis with what SfB provides out of the box (Polycom has some solutions of course). </div>
<div>
<br /></div>
<div>
This also means that other tools like EventZero, IR Prognosis, Nectar, etc can now have more complete reporting on these devices.</div>
<div>
<br /></div>
<div>
Here are a couple of screen shots of how the information looks in Monitoring Server for VVX phones. The VVX was the Calee side of the call in these examples.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Pl07EjE_qHCxCk969bo3V9voTKAhpnAOhuGCVFQpGnfwPjxsjYXHaSxXpSkiEjjlfeI0Ipe5LEzMybe5rSOa7v3mZsFHhSaO0HaWcmPIAzhrYMo08WBFiPh1ht8I57cj9-RW4oNRR0ol/s1600/VVXQoE1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="177" data-original-width="729" height="77" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Pl07EjE_qHCxCk969bo3V9voTKAhpnAOhuGCVFQpGnfwPjxsjYXHaSxXpSkiEjjlfeI0Ipe5LEzMybe5rSOa7v3mZsFHhSaO0HaWcmPIAzhrYMo08WBFiPh1ht8I57cj9-RW4oNRR0ol/s320/VVXQoE1.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFr9x5nAwwMvHmugA1Oe1nV69xcE7nQspAVXCVsDSBhDLWGppOKbCGfmjX2PXpgIyNLEP4v8bIiCGJQ4z2OiHhNzc2iJRd2GaB4Hjgw-AGN08ULEAckD6W9YSuu9b6jJgwj1cKnZPUSfxF/s1600/VVXQoE2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="567" data-original-width="741" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFr9x5nAwwMvHmugA1Oe1nV69xcE7nQspAVXCVsDSBhDLWGppOKbCGfmjX2PXpgIyNLEP4v8bIiCGJQ4z2OiHhNzc2iJRd2GaB4Hjgw-AGN08ULEAckD6W9YSuu9b6jJgwj1cKnZPUSfxF/s320/VVXQoE2.png" width="320" /></a></div>
<div>
</div>
<div>
One of the things I noticed right off the bat is that the Codec report is G711Mu instead of the typical PCMU for G.711 Mulaw. It's minor... but it is a diff. </div>
<div>
<br /></div>
<div>
On the device metrics, it seems on par with other devices providing good information on how the audio performance of the device is doing.</div>
<div>
<br /></div>
<div>
Anyway... I hope you are already downloading the firmware so you can go see for yourself what you've been missing... Later</div>
<div>
<br /></div>
<div>
<br /></div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com0tag:blogger.com,1999:blog-4895679265618109180.post-35127046880560106462016-11-02T10:42:00.001-06:002016-11-03T10:20:52.496-06:00How to enable Microsoft Teams PreviewSo you are all revved up and ready to use Microsoft Teams... but you can't find it in your Admin Portal on Office365. Well I got you covered and its real simple.<br />
<br />
All you need to do is go into your Admin Portal and navigate to "Services". Under there click "Services & add-in"<br />
<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/AVvXsEjYT2zrFqDb7v_WJRcULwWDBWjYIvDvWxVAX_1ipMBnKyPpDNePj2smPJpcFpKZnN1K5lf1H7DzlWyRjHSDPlzJbp6fniuAq8G836uAZziGg-rQWU6-yl2bikJKXjFWQ54B9DTBU5WZo9tl/s1600/microsoftteamsservicesandadd-ins.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYT2zrFqDb7v_WJRcULwWDBWjYIvDvWxVAX_1ipMBnKyPpDNePj2smPJpcFpKZnN1K5lf1H7DzlWyRjHSDPlzJbp6fniuAq8G836uAZziGg-rQWU6-yl2bikJKXjFWQ54B9DTBU5WZo9tl/s320/microsoftteamsservicesandadd-ins.PNG" width="320" /></a></div>
<br />
Then click "Microsoft Teams" and flip the on switch. Additionally you can get more granular about the features you want your users to have access to.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidszhcUU7NqlKUTResXPUVXasrpBHCLKVMiV8dIAshpmZbXBeRTJCWODa8A9SzjEyZspAf8_sHT91P2fqDCa1Uy70VSieLHTRFoZE7SVqSmY9Vns08xtD9Ao_vpWiP0kgI_beCxIKy2LXu/s1600/microsoftteamson.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidszhcUU7NqlKUTResXPUVXasrpBHCLKVMiV8dIAshpmZbXBeRTJCWODa8A9SzjEyZspAf8_sHT91P2fqDCa1Uy70VSieLHTRFoZE7SVqSmY9Vns08xtD9Ao_vpWiP0kgI_beCxIKy2LXu/s320/microsoftteamson.PNG" width="310" /></a></div>
<br />
<br />
To start... Navigate to <a href="https://teams.microsoft.com/" target="_blank">https://teams.microsoft.com/</a> and create your first team.<br />
<br />
Enjoy!Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com0tag:blogger.com,1999:blog-4895679265618109180.post-65712831359160924702016-06-28T08:25:00.003-06:002016-08-08T10:00:06.937-06:00Decrypting HTTPS web traffic without private keySo anyone who knows me... knows that I love Wireshark. Recently while preparing for a presentation at the <a href="http://www.coucug.org/" target="_blank">Colorado UC User Group</a>, I found out that my <a href="http://blog.ucomsgeek.com/2013/11/using-wireshark-to-decrypt-lync.html" target="_blank">old reliable technique</a> of decrypting HTTPS traffic using a private key, actually no longer works anymore since many of the modern servers and devices I work with use some form of Diffie Hellman cipher to setup the Encrypted connection. Why is this so... because Diffie Hellman type ciphers never actually transmit the "secret" on the wire like the old RSA based ciphers did. Here is a <a href="http://security.stackexchange.com/questions/45963/diffie-hellman-key-exchange-in-plain-english" target="_blank">pretty good explanation</a> of what happens in English.<br />
<br />
So I went searching for alternatives and much like one of my favorite <a href="http://www.radiolab.org/story/you-are-judge/" target="_blank">podcast</a> from RadioLab revealed about magic tricks... The only secret in magic is that the secret must be ugly (said by Penn Jillette).<br />
<br />
I present to you the fantastic and ugly secret of the SSLKEYLOGFILE environment variable.<br />
<br />
So... what I stumbled upon and have been debating for over a month is a way in which you can decrypt HTTPS traffic without a man in the middle technique (Fiddler) or having the private key (old Wireshark method that is useless now). Instead, the browser does all the hard work and logs yours session key to a log file that is then easily referenced by Wireshark. <br />
<br />
Say what?!<br />
<br />
Let me repeat... your browser tells all your secrets and makes decrypting HTTPS traffic something that even sniveling grade school kid could do.<br />
<br />
Before I go on... I truly hope that you will use this information for good and not evil. Because someone that is a bit creative could really wreak havoc on someone else's life without much effort. I'm telling you this, because I finally came to the conclusion that knowing this will make you able to defend yourself better.<br />
<br />
<h3>
The Ugly Secret</h3>
<br />
First off, this only works with Chrome and Firefox. Edge and Internet Explorer do not use this technique. My guess is that won't be a problem since most people seem to use Chrome these days. Start off by navigating to the "System" Control Panel applet. Select "Advanced system settings" from the links on the left.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIkrreGBibMXiR3oUj-nP7nf7I5OmN-u_jiG2ZEIh9M5FnqGLTW8_oZlGwGXT10fKRPWpyxgkdF-cuqmwTO3YrViskE4CAIqd8SKrHRkWiOKcxD9xEl4UCJG3w4Q-UdyXmB9bN01nZjvWB/s1600/DecryptSystemControlPanel.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIkrreGBibMXiR3oUj-nP7nf7I5OmN-u_jiG2ZEIh9M5FnqGLTW8_oZlGwGXT10fKRPWpyxgkdF-cuqmwTO3YrViskE4CAIqd8SKrHRkWiOKcxD9xEl4UCJG3w4Q-UdyXmB9bN01nZjvWB/s320/DecryptSystemControlPanel.PNG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
A "System Properties" dialog box appears. Next select "Environment Variables"</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQY5Xs-_uvI7qdgDNg_mdAj_5gInV0x8BJ9wRP_9neBJXl0KHjhiJgWobVFWDfFURf1vB4uVr4aOvKvOxYnG_pZlCpe0HFq-cTJmwlasW4csAyXDkXuNewTG-VPA7zyQHXDWhqbkog2BVL/s1600/DecryptEnvrionmentVariable.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQY5Xs-_uvI7qdgDNg_mdAj_5gInV0x8BJ9wRP_9neBJXl0KHjhiJgWobVFWDfFURf1vB4uVr4aOvKvOxYnG_pZlCpe0HFq-cTJmwlasW4csAyXDkXuNewTG-VPA7zyQHXDWhqbkog2BVL/s320/DecryptEnvrionmentVariable.PNG" width="281" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
When the "Environment Variables" dialog appears, Select "New" under "System variables".<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLn4nunPxKn84x27oefCwTG-6Ft_eykm9HUJbnt3OmNV0TDVC5ukNzl8BtbsTjMyHY7krH3gCBj19DsrEGVeEenCd1KetmYWE-Got7mRoQTjv6EkmPtyecWLbULs6kvHvarOA0Ruethe4b/s1600/DecryptEnvironmentNew.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLn4nunPxKn84x27oefCwTG-6Ft_eykm9HUJbnt3OmNV0TDVC5ukNzl8BtbsTjMyHY7krH3gCBj19DsrEGVeEenCd1KetmYWE-Got7mRoQTjv6EkmPtyecWLbULs6kvHvarOA0Ruethe4b/s320/DecryptEnvironmentNew.PNG" width="320" /></a></div>
<br />
Yet another dialog box appears. The "Variable name" is "SSLKEYLOGFILE" and the value is a directory and filename of your desire. Please make note of this directory and filename for future use in the configuration of Wireshark. Click OK<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjskFtrBcOzG89clOmad3-Vwh4BZ-jAakH9RufVTnEkfnCF1guR1oGqcBdYR5ra6idl1P61c0Q_T8b6ZNvzbCE2tahaOKJ4OQ-bRllAIAQQxG9E3oGMoqpQtXKj4MT-qGmmCAWoU5sut8C8/s1600/DecryptEnvironmentNewForm.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjskFtrBcOzG89clOmad3-Vwh4BZ-jAakH9RufVTnEkfnCF1guR1oGqcBdYR5ra6idl1P61c0Q_T8b6ZNvzbCE2tahaOKJ4OQ-bRllAIAQQxG9E3oGMoqpQtXKj4MT-qGmmCAWoU5sut8C8/s320/DecryptEnvironmentNewForm.PNG" width="320" /></a></div>
<br />
View that the "SSLKEYLOGFILE" variable now appears in the "System variables" list with the correct path to the filename you specified.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlT7KBHF33QTRJ7V84AFYgZ6rzXCK1EBg53_96xjDNrlocrhlkuuZuCeB9UJVjwZLiOHnGTrIgiJrF7unvqTvlZvG1zaoG_uafZO9Ug0lcYuGb6Kwh4GkkHfKoH2MvjRZdH5Zf-Toi6Vxz/s1600/DecryptEnvironmentAfterForm.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlT7KBHF33QTRJ7V84AFYgZ6rzXCK1EBg53_96xjDNrlocrhlkuuZuCeB9UJVjwZLiOHnGTrIgiJrF7unvqTvlZvG1zaoG_uafZO9Ug0lcYuGb6Kwh4GkkHfKoH2MvjRZdH5Zf-Toi6Vxz/s320/DecryptEnvironmentAfterForm.PNG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Start up Chrome or Firefox and browse to a website with HTTPS capability. After doing so, you should see the log file you specified. Feel free to open it in Notepad if you want to see what is there. You'll be surprised as to how many entries appear in a short time.</div>
<div align="left" class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQdP3t3FOYV0xLki5GVUZg_zkC7jOrXc-ArY1-dfPAlQatok3552ZeObNxWGuQkz8lutNkjmNOhjLskfuwWqo7PFC8pBjtsq3Zoky-S-ei4A9OabjfuwCzpudFX7vgGIad6OTkCKbHVpcu/s1600/DecryptDirectory.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="175" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQdP3t3FOYV0xLki5GVUZg_zkC7jOrXc-ArY1-dfPAlQatok3552ZeObNxWGuQkz8lutNkjmNOhjLskfuwWqo7PFC8pBjtsq3Zoky-S-ei4A9OabjfuwCzpudFX7vgGIad6OTkCKbHVpcu/s320/DecryptDirectory.PNG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Next start Wireshark (Download <a href="https://www.wireshark.org/" target="_blank">here</a> if you don't have it). I'm using the Legacy UI in case you are wondering why yours might be different. Navigate to the Edit -> Preferences Menu.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirtMXVir5S8pCnf3sPn5LS8f2IEi3BQcs6oq1JUbWQuMoIhbmOUGonIGo_KxEVX-okBzOjQ37eAWqEnUza4nWuNAor5DuefPdPVDAiVF2i9P5kHAlBaRin9UmLkuauHlRtb_aczb6r3Ss9/s1600/DecryptWireshark.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirtMXVir5S8pCnf3sPn5LS8f2IEi3BQcs6oq1JUbWQuMoIhbmOUGonIGo_KxEVX-okBzOjQ37eAWqEnUza4nWuNAor5DuefPdPVDAiVF2i9P5kHAlBaRin9UmLkuauHlRtb_aczb6r3Ss9/s320/DecryptWireshark.PNG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Navigate to the "SSL" Protocol and enter the directory path and filename for the log file you specified in the Envrionment Variable under "(Pre)-Master-Secret log filename". Click OK</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvyyfk5gTZ8Rdf3AZW1ZhZpHuV6Z2V4CA2g3Xm4Ci-1yjEr214c1-XCJtGyhe5l0-MZhz2GbMRB3Qp3sNbXUdVxKGVm1zoVidln52OJ-zuozB9VfxhREW3Pv-pst7V9ku-2bxcu7WKhWDT/s1600/DecryptSSLProtocol.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvyyfk5gTZ8Rdf3AZW1ZhZpHuV6Z2V4CA2g3Xm4Ci-1yjEr214c1-XCJtGyhe5l0-MZhz2GbMRB3Qp3sNbXUdVxKGVm1zoVidln52OJ-zuozB9VfxhREW3Pv-pst7V9ku-2bxcu7WKhWDT/s320/DecryptSSLProtocol.PNG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h3 class="separator" style="clear: both; text-align: left;">
Capturing HTTPS Traffic</h3>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
So now all this is setup, what does it all look like when you do a capture? Start your Wireshark capture and browse to a website that uses HTTPS. If you want to make it easier to view the traffic you can set your Display filter to "http" and hit Apply.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKnrnvgKWIu7jRF_Cnqizn6ddz8a8WzO5VzQ62ba7uxWUZMlKf9xv-7Nv6Xi5haI0HknuEt6NAPpOicwaqnplngLihW2lV7q3eEeFHTZCrZrcdNVLtc2hJdDKVXoW0qd_QIlnkk-At6pVE/s1600/DecryptWiresharkCapture.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKnrnvgKWIu7jRF_Cnqizn6ddz8a8WzO5VzQ62ba7uxWUZMlKf9xv-7Nv6Xi5haI0HknuEt6NAPpOicwaqnplngLihW2lV7q3eEeFHTZCrZrcdNVLtc2hJdDKVXoW0qd_QIlnkk-At6pVE/s320/DecryptWiresharkCapture.PNG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
You know that decryption is happening by viewing the Decypted SSL portion at the bottom of the screen. If this is not there, then decryption is not happening and you either have a packet that is not encrypted or the reference to the log file is incorrect.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9Y5t8VTx-CeLEaJVKKnq6fqLV4AORkG5pw21GLoCOeJgn2tp7szODHFuZyZ2IeWY__O8wVpb6mYoQBQm5O_EX-vOSakXoXfq0MCjeRYe8VEOFnjmS7Qq6MXhkzykCMUhx6kOrrOlhuu_W/s1600/DecryptDecryptedData.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9Y5t8VTx-CeLEaJVKKnq6fqLV4AORkG5pw21GLoCOeJgn2tp7szODHFuZyZ2IeWY__O8wVpb6mYoQBQm5O_EX-vOSakXoXfq0MCjeRYe8VEOFnjmS7Qq6MXhkzykCMUhx6kOrrOlhuu_W/s320/DecryptDecryptedData.PNG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
So there you have it. The ugly secret your browser has. I hope you didn't read this just before bedtime.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com7tag:blogger.com,1999:blog-4895679265618109180.post-56786349516285286962016-05-25T13:23:00.004-06:002016-05-25T13:24:41.106-06:00InboundRouting and tmx file madness... AGAINOh hey! It's been awhile... okay... it's been WAAAAAY too long since I've posted a blog. I've had many blogs that I thought I should write, but having 5 kids, all with various activities in the spring, just kills the mood of blog writing in the evening. <br />
<br />
So many moons ago <a href="http://blog.ucomsgeek.com/2013/03/inboundrouting-and-outboundrouting-does.html" target="_blank">I wrote about</a> how the default.tmx file was corrupt and didn't produce any output and that it could be fixed by copying the default.tmx file from a directory under "Common Files". <br />
<br />
Well same song... second verse. I recently found InboundRouting debug produces some output... just not all the goey goodness you'd expect when you are trying to see how calls are routing and all the decisions that are being made.<br />
<br />
<strong>The Problem</strong><br />
<br />
The <a href="http://www.microsoft.com/en-us/download/details.aspx?id=35453">Lync Server 2013 Debugging Tools</a> that are installed separately have sparse output for debug logs for after you click "View Log Files" for InboundRouting. <br />
<br />
The easiest way you can verify this is by starting OCSLogger.exe and set a debug session for InboundRouting and set the "Level" to All and "Flags" to All Flags.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG1nyTEUifYt3dB4b-7alhUlWyvEIzM5Pr5EUCWy0APONlNLf800YbDXnCuWoThZmwcbS9cAtnDvzE7IQxpygdJ1qvB1FK5ZZVhNP5LIIxfc6SXfXWbDg_c87_aliPn2l-hTqu8So1I1jZ/s1600/OCSLoggerInboundRouting.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG1nyTEUifYt3dB4b-7alhUlWyvEIzM5Pr5EUCWy0APONlNLf800YbDXnCuWoThZmwcbS9cAtnDvzE7IQxpygdJ1qvB1FK5ZZVhNP5LIIxfc6SXfXWbDg_c87_aliPn2l-hTqu8So1I1jZ/s320/OCSLoggerInboundRouting.JPG" width="320" /></a></div>
<br />
Start Logging and make a call from the PSTN in to your Lync Server 2013 system. When the call is completed hang up and click Stop Logging.<br />
<br />
Click "View Log Files" and make sure "InboundRouting" is the only Log File selected. If you get output similar to this... Congratulations... you have reproduced the problem I saw.<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deecb (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=flags:clientflags(block)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deecc (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=flags:clientflags(e911active)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deecd (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=class:Secondary>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deece (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=privateLine>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deecf (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed0 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=member:breakthrough>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed1 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=referred:breakthrough>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed2 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=member:add_voice>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed3 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=flags:clientflags(work_hours)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed4 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed5 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=flags:clientflags(team_ring)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed6 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=flags:clientflags(delegate_ring)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed7 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=dnd>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed8 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed9 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=flags:clientflags(forward_immediate)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deeda (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[484752463]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deedb (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[484752463]<group class='Registered' action='Replace' wait='0'><br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deee9 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[484752463]<group class='StaticRegistered' action='Extend' wait='0'><br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deeed (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[484752463]<group class='Secondary' action='Extend' wait='0' criteria='registered'><br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef3 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[484752463]<group class='Secondary' action='NoRing' wait='0'><br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef7 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[484752463]<group class='Secondary' action='Extend' waitref='total' wait='15' criteria='flags:clientflags(simultaneous_ring)'><br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def20 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[484752463]<group class='Primary' action='Replace' wait='60' criteria='flags:clientflags(enablecf)'><br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def23 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[484752463]<group class='Primary' action='Replace' wait='60' criteria='umenabled'><br />TL_VERBOSE(TF_COMPONENT) [1]11BC.0CA8::05/25/2016-16:32:17.647.001def5e (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[2153832770]<filter criteria=flags:clientflags(block)>=false<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.0CA8::05/25/2016-16:32:17.647.001def5f (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[2153832770]<filter criteria=routingAppInvite>=false<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.0CA8::05/25/2016-16:32:17.647.001def60 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[2153832770]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.0CA8::05/25/2016-16:32:17.647.001def61 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[2153832770]<group class='Registered' action='Replace' wait='0'><br />TL_VERBOSE(TF_COMPONENT) [1]11BC.0CA8::05/25/2016-16:32:17.647.001def6b (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[2153832770]<group class='StaticRegistered' action='Extend'><br />TL_VERBOSE(TF_COMPONENT) [1]11BC.19D4::05/25/2016-16:32:20.840.001def96 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[3011151961]<filter criteria=umenabled>=false<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.19D4::05/25/2016-16:32:20.840.001def97 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[3011151961]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.19D4::05/25/2016-16:32:20.840.001def98 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[3011151961]<group class='Registered' action='Replace'><br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.762.001defb8 (InboundRouting,RoutingPresenceState.Parse:routingpresencestate.cs(35))[3994464144]XML that should contain user's dnd state is empty.<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.763.001defc6 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[3994464144]<filter criteria=routingAppInvite>=false<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.763.001defc7 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[3994464144]<filter criteria=flags:clientflags(block)>=false<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.763.001defc8 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[3994464144]<filter criteria=class:Secondary>=false<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.763.001defc9 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[3994464144]<filter criteria=privateLine>=false<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.763.001defca (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[3994464144]<filter criteria=flags:clientflags(work_hours)>=false<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.763.001defcb (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[3994464144]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.763.001defcc (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[3994464144]<filter criteria=dnd>=false<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.763.001defcd (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[3994464144]<filter criteria=flags:clientflags(forward_immediate)>=false<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.763.001defce (InboundRouting,RoutingFilter.Execute:routingmodel.cs(145))[3994464144]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.763.001defcf (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[3994464144]<group class='Registered' action='Replace' wait='0'><br />TL_VERBOSE(TF_COMPONENT) [0]11BC.182C::05/25/2016-16:32:35.763.001defd9 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(966))[3994464144]<group class='Secondary' action='Extend' waitref='total' wait='15' criteria='flags:clientflags(simultaneous_ring)'></span><br />
<span style="font-family: Courier New; font-size: xx-small;"></span><br />
<span style="font-family: Courier New; font-size: xx-small;"></span><br />
<br />
The correct output should look something like this... with a lot more details about what the routing is actually doing (note this is output from the same .etl file with numbers, names, and IPs to protect the innocent). <br />
<br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:31:46.395.001deeb6 (InboundRouting,InboundRouting.OnInboundInvite:inboundrouting.cs(521))[484752463]OnInboundRequest() for </span><a href="mailto:someuser@ucomsgeek.com"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">someuser@ucomsgeek.com</span></a><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:31:46.395.001deeb7 (InboundRouting,InboundRouting.OnInboundInvite:inboundrouting.cs(532))[484752463]routing instance=<routing xmlns="</span><a href="http://schemas.microsoft.com/02/2006/sip/routing"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">http://schemas.microsoft.com/02/2006/sip/routing</span></a><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">" name="rtcdefault" version="2" minSupportedClientVersion="4.0.0.0"><preamble><flags name="clientflags" value=""></flags><wait name="total" seconds="20"></wait></preamble></routing><br />TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:31:46.395.001deeb8 (InboundRouting,InboundRouting.OnInboundInvite:inboundrouting.cs(537))[484752463]dndStateXml=<state xmlns:xsi="</span><a href="http://www.w3.org/2001/XMLSchema-instance"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">http://www.w3.org/2001/XMLSchema-instance</span></a><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">" xmlns="</span><a href="http://schemas.microsoft.com/2006/09/sip/state"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">http://schemas.microsoft.com/2006/09/sip/state</span></a><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">" xsi:type="userState" manual="true"></state><br />TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:31:46.395.001deeb9 (InboundRouting,InboundRouting.OnInboundInvite:inboundrouting.cs(538))[484752463]userPropertiesXml=<userProperties xmlns="</span><a href="http://schemas.microsoft.com/2006/09/sip/categories"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">http://schemas.microsoft.com/2006/09/sip/categories</span></a><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">"><br /><lines><br /><line lineType="Uc"><br />tel:+13039973064;ext=89973064</line><br /></lines><br /><telephonyMode><br />Uc</telephonyMode><br /><l><br />Roseville</l><br /><st><br />Mn</st><br /><exumEnabled><br />1</exumEnabled><br /><exumURL><br />EUM:someuser@ucomsgeek.com;voicemail-destination=default</exumURL><br /></userProperties><br />TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:31:46.395.001deeba (InboundRouting,InboundRouting.OnInboundInvite:inboundrouting.cs(539))[484752463]calendarDataXml=<calendarData xmlns="</span><a href="http://schemas.microsoft.com/2006/09/sip/calendarData"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">http://schemas.microsoft.com/2006/09/sip/calendarData</span></a><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">" mailboxID="</span><a href="mailto:someuser@ucomsgeek.com%22%3E%3CWorkingHours"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">someuser@ucomsgeek.com"><WorkingHours</span></a><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> xmlns="</span><a href="http://schemas.microsoft.com/exchange/services/2006/types%22%3E%3CTimeZone%3E%3CBias%3E360%3C/Bias%3E%3CStandardTime%3E%3CBias%3E0%3C/Bias%3E%3CTime%3E02:00:00%3C/Time%3E%3CDayOrder%3E1%3C/DayOrder%3E%3CMonth%3E11%3C/Month%3E%3CDayOfWeek%3ESunday%3C/DayOfWeek%3E%3C/StandardTime%3E%3CDaylightTime%3E%3CBias%3E-60%3C/Bias%3E%3CTime%3E02:00:00%3C/Time%3E%3CDayOrder%3E2%3C/DayOrder%3E%3CMonth%3E3%3C/Month%3E%3CDayOfWeek%3ESunday%3C/DayOfWeek%3E%3C/DaylightTime%3E%3C/TimeZone%3E%3CWorkingPeriodArray%3E%3CWorkingPeriod%3E%3CDayOfWeek%3EMonday"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">http://schemas.microsoft.com/exchange/services/2006/types"><TimeZone><Bias>360</Bias><StandardTime><Bias>0</Bias><Time>02:00:00</Time><DayOrder>1</DayOrder><Month>11</Month><DayOfWeek>Sunday</DayOfWeek></StandardTime><DaylightTime><Bias>-60</Bias><Time>02:00:00</Time><DayOrder>2</DayOrder><Month>3</Month><DayOfWeek>Sunday</DayOfWeek></DaylightTime></TimeZone><WorkingPeriodArray><WorkingPeriod><DayOfWeek>Monday</span></a><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> Tuesday Wednesday Thursday Friday</DayOfWeek><StartTimeInMinutes>480</StartTimeInMinutes><EndTimeInMinutes>1020</EndTimeInMinutes></WorkingPeriod></WorkingPeriodArray></WorkingHours></calendarData><br />TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:31:46.395.001deebb (InboundRouting,InboundRouting.OnInboundInvite:inboundrouting.cs(540))[484752463]registeredEndpointCount=2<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:31:46.395.001deebc (InboundRouting,InboundRouting.OnInboundInvite:inboundrouting.cs(541))[484752463]userIsDualMode=False<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deebd (InboundRouting,InboundRouting.OnInboundInvite:inboundrouting.cs(616))[484752463]Not checking for LBR<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deebe (InboundRouting,InboundRouting.OnInboundInvite:inboundrouting.cs(630))[484752463]Presence State is 0<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deebf (InboundRouting,UserProperties.Parse:exumuserproperties.cs(281))[484752463]ExumEnabled=1 ExumAddress='EUM:someuser@ucomsgeek.com;voicemail-destination=default'<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deec0 (InboundRouting,InboundRouting.OnInboundInvite:inboundrouting.cs(697))[484752463]Preamble matched a known script name=rtcdefault version=2 for user </span><a href="mailto:someuser@ucomsgeek.com"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">someuser@ucomsgeek.com</span></a><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deec1 (InboundRouting,InboundRoutingContext.InitializeAttributesFromRequest:inboundroutingcontext.cs(1496))[484752463]Found 'max-forwards' header with value 70.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deec2 (InboundRouting,InboundRoutingContext.InitializeAttributesFromRequest:inboundroutingcontext.cs(1593))[484752463]Found Multipart content-type: multipart/alternative; boundary=s704xhVieLenjcRabw4IMHITzZm6d4Lk<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deec3 (InboundRouting,InboundRoutingContext.InitializeAttributesFromRequest:inboundroutingcontext.cs(1644))[484752463]Request Sensitivity: Normal<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deec4 (InboundRouting,InboundRoutingContext.InitializeAttributesFromRequest:inboundroutingcontext.cs(1646))[484752463]Request Target Class: Primary<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deec5 (InboundRouting,InboundRoutingContext.CheckForPrivateLine:inboundroutingcontext.cs(1740))[484752463]UserProperties empty or no private line for this user. Nothing to do further.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deec6 (InboundRouting,InboundRoutingContext.InitializeAttributesFromRequest:inboundroutingcontext.cs(1726))[484752463]Phone Invite: [Public] Line<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deec7 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: NotReady->Active<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deec8 (InboundRouting,RoutingContext.AddTargetToAttemptedList:routingcontext.cs(15))[484752463]Added to attempt list: </span><a href="mailto:+13039973064@ucomsgeek.com;user=phone"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">+13039973064@ucomsgeek.com;user=phone</span></a><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deec9 (InboundRouting,RoutingContext.AddTargetToAttemptedList:routingcontext.cs(15))[484752463]Added to attempt list: 7203398001;phone-context=PstnGateway_192.168.67.198@ucomsgeek.com;user=phone<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deeca (InboundRouting,RoutingContext.AddTargetToAttemptedList:routingcontext.cs(15))[484752463]Added to attempt list: 89973064;phone-context=PstnGateway_192.168.67.198@ucomsgeek.com;user=phone<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deecb (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=flags:clientflags(block)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deecc (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=flags:clientflags(e911active)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deecd (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=class:Secondary>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deece (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=privateLine>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deecf (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed0 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=member:breakthrough>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed1 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=referred:breakthrough>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed2 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=member:add_voice>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed3 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=flags:clientflags(work_hours)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed4 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed5 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=flags:clientflags(team_ring)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed6 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=flags:clientflags(delegate_ring)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed7 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=dnd>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed8 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deed9 (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=flags:clientflags(forward_immediate)>=false<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deeda (InboundRouting,RoutingFilter.Execute:routingmodel.cs(14))[484752463]<filter criteria=default>=true<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deedb (InboundRouting,RoutingGroup.Execute:routingmodel.cs(96))[484752463]<group class='Registered' action='Replace' wait='0'><br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deedc (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(45))[484752463]Cancelling existing transactions since group criteria result is true.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deedd (InboundRouting,RoutingContext.SendRequestsForGroup:routingcontext.cs(96))[484752463]Sending request to 2 registered endpoints.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deede (InboundRouting,InboundRoutingContext.CreateClientTransactionForRequest:inboundroutingcontext.cs(573))[484752463]Creating Client Transaction to: sip:192.168.66.56:65346;transport=tls;ms-opaque=4cfd005019;ms-received-cid=1FDF200<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deedf (InboundRouting,InboundRoutingContext.CreateClientTransactionForRequest:inboundroutingcontext.cs(744))[484752463]Adding Max-Forwards header: 69<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.397.001deee0 (InboundRouting,InboundRoutingClientTransaction.constructor:inboundroutingcontext.cs(1910))[484752463]Addressing request using ContactInfo.<br />TL_INFO(TF_PROTOCOL) [2]11BC.06EC::05/25/2016-16:31:46.397.001deee1 (InboundRouting,InboundRoutingClientTransaction.SendImpl:inboundroutingcontext.cs(2315))[484752463]SendImpl() to sip:192.168.66.56:65346;transport=tls;ms-opaque=4cfd005019;ms-received-cid=1FDF200<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deee2 (InboundRouting,InboundRoutingContext.CreateClientTransactionForRequest:inboundroutingcontext.cs(573))[484752463]Creating Client Transaction to: sip:someuser@192.168.67.41:35542;transport=tls;ms-received-cid=1612E00<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deee3 (InboundRouting,InboundRoutingContext.CreateClientTransactionForRequest:inboundroutingcontext.cs(744))[484752463]Adding Max-Forwards header: 69<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deee4 (InboundRouting,InboundRoutingClientTransaction.constructor:inboundroutingcontext.cs(1910))[484752463]Addressing request using ContactInfo.<br />TL_INFO(TF_PROTOCOL) [2]11BC.06EC::05/25/2016-16:31:46.398.001deee5 (InboundRouting,InboundRoutingClientTransaction.SendImpl:inboundroutingcontext.cs(2315))[484752463]SendImpl() to sip:someuser@192.168.67.41:35542;transport=tls;ms-received-cid=1612E00<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deee6 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(65))[484752463]There were 2 new requests sent by this group.<br />TL_INFO(TF_PROTOCOL) [2]11BC.06EC::05/25/2016-16:31:46.398.001deee7 (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(904))[484752463]Sending internally generated response 101<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deee8 (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(941))[484752463]Response 101 generated and sent<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deee9 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(96))[484752463]<group class='StaticRegistered' action='Extend' wait='0'><br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deeea (InboundRouting,RoutingContext.CheckAndRequestContactGroupResoltion:routingcontext.cs(28))[484752463]Referenced <list> named 'StaticRegistration' does not exist in preamble.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deeeb (InboundRouting,RoutingContext.SendRequestsForGroup:routingcontext.cs(98))[484752463]Referenced <list> named 'StaticRegistration' does not exist in preamble.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deeec (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(73))[484752463]There were no new requests sent by this group.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deeed (InboundRouting,RoutingGroup.Execute:routingmodel.cs(96))[484752463]<group class='Secondary' action='Extend' wait='0' criteria='registered'><br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deeee (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(44))[484752463]Group criteria registered=True<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deeef (InboundRouting,RoutingContext.CheckAndRequestContactGroupResoltion:routingcontext.cs(28))[484752463]Referenced <list> named 'GroupPickupList' does not exist in preamble.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef0 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(63))[484752463]Setting Routing Scenario to forwarding.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef1 (InboundRouting,RoutingContext.SendRequestsForGroup:routingcontext.cs(98))[484752463]Referenced <list> named 'GroupPickupList' does not exist in preamble.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef2 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(73))[484752463]There were no new requests sent by this group.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef3 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(96))[484752463]<group class='Secondary' action='NoRing' wait='0'><br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef4 (InboundRouting,RoutingContext.CheckAndRequestContactGroupResoltion:routingcontext.cs(28))[484752463]Referenced <list> named 'ControlledDevice' does not exist in preamble.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef5 (InboundRouting,RoutingContext.SendRequestsForGroup:routingcontext.cs(98))[484752463]Referenced <list> named 'ControlledDevice' does not exist in preamble.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef6 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(73))[484752463]There were no new requests sent by this group.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef7 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(96))[484752463]<group class='Secondary' action='Extend' waitref='total' wait='15' criteria='flags:clientflags(simultaneous_ring)'><br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef8 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(44))[484752463]Group criteria flags:clientflags(simultaneous_ring)=False<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deef9 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(73))[484752463]There were no new requests sent by this group.<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deefa (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Active->Waiting<br />TL_VERBOSE(TF_COMPONENT) [2]11BC.06EC::05/25/2016-16:31:46.398.001deefb (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(77))[484752463]Started group wait for 20000 milliseconds.<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:31:46.403.001deefc (InboundRouting,InboundRoutingClientTransaction.ResponseReceived:inboundroutingcontext.cs(2150))[484752463]ResponseReceived 100 from sip:192.168.66.56:65346;transport=tls;ms-opaque=4cfd005019;ms-received-cid=1FDF200<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.01A8::05/25/2016-16:31:46.446.001deefd (InboundRouting,InboundRoutingClientTransaction.ResponseReceived:inboundroutingcontext.cs(2150))[484752463]ResponseReceived 100 from sip:someuser@192.168.67.41:35542;transport=tls;ms-received-cid=1612E00<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.171C::05/25/2016-16:31:46.604.001deefe (InboundRouting,InboundRoutingClientTransaction.ResponseReceived:inboundroutingcontext.cs(2150))[484752463]ResponseReceived 180 from sip:192.168.66.56:65346;transport=tls;ms-opaque=4cfd005019;ms-received-cid=1FDF200<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.171C::05/25/2016-16:31:46.604.001deeff (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Waiting->Active<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.171C::05/25/2016-16:31:46.604.001def00 (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(860))[484752463]Proxying response 180<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.171C::05/25/2016-16:31:46.604.001def01 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Active->Waiting<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:31:46.802.001def02 (InboundRouting,InboundRoutingClientTransaction.ResponseReceived:inboundroutingcontext.cs(2150))[484752463]ResponseReceived 183 from sip:192.168.66.56:65346;transport=tls;ms-opaque=4cfd005019;ms-received-cid=1FDF200<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:31:46.802.001def03 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Waiting->Active<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:31:46.802.001def04 (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(860))[484752463]Proxying response 183<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:31:46.802.001def05 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Active->Waiting<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:31:46.992.001def06 (InboundRouting,InboundRoutingClientTransaction.ResponseReceived:inboundroutingcontext.cs(2150))[484752463]ResponseReceived 183 from sip:someuser@192.168.67.41:35542;transport=tls;ms-received-cid=1612E00<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:31:46.992.001def07 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Waiting->Active<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:31:46.992.001def08 (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(860))[484752463]Proxying response 183<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:31:46.992.001def09 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Active->Waiting<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.01A8::05/25/2016-16:31:47.033.001def0a (InboundRouting,InboundRoutingClientTransaction.ResponseReceived:inboundroutingcontext.cs(2150))[484752463]ResponseReceived 180 from sip:someuser@192.168.67.41:35542;transport=tls;ms-received-cid=1612E00<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.01A8::05/25/2016-16:31:47.033.001def0b (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Waiting->Active<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.01A8::05/25/2016-16:31:47.033.001def0c (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(860))[484752463]Proxying response 180<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.01A8::05/25/2016-16:31:47.033.001def0d (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Active->Waiting<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def1e (InboundRouting,RoutingContext.OnWaitTimerElapsed:routingcontext.cs(17))[484752463]Group wait timer elapsed<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def1f (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Waiting->Active<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def20 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(96))[484752463]<group class='Primary' action='Replace' wait='60' criteria='flags:clientflags(enablecf)'><br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def21 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(44))[484752463]Group criteria flags:clientflags(enablecf)=False<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def22 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(73))[484752463]There were no new requests sent by this group.<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def23 (InboundRouting,RoutingGroup.Execute:routingmodel.cs(96))[484752463]<group class='Primary' action='Replace' wait='60' criteria='umenabled'><br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def24 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(44))[484752463]Group criteria umenabled=True<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def25 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(45))[484752463]Cancelling existing transactions since group criteria result is true.<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def26 (InboundRouting,InboundRoutingClientTransaction.CancelImpl:inboundroutingcontext.cs(2234))[484752463]Canceling sip:192.168.66.56:65346;transport=tls;ms-opaque=4cfd005019;ms-received-cid=1FDF200<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def27 (InboundRouting,InboundRoutingClientTransaction.ClientTransactionCanceled:inboundroutingcontext.cs(2047))[484752463]ClientTransactionCanceled: sip:192.168.66.56:65346;transport=tls;ms-opaque=4cfd005019;ms-received-cid=1FDF200<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def28 (InboundRouting,InboundRoutingClientTransaction.CancelImpl:inboundroutingcontext.cs(2234))[484752463]Canceling sip:someuser@192.168.67.41:35542;transport=tls;ms-received-cid=1612E00<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def29 (InboundRouting,InboundRoutingClientTransaction.ClientTransactionCanceled:inboundroutingcontext.cs(2047))[484752463]ClientTransactionCanceled: sip:someuser@192.168.67.41:35542;transport=tls;ms-received-cid=1612E00<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def2a (InboundRouting,RoutingContext.SendRequestsForGroup:routingcontext.cs(10))[484752463]This group has 1 targets<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def2b (InboundRouting,RoutingContext.AddTargetToAttemptedList:routingcontext.cs(15))[484752463]Added to attempt list: </span><a href="mailto:+13039973064@ucomsgeek.com;user=phone/voicemail"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">+13039973064@ucomsgeek.com;user=phone/voicemail</span></a><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def2c (InboundRouting,InboundRoutingContext.CreateClientTransactionForRequest:inboundroutingcontext.cs(573))[484752463]Creating Client Transaction to: sip:someuser@ucomsgeek.com;opaque=app:voicemail<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def2d (InboundRouting,InboundRoutingContext.CreateClientTransactionForRequest:inboundroutingcontext.cs(744))[484752463]Adding Max-Forwards header: 16<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def2e (InboundRouting,InboundRoutingClientTransaction.constructor:inboundroutingcontext.cs(1933))[484752463]Addressing request with Retarget(sip:someuser@ucomsgeek.com;opaque=app:voicemail)<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def2f (InboundRouting,InboundRoutingClientTransaction.InitializeDiagnosticsReporter:inboundroutingcontext.cs(2285))[484752463]Initializing diagnostics error reporter for transaction.<br />TL_INFO(TF_PROTOCOL) [3]11BC.0E18::05/25/2016-16:32:06.389.001def30 (InboundRouting,InboundRoutingClientTransaction.SendImpl:inboundroutingcontext.cs(2315))[484752463]SendImpl() to sip:someuser@ucomsgeek.com;opaque=app:voicemail<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def31 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(65))[484752463]There were 1 new requests sent by this group.<br />TL_INFO(TF_PROTOCOL) [3]11BC.0E18::05/25/2016-16:32:06.389.001def32 (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(904))[484752463]Sending internally generated response 181<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def33 (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(941))[484752463]Response 181 generated and sent<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def34 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Active->Waiting<br />TL_VERBOSE(TF_COMPONENT) [3]11BC.0E18::05/25/2016-16:32:06.389.001def35 (InboundRouting,RoutingContext.ProcessGroup:routingcontext.cs(77))[484752463]Started group wait for 60000 milliseconds.<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.13B0::05/25/2016-16:32:06.397.001def36 (InboundRouting,InboundRoutingClientTransaction.ResponseReceived:inboundroutingcontext.cs(2150))[484752463]ResponseReceived 101 from sip:someuser@ucomsgeek.com;opaque=app:voicemail<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.13B0::05/25/2016-16:32:06.397.001def37 (InboundRouting,InboundRoutingResponse.constructor:inboundroutingcontext.cs(2392))[484752463]Response has ms-diagnostic header with value: 15010<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.13B0::05/25/2016-16:32:06.397.001def38 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Waiting->Active<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.13B0::05/25/2016-16:32:06.397.001def39 (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(860))[484752463]Proxying response 101<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.13B0::05/25/2016-16:32:06.397.001def3a (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Active->Waiting<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:32:07.232.001def3b (InboundRouting,InboundRoutingClientTransaction.ResponseReceived:inboundroutingcontext.cs(2150))[484752463]ResponseReceived 101 from sip:someuser@ucomsgeek.com;opaque=app:voicemail<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:32:07.232.001def3c (InboundRouting,InboundRoutingResponse.constructor:inboundroutingcontext.cs(2392))[484752463]Response has ms-diagnostic header with value: 15023<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:32:07.232.001def3d (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Waiting->Active<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:32:07.232.001def3e (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(860))[484752463]Proxying response 101<br />TL_VERBOSE(TF_COMPONENT) [1]11BC.06EC::05/25/2016-16:32:07.232.001def3f (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Active->Waiting<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.171C::05/25/2016-16:32:07.902.001def40 (InboundRouting,InboundRoutingClientTransaction.ResponseReceived:inboundroutingcontext.cs(2150))[484752463]ResponseReceived 101 from sip:someuser@ucomsgeek.com;opaque=app:voicemail<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.171C::05/25/2016-16:32:07.902.001def41 (InboundRouting,InboundRoutingResponse.constructor:inboundroutingcontext.cs(2392))[484752463]Response has ms-diagnostic header with value: 15023<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.171C::05/25/2016-16:32:07.902.001def42 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Waiting->Active<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.171C::05/25/2016-16:32:07.902.001def43 (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(860))[484752463]Proxying response 101<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.171C::05/25/2016-16:32:07.902.001def44 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Active->Waiting<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:32:09.893.001def45 (InboundRouting,InboundRoutingClientTransaction.ResponseReceived:inboundroutingcontext.cs(2150))[484752463]ResponseReceived 180 from sip:someuser@ucomsgeek.com;opaque=app:voicemail<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:32:09.893.001def46 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Waiting->Active<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:32:09.893.001def47 (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(860))[484752463]Proxying response 180<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.19D4::05/25/2016-16:32:09.893.001def48 (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Active->Waiting<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.06EC::05/25/2016-16:32:10.164.001def49 (InboundRouting,InboundRoutingClientTransaction.ResponseReceived:inboundroutingcontext.cs(2150))[484752463]ResponseReceived 200 from sip:someuser@ucomsgeek.com;opaque=app:voicemail<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.06EC::05/25/2016-16:32:10.164.001def4a (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Waiting->Active<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.06EC::05/25/2016-16:32:10.164.001def4b (InboundRouting,InboundRoutingResponse.get_ProxyAssertedIdentity:inboundroutingcontext.cs(2526))[484752463]value=<sip:someuser@ucomsgeek.com> scheme=sip<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.06EC::05/25/2016-16:32:10.164.001def4c (InboundRouting,RoutingContext.CancelAllOutstandingRequests:routingcontext.cs(16))[484752463]Nothing to cancel.<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.06EC::05/25/2016-16:32:10.164.001def4d (InboundRouting,InboundRoutingContext.ProxyResponseImpl:inboundroutingcontext.cs(860))[484752463]Proxying response 200<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.06EC::05/25/2016-16:32:10.164.001def4e (InboundRouting,RoutingContext.SetState:routingcontext.cs(91))[484752463]Context State: Active->Terminated<br />TL_VERBOSE(TF_COMPONENT) [0]11BC.06EC::05/25/2016-16:32:10.164.001def4f (InboundRouting,InboundRoutingContext.OnSessionTerminated:inboundroutingcontext.cs(1146))[484752463]Session terminated.</span><br />
<br />
<strong>The Fix!</strong><br />
<br />
The fix that was shared with me by those smarter than me a long time ago and I was reminded of by <a href="https://twitter.com/jeffcsp" target="_blank">@jeffcsp</a> while troubleshooting this :-) ... In my defense the original problem was a really small file of like 5.5MB and the one that is installed with the 5.0.8308.577 Debugging tools is 22MB. But still I should have caught it and he gets props for catching it.<br />
<br />
In troubleshooting this problem, I found that the file located in the Common Files directory mentioned below is updated by the Cumulative Updates. I think it comes in during the Core Components update, but I'm not 100% sure. So I'd recommend until Microsoft figures out how to fix this the right way, you check the Common Files directory for any updated files and copy them over and of course TEST after you do so. I also recommend making a backup of any default.tmx files you replace, just in case you need to go back to the original.<br />
<br />
Here are the steps...<br />
<br />
Rename the default.tmx in the C:\Program Files\Microsoft Lync Server 2013\Debugging Tools directory<br />
<br />
You need to copy default.tmx from <br />
c:\Program Files\Common Files\Microsoft Lync Server 2013\Tracing<br />
To<br />
C:\Program Files\Microsoft Lync Server 2013\Debugging Tools<br />
<br />
The file size of the default.tmx from the Tracing folder is approximately 26MB (December Update) vs 22MB of the default.tmx that came with the debugging tools (January 18, 2014).<br />
<br />
Start up OCSLogger.exe (or CLS) again after the procedure above and run the InboundRouting debug again. This time you should have output in the log file.<br />
<br />
So far I have confirmed this impacts at least InboundRouting on this go around. But in the past this has impacted other debug areas... so don't be surprised if there is something you've been missing when troubleshooting.<br />
<br />Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com0tag:blogger.com,1999:blog-4895679265618109180.post-52145271628358078232015-10-06T11:01:00.001-06:002015-10-06T11:01:59.065-06:00AudioCodes Webinar about Fax and Modem Transmission over TDM and IP NetworksAudioCodes did a webinar on Fax and Modem transmission over TDM and IP networks that is very informative. If you have ever implemented Fax and Modems in an AudioCodes environment, then you'll know how valuable this presentation is. I had to learn all this the hard way and they have served it up on a nice platter for you to enjoy...<br />
<br />
<a href="https://attendee.gotowebinar.com/recording/3296503355424931329" target="_blank">Recording</a><br />
<br />
<a href="http://www.audiocodes.com/loginpage?fileId=6376818" target="_blank">Presentation</a> (requires AudioCodes website login)Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com1tag:blogger.com,1999:blog-4895679265618109180.post-81952859061187776262015-09-28T21:55:00.000-06:002015-10-03T08:13:17.381-06:00Time2Market's Cloud Complete Unified Communications as a Service (UCaaS)First off... this blog post is going to come across as a sales pitch and that is because it is. I'm not going to insult your intelligence... but there is a lot of confusion out there as to what is offered with various different Unified Communications as a Service (UCaaS) solutions and where they can fit into an organizations plan to further their communications. I'm not going to go into detail about all the other offerings out there, but what I'm going to do is offer you detail about Time2Market's Cloud Complete offering. We also offer a Cloud Custom option, that adds some additional functionality, but this blog post will focus on the Cloud Complete offering.<br />
<br />
Anyone who knows me... knows that I'm not a fan of the "cloud". The reason is because I think it is one of those terms that gets thrown around and decisions made without really understanding the implications of turning over control to the cloud. I'm not saying that it doesn't make sense 100 percent of the time... because it actually does in a lot of scenarios. I just don't like the blind run toward the cloud that I see a lot of people doing just because all the cool kids are doing it.<br />
<br />
Having said that, Time2Market's Cloud Complete offering is a hosted UCaaS that is a Multi-tenant... Enterprise Voice... Skype for Business environment. <br />
<br />
Yup.. you read that right... Skype for Business. <br />
<br />
Time2Market's cloud is not based on the now defunct Lync Hosting Pack that was limited to the same feature set and Lync Online.<br />
<br />
The is a Skype for Business hosted environment with feature sets that to my knowledge are currently not offered anywhere else. Those feature sets even include the new Broadcast Meeting offering that depends on a hybrid implementation with Office365. We even leverage Exchange Unified Messaging in Office365.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZa7criWRg5HG7aGYk-CEVrVSYXWzZpGCDzuDZmsWRmA3BpL-cC0uHVIWdpB247qTzBhB0JvAEi1woMcOVe3QqxkQIKwwPkFfetLFf4o1FKyVY9EwXdGsUUc5cfYf_vX6k6Bl_uPBQXj0J/s1600/CloudComplete5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZa7criWRg5HG7aGYk-CEVrVSYXWzZpGCDzuDZmsWRmA3BpL-cC0uHVIWdpB247qTzBhB0JvAEi1woMcOVe3QqxkQIKwwPkFfetLFf4o1FKyVY9EwXdGsUUc5cfYf_vX6k6Bl_uPBQXj0J/s400/CloudComplete5.png" width="400" /></a></div>
<br />
<br />
Now why would an organization want to do this. It is simple... instead of investing in all the equipment, server licenses and professional services to implement an on-premises solution that has costs as a capital expenditure. This allows an organization to move these costs to the operational expenditure column. The Cloud Complete offering scales and shrinks as you do and is a totally managed service from deployment to support. In short, you focus on your business, not running a Unified Communications infrastructure.<br />
<br />
So what are some of the things that Time2Market offers in its Cloud Complete that make it unique...<br />
<ul>
<li>E-Faxing Services</li>
<li>Advanced Call Routing Options</li>
<li>DID Parking</li>
<li>Common Area Phones</li>
<li>Standalone Fax Services</li>
<li>Unlimited Calling Plans</li>
<li>Auto Attendant</li>
<li>Dedicated Conference Bridge</li>
<li>Room Systems and Video Integration</li>
<li>Conference Room Audio Devices</li>
<li>800# Support</li>
<li>Paging Applications</li>
<li>Contact Center (Clarity)</li>
</ul>
<br />
But here is the really big key to Time2Market's offering, we have a whole organization that will help you every step along the way with a White Glove Service. Cloud Complete isn't a self service type of offering, instead it is an offering where you have a whole team of people who have been in the business of helping organizations communicate for decades. Here are some of the things we can help you with...<br />
<ul>
<li>Office365 Tenant Setup/Mail Migration</li>
<li>Unified Messaging Setup</li>
<li>IP Phone Setup</li>
<li>On-Premises Active Directory Integration</li>
<li>Auto Attendant Configuration</li>
<li>Room System Installation</li>
<li>Device Consultation</li>
</ul>
<br />
But wait.... there's more!! Sorry couldn't resist saying that.<br />
<br />
But really there is more... Time2Market has created a Self Service web based portal that gives easy access to the following tasks...<br />
<ul>
<li>Password Reset</li>
<li>Add New Users</li>
<li>Assign DIDs</li>
<li>Modify/Update Conferencing and Global Dialing Policies</li>
<li>Update Federation Policies</li>
<li>Get Support</li>
<li>Access to Usage Reports and Billing Info</li>
<li>Access to training, tips and tricks</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtwOfqnx-_ylTm_T6fk60IeY_3dzNXeVf7nPF8WuqAnejliYQ0VYPut5C0Ql1R4J0inQrRk__BxBiB5W3jVDa9GERa1XvrMZEaFi-aPdqKWLSQ_g6aytKStuuZM-nvsZiKyNCdUo6qkPBz/s1600/CloudComplete2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtwOfqnx-_ylTm_T6fk60IeY_3dzNXeVf7nPF8WuqAnejliYQ0VYPut5C0Ql1R4J0inQrRk__BxBiB5W3jVDa9GERa1XvrMZEaFi-aPdqKWLSQ_g6aytKStuuZM-nvsZiKyNCdUo6qkPBz/s400/CloudComplete2.png" width="400" /></a></div>
<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/AVvXsEhEyA2Agf6R00RevtMNe0c4-BQvwX0xx-d491yWeO_v7DhlGdzls_2ppJARarplRe6lDuMWyNWL_tQpYjNVS6agatFIErjBCW_lzWRiJQGV2OAu4N51eziIPhi34yMlUi3AI-x9-R4zIi57/s1600/CloudComplete3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEyA2Agf6R00RevtMNe0c4-BQvwX0xx-d491yWeO_v7DhlGdzls_2ppJARarplRe6lDuMWyNWL_tQpYjNVS6agatFIErjBCW_lzWRiJQGV2OAu4N51eziIPhi34yMlUi3AI-x9-R4zIi57/s400/CloudComplete3.png" width="400" /></a></div>
<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/AVvXsEhVEJ2naYmXK7q8F7L4SQiWMuwrVH7fm0xF-No8fGRY5r_xe6FTYOc96_R3TJqNqBN8A12N2B8Yn-ujKMP1_9dwr_M0_i5Bv60udW9QI74G_zs_4Srmpyt_PzhTPNvFwbwip7c6P6lL0Xco/s1600/CloudComplete1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVEJ2naYmXK7q8F7L4SQiWMuwrVH7fm0xF-No8fGRY5r_xe6FTYOc96_R3TJqNqBN8A12N2B8Yn-ujKMP1_9dwr_M0_i5Bv60udW9QI74G_zs_4Srmpyt_PzhTPNvFwbwip7c6P6lL0Xco/s400/CloudComplete1.png" width="400" /></a></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDB3kDPfeK48qWDaWabjTrazvpKQNXeilobc2-unLJxfPskUVYtM51BLQO-XLFd8rnWSJvkJZcLkE47GrqOjG7cQ4uX1oIA2dyim6tHly8fnBdzwQbSxDpzIRi4LIhVP0a3QA4H8cZ_0zb/s1600/CloudComplete4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="263" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDB3kDPfeK48qWDaWabjTrazvpKQNXeilobc2-unLJxfPskUVYtM51BLQO-XLFd8rnWSJvkJZcLkE47GrqOjG7cQ4uX1oIA2dyim6tHly8fnBdzwQbSxDpzIRi4LIhVP0a3QA4H8cZ_0zb/s400/CloudComplete4.png" width="400" /></a></div>
<br />
<br />
What are you waiting for? Interested in Time2Market's Cloud Complete offering or have further questions? You can contact me by SIP or email using jonathan at t2mdev dot com or by calling 303 997 2100.Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com4tag:blogger.com,1999:blog-4895679265618109180.post-84233117704191275952015-09-15T20:42:00.000-06:002015-09-16T08:20:33.040-06:00Change in route selection behavior in Lync Server 2013 from Lync Server 2010I was recently working on a rather complicated dial plan and ran into a situation where the route I expected to be followed wasn't being followed. What I was trying to do was create a single Voice Usage that would route for specific numbers and then have a catch all route that would be the route as a last resort.<br />
<br />
After doing numerous tests and doing an Outbound Routing debug it was clear that the route wasn't being skipped and it wasn't being marked down. The catch all route was being tried first even though the order of the routes in the Voice Usage had it at the bottom.<br />
<br />
Interestingly, if I simplified the regular expression of the route that matched a range of specific numbers to just be one of those numbers, it magically started to work correctly. As soon as I modified it back to the larger range, it would fail.<br />
<br />
Knowing that I have done this many times before, I was convinced somehow I hit some sort of bug. So a case with Microsoft was opened. After some lengthy testing, the Microsoft support engineer was just as baffled as I was and was coming to the same conclusion I did.<br />
<br />
As a work around, until the Microsoft engineer decided how to proceed, we created two different Voice Usages. The first one was for ranges of numbers and the second usage contained the catch all route all by itself. The routing worked as expected, but this was not ideal, because this would increase the number of Voice Usages across the hundreds of sites in this deployment. I was aiming for the simplest dial plan possible since it was already complex.<br />
<br />
Anyway, after a few days the Microsoft engineer got back to us and dropped a huge bomb.<br />
<br />
Believe it or not, this was working as designed. He informed me that there was a change in Lync Server 2013 in how it processes routes in a Voice Usage. Lync Server 2013 now chooses the least complex regular expression before it processes the other routes. The reason for this change I don't agree with, but apparently there were some customers that had really large dial plans, where processing a large list of routes in a Voice Usage was taking too long and this change was decided to speed up processing the list.<br />
<br />
So... if you have similarly complex in the same usage, the order of the routes matters. But if you mix complex and simple rules in the same Voice Usage, then the more simple rules will always be followed first.<br />
<br />
I hate this because now everyone else is forced to create more Voice Usages, sometimes with a single route in them, to have the routing work as desired. The other item that bugs me is that there is next to no documentation of this change and this was not communicated to the technical community in any other way that I'm aware of. This is a big change for a product that a lot of people depend on to be consistent.<br />
<br />
I think a better alternative would have been to give the engineer an option to process the routes within a Voice Usage using the Lync Server 2010 method or to switch to the new Lync Server 2013 method. I can see merits to both methods, but ideally I would like a choice.<br />
<br />
Now... If you are like I am, you want to know what exactly constitutes a simple rule vs complex rule. Unfortunately I can't tell you exactly. All I can share with you is a somewhat vague answer that I got back.<br />
<blockquote class="tr_bq">
<i>The algorithm has quite a
bit of complexity – in simple terms, the route that has simpler “prefix” will
be preferred over more complex ones. The “prefix” is a combination of
characters, character escapes, alterations and substitutions (as defined in
regular expressions).</i></blockquote>
So if anyone has more detail on this algorithm, I'd like to have it. But in the mean time it doesn't really matter because the permanent fix is to have similarly complex rules in the same Voice Usage and then make sure you test to verify the route order is being followed as desired.<br />
<div class="MsoListParagraph" style="margin-left: 1.5in;">
<o:p></o:p></div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com5tag:blogger.com,1999:blog-4895679265618109180.post-91658201219811811632015-04-28T14:18:00.000-06:002015-09-16T08:21:50.779-06:00Active Noise Cancelling Smackdown: Plantronics Blackwire C725 vs Jabra Evolve 80So I recently obtained two different Active Noise Cancelling headsets that are Lync/Skype for Business optimized devices. I've been using both the <a href="http://www.jabra.com/Products/PC_Headsets/Jabra_EVOLVE__Series/Evolve_80" target="_blank">Jabra Evolve 80</a> (E80) and the <a href="http://www.plantronics.com/us/product/blackwire-725" target="_blank">Plantronics Blackwire C725</a> (C725) quite a bit and one thing I've noticed is that even though they are both Active Noise Cancelling, they are Apples and Oranges when you go to compare them. So I thought it would be interesting to highlight their Pros and Cons and really help those that want to find the right headset for their situation.<br />
<br />
It is important to note that both of these headsets were given to me directly by each vendor and my assumption is that they hoped I would review them. There was no guidance as to how that was done from either vendor. These views can be considered my own opinion.<br />
<br />
<br />
Let's start off with a opening statement of each product from each vendors own marketing material...<br />
<br />
<b>Plantronics Blackwire C725</b><br />
<br />
The Blackwire 725 USB Headset is great for keeping you focused in noisy office environments. Featuring Active Noise Canceling technology, a nose-cancelling mic, and hi-fi stereo performance, the Blackwire 725 minimizes external noises while ensuring that PC-based calls and multimedia come through crystal clear. With the Blackwire 725, distractions go down and productivity goes up.<br />
<br />
<b><br /></b>
<b>Jabra Evolve 80</b><br />
<br />
Jabra Evolve series is a professional range of head-sets designed to improve concentration and conversations. Premium noise cancellation technology gives you peace to work in a noisy environment, open office, effectively creating a concentration zone around you so you can stay focused.<br />
<br />
<br />
<b><span style="font-size: large;">Round 1: Fit and Comfort</span></b><br />
<br />
Right away you will notice the biggest difference between the two. The C725 is an ON THE EAR muff, where the E80 is an OVER THE EAR muff. Using both for very long calls I've noticed a few things.<br />
<br />
E80 Fit and Comfort Negatives<br />
<ul>
<li>Can start to become itchy where the muffs touch your skin</li>
<li>People have complained that it is too tight on their head (squeezing their noggin)</li>
<li>The mic is ONLY on the right</li>
<li>They are pretty bulky</li>
</ul>
<div>
<br />
C725 Fit and Comfort Negatives</div>
<div>
<ul>
<li>None that I can think of</li>
</ul>
<div>
<br /></div>
</div>
<div>
E80 Fit and Comfort Positives</div>
<div>
<ul>
<li>Muffs have lots of padding</li>
<li>Band against head is padded</li>
</ul>
<div>
<br /></div>
</div>
<div>
C725 Fit and Comfort Positives</div>
<div>
<ul>
<li>Very comfortable with lots of adjustments</li>
<li>Mic can be on either side of head</li>
<li>Not bulky</li>
<li>Band against head is padded</li>
<li>Muffs are padded well</li>
</ul>
<div>
<br /></div>
</div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Route 2: Sound Quality</span></b></div>
<div>
<br /></div>
<div>
This one I realize is fairly subjective. So this is one that you'll definitely have to take with a grain of salt. But it really comes down to what do you do with your headset. Do you like to listen to music AND use it for Lync? or is this strictly a business headset only used for communication? Depending on how you answer those two questions, I could probably guess which one you would choose.</div>
<div>
<br /></div>
<div>
C725 Sound Quality Negatives</div>
<div>
<ul>
<li>Great sound quality, but for music won't blow you mind.</li>
<li>Ear muffs allow for extra noise to creep in</li>
</ul>
<div>
<br />
E80 Sound Quality Negatives</div>
</div>
<div>
<ul>
<li>Certain voices can seem deeper than normal</li>
<li>Needed to adjust side tone audio out of the box (hear yourself)</li>
</ul>
<div>
<br />
C725 Sound Quality Positives</div>
</div>
<div>
<ul>
<li>I think I could literally hear a pin drop on a conference call</li>
<li>Voices sound very natural</li>
<li>Sidetone audio was perfect out of the box (hear yourself)</li>
</ul>
<div>
<br />
E80 Sound Quality Positives</div>
</div>
<div>
<ul>
<li>Very rich bass</li>
<li>Music is phenomenal</li>
</ul>
<div>
<br /></div>
</div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Round 3: Noise Cancellation</span></b></div>
<div>
<br /></div>
<div>
You would think that two products that highlight Active Noise Cancellation as a major feature would actually be very similar. But I'm here to tell you that they are very different.</div>
<div>
<br /></div>
<div>
E80 Noise Cancellation Negatives</div>
<div>
<ul>
<li>Noise Cancellation is only for the person wearing... ambient noises can be heard on Mic!</li>
<li>Needs battery charged to work</li>
</ul>
<div>
<br />
C725 Noise Cancelling Negatives</div>
</div>
<div>
<ul>
<li>Ambient Noise can come in around ear muffs</li>
<li>Doesn't work unless you are in a call or using audio from PC</li>
<li>Can't be used with smart phone or other audio device (iPod)</li>
</ul>
<div>
<br />
E80 Noise Cancellation Positives</div>
</div>
<div>
<ul>
<li>Amazingly effective at cutting out ambient noise</li>
<li>Can be used with smart phone (if battery is charged)</li>
<li>Has "Listen in" button on side to let you hear ambient noise... </li>
</ul>
<div>
<br />
C725 Noise Cancellation Positives</div>
</div>
<div>
<ul>
<li>Amazingly effective at cutting out ambient noise on the MIC</li>
<li>Pretty good at cutting out ambient noise on the muffs</li>
<li>Don't need to worry about charging a battery</li>
</ul>
<div>
<br />
<br />
<span style="font-size: large;"><b>Conclusion</b></span><br />
<br />
The point of this blog post was not to find a winner, but to point out that these two headsets meet very different needs.<br />
<br />
If you are in the office (especially cubes or call center) and on the phone all day long, then the C725 would probably be the better choice.<br />
<br />
If you travel a lot and need a headset that you can use on the road and on the plane, then the E80 is probably a better choice.<br />
<br />
Quite honestly, I plan to use both of these headsets depending on what I'm doing. Who knows... maybe Plantronics or Jabra will create a Active Noise Cancelling headset to rule them all.</div>
</div>
<div>
<br />
<span style="font-size: large;"><b>Extras</b></span><br />
<br /></div>
<div>
E80 Extras you need to know</div>
<div>
<ul>
<li>Listen In button is nice, but not obvious (push the jabra on the side with the mic)</li>
<li>When microphone is in the up position it is automatically muted</li>
<li>You will want to adjust sidetone audio, because otherwise you may not hear yourself at all</li>
<li>Headset can disconnect from call controls and be used with smart phone</li>
<li>Extra audio adjustments in the Jabra app on the PC.</li>
<li>You will stand out in a crowd when you use these</li>
</ul>
<div>
C725 Extras you need to know</div>
</div>
<div>
<ul>
<li>The microphone boom can be used on left or right side of head</li>
<li>The headset automatically answers a call when you put it on</li>
</ul>
</div>
<div>
<br /></div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com5tag:blogger.com,1999:blog-4895679265618109180.post-2578978543131466542015-04-16T12:54:00.000-06:002015-09-16T08:23:30.962-06:00Lync/Skype for Business Loud RingerLoud Ringers for Lync/Skype for Business is one of those problems you think can't be solved. But I stumbled upon a technique awhile ago that can be used to solve this problem. This technique though, uses pieces of the product in ways they were not originally intended. But I will say that I have been doing this since Lync Server 2010 and I hope with writing this blog that more people will use this technique and maybe it will get a better method for implementation by the product group.<br />
<div>
<br /></div>
<div>
So enough dancing around the topic.</div>
<div>
<br /></div>
<div>
In order to execute this technique we need the following:</div>
<div>
<ul>
<li>Analog based Loud Ringer (<a href="http://www.algosolutions.com/products/Audible-and-Visual-Alerting/1825-Duet-Plus-Loud-Ringer-Paging-Amplifier.html" target="_blank">Algo 1825</a> for example)</li>
<li>Gateway with Analog FXS ports</li>
<li>Create a Lync/Skype for Business Analog Device</li>
<li>Device that can do Pin Authentication for a Common Area Phone</li>
<li>Lync/Skype for Business user that has SimRing capability</li>
</ul>
<div>
<span style="font-size: large;"><b>Step 1</b></span></div>
<div>
First step is to setup the FXS port and Gateway so that a dedicated number can ring that port. I prefer to use non-DID numbers for this application, but it just has to be a unique number in the Lync Dial Plan. Later we actually use this number when defining the Lync/Skype for Business analog device LineURI. Because there are so many Gateways with FXS out there, I'm not going to get into specifics in this area. But I generally route the extension portion of the number to the port. For example if +13005551000;ext=9572 is the intended LineURI, only the 9572 portion would be configured for routing to the port on the Gateway. </div>
<div>
<br /></div>
<div>
Not getting the hint? </div>
<div>
<br /></div>
<div>
I manipulate the number either in the trunk configuration of Lync/Skype for Business (my preference) or the gateway to just be the extension.</div>
<div>
<br /></div>
<div>
Oh you you are one of those people who don't like to use ;ext= ? Then you'll have to figure out the Pin Auth on your own later.</div>
<div>
<br />
<span style="font-size: large;"><b>Step 2</b></span></div>
<div>
Next we add the Gateway with the FXS port to the Lync/Skype for Business Topology. Nothing special here, but make sure it is communicating on the correct port/protocol.<br />
Once the Topology has been published and replication has occurred, you will need to create an analog device in Lync/Skype for Business. </div>
<div>
<br /></div>
<div>
Here is an example of the command: </div>
<div>
<br /></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">New-CsAnalogDevice -LineURI "tel:+13005551000;ext=9572" -DisplayName "Someone's Loud Ringer" -RegistrarPool <same pool as Loud Ringer user> -AnalogFax $False -Gateway <IP or FQDN of Gateway just added> -OU <your favorite OU></span></div>
<div>
<br /></div>
<div>
Here is the <a href="https://technet.microsoft.com/en-us/library/gg412937.aspx" target="_blank">technet</a> for reference.</div>
<div>
<br /></div>
<div>
Pssst don't forget to do an Address Book Update... you'll need it soon and might as well have it working while we do this other stuff</div>
<div>
<br /></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">Update-CsAddressBook</span> on the pool that has the user with the need for the Loud Ringer.</div>
<div>
<br /></div>
<div>
<span style="font-size: large;"><b>Step 3</b></span></div>
<div>
Once AD Replication happens we need to set a client pin for this analog device. Say wha?! Yes... just stick with me here... </div>
<div>
<br /></div>
<div>
Here is an example of the command:</div>
<div>
<br /></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">Set-CsClientPin -Identity "Someone's Loud Ringer" -Pin <any pin you choose></span></div>
<div>
<br /></div>
<div>
Here is the <a href="https://technet.microsoft.com/en-us/library/gg398929.aspx" target="_blank">technet</a> for reference</div>
<div>
<div>
<br /></div>
</div>
</div>
<div>
<span style="font-size: large;"><b>Step 4</b></span></div>
<div>
Login to the Analog Device like a Common Area Phone using Pin Authentication. For example the extension is 9572 and the pin is well... whatever you set it to. It doesn't matter if this device stays logged in or not, we just needed to log it in once as a Common Area Phone.</div>
<div>
<br /></div>
<div>
This would be a great time to call the Analog Device from lync and make sure the Loud Ringer is actually working. That way we aren't troubleshooting the physical install too... later on.</div>
<div>
<br /></div>
<div>
<span style="font-size: large;"><b>Step 5</b></span></div>
<div>
Set the SimRing for the user that needs the Loud Ringer. This can be going to their PC or getting their username and password, or using SEFAUTIL. The bottom line is you want to set the SimRing for the Analog Device above which should. </div>
<div>
<br /></div>
<div>
If you don't see it as a contact you can add, you might have forgot to update the address book on the server, or maybe you need to log out and back in to force an update.</div>
<div>
<br /></div>
<div>
<span style="font-size: large;"><b>Step 6</b></span></div>
<div>
Call the user who needed the Loud Ringer and hear their praises and celebrate that you solved that problem for them that has been hanging around for a year or two. Or if it doesn't work... dig out your Lync Debugging Tools and Wireshark. I know you'll figure it out.</div>
<div>
<br /></div>
<div>
<br /></div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com4tag:blogger.com,1999:blog-4895679265618109180.post-76119736301583899182015-02-03T13:04:00.005-07:002018-08-26T22:53:59.171-06:00The Unofficial Microsoft Ignite 2015 Party and Contest/Giveaway ListLooking for the Microsoft Ignite 2018 Party List? Go <a href="http://blog.ucomsgeek.com/2018/08/tips-and-tricks-unofficial-party-and.html" target="_blank">here</a><br />
<a href="http://blog.ucomsgeek.com/2018/08/tips-and-tricks-unofficial-party-and.html" target="_blank">http://blog.ucomsgeek.com/2018/08/tips-and-tricks-unofficial-party-and.html</a><br />
Last year I had a huge <a href="http://blog.ucomsgeek.com/2014/01/vegas-baby-tips-and-tricks-for-las.html" target="_blank">blog post</a> on everything about attending the Lync Conference. Since I'm not from Chicago, or haven't spent any time there other than the airport, I left that to the experts like <a href="https://johnacook.wordpress.com/2015/01/05/things-to-do-in-chicago-when-at-microsoft-ignite/" target="_blank">John Cook</a>. So this year I'm focusing a <a href="http://ignite.microsoft.com/" target="_blank">Microsoft Ignite</a> party and contest list for the benefit of all...<br />
<br />
You'll see a serious bent toward Lync/Skype related activities because that is the area I'll be focused on and have the most connections to... but regardless of what discipline your event is focused on you can leave feedback or reach me on twitter if you want to have your event or contest listed. I'll also try to update this while at the conference as well in case there are any last minute things I come across. So check back often.<br />
<br />
<b><span style="font-size: x-large;">Parties</span></b><br />
<br />
<span style="font-size: large;"><b>Saturday</b></span><br />
<br />
There is an <a href="http://www.mctday.com/" target="_blank">MCT day</a> on Saturday, May 2, 2015 from 12:30 to 9:30 pm for MCTs and MCT Alumni will be full of informative round tables, presentations and will culminate with a party in the evening. Registration to Ignite is not required to attend, but you do have to hold or have held an MCT certification. via <a href="http://sharepoint-community.net/profiles/blogs/the-ultimate-microsoft-ignite-party-list" target="_blank">@vladcatrinescu</a><br />
<br />
<span style="font-size: large;"><b>Sunday</b></span><br />
<br />
<a href="http://iamkrewe.org/Home.aspx" target="_blank">TheKrewe </a>is having a <a href="http://iamkrewe.org/Blogs/KreweBlog/TabId/139/PostId/22/the-6th-annual-meet-n-greet-with-thekrewe.aspx" target="_blank">Meet N Greet</a> event on Sunday May 3rd from 7:00 to 10:00pm. They currently are SOLD OUT but claim they will be releasing more tickets closer to Ignite. Need to follow their <a href="https://twitter.com/thekrewe/" target="_blank">Twitter</a> and <a href="https://www.facebook.com/groups/TheKrewe/" target="_blank">Facebook</a> feeds to get that information the quickest. The event is at <a href="http://iamkrewe.org/LinkClick.aspx?link=http%3a%2f%2fkaisertiger.com%2f&tabid=139&portalid=0&mid=601" target="_blank">Kaiser Tiger: Home of the Bomber</a>. via <a href="https://twitter.com/tiberGreg" target="_blank">@tiberGreg</a><br />
<br />
<a href="https://www.eventbrite.com/e/office-365-network-mixer-tickets-2760321195" target="_blank">Office 365 Network Mixer</a> is on Sunday from 7 to 10pm. Let us give you a warm welcome to Ignite! Gather with the Office community for an evening of great company, tasty appetizers and live jazz by the Chris Greene Quartet as we all get ready for a big week ahead. First 150 people to arrive receive a goody bag and we’ll be raffling off great prizes. See you there!<br />
<br />
One of the official Microsoft Events will be <a href="http://ignite.microsoft.com/Agenda/#fbid=-jG3Z_YPQt_" target="_blank">Ignite After Hours</a> will be held each night from 8:00pm to 11:00pm through Wednesday according to the Agenda at select Hotels. Haven't seen an official list of which hotels, but will post once I see it.<br />
<span style="font-size: large;"><span style="font-size: small;"><br /></span></span>
<span style="font-size: large;"><b>Monday</b></span><br />
<br />
Official Microsoft Ignite <a href="http://ignite.microsoft.com/Agenda" target="_blank">Welcome Reception</a> by Microsoft in the expo hall. 6:15pm - 8:15pm<br />
<br />
<a href="https://www.eventzero.com/" target="_blank">Event Zero</a>/<a href="http://www.theucarchitects.com/" target="_blank">The UC Architects</a> have a <a href="https://www.eventzero.com/ignite/" target="_blank">Unified Communications professionals</a> party again this year (sponsored by UC Architects last year). Last year it was like the who's who of the Lync #ucoms world and we could all just mingle and chat. No loud music... no flashing lights... plenty of drinks.... and fun party games. It was by far my favorite party. The party will be held Monday the 4th of May, starting at 9:00PM (after the Microsoft welcome reception). Word is Ken Lasko will be MC this year. I think this might be the entire reason they hired him...<br />
<br />
<a href="http://spr.com/event/microsoft-ignite-party/" target="_blank">SPR Consulting</a> is hosting a complimentary evening of appetizers, cocktails, and big thinkers starting at 7pm on Monday. Will be held on the 99th floor of Willis Tower where you’ll get an opportunity to network with like-minds, gain insight from our partners at their “ask the expert” cocktail tables, and take in wonderful views of the city. Each guest will receive a pass to stand 1,353 feet in the air on <a href="http://theskydeck.com/" target="_blank">The Ledge</a>. via <a href="http://sharepoint-community.net/profiles/blogs/the-ultimate-microsoft-ignite-party-list" target="_blank">@vladcatrinescu</a><br />
<br />
Worlds Largest SharePint: And the legendary SharePint tradition will continue at Ignite with what no doubt will be the biggest SharePint ever. Virgin Hotel Chicago Manor Room 7:00 P.M (If you're a SharePoint person, do not miss this one) via <a href="http://sharepoint-community.net/profiles/blogs/the-ultimate-microsoft-ignite-party-list" target="_blank">@vladcatrinescu</a><br />
<br />
<a href="http://ignite.microsoft.com/Agenda" target="_blank">Ignite Rocks</a> is the reborn Jam Sessions from TechEd. All Ignite attendees are invited and if you’re a musician or a singer or just enjoy good music performed by your fellow attendees, stop by the House of Blues starting at 9 PM Monday night.<br />
<br />
<a href="http://www.rightpoint.com/" target="_blank">RightPoint</a> is doing an <a href="http://www.rightpoint.com/thinking-doing/events/kick-off-microsoft-ignite-at-shake-shack" target="_blank">Ignite Kick-Off</a> and revealing an exciting new product and doing it at <a href="http://www.shakeshack.com/" target="_blank">Shake Shack</a>. The event is Monday May 4th from 8:00pm to 11:00pm and they say it is All you can eat and drink burgers, fries, frozen custard, beer and wine.<br />
<br />
One of the official Microsoft Events will be <a href="http://ignite.microsoft.com/Agenda/#fbid=-jG3Z_YPQt_" target="_blank">Ignite After Hours</a> will be held each night from 8:00pm to 11:00pm through Wednesday according to the Agenda at select Hotels. Haven't seen an official list of which hotels, but will post once I see it.<br />
<br />
<b><span style="font-size: large;">Tuesday</span></b><br />
<br />
An Epic Partner Party to Celebrate Skype for Business is Tuesday, May 5th from 6:30pm to 11pm. They claim... Epic Food... Epic drinks... Epic views... Epic cigar rolling... All included. It is at <a href="http://www.epicrestaurantchicago.com/" target="_blank">Epic Restaurant</a> which looks amazing. Need an invite for this party so go talk to your favorite person at <a href="http://www.avst.com/" target="_blank">AVST</a>, <a href="http://www.nectarcorp.com/" target="_blank">Nectar</a>, <a href="http://www.plantronics.com/us/" target="_blank">Plantronics</a>, <a href="http://www.polycom.com/" target="_blank">Polycom</a>, <a href="http://www.scansource.com/" target="_blank">ScanSource</a> or <a href="http://www.tatacommunications.com/" target="_blank">TATA Communications</a><br />
<br />
<a href="http://petri.com/">Petri.com</a>/<a href="http://thurrott.com/">Thurrott.com</a> is doing their <a href="http://www.petri.com/petri-happy-hour-at-microsoft-ignite.htm?utm_source=Twitter&utm_medium=Tweet&utm_term=Windows%20Server&utm_content=Introducing%20the%202nd%20Annual%20Petri.com%20/%20Thurrott.com%20Happy%20Hour%20at%20Microsoft%20Ignite&utm_campaign=Social" target="_blank">2nd Annual Happy Hour</a>. <a href="http://www.petri.com/going-to-teched-2014-meet-your-favorite-petri-authors-in-person.htm" target="_blank">The first get together </a>was at Microsoft TechEd 2014. The Happy Hour will be held at <a href="http://www.krolls-chicago.com/" target="_blank">Kroll's South Loop</a> on Tuesday, May 5th from 5:30 to 7:30pm. If you RSVP AND you are one of the first 300 they have a Petri.com and Thurrott collectible beer stein for you.<br />
<br />
<a href="http://www.schedulemymaintenance.com/" target="_blank">scheduledMaintenance</a> party by <a href="http://enowsoftware.com/" target="_blank">eNow</a> had the coolest venue last year at the <a href="http://www.palms.com/nightlife/ghostbar" target="_blank">GhostBar</a> in Las Vegas. I had some great conversations with people that I don't necessarily run into in my normal circle of friends. Being we have multiple disciplines of products going to this Ignite event... I expect this will be one that will have lots of new people for you to get to know. The party this year is at <a href="http://www.vertigoskylounge.com/" target="_blank">Vertigo Sky Lounge - 2 West Erie St</a> and is on Tuesday May 5th. Get your request in early... and it doesn't hurt to impress <a href="https://twitter.com/SchdMaintenance" target="_blank">@SchdMaintenance</a><br />
<br />
Microsoft Learning is doing an <a href="https://borntolearn.mslearn.net/b/weblog/archive/2015/03/13/microsoft-ignite-2015-mcp-party-alert" target="_blank">MCP Party</a> on Tuesday from 7-10PM at <a href="http://www.msichicago.org/" target="_blank">The Museum of Science and Industry</a>. There is no details on any registration (details in April), but at some point I imagine you'll need to prove you are an MCP, which is not hard to obtain.<br />
<br />
<a href="http://www.avepoint.com/community/avepoint-blog/secure-vip-access-avepoint-red-party-microsoft-ignite-2015-msignite-avepointred/" target="_blank">AvePoint</a> is throwing a RED party at the <a href="http://www.chicagounionstation.com/" target="_blank">Chicago Union Station</a>. This one is geared toward SharePoint attendees they have things you need to do to get VIP access otherwise you might have to beg for a ticket at their booth. From the pictures on the page this party looks pretty epic.<br />
<br />
<a href="http://www.metalogix.com/Events/BestOfBreed.aspx" target="_blank">Metalogix Best of Breed Party</a> at the House of Blues on Tuesday at 9pm! Best of Breed Awards honor the efforts of individuals or teams who have significantly increased the value of SharePoint, Office 365 and hybrid solutions in their organization, advancing collaboration, productivity, and security through best practices and innovation. Get the details <a href="http://www.metalogix.com/Events/BestOfBreed.aspx" target="_blank">here</a>.<br />
<br />
Several vendors and organizations (<a href="http://www.audiocodes.com/" target="_blank">AudioCodes</a>, <a href="http://www.jabra.com/" target="_blank">Jabra</a>, <a href="http://www.intelepeer.com/" target="_blank">Intelepeer</a>, <a href="http://lyncusersgroup.com/" target="_blank">Lync Users Group</a>, <a href="http://www.pexip.com/" target="_blank">Pexip</a>, and <a href="http://www.scansource.com/" target="_blank">ScanSource</a> so far) are co-sponsoring a party at <a href="http://www.fieldmuseum.org/" target="_blank">The Field Museum</a> Tuesday evening. This party will be by invitation only and you will need to talk with your favorite person at one of the sponsoring vendors or wait for the "Request an Invitation and RSVP" link when it is available and posted here. Last year this was the "<a href="https://www.regonline.com/builder/site/Default.aspx?EventID=1317892" target="_blank">Vintage Vegas Nights</a>" party and was a very popular event. When so many vendors and organizations pool their money you know a good time will be had by all.<br />
<br />
One of the official Microsoft Events will be <a href="http://ignite.microsoft.com/Agenda/#fbid=-jG3Z_YPQt_" target="_blank">Ignite After Hours</a> will be held each night from 8:00pm to 11:00pm through Wednesday according to the Agenda at select Hotels. Haven't seen an official list of which hotels, but will post once I see it.<br />
<br />
<span style="font-size: large;"><b>Wednesday</b></span><br />
<br />
<a href="http://www.protiviti.com/en-US/Pages/default.aspx" target="_blank">Protiviti</a> & <a href="http://www.nintex.com/" target="_blank">Nintex</a> is doing a <a href="https://www.eventbrite.com/e/microsoft-ignite-happy-hour-presented-by-protiviti-nintex-tickets-16501487393" target="_blank">Microsoft Ignite Happy Hour</a> on Wednesday, May 6th from 6:30-8:30 pm at <a href="http://www.reservations.com/hotel/the-godfrey-hotel-chicago?gclid=CjwKEAjwu72pBRC9hsn2-e34vRUSJACnSYsTJixcW28kWn3iDAUuscckswUOl-XkyixbnvxDJHyCrRoCJFfw_wcB" target="_blank">The Godfrey Hotel</a>. Enjoy delicious hors d’oeuvres and cocktails on 4th Floor Rooftop overlooking the Chicago Loop and network with other SharePoint users and SharePoint MVPs. via <a href="http://sharepoint-community.net/profiles/blogs/the-ultimate-microsoft-ignite-party-list" target="_blank">@vladcatrinescu</a><br />
<br />
<a href="https://www.eventbrite.com/e/thycotic-bootleggers-bash-tickets-15735501308" target="_blank">Bootlegger's Bash</a> party by <a href="http://thycotic.com/" target="_blank">Thycotic</a> has my interest piqued sufficiently. I am a sucker for good jazz (played bari sax in High School) and they plan to have specially crafted vintage cocktails. Sounds like a great place to mingle and meet new people to me. The party is on May 6th from 7pm to 11pm at 19 East 21st Street.<br />
<br />
The <a href="http://www.expta.com/2015/03/announcing-8th-annual-uc-roundtable-at.html" target="_blank">8th Annual UC Roundtable</a> at Microsoft Ignite has been announced. Can't say it is a "Party", but get enough of the #ucoms crowd in a room together and things are never boring. Billed as a free-flowing discussion about issues, questions, and experiences related to Exchange, Office 365, and Lync (Skype for Business) Server. Pretty much anyone that works with the above technologies is welcome to RSVP. The Roundtable is from 6pm to 10pm on Wednesday at <a href="http://tavernatthepark.com/index.php" target="_blank">Tavern at the Park</a>.<br />
<br />
One of the official Microsoft Events will be <a href="http://ignite.microsoft.com/Agenda/#fbid=-jG3Z_YPQt_" target="_blank">Ignite After Hours</a> will be held each night from 8:00pm to 11:00pm through Wednesday according to the Agenda at select Hotels. Haven't seen an official list of which hotels, but will post once I see it.<br />
<br />
<span style="font-size: large;"><b>Thursday</b></span><br />
<br />
<a href="https://microsoftignite.uservoice.com/knowledgebase/articles/138148-attendee-parties-evening-events" target="_blank">Microsoft Ignite Celebration</a> is on Thursday May 7th and everyone is already invited. Microsoft always puts together a top notch party for its attendees... last years Lync Conference party was at Hakkassan in Las Vegas... some pictures are on a my <a href="http://blog.ucomsgeek.com/2014/02/lync-conference-notes.html" target="_blank">conference report</a>. If you have someone joining you that isn't an attendee you can purchase a companion pass just for the party.<br />
<br />
<b><span style="font-size: x-large;"><br /></span></b>
<b><span style="font-size: x-large;">Contests and Giveaways</span></b><br />
<br />
<b><span style="font-size: large;">The Basics</span></b><br />
<br />
In general, you should make sure you bring a decent amount of business cards. The large majority of contests and giveaways will collect those as a way to enter. It's also highly likely we will see some contests via <a href="https://twitter.com/" target="_blank">twitter</a>. So signing up and getting your account established before the conference is a good idea. It is also a great way to keep tabs on what is happening at Microsoft Ignite. You can search hashtag <a href="https://twitter.com/search?q=msignite&src=typd" target="_blank">#MSIgnite</a> to see the majority of what is going on. If you want to follow me, you can find me here: <a href="https://twitter.com/ucomsgeek" target="_blank">@ucomsgeek </a> I will be doing a lot of tweeting during the event and the #ucoms #skype4b <a href="https://twitter.com/ucomsgeek/lists/lync-rockstars" target="_blank">crowd</a> I hang out with is never boring<br />
<br />
<span style="font-size: large;"><b>The Contests and Giveaways</b></span><br />
<br />
Come by the Office Theater on the Expo floor at #MSIgnite 5/7 at 10am to see #TheUCArchitects record an episode. You could win a Surface!<br />
<br />
Win a free Busylight at the Busylight Booth 417!<br />
<br />
Microsoft Ignite IT Hero <a href="https://www.facebook.com/notes/microsoft-it/microsoft-ignite-2015-microsoft-it-hero-sweepstakes/10152883811073736" target="_blank">Sweepstakes</a>. Nokia Lumia 830 phone for you and your "IT hero".<br />
<br />
<a href="https://twitter.com/GRADIENTecm/status/588048420545437698/photo/1" target="_blank">@Gradient</a> says if you follow them for a prize... Winner announced on May 8th.<br />
<br />
Bring your business cards to the <a href="https://www.eventzero.com/ignite/" target="_blank">Event Zero/The UC Architects</a> party for chances to win gear<br />
<br />
<a href="http://www.visionsolutions.com/" target="_blank">Vision Solutions</a> is giving away a "<a href="https://twitter.com/jboyd_IT_Sales/status/587989915255894016/photo/1" target="_blank">Double-Take scarf</a>" for anyone who attends their Microsoft Ignite presentation in booth 232<br />
<br />
<a href="http://www.gsx.com/blog/bid/92675/The-Final-countdown-before-Microsoft-Ignite" target="_blank">GSX</a> is giving away a Microsoft Band. To enter the contest fill out the form on this <a href="http://web.gsx.com/microsoft-ignite-conference-incentive" target="_blank">page</a>. You can also follow <a href="https://twitter.com/gsx_solutions" target="_blank">@GSX_Solutions</a> to see some comics featuring #RobotUser every week up until the conference.<br />
<br />
<a href="http://www.conceptsearching.com/wp/2015-sharepoint-and-office-365-metadata-survey/" target="_blank">conceptSearching</a> is giving away a free conference pass to Ignite. All you have to do is take a survey on how you use SharePoint, Office365, or OneDrive for Business and any challenges. Contest ends March 31st...<br />
<br />
Looks like <a href="http://www.theucarchitects.com/" target="_blank">The UC Architects</a> are going to have another giveaway this year. In the past there has been A LOT of prizes in this giveaway. I'll update with more information as I find it. But typically you just need to get your business card to a guy wearing a UC Architects t-shirt. While you are waiting for ignite... go listen to some of their <a href="http://www.theucarchitects.com/" target="_blank">podcasts</a>. They are awesome for anyone that works with Lync, Exchange, O365 or practically anything else connected to the Microsoft universe.<br />
<br />
Australians... here is your chance to go to Microsoft Ignite. Fancy joining the world’s brightest minds at Microsoft’s Ignite conference to talk cloud infrastructure, management, productivity, big data, coding and more? Sign up to the <a href="http://www.microsoft.com/australia/mvaheroes/" target="_blank">Microsoft Virtual Academy</a> today and you could be in with a chance to win a trip there. This phenomenal prize includes return flights, accommodation, a full conference pass plus spending money.<br />
<br />
<strike>The <a href="http://lyncusersgroup.com/winter-2015-events-and-ignite-conference-trip-giveaway/" target="_blank">Lync Users Group</a> is giving away a trip to the Microsoft Ignite Conference to an attendee of one of our winter 2015 events. To enter, just attend one of our January or February 2015 events and complete your survey. We will draw the winner from our nationwide events on or before March 2nd with immediate contact for the winner. The winner will receive a full conference pass, airfare, hotel and a visa gift card to cover expenses courtesy of the Lync Users Group and our sponsors.</strike><br />
<br />
<strike><a href="https://thwack.solarwinds.com/community/solarwinds-community/announcements/blog/2015/02/18/attention-still-need-your-conference-pass-to-microsoft-ignite-2015-weve-got-you-covered" target="_blank">SolarWinds</a> will be at Microsoft Ignite this year (May 4th - 8th) with buttons, stickers, and awesome giveaways in tow. In addition, they are giving away 1 extra <a class="jive-link-external-small" href="http://ignite.microsoft.com/Register#fbid=yYkseel1tLL">full conference pass</a> worth $2,200. You have to submit a compelling story of how SolarWinds has made your life easier and it has to be received by March 4th.</strike><br />
<br />
<br />Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com5tag:blogger.com,1999:blog-4895679265618109180.post-32950875196623108662015-02-02T11:54:00.000-07:002015-02-03T13:05:03.775-07:00What to do when you can only hear yourself think while using Jabra Evolve 80So I recently started using a <a href="http://www.jabra.com/Products/PC_Headsets/Jabra_EVOLVE__Series/Jabra_EVOLVE_80_MS_Stereo" target="_blank">Jabra Evolve 80</a>, which is quite a phenomenal piece of hardware. It sounds great and is easy to use. I also found myself listening to music more and I've almost completely stopped yelling at my kids to stop having so much fun (just kidding) while I'm working, thanks to the active noise cancellation technology.<br />
<br />
But...<br />
<br />
There was one complaint I had... When I used it as a headset my voice was muted... like when you talk with fingers in your ears. You only hear the vibrations through your jawbone... which is usable... but definitely not ideal. With one ear headsets, you have an open ear so you can still hear yourself talk and it is more natural.<br />
<br />
Well today's blog post is the result of <a href="https://twitter.com/mitchsteiner" target="_blank">@mitchsteiner</a> and I having a conversation about the Evolve 80 and he was complaining that his voice was too LOUD. I thought to myself... how can that be... I hear nothing and it is too loud for him... there must be a way to adjust this. So as Mitch and I talked he called it sidetone and that is what I started my search for.<br />
<br />
After searching for awhile on Jabra's website I came across the ability to adjust the "sidetone" audio, which kudos to Mitch for actually calling it what it was and proof that if you have traditional voice skills they never die.<br />
<br />
So here it is in all its glory...<br />
<br />
<span style="font-size: large;"><b>How to adjust sidetone for your Jabra Evolve 80</b></span><br />
<br />
1. Open the Windows control panel and access the Sound control panel applet.<br />
<div>
<br />
2. Select "Playback" tab and then right-click the Jabra EVOLVE LINK MS device and choose "Properties"</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheaJZV7Xb6cRhVHM8wCB1DuIusjwvE7AJDWFBqwxn-4pXsnj_mlyjh-J3YjorW_54OsE_4ReCmlI22MIN2JEHZVjE-uVI0j4YllijPYxoEA81yZOJlcI-6NJFJMcP9bAgHqmSihqQ0287N/s1600/soundcontrolpanel.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheaJZV7Xb6cRhVHM8wCB1DuIusjwvE7AJDWFBqwxn-4pXsnj_mlyjh-J3YjorW_54OsE_4ReCmlI22MIN2JEHZVjE-uVI0j4YllijPYxoEA81yZOJlcI-6NJFJMcP9bAgHqmSihqQ0287N/s1600/soundcontrolpanel.PNG" height="268" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
3. Once the Headset Earphone Properties have displayed, Choose the "Levels" tab.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMDYQZJKYpsJFzT-H71OxZKZpKctvlpr7C_nfnrMgfN8VvsYtgT7kldo4TwtSpwLjvVMF9AmpOGk4mvhOFwObcjSIz5vk7WZZpJQso2NLd7VbgOLzJa0X1i9hULeP-PEFik5A5FHZAt50V/s1600/jabraproperties.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMDYQZJKYpsJFzT-H71OxZKZpKctvlpr7C_nfnrMgfN8VvsYtgT7kldo4TwtSpwLjvVMF9AmpOGk4mvhOFwObcjSIz5vk7WZZpJQso2NLd7VbgOLzJa0X1i9hULeP-PEFik5A5FHZAt50V/s1600/jabraproperties.PNG" height="320" width="286" /></a></div>
<div>
<br /></div>
<div>
4. On the "Levels" tab you will see an item for "Sidetone". Mine was set to -18 dB and I needed a slight adjustment to -15 dB. In order to set the level you will need to get on a phone call with a buddy and talk while you adjust and click "OK" (sorry no "Apply"). To hear the change you might have to change to much louder than -15dB and then bring it down to your liking.</div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeFPUxKKjCDxKo5k7ksGjAMR2pXnUCPK6oYK6svUV9jeQwJWAvJ6z21j9N7uJOHjn4qq0y1pMdrUwWNLfMbYnLgIdG6ooKFAU9nD5vJjKQAcuKkx46Nx-Up3iMbPR3Uyi_g4u05WgG2_NI/s1600/sidetonelevel.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeFPUxKKjCDxKo5k7ksGjAMR2pXnUCPK6oYK6svUV9jeQwJWAvJ6z21j9N7uJOHjn4qq0y1pMdrUwWNLfMbYnLgIdG6ooKFAU9nD5vJjKQAcuKkx46Nx-Up3iMbPR3Uyi_g4u05WgG2_NI/s1600/sidetonelevel.PNG" height="320" width="286" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
5. Enjoy and show your friends.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: red;">I would like to make special note that this is a USB ONLY function. If you plug the headset straight into a mobile device this Sidetone function is not there.</span></div>
</div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com5tag:blogger.com,1999:blog-4895679265618109180.post-1160561274271699912015-01-25T18:17:00.001-07:002015-01-26T12:29:18.711-07:00My views on what HoloLens means for Unified Communications<span style="color: red;">Warning... this is strictly an opinion piece with a lot of wishful thinking.</span><br />
<br />
Wow... Microsoft dropped a bombshell on all of us with HoloLens. I spend a lot of time talking about technology with my kids (I have 5 in case you are wondering) and what the future could look like. I've been hoping for something like HoloLens for a very long time. I talk with my kids about how computing can be different, how user interfaces will change and what it could mean for how we interact with the world. Of course with kids you just have to give them that little push and their minds go crazy with possibilities because they don't know the boundaries that adults do.<br />
<br />
One of my dreams is to be able to record every part of my real life and then be able to replay past events at will and have them projected via Augmented Reality into real life so I can see them again. Get to experience people from my past and see those little nuisances about them as humans that get lost in memories sometimes. I don't expect HoloLens to do this out of the box of course... but it is the first step in that direction.<br />
<br />
My kids of course see completely different possibilities... it was a lot of fun to show them the video of the news briefing and to see them sucked in by the magic of the HoloLens technology... then the video showed a Minecraft like game that was being played in the real world and their little brains literally exploded. This was something they knew... but completely played in a different context.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE4SmJ4qmf4WbPszCp7SpCIqsIcfXORBTPc16NqeEPgifwAwhBv8fRtsZYW9r7OmGIZFR4kUKrlfLRP3HaaIFowe84DnSAPoR8rkLHja2BW6CpkthW5hD222qqct0txG4XHrqXVXPLUOPg/s1600/minecraftholo.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE4SmJ4qmf4WbPszCp7SpCIqsIcfXORBTPc16NqeEPgifwAwhBv8fRtsZYW9r7OmGIZFR4kUKrlfLRP3HaaIFowe84DnSAPoR8rkLHja2BW6CpkthW5hD222qqct0txG4XHrqXVXPLUOPg/s1600/minecraftholo.PNG" height="154" width="320" /></a></div>
<br />
<br />
Their brains exploded yet again when the video blew up a wall with Minecraft TNT and revealed a whole world behind it with the wall becoming Minecraft blocks.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-PQqXmcWEfwvMWpsi5_eAw-d2kS2p1L1L7vEcYUMKGZTgS1sLcpjIg5s0KCAan3d7td39ha2MnzKohMXqBCejg-nsk3dL-ywx6F4WbTOISzmvCVnr-ZRO-lkcbAsXigsmXKbk9l6pzzqr/s1600/minecraftwall.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-PQqXmcWEfwvMWpsi5_eAw-d2kS2p1L1L7vEcYUMKGZTgS1sLcpjIg5s0KCAan3d7td39ha2MnzKohMXqBCejg-nsk3dL-ywx6F4WbTOISzmvCVnr-ZRO-lkcbAsXigsmXKbk9l6pzzqr/s1600/minecraftwall.jpg" height="180" width="320" /></a></div>
<br />
<br />
Suddenly they weren't limited to the Minecraft world that is finite... as one of my daughters put it... "I can build a castle in the backyard now (we have over 2 acres). See how they have no boundaries?<br />
<br />
We went on to talk more about how it could be used, very excitedly I might add.<br />
<br />
My oldest daughter asked "do you think I could design dresses for my sisters and see what they look like on them before I make them?"<br />
<br />
Another daughter thought about her drama class and everyone having a HoloLens and being able to see their stage design and practice on the stage before it was even built.<br />
<br />
My 15 yo son being a recent Star Trek fan (yes he watched all the seasons on Netflix... from the beginning) saw the possibility of Holodeck like experience but was quick to point out that the Holodeck can create real objects you can interact with... and not holograms.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiliIQqKZICOnYypCWgfAiiqC4kngjFQAf4QWxq34Fy5mZpLQuE14NaTeUxf9Zh28WHr0QlVI4Omx0yM5uwRan95TrM3xywevMyN0a0eYZg0xlWxUVhMjqShkRJ4y3fah0sXGoTPt_laYRW/s1600/holodeck.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiliIQqKZICOnYypCWgfAiiqC4kngjFQAf4QWxq34Fy5mZpLQuE14NaTeUxf9Zh28WHr0QlVI4Omx0yM5uwRan95TrM3xywevMyN0a0eYZg0xlWxUVhMjqShkRJ4y3fah0sXGoTPt_laYRW/s1600/holodeck.png" height="194" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
But listening about my kids and their ideas about the HoloLens isn't why you pulled up my blog (although that may get me more visits)... </div>
<br />
<br />
<span style="font-size: large;"><b>Unified Communications and the HoloLens</b></span><br />
<br />
When I saw HoloLens for the first time during the <a href="http://news.microsoft.com/windows10story/" target="_blank">Windows 10 news briefing</a> my mind was going crazy with what this means for Unified Communications. I think for many of us, we've been waiting for the "what is next" for Unified Communications and I believe HoloLens is it. Obviously Microsoft already sees it as a communications tool because they showed clips of it being used as such.<br />
<br />
A woman walking through an office environment having a video conversation with a colleague who mentions uploading a file to OneDrive, then I assume what he uploaded becomes viewable to her instantly.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBFxf5ni7mQuFTwXrh74QWTg4Evybe4emegvWs1iGFsVF2iFio3Va5JngiIe1n_d5zR2-lPmXVJ7dslTkivtkCqQyTjkbgtMglXDSbbK0Qgybr9tdbAU6jnoXHJWGYvgHAFlauCGvvsf0f/s1600/skypecall.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBFxf5ni7mQuFTwXrh74QWTg4Evybe4emegvWs1iGFsVF2iFio3Va5JngiIe1n_d5zR2-lPmXVJ7dslTkivtkCqQyTjkbgtMglXDSbbK0Qgybr9tdbAU6jnoXHJWGYvgHAFlauCGvvsf0f/s1600/skypecall.jpg" height="240" width="320" /></a></div>
<br />
<br />
<br />
In another demonstration a woman is trying to fix a drain and again is having a video conversation, but now the person on the other end can draw indicators as to what to do that become holograms for the woman in her real life view.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp0E0fyJRbpheThyp3WrXW7hCDBUCP0bkUPRYSurmD6j0S4r4CpI8WbPIyw7SW1ODBwNCq9f_lfBtzASafHsRwbMT4bC4oQSAAYuEYroX4HN1dj4T08NwJMHYovvbetOKBh1ByfV7urasX/s1600/sink.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp0E0fyJRbpheThyp3WrXW7hCDBUCP0bkUPRYSurmD6j0S4r4CpI8WbPIyw7SW1ODBwNCq9f_lfBtzASafHsRwbMT4bC4oQSAAYuEYroX4HN1dj4T08NwJMHYovvbetOKBh1ByfV7urasX/s1600/sink.png" height="215" width="320" /></a></div>
<br />
<br />
In another view we see two people interacting with the surface of the planet Mars and the other person is represented as an avatar. They are both collaborating with the surface of Mars and indicating where they want to do the work.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyB6knIs_T_V9NT57HGonNkHjDshky2Ei-ibj5cl1In4xGWOc1v6E4lGMw0RMsTWbjLO6ci6_2D4dD4jDjQac8po3KGpLQYeyp82M4HHrWqSS25_SQF2o0nvwXmAjtLbyoNmF8EGvle0_h/s1600/mars.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyB6knIs_T_V9NT57HGonNkHjDshky2Ei-ibj5cl1In4xGWOc1v6E4lGMw0RMsTWbjLO6ci6_2D4dD4jDjQac8po3KGpLQYeyp82M4HHrWqSS25_SQF2o0nvwXmAjtLbyoNmF8EGvle0_h/s1600/mars.PNG" height="222" width="320" /></a></div>
<br />
<br />
We already know that Skype and Lync are sharing a lot of technologies, and the next version of Lync will be called Skype for Business. We also know that Microsoft is creating an Enterprise version of the HoloLens. So I think it is safe to assume that anything that the HoloLens can do with Consumer Skype will apply to Skype for Business. <br />
<br />
<b><span style="font-size: large;">HoloLens and the Skype for Business Call Center</span></b><br />
<br />
One of the more exciting things that popped in my mind was a Consumer Skype calling a Skype for Business Call Center using HoloLens. Think about product support where it is really hard to describe your problem and even harder to tell someone the solution (like installing a light switch). How amazing would it be to see the problem, and then to be able to instruct using holograms as to what to change to fix the issue.<br />
<br />
Obviously this could be killer for Help Desk applications, especially hardware issues. But I think more importantly, this would be a key use of the Skype-Lync Federation that Microsoft has been building on and recently added the ability to do Video. Consumer to Business communications is clearly something Microsoft has been trying to crack for a long time.<br />
<br />
<span style="font-size: large;"><b>HoloLens and Skype for Business Meetings</b></span><br />
<br />
I have a couple different visions for how it could be used.<br />
<br />
First of all if we want to take the notion of how meetings are today in the Lync product, I can easily see being able to put different pieces of content/modalities all around your office, on different walls, floating in space in front of you. You won't be limited to the real estate of the computer screens to display all the different modalities. I think it would be really cool to move things around like minority report. Maybe if you want to upload a file from your PC, you look at it and then everything you've uploaded to OneDrive from that PC appears as an option. You literally grab the file using your hands and drag it over to the meeting.<br />
<br />
I can also see meeting rooms setup to hold meetings where avatars represented by holograms appear in seats and the content appears in various places around the room. When someone speaks, the audio appears to come from that direction. With the ability for people to indicate with holograms what they are talking about, suddenly the whiteboard we have today, can become so much more. What happens when a Visio diagram becomes 3D (because at some point it will be a Universal App right?) and now we can interact with each the elements as holographic objects.<br />
<br />
Take the last example and lets take it into a Holodeck style room. Now a real estate company can visualize a map of an area and have all the participants again represented by avatars. But now they can collaborate on which areas to focus and maybe even overlay what their new development could look like. Maybe instead they take a walk through of a new building that an architect rendered for them even before it is built.<br />
<br />
<b style="font-size: x-large;">Conclusion</b><br />
<br />
In my mind, Microsoft has quite a bit of work to do to enable this type of collaboration. We need a new type of media and SDP application type. Skype clients have to be written for the HoloLens that not only can talk to Consumer Skype, but also Skype for Business. That client also needs to be aware of the PC client as well, because along with HoloLens type data, there will no doubt be the need to share Desktops, PPTs, and other more traditional content. There will be privacy issues that will need to be addressed, because now with a device like this, it will be hard for people to know when they are on camera or not... or even more important when they are being recorded.<br />
<br />
Finally I think it would be stupid to not assume that every Unified Communications manufacturer is now starting to brain storm what HoloLens means for them. This is after all a device based on Windows 10 and has an API that they can leverage the same as Microsoft can. Obviously Microsoft has an advantage when developing for their own platform, but none of what I've written here is strictly something that only Microsoft can accomplish.<br />
<br />
I'm excited for what the future holds with this new Holographic computing.Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com1tag:blogger.com,1999:blog-4895679265618109180.post-60860509139278903032015-01-20T11:00:00.000-07:002015-01-20T11:02:04.310-07:00Gotcha with AudioCodes 2013 SBA PatchingSo I happened upon on interesting tidbit of information while patching an AudioCodes SBA today. Unfortunately I was trying to fix a customer issue so I didn't take the time to do screen shots... I'll try to update in the future with a set of screen shots, but hopefully the words will be enough for now.<br />
<div>
<br /></div>
<div>
It used to be on Lync 2010 SBA with AudioCodes they wanted you to patch only by the web interface, I never understood why we couldn't just run the LyncServerUpdateInstaller.exe on the desktop and be done, but like a good installer I know when to push limits and patching ain't one of them. In order to do this you had to extract out 4 patches, which matched up to the components listed in the screenshot below. The screenshot is from a 2013 system, but the 2010 system looks similar. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOZMNGn6k4mOQMM_dLHT6EzbvMrjs1D_NWjriPwsSNqi-uAFCsgdX-598XhSNAiLa9mz7AuiKXmRw-moIddKTjFwo24FyYbfzjru9cBM9zYgGkcSDmdxiCYpfkHb5GInEw-PAnLKRYjgMV/s1600/AudioCodesPatchVersion.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOZMNGn6k4mOQMM_dLHT6EzbvMrjs1D_NWjriPwsSNqi-uAFCsgdX-598XhSNAiLa9mz7AuiKXmRw-moIddKTjFwo24FyYbfzjru9cBM9zYgGkcSDmdxiCYpfkHb5GInEw-PAnLKRYjgMV/s1600/AudioCodesPatchVersion.PNG" height="168" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Fast forward to 2013 SBA and I dutifully patched all the components listed. However, I happened to run the LyncServerUpdateInstaller.exe just to check and low and behold the Windows Fabric component still needed to be updated. With a big sigh... I got that .msp file and uploaded via the web interface and it said the update completed successfully... Sweet!</div>
<div>
<br /></div>
<div>
Wait... lets check the LyncServerUpdateInstaller.exe file again... nope not updated. "Oh wait" I said to myself in my head... I think it needs a reboot. One reboot later... still not updated.</div>
<div>
<br /></div>
<div>
I finally ran the LyncServerUpdateInstaller.exe and kicked off the update from there... which did require a reboot and low and behold it is now updated.</div>
<div>
<br /></div>
<div>
So with this new found knowledge I decided to go pull down the latest <a href="http://www.audiocodes.com/filehandler.ashx?fileid=4895913" target="_blank">AudioCodes 2013 SBA Update Product Notice</a> from AudioCodes related to updates and guess what? RDP patching is now one of the methods specifically called out. Also of note in that PDF, when you are patching via the web method there is zero mention of the Fabric Update. </div>
<div>
<br /></div>
<div>
I also did check the latest <a href="http://www.audiocodes.com/filehandler.ashx?fileid=3848068" target="_blank">AudioCodes 2010 SBA Update Product Notice</a> and it allows RDP update too...</div>
<div>
<br /></div>
<div>
But here is the morale of the story for Lync 2013 SBA, patch only via RDP interface for AudioCodes to get all the updates on the box.</div>
<div>
<br /></div>
<div>
You may or may not be able to apply this knowledge to Sonus. Feel free to give feedback if you have experience in that area.</div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com1tag:blogger.com,1999:blog-4895679265618109180.post-22438474310157964382015-01-13T08:23:00.000-07:002015-01-13T11:52:21.082-07:00AudioCodes Configuration LogicI've been working with AudioCodes products since the early 2000s. My first encounter was a couple of Mediant 2000s with 16 PRIs each. The configuration of those boxes for the most part was handled by following a document provided by Nortel. The funny thing is that most of the documentation over the years that has really helped has been solution specific guides done by a product manufacturer so that Audiocodes can work with their product.<br />
<br />
The problem with Audiocodes is that its capabilities are so diverse and flexible that writing a single document that actually helps you through your specific configuration is nearly impossible. Years ago, you could actually download ready made configurations depending on what your PRI connection it was and you would be 99% there. Fast forward to today and configurations aren't that simple anymore.<br />
<br />
The number one complaint I hear about Audiocodes is that it is so hard to configure and other products are ready to go in minutes. While I can't create any fancy wizards for Audiocodes configs, I can try to help people understand key parts of the AudioCodes configuration process so that the product is not as frustrating.<br />
<br />
<b><span style="font-size: large;">Global vs Profiles</span></b><br />
<br />
One of the big concepts to get with Audiocodes is that there are many parameters that can be set at a Global Level and then overridden by a profile that applies to that feature. Profiles are useful for changing the behavior of communications to a particular system. For instance, if one system supports Early Media, but another does not, with Profiles you can adjust the signalling for each system. This applies not only to the IP side of the gateway, but also the TDM side if applicable.<br />
<br />
Another key concept with profiles is where you can have them applied. Some profiles, like IP Profile can be chosen in several different areas, which I think adds to the confusion on configuration sometimes. For example if I am using an IP Group, I can specify not only a Proxy Set, but also an associated IP Profile. If I'm not using IP Group but instead specifying a single target IP in the routing area, again I can specify an IP Profile on the route itself.<br />
<br />
As a best practice, I always use profiles to control the various different features for each system, even if they need similar settings, they each get their own profiles so I can adjust individual settings in the future.<br />
<br />
Before I go any further I need to mention a couple of basics. First of all, when looking at the menu's I always recommend changing to the the Advanced or Full view depending on the system you are looking at.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcdJXfSC_kaM7oSuzrpSt6R6oZqrHfjj1VPkIrYafq-vPpz0veYw7xzNyzuI95GeoeY00fkGydW6OJcU5ULFexgBrL9F29eLDklJhhnaiGasHecP1ufKueilk1UihEmOySUsGrUEO5NgpU/s1600/FullMenu.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcdJXfSC_kaM7oSuzrpSt6R6oZqrHfjj1VPkIrYafq-vPpz0veYw7xzNyzuI95GeoeY00fkGydW6OJcU5ULFexgBrL9F29eLDklJhhnaiGasHecP1ufKueilk1UihEmOySUsGrUEO5NgpU/s1600/FullMenu.PNG" height="190" width="200" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUn3GECYshsa7hAoT3T1rOq_KK-7o2oapYON-7DdbNrLbNasbGN1erGbnAr9XVcOVaORscknNW2Zka0ByLFg0UIUM9QEZi9cyvLcb4hlr7joQlP6vsAyZIl5upLcIt1jPwxta7hDa876rg/s1600/AdvancedMenu.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUn3GECYshsa7hAoT3T1rOq_KK-7o2oapYON-7DdbNrLbNasbGN1erGbnAr9XVcOVaORscknNW2Zka0ByLFg0UIUM9QEZi9cyvLcb4hlr7joQlP6vsAyZIl5upLcIt1jPwxta7hDa876rg/s1600/AdvancedMenu.PNG" height="167" width="200" /></a></div>
<br />
Also, whenever you hit "Submit" the change takes effect immediately unless the system tells you it needs a reset. However, if the system has a power loss and you have not hit "Burn" then the changes are not saved permanently to the configuration. It is a good habit to burn frequently. It only takes once of having to redo your configuration to learn the lesson.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4LutxmyK7ZRAbgy6ypzm8ZbURpNo55jTSzqbB5sVPx1AaqHIItZu0oUU5q8bGzk-Fbp9az5njMkHjpfZhOMbMn10z34OOytM5memaDRXGh6Dz9gPBIw03NsRRljsAYj57z6K76szxb31K/s1600/Burn.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4LutxmyK7ZRAbgy6ypzm8ZbURpNo55jTSzqbB5sVPx1AaqHIItZu0oUU5q8bGzk-Fbp9az5njMkHjpfZhOMbMn10z34OOytM5memaDRXGh6Dz9gPBIw03NsRRljsAYj57z6K76szxb31K/s1600/Burn.PNG" height="32" width="320" /></a></div>
<br />
I also highly recommend doing backups of the configuration. Which can be done manually or you can use my <a href="http://blog.ucomsgeek.com/2013/08/script-to-backup-audiocodes-gateways.html" target="_blank">PowerShell script</a> to do the backup<br />
<br />
<br />
<br />
<b><span style="font-size: large;">IP Groups</span></b><br />
<br />
IP Groups are awesome because they pull together several different key pieces to communicating with other SIP systems. I use IP Groups primarily because I can specify a Proxy Set which allows for me to specify multiple IP addresses or DNS names for the system to send SIP signalling to, but I can also specify an IP Profile to be used too. This is key if you have multiple servers you need to communicate with that act as a pool or cluster.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcwoldf34p8lfAH3sPVYlD4CHCAA2EbASfTnnGLbjWHWF34AdpvtxvBOxGF39cO_DDEawZzjRP6y18AhbyP1YgOdzMHJdkhWQKQvg_RCJzC8U7gfgkD7C2bHE5IJqAIV-e7xgEtI36U37V/s1600/IPGroupMenu.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcwoldf34p8lfAH3sPVYlD4CHCAA2EbASfTnnGLbjWHWF34AdpvtxvBOxGF39cO_DDEawZzjRP6y18AhbyP1YgOdzMHJdkhWQKQvg_RCJzC8U7gfgkD7C2bHE5IJqAIV-e7xgEtI36U37V/s1600/IPGroupMenu.PNG" height="190" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Below you can see where we specify a proxy set (identified by a number) and the IP Profile as well. One thing to keep in mind is that you have to specify a SIP Group Name which ends up being the portion after the "@" in a SIP URI. The AudioCodes gateway/SBC doesn't really care what you put in here, but the far end system might. In the example I used the IP address configured on the AudioCodes network interface that communicates with that system. The network interface used is controlled by the SRD and Media Realm specified. If you have a system that uses a single IP, SRD and Media Realms is not used.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgweivy9sK3TBNywUu1kklCCuEj8Bm0oPzBY_61niuYQXeh5I5SXUKqEyGkjociKNBfkvnGKv0lD3GcAIfpu3E4Rak0XA0a6OVr8XyyZ7IAhy1s5k2KeVcMKSb9Ow97n8B2p9xyQbdtdiBV/s1600/IPGroupCommon.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgweivy9sK3TBNywUu1kklCCuEj8Bm0oPzBY_61niuYQXeh5I5SXUKqEyGkjociKNBfkvnGKv0lD3GcAIfpu3E4Rak0XA0a6OVr8XyyZ7IAhy1s5k2KeVcMKSb9Ow97n8B2p9xyQbdtdiBV/s1600/IPGroupCommon.PNG" height="253" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In the example below this is an SBC Enabled Mediant, so the SBC settings are exposed in the IP Group. Below are the defaults, which are fine most of the time, but if you needed to do some message manipulations for this IP Group this is where it would be specified.</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSfspLS6BBQICG8UzotpORLEZjEzwDh9GiC_rj4EWqxuG4F8uC47DCLdTR-m0KZy_pV2zbZduGxjLvNfgVWv4O6f2EC5-d4q3Vn1GwD5NKgoX7XcVKkk6W0aGqBrS3Bi2hIhKesRYtXJ9A/s1600/IPGroupSBC.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSfspLS6BBQICG8UzotpORLEZjEzwDh9GiC_rj4EWqxuG4F8uC47DCLdTR-m0KZy_pV2zbZduGxjLvNfgVWv4O6f2EC5-d4q3Vn1GwD5NKgoX7XcVKkk6W0aGqBrS3Bi2hIhKesRYtXJ9A/s1600/IPGroupSBC.PNG" height="259" width="320" /></a></div>
<br />
<br />
<b><span style="font-size: large;">IP Profiles</span></b><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
As mentioned before, IP Profiles control much of the SIP signalling and allow for adjustment per system we are communicating with.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQPlJrFQ_se3P4MpShwihwOW-ag5JaNJx6nfmSXga42RkGWE7zqOM5pcKSlWNUCZahShCzMOEfmh42yAZ5RB163z1V9PaCWkZh3X3KlQenEwmxLhRFtjVMMGdxARSdKaNh3EAYT1Qqf-xW/s1600/IPProfileMenu.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQPlJrFQ_se3P4MpShwihwOW-ag5JaNJx6nfmSXga42RkGWE7zqOM5pcKSlWNUCZahShCzMOEfmh42yAZ5RB163z1V9PaCWkZh3X3KlQenEwmxLhRFtjVMMGdxARSdKaNh3EAYT1Qqf-xW/s1600/IPProfileMenu.PNG" height="195" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I think many of the parameters are self explanatory, and if not the documentation can help understand what each of these parameters do. Most of the really good stuff in the example I've provided is in the SBC section below. If you have a TDM based gateway there options are different but many are similar.</div>
<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/AVvXsEhwDbT5zuUuHCFJz2uTSqkd7xuZbK-hyCwxqoGP8G_pFfFerutjYL5mnqDAroE8qrNYv9mUBHaYcg0x61q63IW6vBSw_jKk34DaFevit_PZEdP9Z73kvWGmETkPk2kyi_UNDW4oxMN3D6xS/s1600/IPProfileCommon.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwDbT5zuUuHCFJz2uTSqkd7xuZbK-hyCwxqoGP8G_pFfFerutjYL5mnqDAroE8qrNYv9mUBHaYcg0x61q63IW6vBSw_jKk34DaFevit_PZEdP9Z73kvWGmETkPk2kyi_UNDW4oxMN3D6xS/s1600/IPProfileCommon.PNG" height="267" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The SBC area of the IP Profile is really one of the key aspects of SIP Signalling and truly is what makes an SBC a Back to Back User Agent and allows for the adjustment of signalling between disparate systems. As an example, one of the latest items I've had to adjust was the hold format to Intelepeer SIP Trunk that did not like the hold format Lync used. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Because this was an SBC Application enabled configuration, I could accept the hold format from Lync and send a different hold format to Intelepeer. Another piece that can be useful is controlling the REFER behavior, which sometimes has to be set to Handle Locally to keep disparate systems happy that don't understand REFER.</div>
<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/AVvXsEjTbYkIs6UPxBEgjPewTBE6EPVSgMZV-UffwoycM-ZQY4Nvmawq0mn-cmDAQ2ETRRo7rCl51MJPqmB_5ycBQMTG4kz-P5KKrw_pMYfut9VA6GKtIRZsgdBdVdYKR_8CPGT7mFyosrw42Yb1/s1600/IPProfileSBC1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTbYkIs6UPxBEgjPewTBE6EPVSgMZV-UffwoycM-ZQY4Nvmawq0mn-cmDAQ2ETRRo7rCl51MJPqmB_5ycBQMTG4kz-P5KKrw_pMYfut9VA6GKtIRZsgdBdVdYKR_8CPGT7mFyosrw42Yb1/s1600/IPProfileSBC1.PNG" height="236" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh62FXOezOnQkmm700ez_8kHDDtwpz-yUY1z83FdR1SAJ_MYjC0ktYBM1Ss_Fe0YdRAj6catcE9dlNmGmLhjI5Y3wSqrY6xRa6HDk85TN9l75aw4QDWi0YIRpqqztxPsjNn_B7UXa4qNUaF/s1600/IPProfileSBC2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh62FXOezOnQkmm700ez_8kHDDtwpz-yUY1z83FdR1SAJ_MYjC0ktYBM1Ss_Fe0YdRAj6catcE9dlNmGmLhjI5Y3wSqrY6xRa6HDk85TN9l75aw4QDWi0YIRpqqztxPsjNn_B7UXa4qNUaF/s1600/IPProfileSBC2.PNG" height="232" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<span style="font-size: large;"><b>Coder Group</b></span><br />
<br />
Coder Groups are pretty basic allowing you to specify a codec list and features (such as silence suppression) to be used when specified in an IP Profile above. If you have ever heard of transcoding between different codecs, this is where that magic happens for AudioCodes. You can specify G.711 for one IP Group and IP Profile and then specify G.729 in a different IP Group and IP Profile combination.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI_inUmFdueOHI6vizMSJ_g4275SbcELCmNemlVhpTRrVZltitErlDoT942UorTp7UKBOoGsLZzj8hB0eG32G1Nv6nyb5j0QI5k3z0zQPv0_ekhsbw28EehqHBbEOqrwRfDmZ4qSsfVep-/s1600/CoderGroupMenu.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI_inUmFdueOHI6vizMSJ_g4275SbcELCmNemlVhpTRrVZltitErlDoT942UorTp7UKBOoGsLZzj8hB0eG32G1Nv6nyb5j0QI5k3z0zQPv0_ekhsbw28EehqHBbEOqrwRfDmZ4qSsfVep-/s1600/CoderGroupMenu.PNG" height="180" width="320" /></a></div>
<br />
<b><span style="font-size: large;">Tel Profile</span></b><br />
<br />
This is taken from a TDM based system and not the same as the examples above from an SBC. I wanted to talk a bit about Tel Profiles because I've found having a different one for each one of your TDM lines is crucial. Tel Profile for each TDM trunk is specified in the Hunt Group area when you define what your different ports are doing.<br />
<br />
Why?<br />
<br />
Couple of features... Echo and Analog DID.<br />
<br />
Controlling the volume is key for solving echo issues. Other than misconfigured microphones, the number one cause of echo issues is volume being too loud. Being able to control volume from PSTN (Input Gain) and to the PSTN (Voice Volume) for those lines that are too loud is the key feature that helps address the issue. Why is this? Because when the volume is too loud the reflected audio back from the far end isn't detected by the echo canceler and allowed to pass through as normal audio. If you wanted to see this for yourself, increase the volume to the PSTN to the point where it causes echo.<br />
<br />
Also, if you have the unfortunate luck to encounter a site with Analog DID then Polarity Reversal and Enable DID Wink are key features in the Tel Profile you will need to enable on a per port basis.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfieez6NbKj7px7uBgsjrrJr5SDXYWh-EORR-GJIIsHb5F1VDJSj7-TCJOs3HLOq6x7gren0muSuwVAEhaUKtWdEMionJ2KqtoGIKcbFU6ScKH-_gR_WbJxIAoSiW-xDX4pCQ7L7EypRR1/s1600/TelProfileMenu.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfieez6NbKj7px7uBgsjrrJr5SDXYWh-EORR-GJIIsHb5F1VDJSj7-TCJOs3HLOq6x7gren0muSuwVAEhaUKtWdEMionJ2KqtoGIKcbFU6ScKH-_gR_WbJxIAoSiW-xDX4pCQ7L7EypRR1/s1600/TelProfileMenu.PNG" height="200" width="320" /></a></div>
<br />
<br />
<b><span style="font-size: large;">VoIP Routing</span></b><br />
<br />
One of the more confusing aspects of the AudioCodes configuration is VoIP routing (non SBC Application). The key is to make note of where the communications is coming from. This determines which of two routing tables you will hit. If the call is starting from the TDM/PSTN world, then you will hit the Tel to IP routing table. If you are starting from another SIP system or SIP Trunk then you will hit the IP to Tel routing table.<br />
<br />
Sometimes, it is necessary to route from PSTN to an Analog port and in order to accomplish this you have to route the call to the gateway itself. The first line below is an example of that. Once you do this you will now hit the IP to Tel routing table which allows to routing to a Hunt Group (which in turn was assigned an Analog port).<br />
<br />
Conversely, if you start in from another SIP system and you need to route to another SIP system through the Audiocodes, the call would hit the IP to Tel routing table first. The key to routing to the Tel to IP routing table going this direction is sending it to Hunt Group "-1". This technique may be necessary if you need to route analogs from MediaPack to MediaPack and want to keep it entirely in the AudioCodes world.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxuJKhGZ7mg_OcryQm0gLCqbTWIwzE4M3qqkeDxBPpxqB9BU9lemEiAVNAiGsx9sMzb3ZGAy692ZhYOvIMDM8h7KDdTo9WFuMZc7UWTCKhj2btTEVr8XVCRwmkxe8OmTUT9W1NmopGq8Q1/s1600/Tel2IP.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxuJKhGZ7mg_OcryQm0gLCqbTWIwzE4M3qqkeDxBPpxqB9BU9lemEiAVNAiGsx9sMzb3ZGAy692ZhYOvIMDM8h7KDdTo9WFuMZc7UWTCKhj2btTEVr8XVCRwmkxe8OmTUT9W1NmopGq8Q1/s1600/Tel2IP.PNG" height="192" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfccocTdmlFFH7isaJs9khiGeDP_mx6bq_xPynBfjcIRVINDMD0MnhFtvxfoWHTZN6LRqHSzJIcQv0jgVhfmMt93H9gXNA3Q_cGUgQ04yjyJfSENpC1ftAHvH0V0O1uOUCPT5vm7vF4dOm/s1600/IP2Tel.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfccocTdmlFFH7isaJs9khiGeDP_mx6bq_xPynBfjcIRVINDMD0MnhFtvxfoWHTZN6LRqHSzJIcQv0jgVhfmMt93H9gXNA3Q_cGUgQ04yjyJfSENpC1ftAHvH0V0O1uOUCPT5vm7vF4dOm/s1600/IP2Tel.PNG" height="193" width="320" /></a></div>
<br />
One other thing that almost always comes up is manipulation of numbers either Destination (Called) or Source (Calling). In the screenshots above the setting is to Route before Manipulation. This is my preferred method, but it is important before you start manipulating to understand if the manipulation will occur before or after routing. This will determine which numbers you put in your routing tables.<br />
<br />
Now that I've mentioned this, I try very very hard not to do any manipulations in the gateway/SBC. I prefer to do all this in Lync. Sometimes there is no way around it, especially if you need to deal with manipulations when doing Fax or other analog solutions.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWb6Co80GHcTnkOHX0y5MI5OGu89wD8P81DWgJt1N9q657gH0IPmK_jY-jGeIJh89l1rF1B1EDf74V4Hf6MNFBxE26yaiUpqujWg_e2OoN1KLd5gt3YXVBipRC5D4OIlDCUZjkxbhZKVnL/s1600/DestIP2Tel.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWb6Co80GHcTnkOHX0y5MI5OGu89wD8P81DWgJt1N9q657gH0IPmK_jY-jGeIJh89l1rF1B1EDf74V4Hf6MNFBxE26yaiUpqujWg_e2OoN1KLd5gt3YXVBipRC5D4OIlDCUZjkxbhZKVnL/s1600/DestIP2Tel.PNG" height="199" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglM5EXynZRf8GD2c-ppQYwhJFT3NRI8G11ZUL-aRx6b6cRd-IAq-KJ8WwkkcEo9gVi9tjYJQ3exEJR_Rxcg8UT5AMeH_6amDhp90Av-EbSBNzuRffYjeAjafXyyik7InFNxRcyZv423PVs/s1600/DestTel2IP.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglM5EXynZRf8GD2c-ppQYwhJFT3NRI8G11ZUL-aRx6b6cRd-IAq-KJ8WwkkcEo9gVi9tjYJQ3exEJR_Rxcg8UT5AMeH_6amDhp90Av-EbSBNzuRffYjeAjafXyyik7InFNxRcyZv423PVs/s1600/DestTel2IP.PNG" height="194" width="320" /></a></div>
<br />
<span style="font-size: large;"><b>Dialing Plan Notations for Prefixes and Suffixes </b></span><br />
<br />
AudioCodes is not nearly as flexible as <a href="http://blog.ucomsgeek.com/2011/09/ocs-lync-server-normalization-rule.html" target="_blank">RegEx</a> when it comes to number matching, but it isn't terrible if you know what you are doing. Below is from the AudioCodes documentation.<br />
<br />
The dialing plan notation applies to the Number Manipulation tables, 'Tel to IP Routing' table and 'IP to Trunk Group Routing'. The dialing notation applies to digits entered for the destination and source prefixes to represent multiple numbers.<br />
<br />
[n-m] Represents a range of numbers. <span style="color: red;">Note: Range of letters is not supported. </span><br />
Example [5551200-5551300]#: represents all numbers from 5551200 to 5551300. 123[100-200]#: represents all numbers from 123100 to 123200.<br />
<br />
[n,m,...] Represents multiple numbers. Up to three digits can be used to denote each number.<br />
[2,3,4,5,6]#: represents a one-digit number that starts with 2, 3, 4, 5, or 6. [11,22,33]xxx#: represents a five-digit number that starts 11, 22, or 33.<br />
[111,222]xxx#: represents a six-digit number that starts 111 or 222.<br />
<br />
x Represents any single digit. 54324: represents any number that starts with 54324.<br />
<br />
Pound sign (#) at the end of a number Represents the end of a number. 54324xx#: represents a 7-digit number that starts with 54324.<br />
<br />
A single asterisk (*) Represents any number. *: represents any number (i.e., all numbers).<br />
<br />
<b><span style="font-size: large;">Conclusion</span></b><br />
<br />
Give me some feedback on whether this hit the mark or not. I have a lot of information about AudioCodes up in my head and like the people that write the documentation, it is difficult to get it into a usable format for a wide audience.Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com21tag:blogger.com,1999:blog-4895679265618109180.post-20668514550596386012014-09-30T08:03:00.002-06:002015-02-19T14:56:39.682-07:00Failed Lync Server 2013 Prerequisites on Server 2012/2012 R2This issue has caused me grief on several servers this week and I finally figured it out... so now you benefit.<br />
<div>
<br /></div>
<div>
If you wait to install your Prerequisites after you run Windows Update on Server 2012/2012 R2 you will get an error</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW_e8P84opQzNHzKs8ZOlDvP2WseRyFBJJVTMQwwh0coJljYIbu6G-DToYqhP7zPHlSN-335F5QTb68ye4W5EBxaRGvPAufoYvavdvaF2p9L8gGYzZAilOILq5B3FeJS31Zcp8rdEzrREX/s1600/prereqfail.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW_e8P84opQzNHzKs8ZOlDvP2WseRyFBJJVTMQwwh0coJljYIbu6G-DToYqhP7zPHlSN-335F5QTb68ye4W5EBxaRGvPAufoYvavdvaF2p9L8gGYzZAilOILq5B3FeJS31Zcp8rdEzrREX/s1600/prereqfail.jpg" height="115" width="320" /></a></div>
<div>
<br /></div>
<div>
I really doesn't matter what you specify as you "Source" the Prerequisites Powershell command we all love will fail.</div>
<div>
<br /></div>
<div>
So if you do searches you will come across others having this issue. They solved it by running.</div>
<div>
<br /></div>
<div>
<strong> dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess</strong></div>
<div>
<strong><br /></strong></div>
<div>
Which would help... but there is one last key piece of information I'll give you... which is the point of this blog because I found the answer in a comment on an obscure blog post.</div>
<div>
<br /></div>
<div>
If <a href="http://support2.microsoft.com/kb/2966827" target="_blank">KB2966827 </a>or its brother <a href="http://support2.microsoft.com/kb/2966828" target="_blank">KB2966828 </a>are installed the dism command will fail to install about 67% of the way in.</div>
<div>
<br /></div>
<div>
Not surprisingly the work around is to uninstall either of those two KBs... or to do your Prerequisites before you run Windows Update.<br />
<br />
<span style="color: red;">Update: Couple of things, Microsoft provided another update <a href="https://support.microsoft.com/kb/3005628" target="_blank">KB3005628</a> that will supposedly go in and take care of the issue, so you don't have to uninstall the above KBs. </span><br />
<span style="color: red;"><br /></span>
<span style="color: red;">However, I never got around to testing it because it seems like as of now, a fully patched 2012 R2 box only needs the dism command above executed against a mounted ISO (or burned DVD). IT WILL NOT WORK pointed to c:\Windows\WinSXS directory. I do not know if this is the case with Server 2012 (R1). But hopefully there is enough in this blog post for you to work through it if you find yourself in that predicament.</span></div>
<div>
<br /></div>
<div>
There you go... my pain is your gain. Enjoy.</div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com0tag:blogger.com,1999:blog-4895679265618109180.post-81022594387419447292014-08-21T15:39:00.005-06:002014-08-22T09:25:48.602-06:00So... you want to be a Lync ArchitectFor at least a couple years now my employer has been on a constant search for talent to deploy Microsoft Lync and the components that are part of that ecosystem. But it is getting harder to find guys that will fit in with the company culture and have a good set of fundamental skills (or phenomenal skills if we get lucky).<br />
<br />
So I thought I'd write a post, from my perspective, about what some of the skills are that it takes to work as a consultant in this Microsoft Unified Communications world. Engineers and Architects that can do this type of work WELL are a rare find. They posses knowledge from multiple disciplines (data, voice, server apps, security etc) and combine them all to help a customer deploy a solution that fits their needs. My hope is that this will finally convince some people that are on the fence to jump in (and increase the pool of talent).<br />
<br />
... and no you don't have to be an Architect to jump in, you can start out being an Engineer or working the support desk. You can learn as you go.<br />
<br />
<b><br /></b>
<b>The Hard Skills</b><br />
<br />
Here is the bottom line... the more of these the better.<br />
<br />
The more of these you are excellent at... the better consultant or support engineer you'll be for your customer.<br />
<br />
Nobody... Nobody will be an expert at all of these. But sometimes the secret is knowing others that are experts in that area... or knowing where/how to find the answers.<br />
<br />
If you are weak in most these areas... no problem... go buy a computer, create a lab of your own and pick something and start to learn. With Microsoft based software there is usually no lack of freely available knowledge you can learn from and there are certainly plenty of books out there on all of these topics. Don't expect you will learn all of this in two weeks. I've been gathering knowledge for as far back as 20+ years and that knowledge still applies to what I do today. But everyone has to start somewhere.<br />
<br />
Here is the list that I've come up with...<br />
<ul>
<li>Active Directory</li>
<li>SQL Server</li>
<li>Windows XP/Vista/7/8/8.1 etc</li>
<li>Server 2008 R1/R2 and 2012 R1/R2</li>
<li>Office Communications Server 2007 R1/R2</li>
<li>Lync Server 2010/2013</li>
<li>Exchange 2007/2010/2013</li>
<li>System Center 2007/2012/2012 R2 via <a href="https://twitter.com/fabriziovlp" target="_blank">@fabriziovlp</a></li>
<li>Hyper Visors (Microsoft, VMWare etc) via <a href="https://twitter.com/fabriziovlp" target="_blank">@fabriziovlp</a></li>
<li>Virtual Desktop Infrastructure (Microsoft, VMWare, Citrix etc)</li>
<li>PowerShell</li>
<li>.Net Regular Expressions (RegEx)</li>
<li>Private Key Infrastructure/Certificates</li>
<li>Layer 2 Networking (Switched)</li>
<li>Layer 3 Networking (Routed)</li>
<li>IPv4</li>
<li>IPv6</li>
<li>TCP/IP</li>
<li>Quality of Service</li>
<li>Firewalls</li>
<li>Network Sniffer (Wireshark, Message Analyzer)</li>
<li>SIP</li>
<li>Audio Codecs (G.711 etc)</li>
<li>HTTP/HTTPS</li>
<li>ISDN PRI and the associated protocols/capabilities</li>
<li>T-1 (Telephony based digital circuit)</li>
<li>DS-1/DS-3 (Data based digital circuit)</li>
<li>Frame Relay</li>
<li>Avaya Blue (Nortel)</li>
<li>Avaya Red (Traditional Avaya)</li>
<li>Cisco Unified Call Manager</li>
<li>Mitel</li>
<li>Inter-tel (owned by Mitel now)</li>
<li>Shoretel</li>
<li>PBX Dial Plans</li>
<li>PBX Features</li>
<li>Analog device types</li>
<li>Fax and Fax Server</li>
<li>T.38 Codec (for Fax over IP)</li>
<li>Modem (Yes credit card and postage machines still use this)</li>
<li>Gateway/SBC (Sonus, Audiocodes, etc)</li>
</ul>
<div>
<div>
<br /></div>
<div>
<b><br /></b>
<b>The Soft Skills</b></div>
<div>
<ul>
<li>Good listening skills</li>
<li>Good presentation skills</li>
<li>Good communications skills (verbal and written)</li>
<li>Patience</li>
<li>Attitude toward constant learning</li>
<li>Self starter</li>
<li>Working alone</li>
<li>Working in teams</li>
<li>Working with other teams</li>
<li>Juggling lots of tasks/jobs at once</li>
<li>Prioritizing tasks</li>
<li>Bing/Google searching for information</li>
<li>Networking (the people kind)</li>
</ul>
<div>
<b><br /></b>
<b>Getting There...</b></div>
<div>
<br />
This one is all on you. My unique path took me from being a network manager/admin at a University, to working 11 years for Nortel and then combining all that experience into what I do now. Some of this is hard to learn in a lab unless you are loaded with money. </div>
<div>
<br /></div>
<div>
You need to surround yourself with people that know about the skills you need to work on. This is where the networking (the people kind) really comes in handy.<br />
<br />
How do you do this?<br />
<br />
<ul>
<li>Go to local users groups</li>
<li>Go to local conferences. </li>
<li>Go to some industry conferences. </li>
<li>Get on twitter and follow people that tweet about the things you want to learn about. </li>
<li>Get on LinkedIn and make some connections and join some discussion groups. </li>
<li>Read the Technet forums</li>
<li>Read some books</li>
</ul>
</div>
<div>
I'll keep updating this as I think of things... but bottom line is that this stuff isn't easy, but it is something that is able to be learned given enough time and effort.</div>
</div>
</div>
Jonathan McKinneyhttp://www.blogger.com/profile/05276135243139498379noreply@blogger.com6