EasyUC for Microsoft Teams
Operator Connect through Teams forwarding
Lead an Operator Connect number into an EasyUC script through a Teams service account and a pilot number.
In EasyUC: Script form → Reachable via MS Teams → Call entry → Operator Connect through Teams forwarding
What it is for
With Operator Connect the public phone number stays with the operator, who delivers it directly into Microsoft Teams, not to the EasyUC SBC. So that a call to such a number still reaches an EasyUC script, EasyUC offers the call entry Operator Connect through Teams forwarding.
The path: the caller dials the Operator Connect number. It is assigned to a Teams service account that immediately forwards every call to a Direct Routing pilot number. The pilot number is in EasyUC’s voice route, so the call arrives at the SBC over the trunk. The SBC reads from the call’s History-Info which number was originally dialled and maps the call to the right script.
The script can be an ACD script or the queue of an attendant console. A Microsoft Teams Auto Attendant is not involved. EasyUC can check the required settings on the service account and set them itself through Teams PowerShell.
Prerequisites
- Licence module
teams. Without this module the EasyUC Teams workspace does not appear. - Role EasyUC Teams with the sub-permissions SCRIPTS (
ROLE_APP_TEAMS_SCRIPTS) and SCRIPTS bearbeiten (ROLE_APP_TEAMS_SCRIPTS_EDIT). - Direct Routing with the EasyUC SBC is running for this tenant, and at least one script is reachable from Teams.
- EasyUC is signed in to Teams PowerShell or an app registration is stored.
- An Operator Connect number that can be assigned to a user. A service number for resource accounts is not suitable.
- For each Operator Connect number, a dedicated Teams service account with a Teams Phone licence and Enterprise Voice, to which the number is assigned.
- The calling policy of the service account allows forwarding to phone numbers. EasyUC does not check this point; verify it in Teams.
- A free Direct Routing number as the pilot number. It is not assigned to any user or resource and does not fall under any rule for unassigned numbers.
- The tenant’s global voice routing policy does not contain EasyUC’s PSTN usage.
Step by step: Set up a script with Operator Connect numbers
Step by step: Check and set up forwarding
Step by step: Set up forwarding by hand or roll it back
Fields and options
| Field / action | Meaning and use |
|---|---|
| OC number | Operator Connect number in international format with a leading +, at most 40 characters. At most 10 per script, none twice. |
| Teams service account (UPN) | Account to which the number is assigned in Teams and which forwards. At most 190 characters. If it differs from the inventory, EasyUC reports “According to the inventory, the number is assigned to …”. |
| Pilot number (Direct Routing) | Direct Routing number to which the service account forwards. It must not equal any Operator Connect number of the script. Unassigned Direct Routing numbers often do not appear in the inventory; the number can be entered freely. |
| Shared pilot number | Several scripts of a tenant may use the same pilot number. They are then told apart by History-Info only, and a direct call to the pilot number is rejected. |
| Check now | Read-only check through Teams PowerShell. With many numbers it can remain incomplete; Check the remaining numbers fetches the rest. |
| Check items for pilot and trunk | Pilot is in the EasyUC voice route, Pilot is not assigned to any object, Gateway sends History-Info (ForwardCallHistory), Global policy without the EasyUC usage, SBC accepts the pilot. |
| Check items per number | Teams user exists, OC number is assigned to the user, Enterprise Voice enabled, Teams Phone licence present, Voice routing policy contains the EasyUC usage, Forwarding enabled (immediate), Forwarding target is the pilot number, Not the Teams device of an attendant console. |
| Set up forwarding | Changes only this one user through the PowerShell service. The Global policy stays unchanged. Usable only after the script has been saved. |
| Operator Connect over a public destination | Third card under Call entry, marked as a transitional path. EasyUC only stores the Operator Connect number and a public EasyUC destination number and does not set up a runtime path of its own. Forwarding must be set up at the operator. |
Check the result and narrow down errors
- Success: Check now shows all check items as OK, and the test call to the Operator Connect number reaches the script. In the call history, To shows the Operator Connect number with “via pilot …”.
- “Please save the script first. Checks and setup use the saved state.” Save the script before you check.
- “The EasyUC gateway in Teams sends no History-Info (ForwardCallHistory is off). Without it the SBC cannot match a forwarded Operator Connect number.” Click Update routes on the tenant page or switch on ForwardCallHistory at the PSTN gateway in Teams.
- “The number … is the Teams device of an attendant console. A transfer to it would run back into EasyUC through the forwarding (call loop). Please use a dedicated service account.” Use a different account.
- “The Operator Connect number and the pilot number must differ so that no call loop arises.” Choose another pilot number.
- “The number … is already used in this tenant (script …).” The number belongs to another script.
- “At least one step is blocked. Nothing is run.” Read the reason at the step, usually a foreign policy or an existing forwarding.
- “The PowerShell service for Microsoft Teams is not reachable.” Check service and sign-in on the tenant page.
- Check item Global policy without the EasyUC usage as a note: EasyUC’s PSTN usage is attached to the Global policy. This is not recommended for this path.
- The user or an administrator can change the forwarding at any time. Repeat Check now regularly. The checklist of the attendant console rates a check older than 7 days as a note.
- Limits: each Operator Connect number needs a licensed service account. How many calls run at the same time over one user number has not been tested.