---
alias: user-guide-oib-extensions-operatorassist
tags:
- connect iot
description: "This documentation details commands for managing Operator Assist, a system utilizing message queues for notifications"
---
# Operator Assist
### Communication Parameters
| Name | Type | Possible Values | Default Value | Description |
| ------------ | ------- | ------------------------------------------------ | -------------------------------- | ------------------------------------------------------------ |
| enableMode | Enum | `None`
`OnePerEnterprise`
`OnePerSite` | `None` | How should activate Operator Assist instance:
`None` - No instance will be used
`OnePerEnterprise` - One Instance for all Lines (Enterprise level)
`OnePerSite` - One Instance for all Lines (Site level) |
| callbackPort | Integer | | 0 | What port to use to receive events from Printer Control. Use `0` to use a free port at `callbackBasePort` + 900 |
| registerMode | Enum | `UnregisterFirst` | `UnregisterFirst` `JustRegister` | Mode to register callbacks UnregisterFirst - Unregister Services before register new one to avoid duplicates JustRegister - Doesn't try to unregister anything prior. Can have duplicates. |
__Important__: In order to use Operator Assist it requires the installation of Microsoft's [MSMQ](https://learn.microsoft.com/en-us/dotnet/framework/wcf/samples/installing-message-queuing-msmq).
### Commands
#### OperatorAssist.Command.CreateOrUpdateOperatorAssist
Execute this command to either create or update an operator assist.
| Property Id | Data Type | Possible Values | Description |
| ----------------------- | --------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Id | String | | Guid to be used for the creation of the notification, if no guid is specified it will generate a new one. |
| LineFullName | String | | Line full name, also known as SiplaceProLinePath |
| StationFullName | String | | Station full name, also known as SiplaceProDevicePath |
| AccessType | Enum | `Local` `Remote` | Local - only on external devices (i.e smartphones) Remote - appears on the ASM Works GUI and in external devices |
| Priority | Integer | | Priority of the notification |
| AssistLocation | Object | | There are other possible locations beyond line and station. We offer this as an entry point to more complex locations. We will expect and serialize an object to the `www.siplace.com.OIB._2017._05.OperatorAssist.Contracts.Data`.AssistLocation. |
| ScenarioId | String | | ScenarioId to be used in the notification |
| Description | String | | Description in english to be used in the notification |
| DescriptionTranslations | Object | | Other Languages translations can be offered, beyond english. We will serialize the object to a dictionary with key and value string i.e. { "en", "Some Message", { "de-DE", "Some message in german" } |
| TimeToLive | Integer | | Ability to predefine a time to live for the notification. After that time the notification will be deleted. Default is 14400 (s) or 4 hours. |
| Assists | Object | | Ability to send a payload with a collection of assists i.e ({ "Id": "9903ED01-A73C-4874-8ABF-D2678E3AE23D", "LineFullPath": "Virtual Lines\\Virtual Line 01", "StationFullPath": "Virtual Stations\\Virtual SX4 01", "AccessType": "Remote", "ScenarioId": "1", "Description": "Hello", "Priority": "1", "TimeToLive": "0" }). |
In the reply of the command it will output a Serialization of `www.siplace.com.OIB._2017._05.OperatorAssist.Contracts.Data.OperatorAssist[]` with what was sent to MSMQ.
#### OperatorAssist.Command.DeleteOperatorAssist
| Property Id | Data Type | Possible Values | Description |
| ----------- | --------- | --------------- | ------------------------------------------------------- |
| Id | String | | Notification Guid to be deleted. |
| Ids | Object | | List of strings of Guids of notifications to be deleted |
__Important__: As we are publishing to MSMQ a success will be publishing to MSMQ and not if the result was actually able to be executed as intended. For example, an incorrect line or station will generate a success but will be filtered by the ASM Operator assist as such there will be no feedback to whomever is making the call.