This document discusses how Exchange Unified Messaging (UM) handles voice mail, Outlook Voice Access (OVA), and auto attendants. It explains the call flows and components involved, including how Skype servers route calls to the appropriate UM servers based on information in Active Directory. Key UM concepts like the diversion header and UM proxies are also covered at a high level.
1/7
Spring 2018
Assignment 3: Chat server
Due on March 27th, 2018, at 10:00pm EDT
1 Overview
For this assignment, you will implement a simple replicated chat server that uses multicast to distribute the
chat messages to the different replicas.
The figure on the right shows a sketch of the system you will build.
There are two kinds of processes: servers (represented by orange
squares) and clients (represented by yellow circles). Each client is
connected to one of the servers, and each server is connected to all the
other servers. The clients and servers can all run on different machines,
or (e.g., for testing) they can all run on the same machine, e.g., in your VM.
The system will provide different chat rooms. Client can join one of the chat rooms
and then post messages, which should be delivered to all the other clients that are
currently in the same chat room. If there was only a single server, this would be easy: the server would
simply send each message it receives to all the clients who are currently in the relevant room. However,
since there can be multiple servers, this simple approach does not work. Instead, the servers will internally
use multicast to deliver the messages.
To make this a little more concrete, consider the following example. In the figure, client D is connected to
server S3. Suppose D joins chat room #3, which already contains A and B, and posts a message there (say,
"Hello"). S3 then multicasts D's message to multicast group #3, so it will be delivered to the other servers.
(All servers are members of all multicast groups.) The servers then forward D's message to all of the clients
that are currently in chat room #3. In this case, S3 will echo it back to D, and S1 will send it to A and B. S2
does not currently have any clients that are in chat room #3, so it ignores the message.
The servers should support three different ordering modes that we studied in class:
• Unordered multicast: Each server delivers the messages to its clients in whatever order the server
happens to receive it;
• FIFO multicast: The messages from a given client C should be delivered to the other clients in the
order they were sent by C; and
• Totally ordered multicast: The messages in a given chat room should be delivered to all the clients
in that room in the same order.
Your implementation should be fully distributed; in other words, there should not be any central
‘sequencing nodes’. All communication, both between clients and servers and among the servers, should
be via unicast UDP (and not using the OS's built-in multicast primitive). You may assume that there is no
message loss, and that the messages between servers and clients are not reordered.
CIS 505: Software Systems
S1 S2
S3
B
C
A
A F
E
D
2/7
2 Specification
2.1 The client
Your first task is to implement a simple chat client. The user should be able to invoke the client from the
command li ...
1/7
Spring 2018
Assignment 3: Chat server
Due on March 27th, 2018, at 10:00pm EDT
1 Overview
For this assignment, you will implement a simple replicated chat server that uses multicast to distribute the
chat messages to the different replicas.
The figure on the right shows a sketch of the system you will build.
There are two kinds of processes: servers (represented by orange
squares) and clients (represented by yellow circles). Each client is
connected to one of the servers, and each server is connected to all the
other servers. The clients and servers can all run on different machines,
or (e.g., for testing) they can all run on the same machine, e.g., in your VM.
The system will provide different chat rooms. Client can join one of the chat rooms
and then post messages, which should be delivered to all the other clients that are
currently in the same chat room. If there was only a single server, this would be easy: the server would
simply send each message it receives to all the clients who are currently in the relevant room. However,
since there can be multiple servers, this simple approach does not work. Instead, the servers will internally
use multicast to deliver the messages.
To make this a little more concrete, consider the following example. In the figure, client D is connected to
server S3. Suppose D joins chat room #3, which already contains A and B, and posts a message there (say,
"Hello"). S3 then multicasts D's message to multicast group #3, so it will be delivered to the other servers.
(All servers are members of all multicast groups.) The servers then forward D's message to all of the clients
that are currently in chat room #3. In this case, S3 will echo it back to D, and S1 will send it to A and B. S2
does not currently have any clients that are in chat room #3, so it ignores the message.
The servers should support three different ordering modes that we studied in class:
• Unordered multicast: Each server delivers the messages to its clients in whatever order the server
happens to receive it;
• FIFO multicast: The messages from a given client C should be delivered to the other clients in the
order they were sent by C; and
• Totally ordered multicast: The messages in a given chat room should be delivered to all the clients
in that room in the same order.
Your implementation should be fully distributed; in other words, there should not be any central
‘sequencing nodes’. All communication, both between clients and servers and among the servers, should
be via unicast UDP (and not using the OS's built-in multicast primitive). You may assume that there is no
message loss, and that the messages between servers and clients are not reordered.
CIS 505: Software Systems
S1 S2
S3
B
C
A
A F
E
D
2/7
2 Specification
2.1 The client
Your first task is to implement a simple chat client. The user should be able to invoke the client from the
command li ...
This is the mini project "Email sending software", using python language.
.......................................................................................................................
......................................................................................................................
/....................................................................../..............................................
.................................................................../..................................................
Setting up VoIP management server using a communication framework and let the users from LTE networks to register and make voice calls over IP system as well as video session.
Web chatting application project report management system.pdfKamal Acharya
One year ago we was reading an article about Teleconferencing / chatting, which as we said it is a method of using technology to bring people and ideas “together” despite of the geographic barriers. From that time and on we started wondering if we can participate in that technology and how?
The idea of creating a chat server was initiated and it has two dimensions, one to have an experience in network programming and the other is to let people conduct meetings with others in different locations. Such that it crosses time zones, can reach many people, and reduce the paper flood.
overview / popularization about Exchange Server.
This document is a short understanding regarding mail réputation, Exchange setup and my main useful powershell Script.
UAE Microsoft MVPs - How To become Microsoft MVPAmmar Hasayen
Learn from UAE Microsoft MVPs tips on how to become a Microsoft Most Valuable Professional MVP as they share their personal MVP journeys and diversity of contributions.
How To Become Microsoft MVP in Arabic
https://youtu.be/pxhNIkBMWKU
How To Become Microsoft MVP Blog Post
https://blog.ahasayen.com/you-can-als...
A Typcal Microsoft MVP Journey
https://blog.ahasayen.com/how-to-beco...
How To Start Your Blog - Microsoft MVP Stories
https://blog.ahasayen.com/start-your-...
--------------------------------
Microsoft MVPs in this video:
--------------------------------
Ammar Hasayen @ammarhasayen
MVP Category: Microsoft Cloud and Data center
CISSP | CISM - Microsoft MVP | MCT
Public Speaker
Blogger https://blog.ahasayen.com
Pluralsight Author https://pluralsight.com/authors/ammar...
Book Author https://me.ahasayen.com/m365security
Youtuber http://YoutTube.com/AmmarHasayen
Ahmad Nabil
Website: https://itcalls.net/
From: Egypt
MVP Category: Microsoft Cloud and Data Center
James Toulman
From: United kingdom
MVP Category: Microsoft Azure
Igor Shastitko @iwalker2000
From: Slovakia
MVP Category: Microsoft Azure
Azure Infra Deployment, Management, Security and Automation. Worked at Microsoft for 10 years.
Usama Wahab
From: Pakistan
MVP Category: Microsoft Azure (Since 2011)
CTO @ Evolution | AI, ML, BI, Cloud Practitioner | Speaker | Blogger | Author | Trainer #FinTech
Website: https://Usmanwahabkhan.blogspot.com
Hatim Nagarwala @hatimnagarwala
From: India
MVP Category: Microsoft AI
Technology Lead @appsWave
Microsoft MVP in AI, Speaker, Mentor, Adventurer, Microsoft by beathing heart
Website: http://Hatim.im
Hasan Dimdik @HasanDimdik
From: Turkey
MVP Category: Microsoft Cloud and Data center
Senior Technology Engineer at Emirates NBD | CEH | MCT | MCSE | Speaker and Author
Satheshwaran Manoharan @sattzzz
From: India
MVP Category: Office Apps & Services
Microsoft MVP | Messaging and Virtualization Expert | Publisher of Azure365Pro.com
Website:http://Azure365pro.com
Virtual Data Center VDC - Azure Cloud Reference Architecture CRAAmmar Hasayen
The Virtual Data Center VDC is part of any Cloud Reference Architecture CRA and promotes for a balance between governance and developer agility, separation of duties and more. In this blog, you learn why to architect your data center in Azure with best practices and recommendation from Cloud Security Alliance CSA.
More Related Content
Similar to Exchange UM Voice Mail, OVA and Auto-Attendant
This is the mini project "Email sending software", using python language.
.......................................................................................................................
......................................................................................................................
/....................................................................../..............................................
.................................................................../..................................................
Setting up VoIP management server using a communication framework and let the users from LTE networks to register and make voice calls over IP system as well as video session.
Web chatting application project report management system.pdfKamal Acharya
One year ago we was reading an article about Teleconferencing / chatting, which as we said it is a method of using technology to bring people and ideas “together” despite of the geographic barriers. From that time and on we started wondering if we can participate in that technology and how?
The idea of creating a chat server was initiated and it has two dimensions, one to have an experience in network programming and the other is to let people conduct meetings with others in different locations. Such that it crosses time zones, can reach many people, and reduce the paper flood.
overview / popularization about Exchange Server.
This document is a short understanding regarding mail réputation, Exchange setup and my main useful powershell Script.
UAE Microsoft MVPs - How To become Microsoft MVPAmmar Hasayen
Learn from UAE Microsoft MVPs tips on how to become a Microsoft Most Valuable Professional MVP as they share their personal MVP journeys and diversity of contributions.
How To Become Microsoft MVP in Arabic
https://youtu.be/pxhNIkBMWKU
How To Become Microsoft MVP Blog Post
https://blog.ahasayen.com/you-can-als...
A Typcal Microsoft MVP Journey
https://blog.ahasayen.com/how-to-beco...
How To Start Your Blog - Microsoft MVP Stories
https://blog.ahasayen.com/start-your-...
--------------------------------
Microsoft MVPs in this video:
--------------------------------
Ammar Hasayen @ammarhasayen
MVP Category: Microsoft Cloud and Data center
CISSP | CISM - Microsoft MVP | MCT
Public Speaker
Blogger https://blog.ahasayen.com
Pluralsight Author https://pluralsight.com/authors/ammar...
Book Author https://me.ahasayen.com/m365security
Youtuber http://YoutTube.com/AmmarHasayen
Ahmad Nabil
Website: https://itcalls.net/
From: Egypt
MVP Category: Microsoft Cloud and Data Center
James Toulman
From: United kingdom
MVP Category: Microsoft Azure
Igor Shastitko @iwalker2000
From: Slovakia
MVP Category: Microsoft Azure
Azure Infra Deployment, Management, Security and Automation. Worked at Microsoft for 10 years.
Usama Wahab
From: Pakistan
MVP Category: Microsoft Azure (Since 2011)
CTO @ Evolution | AI, ML, BI, Cloud Practitioner | Speaker | Blogger | Author | Trainer #FinTech
Website: https://Usmanwahabkhan.blogspot.com
Hatim Nagarwala @hatimnagarwala
From: India
MVP Category: Microsoft AI
Technology Lead @appsWave
Microsoft MVP in AI, Speaker, Mentor, Adventurer, Microsoft by beathing heart
Website: http://Hatim.im
Hasan Dimdik @HasanDimdik
From: Turkey
MVP Category: Microsoft Cloud and Data center
Senior Technology Engineer at Emirates NBD | CEH | MCT | MCSE | Speaker and Author
Satheshwaran Manoharan @sattzzz
From: India
MVP Category: Office Apps & Services
Microsoft MVP | Messaging and Virtualization Expert | Publisher of Azure365Pro.com
Website:http://Azure365pro.com
Virtual Data Center VDC - Azure Cloud Reference Architecture CRAAmmar Hasayen
The Virtual Data Center VDC is part of any Cloud Reference Architecture CRA and promotes for a balance between governance and developer agility, separation of duties and more. In this blog, you learn why to architect your data center in Azure with best practices and recommendation from Cloud Security Alliance CSA.
Cloud Reference Architecture - Part 1 FoundationAmmar Hasayen
This presentation covers a practical approach for adopting and migrating on premises systems and applications to the Public Cloud. Based on a clear migration master plan, it helps companies and enterprises to be prepared for Cloud computing, what and how to successfully migrate or deploy systems on Cloud, preparing your IT organization with a sound Cloud Governance model, Security in the Cloud and how to reach the benefits of Cloud computing by automation and optimizing your cost and workloads.
am going to introduce you to Azure Bastion in Microsoft Azure and teach you how to create your first Azure bastion host, connect to a virtual machine and work a virtual machine session.
Watch on YouTube
------------------------
https://youtu.be/8-_JPzdWe1I
In this presentation, you learn
---------------------------------------
- What is Azure Bastion and what is trying to achieve?
- How to create an Azure Bastion host.
- How to connect to a VM using Azure Bastion
- How to work with a virtual machine Session
View the full blog post here with all scripts
https://blog.ahasayen.com/introducing-azure-bastion/
Connect with me
----------------------------
About me: https://me.ahasayen.com
Blog: https://blog.ahasayen.com
Twitter: https://twitter.com/ammarhasayen
LinkedIn: https://www.linkedin.com/in/ammarhasayen
Instagram: https://www.instagram.com/ammarhasayen
SlideShare: https://www.slideshare.net/ammarhasayen
View my Pluralsight course : Implementing Azure AD Privileged Identity Management
https://www.pluralsight.com/courses/microsoft-azure-privileged-identity-management-implementing
Microsoft 365 Certification - How to become Enterprise Administrator ExpertAmmar Hasayen
Learn how to become Microsoft 365 Certified Enterprise Administrator Expert, what exams you should pass, and what is the best certification path for your specific job role and skill sets.
Microsoft is changing their exams and certification program and there are a lot of new set of certifications and exams that can be confusing to understand at first. I am going to save you time and effort and explain it all to you in this presentation.
After completing this presentation, you will have the knowledge necessary to choose your next exams and get your Microsoft 365 Certified Enterprise Administrator Expert badge.
In this presentation you are going to learn:
- Overview about the new Microsoft certification Program
- What are these new Badges (Fundamental, Associate and Expert)
- Which exams to take to get the Microsoft 365 Certified Enterprise Administrator Expert badge?
- Which certifications match you job role and years of experience.
Windows Advance Threats - BSides Amman 2019Ammar Hasayen
Learn how to hack Windows machines and reveal the password of the domain admin by hacking into the memory and Windows Services. This is Level 400 content with a lot of demos and it covers many security technologies like machine learning, post-breach defensive and pre-preach defensive controls.
I presented this session in the first BSides Security conference in Amman-Jordan and I am sharing the slides as requested by the audience.
I am also going to post the full video on my Youtube Channel: http://youtube.com/ammarhasayen , so, don't forget to subscribe.
I would like to hear your feedback on my session, so please connect with me on twitter @ammarhasayen and let me know what do you think.
About me: http://ahasayen.com
Blog: http://blog.ahasayen.com
Social Media (Twiiter, LinkedIn, Instagram): @ammarhasayen
Windows Advanced Threat and Defensive Technique
The workplace is undergoing some fundamental changes. In this video, we will talk about the trends happening in the workplace, demographic changes, the Millennials arrival, and explore how we might be working in the future in a modern workplace.
WATCH THE RECORDING ON YOUTUBE HERE:
ACCESS THE BLOG POST HERE
https://blog.ahasayen.com/the-emerge-of-the-modern-workplace/
CONNECT @AmmarHasayen
How to plan your Modern Workplace Project - SPS Denver October 2018Ammar Hasayen
Join Ammar Hasayen as he speaks at the SharePoint Saturday Denver, Colorado - October 2018 about how big organizations should plan their modern workplace project. Learn how to get executive sponsorship, create clear vision, drive adoption, and adopt a success plan to maximize the impact of the modern workplace.
More at my blog post https://blog.ahasayen.com/speaking-at-sharepoint-saturday-denver-colorado
Secure Modern Workplace With Microsoft 365 Threat ProtectionAmmar Hasayen
Join me as I walk you through alll what Microsoft 365 has to offer to protect your business and organization. I am going to cover every security feature and how it fits in the big picture. Whether you are on-premises organization or migrating to the cloud, there is something for you to look at.
Follow me on twitter @ammarhasayen and connect on Linkedined https://www.linkedin.com/in/ammarhasayen
Here is the full blog post: https://blog.ahasayen.com/secure-modern-workplace-with-microsoft-365-advanced-threat-protection/
Microsoft cloud app security or CASB is a critical component of the Microsoft cloud security stack. It provides a comprehensive solution to give organizations improved visibility into cloud activities, uncover shadow IT, assess risks, enforce polices, investigate suspicious activities and stop threats
https://blog.ahasayen.com/microsoft-cloud-app-security-casb/
Office 365 periodic table in your PowerPoint presentation. This is not a picture, but built piece by piece so you can edit the writing and re-arrange blocks as you wish. [https://blog.ahasayen.com/the-modern-workplace-trends-solutions/]
All rights preserved to Matt Wade [https://techcommunity.microsoft.com/t5/Office-365/New-infographic-Periodic-Table-of-Office-365/td-p/68275]
Migrating your certification authority hashing algorithm from sha 1 to sha-2Ammar Hasayen
A practical guide on how to migrate your certification authority hashing algorithm from SHA-1 to SHA-2, and guidance on cryptographic providers, what makes your CA SHA-2 capable, and step by step guide with screenshots.
What is Strict KDC Validation and what risks does it mitigate? In this blog post, we will uncover how smart cards and digital certificates work with domain controllers (KDC), and how life looks like before introducing Strict KDC validation.
Modern Workplace Architecture Poster with Azure Active Directory , Intune, AIP, OMS, Windows 10, Office 365, Federation services and more. Full blog post here:
https://blog.ahasayen.com/microsoft-cloud-security-approach/
Microsoft EMS Enterprise Mobility and Security Architecture PosterAmmar Hasayen
Microsoft Cloud Security and Mobility Architecture Deep Dive showing Azure Active Directory, EMS, Azure Information Protection AIP, device management, DLP , CASB and more.
Poster. Full blog post:
https://blog.ahasayen.com/microsoft-cloud-security-approach/
Exchange Online Protection EOP full architecture view showing the full EOP inspection pipeline in great details.
Full post can be found https://blog.ahasayen.com/eop-exchange-online-protection-architecture/
Microsoft 365 is a complete, intelligent solution, including Office 365, Windows 10, and Enterprise Mobility + Security, that empowers everyone to be creative and work together, securely.
You can download the actual PowerPoint slides here:
https://1drv.ms/p/s!AoxWYcd83_57g1p93krrgqAm9yJ2
Connect with me on twitter:
https://twitter.com/ammarhasayen
About me: Ammar Hasayen - Microsoft MVP - https://ahasayen.com
Microsoft 365 is a complete, intelligent solution, including Office 365, Windows 10, and Enterprise Mobility + Security, that empowers everyone to be creative and work together, securely.
This table shows the different header value used by Exchange Online Protection or EOP, and what each value means , and whether it is bypassing anti-spam filtering or not.
Blog Post:
https://blog.ahasayen.com/exchange-scl-and-eop-headers/
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Exchange UM Voice Mail, OVA and Auto-Attendant
1. Exchange UM voice mail, OVA, and auto attendant
blog.ahasayen.com /exchange-um-voice-mail-ova-and-auto-attendant/
In previous blog posts, we talked about Exchange Unified Messaging and what you can do with such great product.
We also talked about Exchange UM architecture and cover Exchange UM dial plan concepts in great details.
In this blog post, you will discover how everything work, from Exchange UM voice mail, Exchange OVA or Exchange
Outlook Voice Access, Exchange auto-attendant and more.
Exchange UM voice mail call flow
We will stat by talking about Exchange UM voice mail, and how it really works. To explain how Exchange UM voice
mail work, we will give an example and walk you through Exchange UM voice mail components and call routing. So,
Alice just called Bob on his Skype extension, and let us say that Skype decided to route the call to Exchange UM for
any reason, like Bob not answering.
Skype will then send SIP INVITE to the UMCallRouter.exe hosted on the Exchange Client Access Server or
Exchange CAS for short. Skype will always use Secure SIP (5061), but since Exchange UM can receive SIP
invites from third party PBX systems, those systems may not send secure SIP over TCP 5060. Exchange
does not care if it is SIP or secure SIP as its service will listen on both ports if the startup mode for Exchange
UM services is Dual Mode.
UMCallRouter.exe will then send SIP REDIRECT, saying “hey I got your call, but I am not the one you
should be talking to that machine over there“.
Skype will then initiate another SIP INVITE to the UMService.exe on the mailbox role.
The UMService.exe on the mailbox server will send SIP 302 Moved Temporarily.
Skype server will send SIP traffic to the UM worker process, and then the media traffic start to flow. This is
Exchange answering the phone and do some greeting and get the audio message.
The below figure shows how Exchange UM voice mail works and the different components of Exchange UM voice
mail.
1/9
2. Exchange UM call answering flow
Now that you know about Exchange UM voice mail components, it is time to talk about Exchange UM call answering
flow. So, Alice calls Bob, and the call reaches Skype. Skype will ring all Bob end points. If Bob did not answer the
call, then Skype will try to see if it can provide an option for voice mail or missed call notification.
First thing Skype will do is to see if the user is configured for hosted voice mail option by running Get-CSUser and
then inspect the hostedvoicemail property and see if it is true or false. We will not discuss hosted voice mail case
(that is voice mail in Office 365), so we will assume the value is false.
Since the user is not enabled for hosted voice mail [Hosted Voice mail = voice mail in Office 365, and the user
mailbox is hosted in Office 365], the next step is to see if he is enabled for on premise UM solution. If the user is
enabled for Exchange UM, then the next challenge is how the Skype server will know which UM server it should
contact? It will answer that by querying AD and looking for the dial plan for the user. Once identified, it will then go to
AD and tries to read from the AD configuration partition the UM dial plan properties. Skype server will need special
permissions to read those attributes and this should be assigned by the IT administrator by running a script in
Exchange called ExUCUtil.ps1.
Now assuming that the Skype server has permission to read from AD the UM dial plan object, and since each dial
plan is attached to UM servers, then the Skype server has now list of Exchange UM servers that are servicing that
dial plan, and hence it knows where to send the SIP Invite and hope for an answer. The UM component that the
Skype talks to, exists in the CAS server [Exchange 2013 and above].
CAS will generate a redirect, and the call will reach the mailbox server. The mailbox server sees SIP traffic, it
inspects the Diversion header info, and it sees Bob extension in the form of extension or SIP URI.
So the mailbox server needs to map that extension or SIP URI, to a mailbox or identity, and it do that using
Exchange UM Proxy Addresses (EUM Proxies). This is just one more address that exist in the email address
attribute in the user object in AD. EUM addresses start with EUM and then extension that can be SIP URI or actual
extension like 1222, then @ then name of dial plan @contoso.com.
2/9
3. So the mailbox server will query AD for that EUM address (which is indexed property, so that searching for it will be
very fast), and then will know who owns that EUM address, it is BOB.
The next step is that that mailbox server needs to know where Bob’s mailbox is hosted (that is, what is the mailbox
server hosted Bob’s mailbox). Why this is needed? Well, because the greeting that Bob had recorded for his voice
mail, exists in his mailbox, so the first mailbox server that Skype talks to, will query AD for EUM proxy and will figure
out the which mailbox server hosting his mailbox.
There are three types of greetings and they are stored on the user’s mailbox:
Fully recorded by Bob
Bob only records how his name is pronounced, and then Exchange UM will say (Hey, you have reach the
mailbox of The Thing You Recorded).
The Exchange UM text to speech engine will try to pronounce your name and play fully automated greeting.
The mailbox server will then connect using MAPI to Bob’s mailbox, get the greeting, and return RTP media traffice,
to Skype or PBX to the caller.
The caller then will need to make a decision, will it hang up or leave a message.
If Alice leaves a message, her message will go through Skype back to the Exchange server, that will record it using
the configured codec, optionally convert it to text (voice mail preview), and ends up delivering through the transport
mechanism to Bob’s mailbox. This is SMTP traffic going from the mailbox server through the transport pipeline to
Bob’s mailbox. Because It is SMTP, then all the transport rules can be applied here, and this is a powerful thing.
They go through the dumpster, the safety net, and it can be protected via IRM. You can also configure retention
policies on voice mail messages.
Now if Alice does not leave a message, a missed call notification will be generated by the mailbox server who was
playing the greeting, and it will go via the same transport pipeline.
3/9
4. Exchange UM Diversion header
Diversion header is an important concept when dealing with Exchange UM voice mail. Usually the PBX system
knows why a call is going to voice mail system, perhaps the party did not answer or busy. Exchange has no way to
know that, because it is PBX independent, and it does not use any specific PBX vendor API to know why this call
comes to it (why a voice mail request is made to Exchange).
So what exchange gets instead is a SIP header (Diversion header) that indicates where the call is really coming
from (extension) along with the extension that is supposed to go to.
Let us say that the pilot extension in the PBX is 7000, and Bob’s extension is 9000 and Alice’s number is
2565551212, so the diversion header will say that the call is FROM 2565551212, and it was originally to extension
9000, but it is coming from extension 7000, so Exchange will then try to map the 7000 extension to EUM proxy in
AD.
Two notes here:
Diversion header is not used when connecting to hosted voice mail in Office 365 as Microsoft has new
architecture of knowing the extension information when connecting to O365.
The pilot extension is not used in Exchange UM and is always left blank.In case of auto attendant, there is no
need for the mailbox to search for EUM, because it knows this is the target, and it will start playing the auto
attendant media.
What is ExchUCUtil.ps1?
It is a PowerShell script located in any installation of Exchange, you run it without any parameters and it will do
4/9
5. some magic. The person running this tool needs to have permissions on both the Skype environment and the
Exchange environment.
When you should run the tool? When you have new Skype servers deployed. Skype servers are what Exchange UM
considers as UM IP gateways.
What this tool does? Well, remember that Skype servers need to identify which dial plan the user in, and then what
UM servers servicing that dial plan, so that they know where to route the call next? To do that, Skype servers need
access to the UM dial plan objects located in the AD configuration partition. Well, running the script will give Skype
servers access to read UM dial plan information in AD.
What else, well the script will also create a UM IP Gateway for each Skype server it finds, so that you can use it
when you configure your dial plans.
Outlook Voice Access Call Routing
Now that you know how Exchange UM voice mail works, let us talk about Exchange Outlook Voice Access or OVA.
OVA is a greeting that Exchange plays, that gives users ability to reach their email and do many actions. OVA
configuration is simple, as you just decide on the OVA number that people will dial. This number is called OVA
Access Number or Subscriber Access number.
This number is configured in one place, which is inside the UM dial plan configuration. One OVA number cannot
serve two different dial plans, so you need different numbers for different dial plans.
When someone calls that subscriber access number or OVA number, the user will be one of two:
1. Authenticated user: OVA answers the call, and asks the user to authenticate by providing extension and PIN.
Since there is one OVA number per dial plan, there is no way for OVA to be confused between two users
having same extension number but located in different UM dial plans.
2. Unauthenticated user: If the user did not authenticate and his dialing the OVA number, he can only do
directory search.
So, what is the big deal here? Well, I will give you a confusing case, and walk you through the way Microsoft
decided to implement a resolution.
Imagine you have a UM dial plan that is called LOC801. This dial plan is serving Jordan office. Now you decided
you want to give people OVA access, so you allocate a DID number say +96265515333 and you want anyone
dialing that DID to end up in the Exchange OVA greeting, so that they can put their PIN and have access to their
email using OVA.
So, you opened the UM dial plan configuration, then you configured the Outlook Voice Access number there. This
means that when Exchange UM receive a call directed to that number, it knows it should play the OVA greeting for
that dial plan.
5/9
6. Let us imagine how the result will look like? You call a DID number from outside, and you receive a greeting from
Exchange UM asking you to enter your extension and PIN, and you can access your email via a phone call.
Usually, your company has a DID number [i.e +9626551333], and this will terminate on some PBX system or voice
gateway, you will then route the call from your PBX or voice gateway to the Skype servers. Skype servers now need
to route that call to an Exchange UM server. Not only that Skype should know which UM servers the call should be
routed to, Exchange UM server should have a way to know that this is an OVA number
Again, the real challenge is how can you instruct Skype to route that call to Exchange UM? Remember that
+9626551333 does not exist as a phone number on any user object in Active Directory as it is a dedicated DID for
OVA.
Let us start thinking about this problem from the Skype server perspective. To do that, let us see how Skype servers
route calls. Skype servers need to locate a user or contact in AD that has that number configured on it, or else it will
try to route it through mediation to the external PBX system and try to dial it out as an external call. In other words, if
Skype received a call to a number, it will search AD for a user or contact object that has that number attached to it. If
it did not find such a match, it will do other actions like routing the call to one of its configured gateways as
configured by the Skype admin.
Moreover, Exchange UM dial plans are SIP URI dial plans, so Skype servers should route calls to Exchange UM via
SIP URI and not via a number (+9626551333). In other words, Exchange UM expect that the caller is represented
by a SIP URI and not a phone number.
6/9
7. To solve the first problem, Microsoft decided that we should create a user that is configured with +962551333 as
phone number, but since user objects are heavy objects and needs passwords, then they decided that it makes
sense to create AD contact object with +9626551333 as its phone number.
So, when Skype server received a call to +9626551333, it will search AD for a match, and will find a contact with
that number attached to it.
To solve the second problem, we need to give that contact a SIP URI, so that Skype can send that SIP URI when it
sends a SIP invite to Exchange UM.
Finally, we need a way to link that contact with a dial plan information, so that when Skype servers find that contact,
it can know what Exchange UM dial plan it belongs to. Since each Exchange UM dial plan is linked to one or more
Exchange UM servers, Skype servers can now route the call to that Exchange UM server.
To make the life easier to IT Admins, Microsoft provided two ways to create such contact
Using PowerShell
The first way is by doing it all manually, using a PowerShell command in Skype [ New-CsExUmContact ]
7/9
8. PowerShell
1 New-CsExUmContact -SipAddress sip:exumsa1@contoso.com -RegistrarPool Skypepool.contoso.com -
OU "OU=ExUmContacts,DC=contoso,DC=com" -DisplayNumber +9626551333
Running this command is not enough in case of on-premise UM integration. As we need to make Skype know what
dial plan this contact belongs to so it can route the call to Exchange UM.
This can be done by doing another Set-ADObject and setting the OtherIpPhone property for the contact and inject
the UM dial plan information there.
To know exactly how to do such PowerShell commands manually, download this script. I will show here some
important lines from that script:
PowerShell
1
2
3
4
5
#Create UM contact object for Auto Attendant
$AANameFormated = $ExistingAutoAttendant.name.Replace(" ","")
$SIPAddress = "sip:" + $AANameFormated + "_AA@" + $SIPDomain
$OtherIpPhone = $SIPAddress + ";opaque=app:exum:" + $($ExistingAutoAttendant.UMDialPlan) + "." +
$Domain + ":" + $($ExistingAutoAttendant.name)
$UMContact = New-CsExUmContact -SipAddress $SIPAddress -RegistrarPool $RegistrarPool -OU $OU -
DisplayNumber $AutoAttendantPilotIdentifier -Description "Exchange UM Auto-Attendant" -AutoAttendant
$True
As you can see, the OtherPhone attribute has the UM Dial Plan information, so that Skype servers can find out
which Exchange UM dial plan that contact is attached to. Knowing the UM dial plans, Skype server can know which
UM servers serve that UM dial plan, and can route the call accordingly.
Using a tool on Skype called [OcsUmUtil.exe]
This utility will do it all. It will create contact object in AD, it will assign SIP address and access number
(+96265515333) and it will inject the UM dial plan information in the OtherIpPhone attribute.
Final Thoughts
8/9
9. Let us see how everything works now. Someone from outside calls +9626551333, this DID is configured to be
routed to Skype. Skype will try to locate a SIP enabled object (user or contact) that has such extension or phone
number by querying the (msRTCSIP-Line) attribute, and it finds a contact that we created using the PowerShell
script (sometime the PowerShell command will create the contact with ugly display name that looks like a GUID but
this does not matter, just make sure to put a good description on it).
Now, the Skype server will say “ok let ring that contact on its sip address endpoints”. Of course, no one will answer,
so guess what, the same logic we talked about will happen. Skype will say let me try to see if it can leave voice mail
or missed call notification, so it will look if that contact has hostedvoicemail policy on it, and if it does not, it will try
to see if that contact belongs to UM dial plan by inspecting the (OtherIpPhone) attribute. Once it extracts the UM
dial plan information from the OtherIpPhone attribute, Skype will query AD again, to read the UM dial plan
information from AD. From there, it will look up the UM servers serving that dial plan from the dial plan AD object
properties, and then it will send SIP INVITE to that UM server containing the phone number and the SIP URI for that
contact. UM server will then map that extension +9626551333 to the dial plan OVA access number, and it will know
to play the OVA greeting.
You can see that the contact object serves two things:
1. Maps an extension to SIP URI that can be routed to the Exchange SIP URI Dial Plans.
2. provide UM dial plan assignment to the subscriber number so that Skype can route the call.
Note: Auto-attendant works the same way, but the New-CsExUmContact PowerShell command has a switch called
[ -AutoAttendant <$true | $false> ].
I hope by know you know about Exchange UM voice mail components, Exchange UM voice mail call routing,
Outlook Voice Access or OVA, and auto-attendant. We talked about Exchange UM voice mail when the user’s
mailbox is hosted on-premises. I will be talking about Exchange UM voice mail when the user mailbox is hosted in
Office 365, while the Skype servers are hosted on-premises.
9/9