Skip to content

Commit

Permalink
programmatically build the features array (2600hz#5939)
Browse files Browse the repository at this point in the history
provide a separate array that external apps can manipulate
  • Loading branch information
mark2600 authored and jamesaimonetti committed Aug 2, 2019
1 parent 17f893a commit 3bb3239
Show file tree
Hide file tree
Showing 82 changed files with 709 additions and 17 deletions.
2 changes: 2 additions & 0 deletions applications/callflow/doc/conference.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ Key | Description | Type | Default | Required | Support Level
`conference_numbers` | Defines conference numbers that can be used by members or moderators | `array(string())` | `[]` | `false` |
`controls` | controls | `object()` | | `false` |
`domain` | domain | `string()` | | `false` |
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`focus` | This is a read-only property indicating the media server hosting the conference | `string()` | | `false` |
`language` | Prompt language to play in the conference | `string()` | | `false` |
`max_members_media` | Media to play when the conference is full | `string()` | | `false` |
Expand Down
2 changes: 2 additions & 0 deletions applications/callflow/doc/ref/conference.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ Key | Description | Type | Default | Required | Support Level
`conference_numbers` | Defines conference numbers that can be used by members or moderators | `array(string())` | `[]` | `false` |
`controls` | controls | `object()` | | `false` |
`domain` | domain | `string()` | | `false` |
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`focus` | This is a read-only property indicating the media server hosting the conference | `string()` | | `false` |
`language` | Prompt language to play in the conference | `string()` | | `false` |
`max_members_media` | Media to play when the conference is full | `string()` | | `false` |
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/accounts.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ Key | Description | Type | Default | Required | Support Level
`do_not_disturb.enabled` | The default value for do-not-disturb | `boolean()` | | `false` |
`do_not_disturb` | | `object()` | | `false` |
`enabled` | Determines if the account is currently enabled | `boolean()` | `true` | `false` | `supported`
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`formatters` | Schema for request formatters | [#/definitions/formatters](#formatters) | | `false` |
`language` | The language for this account | `string()` | | `false` | `supported`
`metaflows` | Actions applied to a call outside of the normal callflow, initiated by the caller(s) | [#/definitions/metaflows](#metaflows) | | `false` |
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/blacklists.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ Schema for a blacklists

Key | Description | Type | Default | Required | Support Level
--- | ----------- | ---- | ------- | -------- | -------------
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`name` | A friendly name for the temporal rule set | `string(1..128)` | | `true` | `supported`
`numbers` | Map of caller id number to block | `object()` | `{}` | `false` | `supported`
`should_block_anonymous` | Should block Anonymous call | `boolean()` | | `false` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/callflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ Key | Description | Type | Default | Required | Support Level
`featurecode.name` | | `string(1..128)` | | `false` |
`featurecode.number` | | `string(1..30)` | | `false` |
`featurecode` | When the callflow is used as a featurecode this object tracks the intended match of the pattern and name of the feature | `object()` | | `false` |
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`flow` | A callflow node defines a module to execute, data to provide to that module, and zero or more children to branch to | [#/definitions/callflows.action](#callflowsaction) | | `false` |
`metaflow` | Actions applied to a call outside of the normal callflow, initiated by the caller(s) | [#/definitions/metaflows](#metaflows) | | `false` |
`numbers.[]` | | `string(1..36)` | | `false` |
Expand Down
4 changes: 4 additions & 0 deletions applications/crossbar/doc/conference.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ Key | Description | Type | Default | Required | Support Level
`conference_numbers` | Defines conference numbers that can be used by members or moderators | `array(string())` | `[]` | `false` |
`controls` | controls | `object()` | | `false` |
`domain` | domain | `string()` | | `false` |
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`focus` | This is a read-only property indicating the media server hosting the conference | `string()` | | `false` |
`language` | Prompt language to play in the conference | `string()` | | `false` |
`max_members_media` | Media to play when the conference is full | `string()` | | `false` |
Expand Down Expand Up @@ -155,6 +157,8 @@ Key | Description | Type | Default | Required | Support Level
`conference_numbers` | Defines conference numbers that can be used by members or moderators | `array(string())` | `[]` | `false` |
`controls` | controls | `object()` | | `false` |
`domain` | domain | `string()` | | `false` |
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`focus` | This is a read-only property indicating the media server hosting the conference | `string()` | | `false` |
`language` | Prompt language to play in the conference | `string()` | | `false` |
`max_members_media` | Media to play when the conference is full | `string()` | | `false` |
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/devices.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ Key | Description | Type | Default | Required | Support Level
`do_not_disturb` | DND Parameters | `object()` | | `false` |
`enabled` | Determines if the device is currently enabled | `boolean()` | `true` | `false` | `supported`
`exclude_from_queues` | Do not ring this device when calling user/agent in queue | `boolean()` | `false` | `false` |
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`formatters` | Schema for request formatters | [#/definitions/formatters](#formatters) | | `false` |
`hotdesk.users./^[a-zA-Z0-9]{32}$/` | user-specific hotdesk settings | `object()` | | `false` |
`hotdesk.users` | The user(s) currently hotdesked into the device | `object()` | | `false` |
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/directories.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ Allow a caller to search for a user/device by name instead of extension/DID
Key | Description | Type | Default | Required | Support Level
--- | ----------- | ---- | ------- | -------- | -------------
`confirm_match` | When one match is found, require caller to confirm the match before connecting | `boolean()` | `true` | `false` | `supported`
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`max_dtmf` | Cap the number of DTMF characters collected from a caller, 0 for unlimited | `integer()` | `0` | `false` | `supported`
`min_dtmf` | How many DTMF characters to collect from a caller before processing the directory | `integer()` | `3` | `false` | `supported`
`name` | The name of the directory | `string(1..)` | | `true` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/groups.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ Validator for the group
Key | Description | Type | Default | Required | Support Level
--- | ----------- | ---- | ------- | -------- | -------------
`endpoints` | Endpoints included into group | `object()` | `{}` | `true` | `supported`
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`music_on_hold.media_id` | The ID of a media object that should be used as music on hold | `string(0..128)` | | `false` |
`music_on_hold` | The music on hold parameters | `object()` | `{}` | `false` | `beta`
`name` | A friendly name for the group | `string(1..128)` | | `true` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/menus.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ Schema for a menus
Key | Description | Type | Default | Required | Support Level
--- | ----------- | ---- | ------- | -------- | -------------
`allow_record_from_offnet` | Determines if the record pin can be used by external calls | `boolean()` | `false` | `false` | `supported`
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`hunt` | Determines if the callers can dial internal extensions directly | `boolean()` | `true` | `false` | `supported`
`hunt_allow` | A regular expression that an extension the caller dialed must match to be allowed to continue | `string(1..256)` | | `false` | `supported`
`hunt_deny` | A regular expression that if matched does not allow the caller to dial directly | `string(1..256)` | | `false` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/accounts.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ Key | Description | Type | Default | Required | Support Level
`do_not_disturb.enabled` | The default value for do-not-disturb | `boolean()` | | `false` |
`do_not_disturb` | | `object()` | | `false` |
`enabled` | Determines if the account is currently enabled | `boolean()` | `true` | `false` | `supported`
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`formatters` | Schema for request formatters | [#/definitions/formatters](#formatters) | | `false` |
`language` | The language for this account | `string()` | | `false` | `supported`
`metaflows` | Actions applied to a call outside of the normal callflow, initiated by the caller(s) | [#/definitions/metaflows](#metaflows) | | `false` |
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/blacklists.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Schema for a blacklists

Key | Description | Type | Default | Required | Support Level
--- | ----------- | ---- | ------- | -------- | -------------
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`name` | A friendly name for the temporal rule set | `string(1..128)` | | `true` | `supported`
`numbers` | Map of caller id number to block | `object()` | `{}` | `false` | `supported`
`should_block_anonymous` | Should block Anonymous call | `boolean()` | | `false` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/callflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ Key | Description | Type | Default | Required | Support Level
`featurecode.name` | | `string(1..128)` | | `false` |
`featurecode.number` | | `string(1..30)` | | `false` |
`featurecode` | When the callflow is used as a featurecode this object tracks the intended match of the pattern and name of the feature | `object()` | | `false` |
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`flow` | A callflow node defines a module to execute, data to provide to that module, and zero or more children to branch to | [#/definitions/callflows.action](#callflowsaction) | | `false` |
`metaflow` | Actions applied to a call outside of the normal callflow, initiated by the caller(s) | [#/definitions/metaflows](#metaflows) | | `false` |
`numbers.[]` | | `string(1..36)` | | `false` |
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/conferences.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ Key | Description | Type | Default | Required | Support Level
`conference_numbers` | Defines conference numbers that can be used by members or moderators | `array(string())` | `[]` | `false` |
`controls` | controls | `object()` | | `false` |
`domain` | domain | `string()` | | `false` |
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`focus` | This is a read-only property indicating the media server hosting the conference | `string()` | | `false` |
`language` | Prompt language to play in the conference | `string()` | | `false` |
`max_members_media` | Media to play when the conference is full | `string()` | | `false` |
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/devices.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ Key | Description | Type | Default | Required | Support Level
`do_not_disturb` | DND Parameters | `object()` | | `false` |
`enabled` | Determines if the device is currently enabled | `boolean()` | `true` | `false` | `supported`
`exclude_from_queues` | Do not ring this device when calling user/agent in queue | `boolean()` | `false` | `false` |
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`formatters` | Schema for request formatters | [#/definitions/formatters](#formatters) | | `false` |
`hotdesk.users./^[a-zA-Z0-9]{32}$/` | user-specific hotdesk settings | `object()` | | `false` |
`hotdesk.users` | The user(s) currently hotdesked into the device | `object()` | | `false` |
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/directories.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ Allow a caller to search for a user/device by name instead of extension/DID
Key | Description | Type | Default | Required | Support Level
--- | ----------- | ---- | ------- | -------- | -------------
`confirm_match` | When one match is found, require caller to confirm the match before connecting | `boolean()` | `true` | `false` | `supported`
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`max_dtmf` | Cap the number of DTMF characters collected from a caller, 0 for unlimited | `integer()` | `0` | `false` | `supported`
`min_dtmf` | How many DTMF characters to collect from a caller before processing the directory | `integer()` | `3` | `false` | `supported`
`name` | The name of the directory | `string(1..)` | | `true` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/groups.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ Validator for the group
Key | Description | Type | Default | Required | Support Level
--- | ----------- | ---- | ------- | -------- | -------------
`endpoints` | Endpoints included into group | `object()` | `{}` | `true` | `supported`
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`music_on_hold.media_id` | The ID of a media object that should be used as music on hold | `string(0..128)` | | `false` |
`music_on_hold` | The music on hold parameters | `object()` | `{}` | `false` | `beta`
`name` | A friendly name for the group | `string(1..128)` | | `true` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/menus.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ Schema for a menus
Key | Description | Type | Default | Required | Support Level
--- | ----------- | ---- | ------- | -------- | -------------
`allow_record_from_offnet` | Determines if the record pin can be used by external calls | `boolean()` | `false` | `false` | `supported`
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`hunt` | Determines if the callers can dial internal extensions directly | `boolean()` | `true` | `false` | `supported`
`hunt_allow` | A regular expression that an extension the caller dialed must match to be allowed to continue | `string(1..256)` | | `false` | `supported`
`hunt_deny` | A regular expression that if matched does not allow the caller to dial directly | `string(1..256)` | | `false` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/temporal_rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ Key | Description | Type | Default | Required | Support Level
`cycle` | The recurrence cycle for this rule | `string('date' | 'daily' | 'weekly' | 'monthly' | 'yearly')` | | `true` | `supported`
`days` | The recurrence days for this rule | `array(integer())` | | `false` | `supported`
`enabled` | Whether the rule is enabled | `boolean()` | | `false` |
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`interval` | The recurrence interval for this rule | `integer()` | `1` | `false` | `supported`
`month` | The recurrence month for this rule | `integer()` | | `false` | `supported`
`name` | A friendly name for the temporal rule | `string(1..128)` | | `true` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/temporal_rules_sets.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Schema for a temporal rules sets

Key | Description | Type | Default | Required | Support Level
--- | ----------- | ---- | ------- | -------- | -------------
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`name` | A friendly name for the temporal rule set | `string(1..128)` | | `true` | `supported`
`temporal_rules.[]` | | `string()` | | `false` | `supported`
`temporal_rules` | Temporal Rules | `array(string())` | | `false` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/users.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ Key | Description | Type | Default | Required | Support Level
`enabled` | Determines if the user is currently enabled | `boolean()` | `true` | `false` | `supported`
`feature_level` | The user level for assigning feature sets | `string()` | | `false` |
`first_name` | The first name of the user | `string(1..128)` | | `true` | `supported`
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`formatters` | Schema for request formatters | `object()` | | `false` |
`hotdesk.enabled` | Determines if the user has hotdesking enabled | `boolean()` | `false` | `false` |
`hotdesk.id` | The users hotdesk id | `string(0..15)` | | `false` |
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/ref/vmboxes.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ Key | Description | Type | Default | Required | Support Level
--- | ----------- | ---- | ------- | -------- | -------------
`check_if_owner` | Determines if when the user calls their own voicemail they should be prompted to sign in | `boolean()` | `true` | `false` | `supported`
`delete_after_notify` | Move the voicemail to delete folder after the notification has been sent | `boolean()` | `false` | `false` | `supported`
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`is_setup` | Determines if the user has completed the initial configuration | `boolean()` | `false` | `false` | `supported`
`is_voicemail_ff_rw_enabled` | callflow allow fastforward and rewind during voicemail message playback | `boolean()` | `false` | `false` |
`mailbox` | The voicemail box number | `string(1..30)` | | `true` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/temporal_rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ Key | Description | Type | Default | Required | Support Level
`cycle` | The recurrence cycle for this rule | `string('date' | 'daily' | 'weekly' | 'monthly' | 'yearly')` | | `true` | `supported`
`days` | The recurrence days for this rule | `array(integer())` | | `false` | `supported`
`enabled` | Whether the rule is enabled | `boolean()` | | `false` |
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`interval` | The recurrence interval for this rule | `integer()` | `1` | `false` | `supported`
`month` | The recurrence month for this rule | `integer()` | | `false` | `supported`
`name` | A friendly name for the temporal rule | `string(1..128)` | | `true` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/temporal_rules_sets.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ Schema for a temporal rules sets

Key | Description | Type | Default | Required | Support Level
--- | ----------- | ---- | ------- | -------- | -------------
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`name` | A friendly name for the temporal rule set | `string(1..128)` | | `true` | `supported`
`temporal_rules.[]` | | `string()` | | `false` | `supported`
`temporal_rules` | Temporal Rules | `array(string())` | | `false` | `supported`
Expand Down
2 changes: 2 additions & 0 deletions applications/crossbar/doc/users.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ Key | Description | Type | Default | Required | Support Level
`enabled` | Determines if the user is currently enabled | `boolean()` | `true` | `false` | `supported`
`feature_level` | The user level for assigning feature sets | `string()` | | `false` |
`first_name` | The first name of the user | `string(1..128)` | | `true` | `supported`
`flags.[]` | | `string()` | | `false` | `supported`
`flags` | Flags set by external applications | `array(string())` | | `false` | `supported`
`formatters` | Schema for request formatters | `object()` | | `false` |
`hotdesk.enabled` | Determines if the user has hotdesking enabled | `boolean()` | `false` | `false` |
`hotdesk.id` | The users hotdesk id | `string(0..15)` | | `false` |
Expand Down
Loading

0 comments on commit 3bb3239

Please sign in to comment.