**Multi Vendor Quick Add Subscriber** provides a single page where you can:
* Add or Remove Microsoft Direct Routing for a User
* Assign a Microsoft Licence that allows Enterprise Voice to be Enabled
* Change the Directory Number and Associated E164 for the users Teams Client
* Change the Users Service Type
* Update the Users Entitlement Profile
* Update the Class of Service for the Users Teams Client
**User Provisioning**
1. Select a User from the username dropdown. This will show a list of users that have already been synced to VOSS Automate via LDAP. This could either be via Top Down or Bottom up syncing.
For provisioning to be successful the device.cucm.UserIdentity field should match the UPN of the user in O365(MsolUser).
If the user already has cisco services these will be displayed in the "User Status & Existing Services" section
2. A Directory Number can be selected. If Cisco services exists the users 1st line will be displayed.
3. The required Service Type should be selected. For more information see the Service Type descriptions.
4. If displayed the Entitlement Profile can be changed. If the Entitlement Profile is configured in the Service Type this field will be hidden.
5. A Quick Add Group can be selected to configure settings on the Teams user based on data.LyncQuickAddGroups-Teams. Otherwise Values will use the Microsoft Site Defaults
**Service Types**
* Cisco-Only-E164 - User has only Cisco Devices with an associated E164 Number. Teams user is not Enabled for Enterprise Voice. There is no routing between Cisco and Teams for this User.
* Cisco-MS-E164 - User has both Cisco Devices and a Teams Device with an associated E164 number. A SNR profile is used on the Cisco User to fork calls to the Teams Client. E164 Number can be shared across all devices.
* MS-Only-E164 - User has only a Teams Device with an associated E164 Number. All Cisco Devices and Services will be deleted.
* CiscoSubscriber-No-Services-E164 - All Cisco and Teams devices will be removed from the user.
* Cisco-Only-IntExtn - User has only Cisco Devices with no associated E164. Teams user is not Enabled for Enterprise Voice. There is no routing between Cisco and Teams for this User.
* Cisco-MS-IntExtn - User has both Cisco Devices and a Teams Device with no associated E164. A SNR profile is used on the Cisco User to fork calls to the Teams Client. A dummy E164 number (+888SLC+EXT) is generated to allow cross platform routing.
* MS-Only-IntExtn - User has only a Teams Device with no associated E164. All Cisco Devices and Services will be deleted.A dummy E164 number (+888SLC+EXT) is generated to allow cross platform routing.
* CiscoSubscriber-No-Services-IntExtn - All Cisco and Teams devices will be removed from the user.
**Teams Licences**
The MVS_QaS Workflow will check that the O365 user has an assigned license that has Entprise Voice capabalities. If a valid license is not found the workflow will fail.
Alternatively it's possible for VOSS Automate to assign a valid license to the User. After assigning the license it may take some time for the change to appear on the Tenant, this is due to propogation delay in the Microsoft Cloud. The user will be marked as "Microsoft Update Pending", VOSS Automate will periodically check for this user in the Teams Tenant, once the User has appeared VOSS Automate will complete the configuration steps
GET http://[host-proxy]/api/view/HybridMultiVendorVIEW/schema/?hierarchy=[hierarchy]&format=json&schema=1
{
"$schema": "http://json-schema.org/draft-03/schema",
"type": "object",
"properties": {
"username": {
"required": true,
"type": "string",
"description": "VOSS Automate username as per data.User",
"title": "Username"
},
"lookUpForUser": {
"type": "boolean",
"description": "Includes users above site level when searching",
"title": "Include users at higher hierarchy"
},
"failIfNotFound": {
"type": "boolean",
"description": "used with API to prevent creation of local users where LDAP is in use",
"title": "Fail Transaction if user not found"
},
"entitlement_profile": {
"required": false,
"type": "string",
"description": "If Entitlement Profiles are used on the platform they can be selected or changed here. If the Entitlement profile is configured within a Service Type this field will be hidden.The field will initially display the default Entitlement Profile",
"title": "Entitlement Profile"
},
"firstname": {
"required": false,
"type": "string",
"title": "First Name"
},
"lastname": {
"required": false,
"type": "string",
"title": "Last Name"
},
"email": {
"format": "email",
"pattern": "^([^.@]+)(\\.[^.@]+)*@([^.@]+\\.)+([^.@]+)$",
"required": false,
"title": "Email Address",
"type": "string"
},
"password": {
"is_password": true,
"description": "The corresponding CUCM, CUC and WebEx user password will be set with this password",
"title": "Password",
"required": false,
"type": "string"
},
"pin": {
"is_password": true,
"description": "The corresponding CUCM and CUC user PIN will be set with this PIN",
"title": "PIN",
"required": false,
"type": "string"
},
"manager": {
"required": false,
"type": "string",
"title": "Manager"
},
"department": {
"required": false,
"type": "string",
"title": "Department"
},
"telephoneNumber": {
"required": false,
"type": "string",
"title": "Telephone Number"
},
"title": {
"required": false,
"type": "string",
"title": "Title"
},
"homeNumber": {
"required": false,
"type": "string",
"title": "Home Number"
},
"mobileNumber": {
"required": false,
"type": "string",
"title": "User's Mobile Number"
},
"directoryUri": {
"required": false,
"type": "string",
"title": "Directory URI"
},
"qagroup_name": {
"target": "/api/data/QuickAddGroups/choices/?field=group_name&format=json&hierarchy=[hierarchy]&auth_token=[authtoken],
"format": "uri",
"description": "Can be used to configure settings on the Teams user based on data.LyncQuickAddGroups-Teams. Otherwise Values will use the Microsoft Site Defaults",
"required": true,
"target_attr": "group_name",
"title": "Quick Add Group",
"type": "string",
"target_model_type": "data/QuickAddGroups",
"choices": []
},
"class_of_service": {
"required": false,
"type": "string",
"description": "Select the Class of Service to apply to the Teams Client. This controls what call types are dialable within the country dialplan (International, Premium, Service,....). The Class of Service behaviour maps directly equivalent CoS in CUCM.",
"title": "Class of Service"
},
"existing": {
"type": "object",
"title": "User Status & Existing Services",
"properties": {
"UserType": {
"type": "string",
"title": "User Type"
},
"cucm_user_ldapDirectoryName": {
"type": "string",
"title": "CUCM User LDAP Directory Name"
},
"cucm_user_identity": {
"type": "string",
"title": "CUCM User Identity / AD UserPrincipalName"
},
"phones": {
"type": "string",
"title": "Phones"
},
"ext_mobilities": {
"type": "string",
"title": "Extension Mobility Profiles"
},
"voicemail": {
"type": "string",
"title": "Voicemail Extension"
},
"webex": {
"type": "string",
"title": "WebEx"
},
"snr": {
"type": "string",
"title": "Single Number Reach"
},
"spark": {
"type": "string",
"title": "Webex App"
},
"contact_center": {
"type": "string",
"title": "Contact Center"
},
"teams_licenses": {
"items": {
"type": "object",
"properties": {
"Name": {
"type": "string",
"title": "Name"
},
"AccountSkuId": {
"type": "string",
"title": "AccountSkuId"
}
}
},
"type": "array",
"title": "Teams Licenses"
},
"teamsTelephonyLicense": {
"type": "string",
"title": "Microsoft Teams Telephony License"
},
"teams_msol_upn": {
"type": "string",
"title": "Microsoft 365 UserPrincipalName"
}
}
},
"user_status": {
"type": "string",
"title": "User status"
},
"MultiVendorServiceType": {
"required": true,
"type": "string",
"description": "Select the required Service Type for the user. The Service Type defines the collection of settings that will be applied to Teams and CUCM to achieve different behaviours. Appropriate Service Types will be shown based on whether the selected line has an associated E164 number and will only retain a Hybrid status if the Service Type is Hybrid.",
"title": "Service Type"
},
"line1DN": {
"required": false,
"type": "string",
"description": "Select line and associated E164 to configure in Teams.Value will default to users first line in CUCM. If line does not have an associated E164, a dummy E164 number will be generated.",
"title": "Directory Number"
},
"line1E164": {
"required": false,
"type": "string",
"title": "E164 Number"
},
"ms_teams": {
"type": "boolean",
"title": "Microsoft Teams"
},
"usage_location": {
"description": "Location used for Microsoft Licensing",
"title": "Usage Location",
"required": false,
"readonly": true,
"type": "string"
},
"ldap_user": {
"type": "string",
"title": "LDAP User"
},
"data_user": {
"type": "string",
"title": "Data User"
},
"cucm_user": {
"type": "string",
"title": "CUCM User"
},
"msol_user": {
"type": "string",
"title": "MSOL User"
},
"csonline_user": {
"type": "string",
"title": "CS Online User"
},
"cucm_user_ldapDirectoryName": {
"type": "string",
"title": "CUCM User LDAP Directory Name"
},
"forceEp": {
"type": "string",
"title": "Use Entitlement from Service Definition"
},
"forceQag": {
"type": "string",
"title": "Use QAG from Service Definition"
},
"forceMsTeams": {
"type": "string",
"title": "Use MS Teams from Service Definition"
},
"displayLine1CoS": {
"type": "boolean",
"title": "Display Line 1 CoS"
},
"isCucmUserPresent": {
"default": "false",
"type": "boolean",
"title": "Is CUCM User Present"
},
"isServiceTypeNoE164NoINI": {
"default": "false",
"type": "boolean",
"title": "Is Service Type No E164 No INI"
},
"customerHierarchy": {
"type": "string",
"title": "Customer Hierarchy"
},
"custom_string_1": {
"type": "string",
"title": "custom_string_1"
},
"custom_string_2": {
"type": "string",
"title": "custom_string_2"
},
"custom_string_3": {
"type": "string",
"title": "custom_string_3"
},
"custom_string_4": {
"type": "string",
"title": "custom_string_4"
},
"custom_string_5": {
"type": "string",
"title": "custom_string_5"
},
"custom_string_6": {
"type": "string",
"title": "custom_string_6"
},
"custom_string_7": {
"type": "string",
"title": "custom_string_7"
},
"custom_string_8": {
"type": "string",
"title": "custom_string_8"
},
"custom_string_9": {
"type": "string",
"title": "custom_string_9"
},
"custom_string_10": {
"type": "string",
"title": "custom_string_10"
},
"custom_boolean_1": {
"type": "boolean",
"title": "custom_boolean_1"
},
"custom_boolean_2": {
"type": "boolean",
"title": "custom_boolean_2"
},
"custom_boolean_3": {
"type": "boolean",
"title": "custom_boolean_3"
},
"custom_boolean_4": {
"type": "boolean",
"title": "custom_boolean_4"
},
"custom_boolean_5": {
"type": "boolean",
"title": "custom_boolean_5"
},
"custom_boolean_6": {
"type": "boolean",
"title": "custom_boolean_6"
},
"custom_boolean_7": {
"type": "boolean",
"title": "custom_boolean_7"
},
"custom_boolean_8": {
"type": "boolean",
"title": "custom_boolean_8"
},
"custom_boolean_9": {
"type": "boolean",
"title": "custom_boolean_9"
},
"custom_boolean_10": {
"type": "boolean",
"title": "custom_boolean_10"
}
},
"schema_version": "2.3"
}