| Elements defining a table |
| Field Name (with links to referenced tables) |
| Elements defining a field |
| Elements defining a rule |
| Multi-column uniqueness (combination of columns is unique) |
| 2.3.1 aardialprefixmatrix (TI-182) |
| Description: | Defines the assigned digits to prepend to dialed digits to specified from and to AAR neighborhoods.
|
| Fields: |
| 2.3.1.1 dialprefix (FI-1117) |
| Type: | string [24] |
| Default Value: | EMPTY |
| Validation: | ^[0-9A-D*#+]{0,24}$ |
| Remarks: | The prefix digits to use for automated alternate routing within this AAR group. |
| 2.3.1.2 fkaarneighborhood_from (FI-1115) |
| Type: | guid (Cascade Delete, Not Modifiable) |
| Remarks: | Specifies the AAR Neighborhood from which a call is being made. Inserted by trigger. |
| 2.3.1.3 fkaarneighborhood_to (FI-1116) |
| Type: | guid (Cascade Delete, Not Modifiable) |
| Remarks: | Specifies the AAR Neighborhood to which a call is being made. Inserted by trigger. |
| 2.3.1.4 pkid (FI-1114) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | fkaarneighborhood_from + fkaarneighborhood_to is unique. (MFI-55) |
| Rules: |
| Rule (RI-1): |
| Type: | Active (Insert) This table is modified by this rule. |
| Rule Name: | Insert AAR Matrix |
| Description: | On insert of a new AARNeighborhood the matrix must be filled out with records from the new AARNeighborhood to itself and to every existing AARNeighborhood |
| Test Condition: | Insert into AARNeighborhood |
|
|
| 2.3.2 aarneighborhood (TI-181) |
| Description: | Automated alternate routing (AAR) provides a mechanism to reroute calls through the PSTN or other network by using an alternate number when Cisco CallManager blocks a call due to insufficient location bandwidth.
|
| Fields: |
| 2.3.2.1 name (FI-1113) |
| Type: | string [20] (Unique) |
| Validation: | ^[a-zA-Z 0-9._-]{1,20}$ |
| Remarks: | Logical name of the AAR group |
| Rule (RI-1): |
| Type: | Active (Insert) |
| Rule Name: | Insert AAR Matrix |
| Description: | On insert of a new AARNeighborhood the matrix must be filled out with records from the new AARNeighborhood to itself and to every existing AARNeighborhood |
| Test Condition: | Insert into AARNeighborhood |
|
| 2.3.2.2 pkid (FI-1112) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-1): |
| Type: | Active (Insert) |
| Rule Name: | Insert AAR Matrix |
| Description: | On insert of a new AARNeighborhood the matrix must be filled out with records from the new AARNeighborhood to itself and to every existing AARNeighborhood |
| Test Condition: | Insert into AARNeighborhood |
|
|
| Uniqueness: | No multicolumn uniqueness constraints |
| Rules: |
| Rule (RI-1): |
| Type: | Active (Insert) Rule applied when record is inserted. |
| Rule Name: | Insert AAR Matrix |
| Description: | On insert of a new AARNeighborhood the matrix must be filled out with records from the new AARNeighborhood to itself and to every existing AARNeighborhood |
| Test Condition: | Insert into AARNeighborhood |
|
|
| 2.3.3 alarmconfig (TI-145) |
| Description: | Records alarm settings per node (server) per service per monitor. These records are inserted at install time.
Insert/Delete is not allowed. |
| Fields: |
| 2.3.3.1 enablealternativelog (FI-5192) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Enable Alternative Logging for the Alarm Settings from Syslog Server. |
| 2.3.3.2 fkprocessnodeservice (FI-810) |
| Type: | guid (Cascade Delete) |
| Remarks: | Specifies the node/service combination for this alarm configuration. |
| 2.3.3.3 monitorstatus (FI-887) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | True if this monitor is on. |
| 2.3.3.4 pkid (FI-809) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.3.5 server (FI-886) |
| Type: | string [1280] |
| Default Value: | EMPTY |
| Remarks: | Application managed container for remote syslog destination server information. No DB format support, validation, or special migration. |
| 2.3.3.6 tkalarmseverity (FI-822) |
| Type: | enum |
| Remarks: | The alarm severity. |
| 2.3.3.7 tkmonitor (FI-812) |
| Type: | enum |
| Remarks: | The type of monitor (event log, sys log, etc.) being configured. |
|
| Uniqueness: | fkprocessnodeservice + tkmonitor is unique. (MFI-28) |
| 2.3.4 alarmmonitorcapabilities (TI-161) |
| Description: | Used to determine which monitors are allowed with each service. These records are inserted at install time.
Records may be modified only by installation and/or DB triggers. |
| Fields: |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.5 alarmusertext (TI-369) |
| Description: | User defined text for alarms
|
| Fields: |
| 2.3.5.1 alarmname (FI-2722) |
| Type: | string [255] (Indexed) |
| 2.3.5.2 catalogname (FI-2721) |
| Type: | string [500] |
| 2.3.5.3 pkid (FI-2720) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.5.4 userdefinedtext (FI-2723) |
| Type: | string [500] |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.6 analogaccess (TI-2) |
| Description: | This subclasses the device table for analog access information not in the Device table.
|
| Fields: |
| 2.3.6.1 fkdevice (FI-14) |
| Type: | guid (Unique, Indexed, Cascade Delete) |
| Migration Source: | convert from DeviceName |
| Remarks: | Points to the device record being "subclassed." Device.tkModel must be analog access. |
| Rule (RI-13): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AnalogAccess device |
| Description: | The records in AnalogAccess table must reference a device using AnalogAccess device protocol |
| Test Condition: | AnalogAccess.fkDevice IN (SELECT pkid FROM Device where tkDeviceProtocol = 3) |
| Error Message: | AnalogAccess table may only reference devices with matching Device Protocol (AnalogAccess). |
| Remedy: | Correct the fkDevice value to refer to an Analog Access device. |
|
| 2.3.6.2 pkid (FI-13) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.6.3 tktrunkselectionorder (FI-15) |
| Type: | enum |
| Migration Source: | TrunkSelectionOrder |
| Remarks: | IE. Bottom up or top down. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.7 analogaccessport (TI-3) |
| Description: | Analog access ports associtated with an analog access Device.
|
| Fields: |
| 2.3.7.1 attendantdn (FI-22) |
| Type: | dn |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Default Value: | EMPTY |
| Validation: | ^[0-9*#+]{0,50}$ |
| Migration Source: | AttendantNumber |
| Remarks: | For Ground Start and Loop Start ports, enter the number to which you want incoming calls routed; for example, zero or a directory number for an attendant. |
| Rule (RFI-4): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkTrunk = 1 OR tkTrunk = 2 |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Constraint: | |
| Validation: | [0-9*#]{0,24} |
| Null Allowed: | null |
| Remarks: | Attendant DN has Invalid format. It should contain no more than 24 numbers, * and #. Regular expression used for validation is [0-9*#]{0,24} |
|
| 2.3.7.2 calleriddn (FI-37) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_MASK |
| Default Value: | NULL |
| Validation: | ^[0-9*#+X]{0,32}$ |
| Migration Source: | CallerId |
| Remarks: | If specified, use this for the CallerID. |
| 2.3.7.3 e164dn (FI-5280) |
| Type: | string [16] |
| Default Value: | EMPTY |
| Validation: | ^(\+)([0-9]{1,15})$ |
| Remarks: | E164 Directory Number |
| 2.3.7.4 expecteddigits (FI-26) |
| Type: | long |
| Check Constraint: | (ExpectedDigits >= 0) AND (ExpectedDigits <= 32) |
| Migration Source: | ExpectedDigits |
| Remarks: | Enter the number of digits that are expected on the inbound side of the trunk. For this rarely used field, leave zero as the default value if you are unsure. |
| 2.3.7.5 fkdevice (FI-18) |
| Type: | guid (Indexed, Cascade Delete) |
| Migration Source: | convert from DeviceName |
| Remarks: | device::tModel must be analog access |
| Rule (RI-14): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AnalogAccessPort device |
| Description: | The records in AnalogAccessPort table must reference a device using AnalogAccess device protocol |
| Test Condition: | AnalogAccessPort.fkDevice IN (SELECT pkid FROM Device where tkDeviceProtocol = 3) |
| Error Message: | AnalogAccessPort table may only reference devices with matching Device Protocol (AnalogAccess). |
| Remedy: | Correct the fkDevice value to refer to an Analog Access device. |
|
| 2.3.7.6 inboundcalleridenable (FI-36) |
| Type: | bool |
| Migration Source: | InboundCallerIdEnable |
| Remarks: | If true, CallerID is enabled. |
| 2.3.7.7 numdigits (FI-24) |
| Type: | long |
| Check Constraint: | (NumDigits >= 0) AND (NumDigits <= 32) |
| Migration Source: | NumDIgits |
| Remarks: | Enter the number of significant digits to collect. Cisco CallManager counts significant digits from the right (last digit) of the number called. Use this field for the processing of incoming calls and to indicate the number of digits starting from the last digit of the called number that is used to route calls coming into the PRI span. See Prefix DN. |
| 2.3.7.8 pkid (FI-17) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.7.9 portnum (FI-19) |
| Type: | long |
| Migration Source: | PortNum |
| Remarks: | 1-8 For Vega; 1 for MGCP_STATION; 1 for MGCP_TRUNK and tkDeviceProtocol=AnalogAccess |
| 2.3.7.10 prefixdn (FI-23) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Default Value: | NULL |
| Validation: | ^[0-9*#+]{0,50}$ |
| Migration Source: | Prefix |
| Remarks: | The prefix digits that are appended to the digits that this trunk receives on incoming calls. The Cisco CallManager adds prefix digits after it truncates the number in accordance with the Num Digits setting. |
| 2.3.7.11 sigdigits (FI-25) |
| Type: | bool |
| Migration Source: | SigDigits |
| Remarks: | Obsolete - NumDigits is always used. Flag to allow only certain amount of digits. |
| 2.3.7.12 smdiportnumber (FI-932) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (SMDIPortNumber >= 0) AND (SMDIPortNumber <= 4096) |
| Remarks: | Use this field for analog access ports that connect to a voice-mail system. Set the SMDI Port Number equal to the actual port number on the voice-mail system to which the analog access port connects. |
| 2.3.7.13 timer1 (FI-30) |
| Type: | long |
| Check Constraint: | Timer1 >= 0 |
| Migration Source: | Timer1 |
| Remarks: | In Milliseconds |
| 2.3.7.14 timer2 (FI-31) |
| Type: | long |
| Check Constraint: | Timer2 >= 0 |
| Migration Source: | Timer2 |
| Remarks: | In Milliseconds |
| 2.3.7.15 timer3 (FI-32) |
| Type: | long |
| Check Constraint: | Timer3 >= 0 |
| Migration Source: | Timer3 |
| Remarks: | In Milliseconds |
| 2.3.7.16 timer4 (FI-33) |
| Type: | long |
| Check Constraint: | Timer4 >= 0 |
| Migration Source: | Timer4 |
| Remarks: | In Milliseconds |
| 2.3.7.17 timer5 (FI-34) |
| Type: | long |
| Check Constraint: | Timer5 >= 0 |
| Migration Source: | Timer5 |
| Remarks: | In Milliseconds |
| 2.3.7.18 timer6 (FI-35) |
| Type: | long |
| Check Constraint: | Timer6 >= 0 |
| Migration Source: | Timer6 |
| Remarks: | In Milliseconds |
| 2.3.7.19 tkcallingpartyselection (FI-39) |
| Type: | enum |
| Migration Source: | CallingPartySelection |
| Remarks: | Source of the calling party number: originator = 1, first redirect = 2, last redirect = 3 |
| 2.3.7.20 tkdigitsending (FI-623) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | DTFM, MF, etc. |
| 2.3.7.21 tkpresentationbit (FI-40) |
| Type: | enum |
| Migration Source: | PresentationBit |
| Remarks: | CLID presentationBit: allowed = 1, restricted = 2 |
| 2.3.7.22 tksilencesuppressionthreshold (FI-38) |
| Type: | enum |
| Migration Source: | SilenceSuppressionThreshold |
| Remarks: | in dbm0 |
| 2.3.7.23 tkstartdialprotocol (FI-624) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | Immediate, Wink Start, etc. |
| 2.3.7.24 tktrunk (FI-20) |
| Type: | enum |
| Migration Source: | PortType |
| Remarks: | The type of trunk. (Ground Start, Loop Start, DID, POTS, E&M) |
| 2.3.7.25 tktrunkdirection (FI-21) |
| Type: | enum |
| Migration Source: | Direction |
| Remarks: | Inbound, outbound and both are valid Directions. Outbound equates to DOD. Both only allowed on Ground Start (GS) |
| 2.3.7.26 tktrunklevel (FI-306) |
| Type: | enum |
| Migration Source: | was "ApplicationType" |
| 2.3.7.27 tktrunkpad_rx (FI-28) |
| Type: | enum |
| Migration Source: | RxPad |
| 2.3.7.28 tktrunkpad_tx (FI-29) |
| Type: | enum |
| Migration Source: | TxPad |
| 2.3.7.29 unattendedport (FI-2387) |
| Type: | bool (Null OK) |
| Default Value: | FALSE |
| 2.3.7.30 xml (FI-935) |
| Type: | string [24000] (Null OK) |
| Default Value: | NULL |
| Remarks: | Product specific configuration XML not used by CCM |
| Rule (RI-196): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | AnalogAccessPort.xml validation |
| Description: | Product specific information for each AnalogAccess gateway port needs to be validated before storing in xml column. Validation is now performed using client side script at Admin pages. This involves reading the display instance xml (from scratch table) for the specific product, then for each parameter , read the corresponding rule xml record (scratch table) and validate the parameter value as defined in the rule. |
| Test Condition: | On Insert/Update of AnalogAccess port (FXS gateway port) |
|
|
| Uniqueness: | fkdevice + portnum is unique. (MFI-1) |
| 2.3.8 applicationdialrule (TI-252) |
| Description: | Holds Dial Rule Info.
|
| Fields: |
| 2.3.8.1 description (FI-1771) |
| Type: | string [200] |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F""%\\&<>]{0,50}$ |
| 2.3.8.2 digitsremoved (FI-1774) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (Digitsremoved >=0) AND (Digitsremoved <=100) |
| 2.3.8.3 name (FI-1770) |
| Type: | string [50] (Unique) |
| Validation: | ^[]a-zA-Z0-9 !#$'()*+,./:;=?@[^_`{|}~-]{1,50}$ |
| 2.3.8.4 numbeginwith (FI-1772) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Validation: | ^[0-9*#+]{0,50}$ |
| 2.3.8.5 numofdigits (FI-1773) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (numofdigits >=0) AND (numofdigits <=100) |
| 2.3.8.6 pkid (FI-1769) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.8.7 prefix (FI-1775) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Validation: | ^[0-9*#+]{0,50}$ |
| 2.3.8.8 priority (FI-1776) |
| Type: | long |
| Default Value: | 0 |
| 2.3.8.9 tkapplicationdialrule (FI-2885) |
| Type: | enum |
| Remarks: | The type of Dial Rule. (Basic, Directory) |
|
| Uniqueness: | priority + tkapplicationdialrule is unique. (MFI-89) |
| Constraints: |
| Rule (RFI-142): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | (Digitsremoved >0) OR (Prefix <> '') |
| Remarks: | Either Prefix pattern must be defined, or Digits to be removed must be > 0 |
|
|
| 2.3.9 applicationuser (TI-230) |
| Description: | Special Application users of CCM system. These users will not show up in a list of users shown to a customer
|
| Fields: |
| 2.3.9.1 aclallowreplace (FI-2590) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Whether SIP header replacement allowed |
| 2.3.9.2 acloobsubscription (FI-2485) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Obsolete |
| 2.3.9.3 acloodrefer (FI-2486) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.9.4 aclpresencesubscription (FI-2487) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.9.5 aclunsolicitednotification (FI-2488) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.9.6 fkmatrix_presence (FI-2508) |
| Type: | guid |
| Default Value: | ad243d17-98b4-4118-8feb-5ff2e1b781ac |
| Remarks: | Pkid for Presence Group Matrix record. This is required for extension mobility. Appuser table does not need this because appuser cannot do extension mobility. |
| 2.3.9.7 isstandard (FI-2047) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | Created during installation. |
| 2.3.9.8 name (FI-1659) |
| Type: | string [50] (Unique, Indexed) |
| Remarks: | Records inserted by install. |
| Rule (RI-57): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AppUser Name Uniqueness |
| Description: | An AppUser Name cannot be the same as an EndUser UserID |
| Test Condition: | IF (AppUser.Name IN (SELECT userid FROM EndUser)) THEN throw exception |
| Error Message: | AppUser Name already exists as an EndUser. AppUser Name cannot be the same as an EndUser's userid. |
| Remedy: | Provide a unique name for the Application User that is not the same as an EndUser userid. |
|
| 2.3.9.9 passwordreverse (FI-2388) |
| Type: | string [128] (Null OK) |
| Default Value: | 69c4f936f9cdf45f6bbca2570c31215629bb5d6fb97493478b8ff3db6fffbc55 |
| Validation: | ^[a-fA-F0-9]{0,128}$ |
| Remarks: | Used for digest authentication |
| 2.3.9.10 pkid (FI-1658) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-398): |
| Type: | Active (Insert) |
| Rule Name: | Automatically Insert Credential (Password only) record for ApplicationUsers |
| Description: | When an ApplicationUser is inserted, automatically generate Credential record for Password with default policy specified in CredentialPolicyDefault table. Policy is not applied until Credential is updated for the first time. |
| Test Condition: | ON INSERT INTO ApplicationUser: |
|
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.10 applicationusercapfmap (TI-353) |
| Description: | 1-N relation between App User to CAPF
|
| Fields: |
| 2.3.10.1 authenticationstring (FI-2622) |
| Type: | string [50] |
| Default Value: | EMPTY |
| 2.3.10.2 fkapplicationuser (FI-2630) |
| Type: | guid (Indexed, Cascade Delete, Not Modifiable) |
| Migration Source: | ApplicationUser.pkid |
| 2.3.10.3 instanceid (FI-2631) |
| Type: | string [128] (Unique, Indexed, Not Modifiable) |
| Validation: | ^[a-zA-Z0-9]{1,128}$ |
| Remarks: | To distinguish multiplicity for a single user. |
| Rule (RI-321): |
| Type: | Validation (Insert/Update) |
| Rule Name: | InstanceID unique across App and EndUserCAPFMaps |
| Description: | InstanceID must be unique across both UserCAPFMap tables (ApplicationUserCAPFMap and EndUserCAPFMap) |
| Test Condition: | ON INSERT/UPDATE IN ApplicationUserCAPFMap OR EndUserCAPFMap IF (SELECT COUNT(*) FROM <table> WHERE lower(InstanceID) = lower(@instanceID)) > 1 THEN throw exception |
| Error Message: | Cannot insert duplicate instance ID in EndUserCAPFMap or ApplicationUserCAPFMap |
| Remedy: | Make sure the instance ID is unique across both the Application and End-User CAPF instances and try again. |
|
| 2.3.10.4 packetcaptureduration (FI-2621) |
| Type: | long (Null OK) |
| Default Value: | 0 |
| 2.3.10.5 pkid (FI-2629) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-314): |
| Type: | Active (Delete) |
| Rule Name: | cascade delete in NumPlanASMap |
| Description: | on enduserASMap delete, delete NumPlanASMap |
| Test Condition: | delete enduserASMap record |
|
| Rule (RI-373): |
| Type: | Active (Insert) |
| Rule Name: | Insert Dynamic Records for ApplicationUserCAPFMap Table |
| Description: | When an Application User is mapped to a credentials (CAPF record), insert a record for the frequently updated fields |
| Test Condition: | ON INSERT INTO ApplicationUserCAPFMap |
|
| 2.3.10.6 subjectname (FI-2879) |
| Type: | string [128] |
| Default Value: | EMPTY |
| Remarks: | Subject name of the certificate |
| 2.3.10.7 tkauthenticationmode (FI-2625) |
| Type: | enum |
| Default Value: | 2 |
| 2.3.10.8 tkcertificate (FI-2627) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.10.9 tkcertificateoperation (FI-2628) |
| Type: | enum |
| Default Value: | 1 |
| Remarks: | Certificate Operation |
| 2.3.10.10 tkcertificatestatus (FI-2623) |
| Type: | enum |
| Default Value: | 1 |
| 2.3.10.11 tkkeysize (FI-2626) |
| Type: | enum |
| Default Value: | 2 |
| 2.3.10.12 tkpacketcapturemode (FI-2620) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.10.13 upgradefinishtime (FI-2624) |
| Type: | string [50] |
| Default Value: | EMPTY |
|
| Uniqueness: | fkapplicationuser + instanceid is unique. (MFI-82) |
| 2.3.11 applicationusercapfmapdynamic (TI-442) |
| Description: | Frequently updated settings for Application User CAPF settings
|
| Fields: |
| 2.3.11.1 datetimestamp (FI-3311) |
| Type: | long |
| Default Value: | 0 |
| Rule (RI-400): |
| Type: | Active (Insert/Update) |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| Rule (RI-400): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| 2.3.11.2 fkapplicationusercapfmap (FI-3310) |
| Type: | guid (Unique, Cascade Delete) |
| 2.3.11.3 fkprocessnode (FI-2878) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Check Constraint: | fkProcessNode != '00000000-1111-0000-0000-000000000000' |
| Remarks: | The server to which this user, with this certificate, has opened a CTI provider. |
| 2.3.11.4 pkid (FI-3309) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.11.5 userstate (FI-3016) |
| Type: | long |
| Default Value: | 0 |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.12 applicationuserdevicemap (TI-297) |
| Description: | Maps controllability between App Users & Devices.
|
| Fields: |
| 2.3.12.1 description (FI-2076) |
| Type: | string [200] |
| Default Value: | EMPTY |
| Validation: | ^[^""""]{0,50}$ |
| Remarks: | ApplicationUser-entered description of a controlled device (allows Unicode). |
| 2.3.12.2 fkapplicationuser (FI-2078) |
| Type: | guid (Cascade Delete) |
| 2.3.12.3 fkdevice (FI-2077) |
| Type: | guid (Cascade Delete) |
| 2.3.12.4 pkid (FI-2079) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.12.5 tkuserassociation (FI-2390) |
| Type: | enum |
|
| Uniqueness: | fkdevice + fkapplicationuser + tkuserassociation is unique. (MFI-76) |
| 2.3.13 applicationuserdirgroupmap (TI-238) |
| Description: | Similar to UserGroupMap to group ApplicationUser into a DirGroup
|
| Fields: |
| 2.3.13.1 fkapplicationuser (FI-1685) |
| Type: | guid (Cascade Delete) |
| 2.3.13.2 fkdirgroup (FI-1686) |
| Type: | guid (Cascade Delete) |
| Rule (RI-201): |
| Type: | Validation (Update/Delete) |
| Rule Name: | Standard CCM Super Users Group Restriction |
| Description: | The CCM Super Users Group must contain at least one application user at all times to prevent locking primary administrator out of the system. |
| Test Condition: | ON DELETE FROM ApplicationUserDirGroupMap IF (DirGroup = 'CCM Super User') AND (SELECT COUNT(*) FROM ApplicationUserDirGroupMap = 0) THEN throw exception; ON UPDATE ApplicationUserDirGroupMap IF (DirGroup = 'CCM Super User') AND (old_fkDirGroup <> new_fkDirGroup) THEN throw exception |
| Error Message: | CCM Super User Group must contain at least one application user at all times. |
| Remedy: | Add another Application User to be the CCM Super User before removing the current user. |
|
| 2.3.13.3 isstandard (FI-2052) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | If standard set true during installation. Standard groups are only modifiable by installations. |
| 2.3.13.4 pkid (FI-1684) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | fkdirgroup + fkapplicationuser is unique. (MFI-75) |
| 2.3.15 appserver (TI-372) |
| Description: | Denotes the various Application servers that a CCM communicates with
|
| Fields: |
| 2.3.15.1 administrationurl (FI-3564) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9!#$%&'()*+,./:;<=>?@[^_{|}~\\-]{0,255}$ |
| Remarks: | Used to create a link to the Administrative application for the AppServer |
| 2.3.15.2 enduserurl (FI-3567) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9!#$%&'()*+,./:;<=>?@[^_{|}~\\-]{0,255}$ |
| Remarks: | Used to create a link to the EndUser application for the AppServer |
| 2.3.15.3 fkprocessnode (FI-3716) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Allows an application server's settings to be associated with a specific server in the cluster |
| 2.3.15.4 ipaddr (FI-2758) |
| Type: | string [15] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])$ |
| Remarks: | IP Address of the App server. |
| 2.3.15.5 name (FI-2756) |
| Type: | string [50] |
| Rule (RI-420): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AppServer.Name with .localdomain restriction |
| Description: | For each type of application server, only one instance can have the .localdomain suffix in the name. For tkAppServer=3, AppServer.Name cannot have duplicate values. AppServer.Name cannot have a value already existing for ProcessNode.Name |
| Test Condition: | ON INSERT/UPDATE IN AppServer: Check that there is only one AppServer entry with .localdomain per tkAppServer type. Check that new AppServer.Name is not equal to any old Appserver.Name for tkAppServer=3.Check that new AppServer.Name is not equal to existing ProcessNode.Name |
| Error Message: | Cannot assign more than one localdomain AppServer record per AppServer type.Cannot not have more than one Cisco Unified Presence Server with the same name as another Cisco Unified Presence Server or a Cisco Unified Communications Manager Server. |
| Remedy: | Check the server name you entered to make sure it does not already exist as an Application Server or Cisco Unified Communications Manager Server |
|
| Rule (RI-474): |
| Type: | Validation (Update) |
| Rule Name: | Preserve .localdomain suffix for CUCM BE Unity AppServer |
| Description: | For Business Edition (co-res) install, an AppServer entry for Cisco Unity Connection is created with .localdomain suffix in the name. On update, make sure .localdomain is not removed. |
| Test Condition: | ON UPDATE IN AppServer: IF (old_tkAppServer = APP_SERVER_UNITY_1_X) AND (old_name LIKE ('%.localdomain') AND new_name NOT LIKE ('%.localdomain') THEN throw exception END IF |
| Error Message: | Cannot remove the .localdomain suffix for Cisco Unity Connection application server |
| Remedy: | Include the .localdomain suffix in the appserver name. |
|
| Rule (RI-690): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AppServer Name is not a valid format for RemoteSyslog Server Type |
| Description: | Cisco Unified Communications Manager shall validate that AppServer name for Remote Syslog Server type is generally a valid FQDN (up to 255 characters) or IP Address. |
| Test Condition: | Make sure AppServer Name is ip, hostname or domain name |
| Remedy: | 1 |
|
| Rule (RI-945): |
| Type: | Active (Update/Delete) |
| Rule Name: | Update/Delete on AppServer to sync it up with UCService |
| Description: | On Deletion of a record from AppServer table, set the corresponding fkAppServer field to NULL in UCService table. On an Update on AppServer table with name getting changed, update the hostnameorip field in UCService table to match (only if it does not already match). |
| Test Condition: | ON DELETE FROM AppServer, UPDATE UCService SET fkAppServer = NULL WHERE fkAppServer = AppServer.pkid; ON UPDATE ON AppServer with name getting changed, IF (AppServer.name <> UCService.hostnameorip) THEN UPDATE UCService SET hostnameorip = AppServer.name WHERE fkAppServer = AppServer.pkid; |
|
| 2.3.15.6 pkid (FI-2755) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-945): |
| Type: | Active (Update/Delete) |
| Rule Name: | Update/Delete on AppServer to sync it up with UCService |
| Description: | On Deletion of a record from AppServer table, set the corresponding fkAppServer field to NULL in UCService table. On an Update on AppServer table with name getting changed, update the hostnameorip field in UCService table to match (only if it does not already match). |
| Test Condition: | ON DELETE FROM AppServer, UPDATE UCService SET fkAppServer = NULL WHERE fkAppServer = AppServer.pkid; ON UPDATE ON AppServer with name getting changed, IF (AppServer.name <> UCService.hostnameorip) THEN UPDATE UCService SET hostnameorip = AppServer.name WHERE fkAppServer = AppServer.pkid; |
|
| 2.3.15.7 tkappserver (FI-2757) |
| Type: | enum |
| Rule (RI-420): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AppServer.Name with .localdomain restriction |
| Description: | For each type of application server, only one instance can have the .localdomain suffix in the name. For tkAppServer=3, AppServer.Name cannot have duplicate values. AppServer.Name cannot have a value already existing for ProcessNode.Name |
| Test Condition: | ON INSERT/UPDATE IN AppServer: Check that there is only one AppServer entry with .localdomain per tkAppServer type. Check that new AppServer.Name is not equal to any old Appserver.Name for tkAppServer=3.Check that new AppServer.Name is not equal to existing ProcessNode.Name |
| Error Message: | Cannot assign more than one localdomain AppServer record per AppServer type.Cannot not have more than one Cisco Unified Presence Server with the same name as another Cisco Unified Presence Server or a Cisco Unified Communications Manager Server. |
| Remedy: | Check the server name you entered to make sure it does not already exist as an Application Server or Cisco Unified Communications Manager Server |
|
| Rule (RI-474): |
| Type: | Validation (Update) |
| Rule Name: | Preserve .localdomain suffix for CUCM BE Unity AppServer |
| Description: | For Business Edition (co-res) install, an AppServer entry for Cisco Unity Connection is created with .localdomain suffix in the name. On update, make sure .localdomain is not removed. |
| Test Condition: | ON UPDATE IN AppServer: IF (old_tkAppServer = APP_SERVER_UNITY_1_X) AND (old_name LIKE ('%.localdomain') AND new_name NOT LIKE ('%.localdomain') THEN throw exception END IF |
| Error Message: | Cannot remove the .localdomain suffix for Cisco Unity Connection application server |
| Remedy: | Include the .localdomain suffix in the appserver name. |
|
| Rule (RI-690): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AppServer Name is not a valid format for RemoteSyslog Server Type |
| Description: | Cisco Unified Communications Manager shall validate that AppServer name for Remote Syslog Server type is generally a valid FQDN (up to 255 characters) or IP Address. |
| Test Condition: | Make sure AppServer Name is ip, hostname or domain name |
| Remedy: | 1 |
|
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.16 appserverapplicationusermap (TI-407) |
| Description: | This table will hold the relationship on the CCM side between application server and application user used to log into application server
|
| Fields: |
| 2.3.16.1 content (FI-3341) |
| Type: | text (Null OK) |
| 2.3.16.2 fkapplicationuser (FI-3029) |
| Type: | guid (Cascade Delete) |
| 2.3.16.3 fkappserver (FI-3028) |
| Type: | guid (Cascade Delete) |
| 2.3.16.4 pkid (FI-3027) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.17 appserverinfo (TI-373) |
| Description: | Contains info pertaining to App servers
|
| Fields: |
| 2.3.17.1 content (FI-2761) |
| Type: | text (Null OK) |
| Default Value: | NULL |
| 2.3.17.2 fkappserver (FI-2763) |
| Type: | guid (Cascade Delete) |
| 2.3.17.3 pkid (FI-2760) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.17.4 tkappservercontent (FI-2762) |
| Type: | enum |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.18 availdialplan (TI-405) |
| Description: | Available DialPlan table
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.18.1 availableversion (FI-3012) |
| Type: | string [15] (Not Modifiable) |
| Default Value: | EMPTY |
| Remarks: | Version number of the Dial Plan installer |
| 2.3.18.2 description (FI-3011) |
| Type: | string [50] (Not Modifiable) |
| Default Value: | EMPTY |
| Remarks: | Description of the Dial Plan (e.g., North American Numbering Plan) |
| 2.3.18.3 dialplan (FI-3010) |
| Type: | string [50] (Not Modifiable) |
| Default Value: | EMPTY |
| Remarks: | Name of the Dial Plan (e.g., NANP) |
| 2.3.18.4 pkid (FI-3009) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.18.5 systemdialplan (FI-3031) |
| Type: | guid (Not Modifiable) |
| Remarks: | Unique ID of the Dial Plan as it appears in the DialPlan table (DialPlan.pkid) |
|
| Uniqueness: | availableversion + systemdialplan is unique. (MFI-92) |
| 2.3.19 axlchangenotifyclient (TI-540) |
| Description: | Lists all applications that can subscribe for AXL Change Notification.
|
| Fields: |
| 2.3.19.1 bitmap (FI-9992) |
| Type: | string [32] (Unique, Null OK) |
| Validation: | ^[01]{32}$ |
| Remarks: | To store the unique value for each client. |
| 2.3.19.2 clientname (FI-9983) |
| Type: | string [32] |
| Validation: | ^[a-zA-Z 0-9._-]{1,32}$ |
| Remarks: | Name of the application that can subscribe for Change Notification. |
| 2.3.19.3 networkid (FI-9982) |
| Type: | string [32] |
| Validation: | ^[a-zA-Z 0-9._-]{1,32}$ |
| Remarks: | NetworkID of Client. |
| 2.3.19.4 pkid (FI-9981) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID for the table. |
| 2.3.19.5 pollingstarttime (FI-9991) |
| Type: | long (Null OK) |
| Remarks: | Time from which Notification will be monitored. |
| 2.3.19.6 subscriberid (FI-9984) |
| Type: | long (Unique, Indexed, Not Modifiable) |
| Check Constraint: | (SubscriberId >= 1) AND (SubscriberId <= 10) |
| Remarks: | Subscription Unique Id whose value would be between 1 and 10. |
|
| Uniqueness: | networkid + clientname is unique. (MFI-173) |
| 2.3.20 axlchangenotifysubscribe (TI-541) |
| Description: | Maps each AXL Change Notify Client to the subscription type.
|
| Fields: |
| 2.3.20.1 fkaxlchangenotifyclient (FI-9988) |
| Type: | guid (Cascade Delete) |
| Remarks: | Unique ID of the AXLChangeNotifyClient. |
| 2.3.20.2 pkid (FI-9987) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID for the table. |
| 2.3.20.3 tkchangenotifysubscribe (FI-9989) |
| Type: | enum |
| Remarks: | Determines the class of Change Notification subscription : 0=User,1=Line,2=Phone. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.21 batfileinfo (TI-344) |
| Description: | Information of BAT Files
|
| Fields: |
| 2.3.21.1 datecreated (FI-2552) |
| Type: | long |
| Remarks: | Date when the file is uploaded |
| 2.3.21.2 enduser (FI-2553) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Remarks: | User who created this job |
| 2.3.21.3 isfilefound (FI-2605) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | Date when the file is uploaded |
| 2.3.21.4 name (FI-2547) |
| Type: | string [100] |
| Validation: | ^[a-zA-Z 0-9._-]{1,100}$ |
| Remarks: | BAT File Name |
| 2.3.21.5 pkid (FI-2546) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.21.6 tkbatfunction (FI-2549) |
| Type: | enum |
| Remarks: | File Transaction |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.23 batinputdata (TI-345) |
| Description: | Input data other than csv files
|
| Fields: |
| 2.3.23.1 data (FI-2557) |
| Type: | string [32000] |
| Default Value: | EMPTY |
| Remarks: | Input Data for BAT Jobs |
| 2.3.23.2 name (FI-2556) |
| Type: | string [50] |
| 2.3.23.3 pkid (FI-2555) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.23.4 tkbatfunction (FI-2607) |
| Type: | enum |
| Remarks: | Type of Input Data |
| 2.3.23.5 tkbatusage (FI-2558) |
| Type: | enum |
| Remarks: | Type of Input Data |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.25 batjob (TI-341) |
| Description: | Job submitted via BAT
|
| Fields: |
| 2.3.25.1 description (FI-2538) |
| Type: | string [400] |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F""%\\&<>]{0,100}$ |
| Remarks: | Description of the Job |
| 2.3.25.2 enduser (FI-2649) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Remarks: | User who created this job |
| 2.3.25.3 fkdevice (FI-2535) |
| Type: | guid (Cascade Delete, Null OK) |
| Remarks: | Template Information is provided from this device |
| 2.3.25.4 fkenduser (FI-2663) |
| Type: | guid (Cascade Delete, Null OK) |
| Remarks: | Template Information is provided for this User |
| 2.3.25.5 fkmgcp (FI-2536) |
| Type: | guid (Cascade Delete, Null OK) |
| Remarks: | Template Information is provided from this MGCP |
| 2.3.25.6 fknumplan (FI-2537) |
| Type: | guid (Cascade Delete, Null OK) |
| Remarks: | Template Information is provided from this DNorPattern |
| 2.3.25.7 frequencyjobend (FI-2533) |
| Type: | long (Null OK) |
| Remarks: | Denotes when a recurring job ends |
| 2.3.25.8 jobid (FI-2847) |
| Type: | long (Unique, Indexed) |
| Remarks: | unique ID to track Jobs. |
| 2.3.25.9 pkid (FI-2527) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.25.10 scheduleddatetime (FI-2531) |
| Type: | long |
| Remarks: | Denotes the job schedule time. |
| 2.3.25.11 sequence (FI-2530) |
| Type: | long |
| Check Constraint: | (sequence >= 0) AND (sequence <= 20) |
| Remarks: | A number to resolve job execution order when they are scheduled together. |
| 2.3.25.12 submitdatetime (FI-2532) |
| Type: | long |
| Remarks: | Denotes when the job is submitted |
| 2.3.25.13 tkbatfrequency (FI-2534) |
| Type: | enum |
| 2.3.25.14 tkbatfunction (FI-2528) |
| Type: | enum |
| 2.3.25.15 tkbatjobstatus (FI-2606) |
| Type: | enum |
| Remarks: | Holds the Status of the Job |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.26 batjobresults (TI-346) |
| Description: | Results of BAT Jobs
|
| Fields: |
| 2.3.26.1 fkbatjob (FI-2561) |
| Type: | guid (Cascade Delete) |
| Remarks: | Job for which the results are displayed |
| 2.3.26.2 isfilefound (FI-2608) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | Status of the Job |
| 2.3.26.3 launchdatetime (FI-2567) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | Data time when job is started |
| 2.3.26.4 logfilename (FI-2562) |
| Type: | string [100] |
| Default Value: | EMPTY |
| Remarks: | Name of the log file |
| 2.3.26.5 numrecordsfailed (FI-2565) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | Number of Records Failed |
| 2.3.26.6 numrecordsprocessed (FI-2664) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | Total Number of Records processed |
| 2.3.26.7 numrecordstotal (FI-2566) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | Total Number of Records processed |
| 2.3.26.8 pkid (FI-2560) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.26.9 tkbatresultstatus (FI-2568) |
| Type: | enum |
| Remarks: | Status of the Job |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.27 billingserver (TI-386) |
| Description: | Off cluster billing server
|
| Fields: |
| 2.3.27.1 directory (FI-2868) |
| Type: | string [255] |
| Default Value: | EMPTY |
| 2.3.27.2 enablecdroffloading (FI-6238) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to false, CDRs are not offloaded to that particular billing server |
| 2.3.27.3 hostname (FI-2865) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9 !#$%&'()*+,./:;<=>?@[^_{|}~\\-]{0,255}$ |
| Remarks: | FQDN or IP |
| 2.3.27.4 password (FI-2867) |
| Type: | string [128] |
| Default Value: | EMPTY |
| 2.3.27.5 pkid (FI-2863) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.27.6 preserve (FI-2998) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.27.7 resendonfailure (FI-3702) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | Tells CDRM whether or not to send CDR/CMR fiiles after FTP connection is restored. |
| 2.3.27.8 selorder (FI-2864) |
| Type: | long |
| Default Value: | 1 |
| Check Constraint: | ((selorder >= 1) AND (selorder <=3)) |
| Remarks: | order of server |
| 2.3.27.9 tkbillingserverprotocol (FI-2869) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | conf Bridge location |
| 2.3.27.10 userid (FI-2866) |
| Type: | string [255] |
| Default Value: | EMPTY |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.28 blfdirectedcallpark (TI-426) |
| Description: | Busy lamp monitor entries for Directed Call Park feature
|
| Fields: |
| 2.3.28.1 blfindex (FI-3231) |
| Type: | long |
| Check Constraint: | blfindex > 0 |
| Remarks: | This field identifies the Directed Call Park Monitor button on the phone (for example, 1, 2, 3, or 4). |
| 2.3.28.2 fkdevice (FI-3232) |
| Type: | guid (Cascade Delete) |
| Rule (RI-347): |
| Type: | Documentation (Developer notes only) |
| Rule Name: | BLF Directed CallPark device restriction |
| Description: | Device referenced in BLFDirectedCallPark table should support the Directed Call Park feature; Database does not enforce a hard rule on the relationship between this table and device. Instead the feature is available if a phone has a BLF Directed Call Park button. |
| Test Condition: | No check performed. Feature is available or not depending on whether or not a phone button for the feature is configured on the device. |
|
| Rule (RI-421): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | devicerelatedversionstamp versionstamp on direct call park busylampfield |
| Description: | Any operation on direct call park busylampfield, update devicerelatedversionstamp record |
| Test Condition: | update dpark busylampfield |
|
| 2.3.28.3 fknumplan (FI-3233) |
| Type: | guid (Cascade Delete) |
| Rule (RI-348): |
| Type: | Validation (Insert/Update) |
| Rule Name: | BLF Directed CallPark number must be a Directed Call Park destination |
| Description: | The NumPlan item referenced in BLFDirectedCallPark table must be a diable Directed Call Park pattern. The pattern must contain only dialable digits (0-9, * and #) and may not contain wildcards (X) or expressions with brackets. |
| Test Condition: | ON INSERT/UPDATE in BLFDirectedCallPark: SELECT tkPatternUsage, DNOrPattern INTO patternUsage, pattern FROM NumPlan WHERE pkid = new_fkNumPLan; IF (patternUsage <> PATTERN_USAGE_DIRECTED_CALL_PARK) OR (re_compare(pattern, "^[0-9*#]+$") <> 1) THEN throw exception; |
| Error Message: | The BLF Directed Call Park number must be a dialable Directed Call Park Destination |
| Remedy: | Make sure the Destination is a dialable Directed Call Park number and try again. |
|
| 2.3.28.4 label (FI-3234) |
| Type: | string [200] |
| Default Value: | EMPTY |
| Validation: | ^[^""""%&<>]{0,50}$ |
| Remarks: | The text that appears for the BLF Directed Call Park button (allows Unicode). |
| 2.3.28.5 labelascii (FI-3235) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9 !#$'()*+,./:;=?@[^_`{|}~\\-]{0,50}$ |
| Migration Source: | BLF.label if all chars are less than 127 |
| Remarks: | A safe version of the BLF Directed Call Park Button Label using only English letters (a to Z) and punctuation. |
| 2.3.28.6 pkid (FI-3236) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | blfindex + fkdevice is unique. (MFI-98) fkdevice + fknumplan is unique. (MFI-99) |
| 2.3.29 blfspeeddial (TI-350) |
| Description: | Keeps line status of internal DNs
|
| Fields: |
| 2.3.29.1 blfdestination (FI-2713) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Migration Source: | Value_ |
| Remarks: | This is the number or url that the system dials when the user presses the speed-dial button. |
| Rule (RI-326): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Check BLF SpeedDial Destination for URI |
| Description: | Destinations can be URIs only if the phone supports the additional feature BLF Speed Dial with URI |
| Test Condition: | ON INSERT/UPDATE IN BusyLampField (IF BLFDestination LIKE '%@%' AND SELECT COUNT(*) FROM ProductSupportsFeature where tkProduct = @product AND tkDeviceProtocol IN (@DeviceProtocol, 99) AND tkSupportsFeature = 62) = 0 THEN throw exception |
| Error Message: | This device does not support URI dialing. |
| Remedy: | Make sure the Destination is numeric and try again. |
|
| Rule (RI-896): |
| Type: | Active (Insert/Update) |
| Rule Name: | Encode URIs to minimum percent encoded format. |
| Description: | null |
|
| Rule (RI-896): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Encode URIs to minimum percent encoded format. |
| Description: | null |
|
| 2.3.29.2 blfindex (FI-2596) |
| Type: | long |
| Migration Source: | Index_ |
| Remarks: | This field identifies the speed-dial button on the phone (for example, 1, 2, 3, or 4). |
| 2.3.29.3 blfsdoptionbitmask (FI-3529) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (BLFSDOptionBitmask >= 0) AND (BLFSDOptionBitmask <= 1) |
| Remarks: | A Bitmask comprised of valid combinations of values from TypeBLFSpeedDialOption (0 or 1 in this release) |
| 2.3.29.4 fkdevice (FI-2593) |
| Type: | guid (Indexed, Cascade Delete) |
| Migration Source: | pkid from Device |
| Rule (RI-313): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | devicerelatedversionstamp versionstamp on busylampfield |
| Description: | Any operation on busylampfield, update devicerelatedversionstamp record |
| Test Condition: | update busylampfield |
|
| Rule (RI-326): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Check BLF SpeedDial Destination for URI |
| Description: | Destinations can be URIs only if the phone supports the additional feature BLF Speed Dial with URI |
| Test Condition: | ON INSERT/UPDATE IN BusyLampField (IF BLFDestination LIKE '%@%' AND SELECT COUNT(*) FROM ProductSupportsFeature where tkProduct = @product AND tkDeviceProtocol IN (@DeviceProtocol, 99) AND tkSupportsFeature = 62) = 0 THEN throw exception |
| Error Message: | This device does not support URI dialing. |
| Remedy: | Make sure the Destination is numeric and try again. |
|
| 2.3.29.5 fknumplan (FI-2855) |
| Type: | guid (Cascade Delete, Null OK) |
| Default Value: | NULL |
| Remarks: | pointer to dn and partionion if null use destination |
| 2.3.29.6 label (FI-2592) |
| Type: | string [120] |
| Default Value: | EMPTY |
| Validation: | ^[^""""%&<>]{0,30}$ |
| Migration Source: | NULL |
| Remarks: | The text that appears for the BLF Speed Dial button (allows Unicode). |
| 2.3.29.7 labelascii (FI-2597) |
| Type: | string [30] |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9 !#$'()*+,./:;=?@[^_`{|}~\\-]{0,30}$ |
| Migration Source: | BLF.label if all chars are less than 127 |
| Remarks: | A safe version of the BLF Speed Dial Button Label using only English letters (a to Z) and punctuation. |
| 2.3.29.8 pkid (FI-2594) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | blfindex + fkdevice is unique. (MFI-93) |
| Constraints: |
| Rule (RFI-187): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | ((BLFDestination = '') AND (fkNumPlan IS NOT NULL)) OR ((BLFDestination <> '') AND (fkNumPlan IS NULL)) |
| Remarks: | Either an existing internal DN or an external destination can be specified for BLF Speed Dial, but not both. |
|
|
| 2.3.30 blockingcsslookup (TI-582) |
| Description: | CUBA: To store a mapping between allowed calls and blocking CSS detailsS
Is not replicated. |
| Fields: |
| 2.3.30.1 allowcallpark (FI-6049) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | check for callpark |
| 2.3.30.2 allowcallpickup (FI-6050) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | check for callpickup |
| 2.3.30.3 allowemergencycalls (FI-6048) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | check for emergency calls |
| 2.3.30.4 fkcallingsearchspace (FI-6051) |
| Type: | guid |
| Remarks: | Reference to CallingSearchSpace |
| 2.3.30.5 pkid (FI-6046) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique identifier for the record |
| 2.3.30.6 tkcosrouting (FI-6047) |
| Type: | enum |
| Remarks: | reference to cosrouting |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.31 callerfilterlist (TI-450) |
| Description: | List of allowed or blocked callers for Mobility
|
| Fields: |
| 2.3.31.1 description (FI-3397) |
| Type: | text |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F\x7F""""]{0,128}$ |
| 2.3.31.2 fkenduser (FI-3399) |
| Type: | guid (Cascade Delete, Not Modifiable, Null OK) |
| Default Value: | NULL |
| Remarks: | Owner of CallerFilterList |
| Rule (RI-387): |
| Type: | Validation (Insert/Update) |
| Rule Name: | CallerFilterList limited to 250 per EndUser |
| Description: | An End-User may create up to 250 CallerFilterLists |
| Test Condition: | ON INSERT INTO CallerFilterList: IF (SELECT COUNT(*) FROM CallerFilterList where fkEndUser = new_fkEndUser) > 250 THEN throw exception |
| Error Message: | Cannot have more than 250 CallerFilterLists for an EndUser |
| Remedy: | Remove some CallerFilterLists or consider combining some lists |
|
| 2.3.31.3 isallowedtype (FI-3398) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | False = Blocked; True = Allowed |
| 2.3.31.4 name (FI-3396) |
| Type: | string [200] (Indexed) |
| Validation: | ^[^""%&\\<>]{0,50}$ |
| 2.3.31.5 pkid (FI-3395) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | fkenduser + name is unique. (MFI-102) |
| 2.3.32 callerfilterlistmember (TI-451) |
| Description: | Members of CallerFilterLists
|
| Fields: |
| 2.3.32.1 dnmask (FI-3402) |
| Type: | dn |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Default Value: | EMPTY |
| Validation: | ^[!0-9*#+X]?[0-9*#+X]{0,46}[!0-9*#+X]?$ |
| Remarks: | DN mask (allows 0-9, *, #, mask character X and +). Pattern can start and end with wildcard character (!) |
| Rule (RFI-155): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkCallerFilterMask = 0 |
| Constraint: | (DNMask <> '') |
| Remarks: | Directory Number filter cannot have an empty DN Mask. |
|
| Rule (RFI-156): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkCallerFilterMask <> 0 |
| Constraint: | (DNMask = '') |
| Remarks: | DN Mask is only used for Directory Number filter (not used with private number or number-not-available filter). |
|
| Rule (RI-389): |
| Type: | Validation (Insert/Update) |
| Rule Name: | CallerFilterListMember DNMask must be unique within list |
| Description: | The DNMask values within a CallerFilterList must be unique (if not empty); Number Not Available and Private Number filters do not use a DNMask |
| Test Condition: | ON INSERT/UPDATE INTO CallerFilterListMember: |
| Error Message: | The specified DN Mask already exists for this Caller Filter List. |
| Remedy: | Check the DN Mask and make sure it is unique for this list. |
|
| 2.3.32.2 fkcallerfilterlist (FI-3403) |
| Type: | guid (Cascade Delete, Null OK) |
| Default Value: | NULL |
| Rule (RI-386): |
| Type: | Validation (Insert/Update) |
| Rule Name: | CallerFilterListMember limited to 1000 per list |
| Description: | A CallerFilterList may have up to 1000 members. |
| Test Condition: | ON INSERT INTO CallerFilterListMember: IF (SELECT COUNT(*) FROM CallerFilterListMember WHERE fkCallerFilterList = new_fkCallerFilterList) > 1000 THEN throw exception; |
| Error Message: | Cannot have more than 1000 members in a Caller Filter List. |
| Remedy: | Remove some members of the list or combine similar filters using wildcards (* or X) if possible. |
|
| Rule (RI-389): |
| Type: | Validation (Insert/Update) |
| Rule Name: | CallerFilterListMember DNMask must be unique within list |
| Description: | The DNMask values within a CallerFilterList must be unique (if not empty); Number Not Available and Private Number filters do not use a DNMask |
| Test Condition: | ON INSERT/UPDATE INTO CallerFilterListMember: |
| Error Message: | The specified DN Mask already exists for this Caller Filter List. |
| Remedy: | Check the DN Mask and make sure it is unique for this list. |
|
| Rule (RI-417): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Only one instance of Private or Not Available per Caller Filter List |
| Description: | For any given Caller Filter List, only one (1) instance of Private or Not Available members may exist at any given time. However multiple number of Directory Number masks can be added |
| Test Condition: | update DeviceMobilityDynamic |
| Error Message: | IF (nCount > 1 AND new_tkcallerfiltermask <> 0) THEN throw exception;END IF; |
| Remedy: | Only one instance of Private or Not Selected is allowed for any given Caller Filter List |
|
| 2.3.32.3 pkid (FI-3400) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.32.4 tkcallerfiltermask (FI-3404) |
| Type: | enum |
| Default Value: | 0 |
| Rule (RI-417): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Only one instance of Private or Not Available per Caller Filter List |
| Description: | For any given Caller Filter List, only one (1) instance of Private or Not Available members may exist at any given time. However multiple number of Directory Number masks can be added |
| Test Condition: | update DeviceMobilityDynamic |
| Error Message: | IF (nCount > 1 AND new_tkcallerfiltermask <> 0) THEN throw exception;END IF; |
| Remedy: | Only one instance of Private or Not Selected is allowed for any given Caller Filter List |
|
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.33 callforwardalloverride (TI-457) |
| Description: | For DNs where forwarding is ignored allowing calls to ring through while a DN is forwarded (CFwdAll)
|
| Fields: |
| 2.3.33.1 callingpartynumber (FI-3427) |
| Type: | dn |
| DN Type: | DN_TYPE_MASK |
| Validation: | ^[0-9A-D*#]{1,48}$ |
| Remarks: | Calling Party Number for which calls should not be forwarded |
| 2.3.33.2 fknumplan (FI-3426) |
| Type: | guid (Cascade Delete) |
| Remarks: | NumPlan record for DN to which Override is applied (the forwarded line) |
| 2.3.33.3 pkid (FI-3425) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.34 callforwarddynamic (TI-434) |
| Description: | Frequently updated settings for Call Forward All
Insert/Delete is not allowed. |
| Fields: |
| 2.3.34.1 cfadestination (FI-183) |
| Type: | string [255] (Null OK) |
| Default Value: | NULL |
| Migration Source: | convert from forward |
| Remarks: | Call Forward All (not a pattern) |
| Rule (RI-837): |
| Type: | Active (Insert/Update) |
| Rule Name: | Store Most Recent Call Foward History Record |
| Description: | For each NumPlan DN maintain a history of the most 5 recent Call Foward destinations specified. |
| Test Condition: | On Insert or Update of CallFoward Destination for a Numplan record |
|
| Rule (RI-890): |
| Type: | Active (Insert/Update) |
| Rule Name: | Encode URIs to minimum percent encoded format. |
| Description: | null |
|
| Rule (RI-890): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Encode URIs to minimum percent encoded format. |
| Description: | null |
|
| 2.3.34.2 cfavoicemailenabled (FI-1080) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.34.3 datetimestamp (FI-3299) |
| Type: | long |
| Default Value: | 0 |
| Rule (RI-400): |
| Type: | Active (Insert/Update) |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| Rule (RI-400): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| 2.3.34.4 fkcallingsearchspace_cfa (FI-637) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Call Forward All |
| 2.3.34.5 fkcallingsearchspace_scfa (FI-2765) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Migration Source: | from CSSforCFA Clause |
| Remarks: | Secondary Call Forward All |
| 2.3.34.6 fknumplan (FI-3298) |
| Type: | guid (Unique, Cascade Delete) |
| Rule (RI-837): |
| Type: | Active (Insert/Update) |
| Rule Name: | Store Most Recent Call Foward History Record |
| Description: | For each NumPlan DN maintain a history of the most 5 recent Call Foward destinations specified. |
| Test Condition: | On Insert or Update of CallFoward Destination for a Numplan record |
|
| 2.3.34.7 pkid (FI-3297) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.35 callforwardhistorydynamic (TI-595) |
| Description: | To store the last 5 Call Forward destination DN updates done on a line
Insert/Delete is not allowed. |
| Fields: |
| 2.3.35.1 datetimestamp (FI-6129) |
| Type: | long |
| Remarks: | Uniform Integer representation of the most recent time that the corresponding DNOrPattern was used as a forward destination for the associated line |
| 2.3.35.2 dnorpattern (FI-6128) |
| Type: | dn (Not Modifiable) |
| DN Type: | DN_TYPE_MASK |
| Remarks: | Indicates the CallForward DN associated with a line for a given timestamp |
| 2.3.35.3 fknumplan (FI-6127) |
| Type: | guid (Indexed, Not Modifiable) |
| Remarks: | Represents the line on which Call Forward was updated. This field is intentionally marked as NOT cascade delete since its a CUBA table |
| 2.3.35.4 pkid (FI-6126) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique identifier for the record |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.36 callingsearchspace (TI-73) |
| Description: | For Dial Plan - devices call to a calling search space made up of route partitions.
|
| Fields: |
| 2.3.36.1 clause (FI-695) |
| Type: | memo (Not Modifiable, Null OK) |
| Default Value: | NULL |
| Remarks: | Ordered list of colon separated RoutePartition Names via CallingSearchSpaceMember |
| Rule (RI-5): |
| Type: | Active (Insert/Update/Delete records) This field is modified by this rule. |
| Rule Name: | CSS Clause Update on Member Insert/Delete |
| Description: | When a new CSS Member record (new partition) is inserted, or an existing record is modified, the CSS Clause of the referenced CSS (CallingSearchSpaceMember.fkCallingSearchSpace) must be updated to reflect the change |
| Test Condition: | Insert or Update in CallingSearchSpaceMember |
|
| Rule (RI-6): |
| Type: | Active (Insert/Update/Delete records) This field is modified by this rule. |
| Rule Name: | CSS Clause Update on Member Update |
| Description: | If any information about a CSS Member changes (sort order, referenced partition), the CSS Clause must be updated to reflect the change |
| Test Condition: | Updates in CallingSearchSpaceMember |
|
| Rule (RI-7): |
| Type: | Active (Insert/Update/Delete records) This field is modified by this rule. |
| Rule Name: | CSS Clause Update on Route Partition Name Update |
| Description: | If the name of a Route Partition changes, any CSS Clause containing that partition must be updated to reflect the new name |
| Test Condition: | RoutePartition.Name changes |
|
| 2.3.36.2 description (FI-133) |
| Type: | string [200] |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F""%&<>]{0,50}$ |
| Migration Source: | N/A |
| Remarks: | Description for CallingSerachSpace. |
| 2.3.36.3 dialplanwizardgenid (FI-676) |
| Type: | long (Indexed, Null OK) |
| Default Value: | NULL |
| Remarks: | This record created by DialPlanWizard |
| 2.3.36.4 name (FI-132) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z 0-9._-]{1,50}$ |
| Migration Source: | N/A |
| Remarks: | Unique name |
| 2.3.36.5 pkid (FI-131) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-448): |
| Type: | Active (Delete) |
| Rule Name: | Cannot delete pkid of css if useDevicePoolCdpnTransformCSS is false |
| Description: | Cannot delete pkid of css if useDevicePoolCdpnTransformCSS is false |
| Test Condition: | if CSS.pkid=device.fkCallingSearchSpace_CdPNTransform and useDevicePoolCdpnTransformCSS='f' then pkid of CSS cannot be deleted. IF useDevicePoolCdpnTransformCSS='t' THEN update device set fkCallingSearchSpace_CdPNTransform=NULL |
| Error Message: | CSS cannot be deleted until it is first removed from the associated gateway if the useDevicePoolCdpnTransformCSS is false |
|
| Rule (RI-450): |
| Type: | Active (Delete) |
| Rule Name: | Cannot delete pkid of css if useDevicePoolCgpnTransformCSS is false |
| Description: | Cannot delete pkid of css if useDevicePoolCgpnTransformCSS is false |
| Test Condition: | if CSS.pkid=device.fkCallingSearchSpace_CgPNTransform and useDevicePoolCgpnTransformCSS='f' then pkid of CSS cannot be deleted. IF useDevicePoolCgpnTransformCSS='t' THEN update device set fkCallingSearchSpace_CgPNTransform=NULL |
| Error Message: | CSS cannot be deleted until it is first removed from the associated phone if the useDevicePoolCgpnTransformCSS is false |
|
| 2.3.36.6 resettoggle (FI-3124) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device or group be reset |
| 2.3.36.7 tkpartitionusage (FI-3252) |
| Type: | enum (Not Modifiable) |
| Default Value: | 99 |
| Check Constraint: | tkPartitionUsage!=21 |
| Remarks: | Defines use of CSS (Intercom or other) |
| 2.3.36.8 tkreset (FI-3125) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Set by DeviceReset stored procedure. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.37 callingsearchspacemember (TI-74) |
| Description: | Lists the RoutePartitions in a Calling Search Space.
|
| Fields: |
| 2.3.37.1 fkcallingsearchspace (FI-135) |
| Type: | guid (Indexed, Cascade Delete, Not Modifiable) |
| Migration Source: | new |
| Rule (RI-252): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | BuildCSSClause |
| Description: | On insert, update or delete of CSSMember rebuild the css clause for the associated CSS. Maximum length for the clause is 512 characters including the delimiters. |
| Test Condition: | ON INSERT/UPDATE/DELETE IN CallingSearchSpaceMember: CSS Clause = Route Partition Names delimited by colon; IF LENGTH(CSSClause) > 512 THEN throw exception |
| Error Message: | CSS Clause cannot exceed 512 characters |
| Remedy: | Shorten the individual Partition names or use fewer partitions in the Calling Search Space |
|
| Rule (RI-367): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Intercom and other CSS/Partition cannot be mixed |
| Description: | Intercom CSS can only contain Intercom Partitions. Non-Intercom CSS can only contain non-Intercom Partitions (partition usage must match for CSS and member partitions) |
| Test Condition: | ON INSERT/UPDATE IN CallingSearchSpaceMember: IF ((SELECT tkPartitionUsage FROM RoutePartition WHERE pkid = new_fkRoutePartition) <> (SELECT tkPartitionUsage FROM CallingSearchSpace WHERE pkid = new_fkCallingSearchSpace)) THEN throw exception |
| Error Message: | Intercom and non-Intercom partitions cannot be mixed |
| Remedy: | Use only Intercom partitions for Intercom CSS, and only non-Intercom partitions for non-Intercom CSS |
|
| 2.3.37.2 fkroutepartition (FI-136) |
| Type: | guid (Cascade Delete) |
| Rule (RI-367): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Intercom and other CSS/Partition cannot be mixed |
| Description: | Intercom CSS can only contain Intercom Partitions. Non-Intercom CSS can only contain non-Intercom Partitions (partition usage must match for CSS and member partitions) |
| Test Condition: | ON INSERT/UPDATE IN CallingSearchSpaceMember: IF ((SELECT tkPartitionUsage FROM RoutePartition WHERE pkid = new_fkRoutePartition) <> (SELECT tkPartitionUsage FROM CallingSearchSpace WHERE pkid = new_fkCallingSearchSpace)) THEN throw exception |
| Error Message: | Intercom and non-Intercom partitions cannot be mixed |
| Remedy: | Use only Intercom partitions for Intercom CSS, and only non-Intercom partitions for non-Intercom CSS |
|
| 2.3.37.3 pkid (FI-134) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.37.4 sortorder (FI-137) |
| Type: | long |
| Check Constraint: | SortOrder >= 0 |
| Remarks: | Gaps in SortOrder are allowed - not rebuilt on delete |
| Rule (RI-6): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | CSS Clause Update on Member Update |
| Description: | If any information about a CSS Member changes (sort order, referenced partition), the CSS Clause must be updated to reflect the change |
| Test Condition: | Updates in CallingSearchSpaceMember |
|
|
| Uniqueness: | fkcallingsearchspace + fkroutepartition is unique. (MFI-7) fkcallingsearchspace + sortorder is unique. (MFI-8) |
| Rules: |
| Rule (RI-5): |
| Type: | Active (Insert/Update/Delete records) Rule applied when record is inserted or updated. |
| Rule Name: | CSS Clause Update on Member Insert/Delete |
| Description: | When a new CSS Member record (new partition) is inserted, or an existing record is modified, the CSS Clause of the referenced CSS (CallingSearchSpaceMember.fkCallingSearchSpace) must be updated to reflect the change |
| Test Condition: | Insert or Update in CallingSearchSpaceMember |
|
| Rule (RI-169): |
| Type: | Documentation (Developer notes only) Rule applied when record is inserted or updated. |
| Rule Name: | CallingSearchSpaceMember - Limited by Clause |
| Description: | Currently the number of members is limited by the length of the CallingSearchSpace.Clause (created when the names of the members are joined by a colon, e.g., Part1:Part2:Part3). This limitation is expected to be removed in a later release and replaced by a fixed maximum number of members. |
| Test Condition: | SELECT LENGTH(Clause) FROM CallingSearchSpace WHERE pkid = @CallingSearchSpaceMember.fkCallingSearchSpace |
|
|
| 2.3.38 callmanager (TI-5) |
| Description: | Lists every CallManager in the system.
|
| Fields: |
| 2.3.38.1 autoregistrationenddn (FI-537) |
| Type: | long |
| Default Value: | 1000 |
| Check Constraint: | (AutoregistrationEndDN >= 0) AND (AutoregistrationEndDN < 99999999) |
| Migration Source: | convert from PhoneNumRage.Last |
| Remarks: | This is the last directory number to use for auto-registration of devices. Specifying a valid range of directory numbers in the Starting Directory Number and Ending Directory Number fields automatically enables auto-registration. Setting the starting and ending directory numbers to the same value disables auto-registration. |
| Rule (RI-3): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Autoregistration DN Range |
| Description: | The starting DN for autoregistration must be less than or equal to the ending DN. |
| Test Condition: | CallManager.AutoregistrationStartDN < CallManager.AutoregistrationEndDN |
| Error Message: | Invalid Autoregistration DN range - the starting DN must be less than the ending DN. |
| Remedy: | Change the starting or ending DN so that the starting DN is less than the ending DN. |
|
| Rule (RI-160): |
| Type: | Documentation (Developer notes only) |
| Rule Name: | CallManager AutoRegistration Disabled |
| Description: | Auto-registration is disabled if the starting and ending values of the DN range for Auto-registration are the same. By default, registration is disabled with both start and end DN set to 1000. |
| Test Condition: | CallManager.AutoregistrationStartDN = CallManager.AutoregistrationEndDN |
|
| Rule (RI-247): |
| Type: | Active (Update) |
| Rule Name: | UpdStartDNEndDN |
| Description: | Before update, if NEW.autoregstartdn > NEW.autoregnextdn) or (NEW.autoregenddn < NEW.autoregnnextdn, then set nextdn = startdn |
| Test Condition: | ? |
| Error Message: | ? |
| Remedy: | ? |
|
| 2.3.38.2 autoregistrationnextdn (FI-538) |
| Type: | long |
| Default Value: | 1000 |
| Migration Source: | convert from PhoneNumRage.LastUsed |
| Remarks: | This field is incremented by Cisco CallManager after a device has autoregistered. |
| Rule (RI-4): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Autoregistration Next DN Range |
| Description: | The next DN for autoregistration must be in the ranged defined by Starting and Ending DN |
| Test Condition: | (CallManager.AutoregistrationNextDN >= CallManager.AutoregistrationStartDN) AND (CallManager.AutoregistrationNextDN <= CallManager.AutoregistrationEndDN) |
| Error Message: | Invalid Next DN for Autoregistration - the Next Dn must be in the range defined by the starting and ending DN for this CallManager. |
| Remedy: | Use the next available DN between the Starting and Ending DN for this CallManager. |
|
| Rule (RI-247): |
| Type: | Active (Update) |
| Rule Name: | UpdStartDNEndDN |
| Description: | Before update, if NEW.autoregstartdn > NEW.autoregnextdn) or (NEW.autoregenddn < NEW.autoregnnextdn, then set nextdn = startdn |
| Test Condition: | ? |
| Error Message: | ? |
| Remedy: | ? |
|
| Rule (RI-247): |
| Type: | Active (Update) This field is modified by this rule. |
| Rule Name: | UpdStartDNEndDN |
| Description: | Before update, if NEW.autoregstartdn > NEW.autoregnextdn) or (NEW.autoregenddn < NEW.autoregnnextdn, then set nextdn = startdn |
| Test Condition: | ? |
| Error Message: | ? |
| Remedy: | ? |
|
| 2.3.38.3 autoregistrationstartdn (FI-536) |
| Type: | long |
| Default Value: | 1000 |
| Check Constraint: | (AutoregistrationStartDN >= 0) AND (AutoregistrationStartDN < 99999999) |
| Migration Source: | convert from PhoneNumRage.Start |
| Remarks: | This is the first directory number to use for auto-registration of devices. |
| Rule (RFI-108): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | AutoregistrationStartDN <= AutoregistrationEndDN |
| Remarks: | The starting DN must be less than or equal to the ending DN |
|
| Rule (RI-3): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Autoregistration DN Range |
| Description: | The starting DN for autoregistration must be less than or equal to the ending DN. |
| Test Condition: | CallManager.AutoregistrationStartDN < CallManager.AutoregistrationEndDN |
| Error Message: | Invalid Autoregistration DN range - the starting DN must be less than the ending DN. |
| Remedy: | Change the starting or ending DN so that the starting DN is less than the ending DN. |
|
| Rule (RI-160): |
| Type: | Documentation (Developer notes only) |
| Rule Name: | CallManager AutoRegistration Disabled |
| Description: | Auto-registration is disabled if the starting and ending values of the DN range for Auto-registration are the same. By default, registration is disabled with both start and end DN set to 1000. |
| Test Condition: | CallManager.AutoregistrationStartDN = CallManager.AutoregistrationEndDN |
|
| Rule (RI-247): |
| Type: | Active (Update) |
| Rule Name: | UpdStartDNEndDN |
| Description: | Before update, if NEW.autoregstartdn > NEW.autoregnextdn) or (NEW.autoregenddn < NEW.autoregnnextdn, then set nextdn = startdn |
| Test Condition: | ? |
| Error Message: | ? |
| Remedy: | ? |
|
| 2.3.38.4 ctiid (FI-418) |
| Type: | identity (Unique, Not Modifiable) |
| Migration Source: | CallManagerID |
| Remarks: | Trigger set on insert. Try to keep number as small so reuse missing numbers. This value is used by CCM to identify itself to other CCM applications on other servers in the cluster. |
| Rule (RI-2): |
| Type: | Active (Insert) This field is modified by this rule. |
| Rule Name: | Generate CTI ID value |
| Description: | On insert of a new record generate a unique 32-bit integer value and store the result in the CTI ID field |
| Test Condition: | On Insert |
|
| 2.3.38.5 description (FI-165) |
| Type: | string [200] |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F""%\\&<>]{0,50}$ |
| Migration Source: | CallManagerName (Create record if record does not exist) |
| Remarks: | Description of the Cisco CallManager. |
| 2.3.38.6 e164maskautoregistration (FI-618) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_MASK |
| Default Value: | NULL |
| Validation: | ^[0-9*#+X]{0,24}$ |
| Remarks: | The mask that is used to format caller ID information for external (outbound) calls that are made from the auto-registered devices. The mask can contain up to 50 characters. Enter the literal digits that you want to appear in the caller ID information and use Xs to represent the directory number of the auto-registered device. |
| 2.3.38.7 ethernetphoneport (FI-166) |
| Type: | long |
| Default Value: | 2000 |
| Check Constraint: | (EthernetPhonePort >= 1024) AND (EthernetPhonePort <= 49151) |
| Migration Source: | EthernetPhonePort (if no record, read from SCM.ini or default to 2000) |
| Remarks: | Cisco CallManager uses this TCP port to communicate with the Cisco IP Phones on the network. Accept the default port of 2000 unless this port is already in use on your system. Ensure all port entries are unique. Valid port numbers range from 1024 to 49151. |
| Rule (RI-8): |
| Type: | Validation (Insert/Update) |
| Rule Name: | CallManager TCP/IP Port Uniqueness |
| Description: | The TCP/IP Ports used by a CallManager must be unique - two port settings may not have the same value |
| Test Condition: | CallManager.AnalogAccessPort != CallManager.DigitalAccessPort != CallManager.EthernetPhonePort != CallManager.MGCPKeepAlivePort != CallManager.MGCPListenPort |
|
| Rule (RI-270): |
| Type: | Active (Insert/Update) |
| Rule Name: | callmanager versionstamp |
| Description: | on change to anything in callmanager table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.38.8 fklbmgroup (FI-9967) |
| Type: | guid (Indexed, Null OK) |
| Default Value: | NULL |
| Remarks: | LBMGroup associated to a node. LBMGroup assigment is optional as long as LBM service is running locally on UCM node |
| 2.3.38.9 fkprocessnode (FI-420) |
| Type: | guid (Unique, Cascade Delete) |
| Check Constraint: | fkProcessNode != '00000000-1111-0000-0000-000000000000' |
| Migration Source: | CM's process node recently added |
| Remarks: | Select the server where this Cisco CallManager is installed. |
| Rule (RI-270): |
| Type: | Active (Insert/Update) |
| Rule Name: | callmanager versionstamp |
| Description: | on change to anything in callmanager table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.38.10 fkroutepartition_autoregistration (FI-590) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | The partition to which auto-registered directory numbers belong to. |
| 2.3.38.11 mgcpkeepaliveport (FI-635) |
| Type: | long |
| Default Value: | 2428 |
| Check Constraint: | (MGCPKeepAlivePort >= 1024) AND (MGCPKeepAlivePort <= 49151) |
| Remarks: | Cisco CallManager uses this TCP port to exchange keepalive messages with its associated MGCP gateway. Accept the default port of 2428 unless this port is already in use on your system. Ensure all port entries are unique. Valid port numbers range from 1024 to 49151. |
| Rule (RI-8): |
| Type: | Validation (Insert/Update) |
| Rule Name: | CallManager TCP/IP Port Uniqueness |
| Description: | The TCP/IP Ports used by a CallManager must be unique - two port settings may not have the same value |
| Test Condition: | CallManager.AnalogAccessPort != CallManager.DigitalAccessPort != CallManager.EthernetPhonePort != CallManager.MGCPKeepAlivePort != CallManager.MGCPListenPort |
|
| Rule (RI-270): |
| Type: | Active (Insert/Update) |
| Rule Name: | callmanager versionstamp |
| Description: | on change to anything in callmanager table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.38.12 mgcplistenport (FI-634) |
| Type: | long |
| Default Value: | 2427 |
| Check Constraint: | (MGCPListenPort >= 1024) AND (MGCPListenPort <= 49151) |
| Remarks: | Cisco CallManager uses this TCP port to detect messages from its associated MGCP gateway. Accept the default port of 2427 unless this port is already in use on your system. Ensure all port entries are unique. Valid port numbers range from 1024 to 49151. |
| Rule (RI-8): |
| Type: | Validation (Insert/Update) |
| Rule Name: | CallManager TCP/IP Port Uniqueness |
| Description: | The TCP/IP Ports used by a CallManager must be unique - two port settings may not have the same value |
| Test Condition: | CallManager.AnalogAccessPort != CallManager.DigitalAccessPort != CallManager.EthernetPhonePort != CallManager.MGCPKeepAlivePort != CallManager.MGCPListenPort |
|
| Rule (RI-270): |
| Type: | Active (Insert/Update) |
| Rule Name: | callmanager versionstamp |
| Description: | on change to anything in callmanager table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.38.13 name (FI-164) |
| Type: | string [50] (Unique) |
| Validation: | ^[]a-zA-Z0-9 !#$'()*+,./:;=?@[^_`{|}~-]{1,50}$ |
| Migration Source: | Description |
| Remarks: | Name of this CallManager. |
| 2.3.38.14 pkid (FI-163) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-270): |
| Type: | Active (Insert/Update) |
| Rule Name: | callmanager versionstamp |
| Description: | on change to anything in callmanager table, update device versionstamp |
| Test Condition: | update device |
|
| Rule (RI-332): |
| Type: | Active (Insert/Update) |
| Rule Name: | Prevent port conflict between CCMs and SIP Tunk Security Profiles |
| Description: | on I/U of SecurityProfile and CCM |
| Test Condition: | prevent bad port combinations |
|
| Rule (RI-605): |
| Type: | Active (Insert) |
| Rule Name: | RTMT Reporting Record Insert |
| Description: | On insert of a callmanager record, insert the RTMT reporting records |
| Test Condition: | ? |
|
| 2.3.38.15 resettoggle (FI-3129) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device or group be reset |
| Rule (RI-270): |
| Type: | Active (Insert/Update) |
| Rule Name: | callmanager versionstamp |
| Description: | on change to anything in callmanager table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.38.16 sipport (FI-2391) |
| Type: | long |
| Default Value: | 5060 |
| Check Constraint: | (SIPPort >= 1024) AND (SIPPort <= 49151) |
| Migration Source: | EthernetPhonePort (if no record, read from SCM.ini or default to 2000) |
| Remarks: | Cisco CallManager uses this port to communicate with the Cisco IP Phones on the network for SIP protocol. Accept the default port of 5060 unless this port is already in use on your system. Ensure all port entries are unique. Valid port numbers range from 1024 to 49151. |
| Rule (RI-332): |
| Type: | Active (Insert/Update) |
| Rule Name: | Prevent port conflict between CCMs and SIP Tunk Security Profiles |
| Description: | on I/U of SecurityProfile and CCM |
| Test Condition: | prevent bad port combinations |
|
| 2.3.38.17 sipsecuredport (FI-2392) |
| Type: | long |
| Default Value: | 5061 |
| Check Constraint: | (SIPSecuredPort >= 1024) AND (SIPSecuredPort <= 49151) |
| Remarks: | Cisco CallManager uses this port for secured communication with the Cisco IP Phones on the network for SIP protocol. Accept the default port of 5061 unless this port is already in use on your system. Ensure all port entries are unique. Valid port numbers range from 1024 to 49151. |
| Rule (RI-332): |
| Type: | Active (Insert/Update) |
| Rule Name: | Prevent port conflict between CCMs and SIP Tunk Security Profiles |
| Description: | on I/U of SecurityProfile and CCM |
| Test Condition: | prevent bad port combinations |
|
| 2.3.38.18 tkreset (FI-3130) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Set by DeviceReset stored procedure. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| Constraints: |
| Rule (RFI-125): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | ( EthernetPhonePort NOT IN ( MGCPKeepAlivePort , MGCPListenPort ) ) AND ( MGCPKeepAlivePort NOT IN ( MGCPListenPort ) ) |
| Remarks: | Ports on an IP based system node must be unique. |
|
|
| Rules: |
| Rule (RI-2): |
| Type: | Active (Insert) Rule applied when record is inserted. |
| Rule Name: | Generate CTI ID value |
| Description: | On insert of a new record generate a unique 32-bit integer value and store the result in the CTI ID field |
| Test Condition: | On Insert |
|
| Rule (RI-168): |
| Type: | Validation (Insert/Update) Rule applied when record is inserted. |
| Rule Name: | Max 255 CallManagers per Cluster |
| Description: | A Cisco CallManager cluster may have no more than 255 CallManagers defined. |
| Test Condition: | IF ((SELECT COUNT(*) FROM CallManager) > 255) THEN throw exception |
| Error Message: | A Cisco CallManager cluster may have no more than 255 CallManagers defined. |
|
|
| 2.3.39 callmanagergroup (TI-6) |
| Description: | Used for redundancy and rehoming of devices
|
| Fields: |
| 2.3.39.1 name (FI-170) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z 0-9._-]{1,50}$ |
| Migration Source: | Description, create one if none exist, make default |
| Remarks: | Name of the CallManager group. |
| 2.3.39.2 pkid (FI-169) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-9): |
| Type: | Validation (Insert) |
| Rule Name: | Set CallManager Group TFTP Default |
| Description: | Only one CallManagerGroup can be the default for TFTP; when a CallManagerGroup is made the default, the existing default must be updated to set CallManagerGroup.TFTPDefault to 0 |
| Test Condition: | Set CallManagerGroup.TFTPDefault = 1 on Insert or change setting from 0 to 1 on Update |
|
| 2.3.39.3 resettoggle (FI-3126) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device or group be reset |
| 2.3.39.4 tftpdefault (FI-283) |
| Type: | bool (Not Modifiable) |
| Default Value: | 0 |
| Migration Source: | DefaultGroup |
| Remarks: | Whether this Cisco CallManager group is the default Cisco CallManager group when auto-registration is enabled. Note : Each Cisco CallManager cluster can have only one default auto-registration group. |
| Rule (RI-9): |
| Type: | Validation (Insert) |
| Rule Name: | Set CallManager Group TFTP Default |
| Description: | Only one CallManagerGroup can be the default for TFTP; when a CallManagerGroup is made the default, the existing default must be updated to set CallManagerGroup.TFTPDefault to 0 |
| Test Condition: | Set CallManagerGroup.TFTPDefault = 1 on Insert or change setting from 0 to 1 on Update |
|
| Rule (RI-10): |
| Type: | Validation (Delete) |
| Rule Name: | Delete CallManager Group TFTP Default |
| Description: | There must be a CallManagerGroup TFTP Default in the system at all times. The current default CallManager Group cannot be deleted |
| Test Condition: | Delete record where CallManagerGroup.TFTPDefault = 1 |
| Error Message: | Cannot delete the TFTP Default CallManager Group. |
| Remedy: | Make another CallManager Group the TFTP Default before deleting this CallManager Group. |
|
| Rule (RI-11): |
| Type: | Validation (Update) |
| Rule Name: | CallManager Group TFTP Default Required |
| Description: | There must be a CallManagerGroup TFTP Default in the system at all times. Cannot set the current default to 0 manually; it is set to 0 by rule when another CallManager Group is made the TFTP Default. |
| Test Condition: | Change CallManagerGroup.TFTPDefault from 1 to 0 |
| Error Message: | A Default CallManager Group for TFTP is required. You cannot remove the TFTP Default setting of this CallManager Group. |
| Remedy: | Make another CallManager Group the TFTP Default. The TFTP Default setting for this CallManager Group will automatically be set to false. |
|
| 2.3.39.5 tkreset (FI-3127) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Set by DeviceReset stored procedure. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| Rules: |
| Rule (RI-9): |
| Type: | Validation (Insert) This table is modified by this rule. |
| Rule Name: | Set CallManager Group TFTP Default |
| Description: | Only one CallManagerGroup can be the default for TFTP; when a CallManagerGroup is made the default, the existing default must be updated to set CallManagerGroup.TFTPDefault to 0 |
| Test Condition: | Set CallManagerGroup.TFTPDefault = 1 on Insert or change setting from 0 to 1 on Update |
|
| Rule (RI-10): |
| Type: | Validation (Delete) Rule applied when record is deleted. |
| Rule Name: | Delete CallManager Group TFTP Default |
| Description: | There must be a CallManagerGroup TFTP Default in the system at all times. The current default CallManager Group cannot be deleted |
| Test Condition: | Delete record where CallManagerGroup.TFTPDefault = 1 |
| Error Message: | Cannot delete the TFTP Default CallManager Group. |
| Remedy: | Make another CallManager Group the TFTP Default before deleting this CallManager Group. |
|
| Rule (RI-12): |
| Type: | Validation (Insert/Update) Rule applied when record is inserted. |
| Rule Name: | CallManager Group limited to 3 CallManagers |
| Description: | The can be no more than three (3) Cisco CallManagers in a CallManager Group |
| Test Condition: | SELECT Count(*) FROM CallManagerGroupMember WHERE fkCallManagerGroup = @CallManagerGroup.pkid > 3 |
| Error Message: | A Cisco CallManager Group may not contain more than 3 Cisco CallManagers |
|
|
| 2.3.40 callmanagergroupmember (TI-7) |
| Description: | Ordered membership of CallManagers in CallManagerGroups
|
| Fields: |
| 2.3.40.1 fkcallmanager (FI-173) |
| Type: | guid (Cascade Delete) |
| Migration Source: | convert from CallManagerGroupList.CallManagerID |
| 2.3.40.2 fkcallmanagergroup (FI-172) |
| Type: | guid (Indexed, Cascade Delete) |
| Migration Source: | convert from CallManagerGroupList.CallManagerGroupID |
| Rule (RI-12): |
| Type: | Validation (Insert/Update) |
| Rule Name: | CallManager Group limited to 3 CallManagers |
| Description: | The can be no more than three (3) Cisco CallManagers in a CallManager Group |
| Test Condition: | SELECT Count(*) FROM CallManagerGroupMember WHERE fkCallManagerGroup = @CallManagerGroup.pkid > 3 |
| Error Message: | A Cisco CallManager Group may not contain more than 3 Cisco CallManagers |
|
| 2.3.40.3 pkid (FI-171) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-269): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | callmanagergroupmember versionstamp |
| Description: | on change to anything in callmanagergroupmember, update device versionstamp |
| Test Condition: | update callmanager group member |
|
| 2.3.40.4 priority (FI-174) |
| Type: | long |
| Check Constraint: | Priority >= 0 |
| Migration Source: | CallManagerGroupList.Priority |
| Remarks: | CallManager Groups are made up of an ordered list of from one to three CallManagers. This field orders the members of the group. There is no requirment for a member in a group to be at priority 0. Nor is there a requirment that the priorities be sequential within a CallManager Group. |
|
| Uniqueness: | fkcallmanagergroup + fkcallmanager is unique. (MFI-2) fkcallmanagergroup + priority is unique. (MFI-3) |
| 2.3.41 carrierselectcodedetails (TI-1085) |
| Description: | CUBA: Code details for particular carrier
Is not replicated. |
| Fields: |
| 2.3.41.1 fkcarrierselectprofile (FI-10145) |
| Type: | guid (Cascade Delete) |
| Remarks: | Reference to Carrier Select Profile entry |
| 2.3.41.2 pkid (FI-10144) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique identifier for the record |
| 2.3.41.3 tkcarrierselectcode (FI-10146) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | Reference to TypeCarrierSelectCode |
| 2.3.41.4 value (FI-10147) |
| Type: | long |
| Remarks: | Reference to TypeCarrierSelectCode |
|
| Uniqueness: | fkcarrierselectprofile + tkcarrierselectcode is unique. (MFI-771) |
| 2.3.42 carrierselectprofile (TI-1084) |
| Description: | CUBA: Profiles for different carriers
Is not replicated. |
| Fields: |
| 2.3.42.1 description (FI-10143) |
| Type: | string [200] |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F""%&<>]{0,50}$ |
| Migration Source: | N/A |
| Remarks: | Description for CS Profile. |
| 2.3.42.2 name (FI-10142) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z 0-9._-]{1,50}$ |
| Migration Source: | N/A |
| Remarks: | Unique name |
| 2.3.42.3 pkid (FI-10141) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique identifier for the record |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.43 carrierselectprofiletrunkmap (TI-1086) |
| Description: | CUBA: Mapping between Profile and Trunks
Is not replicated. |
| Fields: |
| 2.3.43.1 fkcarrierselectprofile (FI-10149) |
| Type: | guid (Cascade Delete) |
| Remarks: | Reference to Carrier Select Profile entry |
| 2.3.43.2 fkdevice (FI-10150) |
| Type: | guid (Cascade Delete) |
| Remarks: | indirect from DeviceName |
| 2.3.43.3 pkid (FI-10148) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique identifier for the record |
|
| Uniqueness: | fkcarrierselectprofile + fkdevice is unique. (MFI-772) |
| 2.3.44 ccdadvertisingserviceprofile (TI-506) |
| Description: | Call Control Discovery Advertising Profile for Call Manager
|
| Fields: |
| 2.3.44.1 fkccdhosteddngroup (FI-3837) |
| Type: | guid (Unique) |
| Remarks: | pkid of Hosted DN Group |
| Rule (RI-625): |
| Type: | Validation (Insert/Update/Delete) |
| Rule Name: | CCDHostedDNGroup can not be empty for CCD service |
| Description: | CCD Hosted DN Group needs to associate with at least one Hosted DN if it is associated with CCD service |
| Test Condition: | CCD Hosted DN Group needs to associate with at least one Hosted DN if it is associated with CCD service |
| Error Message: | CCD Hosted DN Group needs to associate with at least one Hosted DN if it is associated with CCD service |
|
| 2.3.44.2 fkdevice_ict (FI-3828) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | pkid of ICT Trunk |
| Rule (RFI-270): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | fkDevice_sip IS NULL |
| Constraint: | fkDevice_ict IS NOT NULL |
| Remarks: | Either SIP trunk or Intercluster trunk or both need to be configured |
|
| Rule (RI-600): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Only SAF trunk can be assigned to CCD Service Profile |
| Description: | Only SAF trunk can be assigned to CCD Service Profile |
| Test Condition: | Only SAF Enabled ICT Trunk and CCD SIP Trunk can be added to CCD Service Profile |
| Error Message: | Change ICT Trunk to be SAF Enable or change SIP Trunk Type to CCD before associated the trunk to CCD Service Profile |
|
| 2.3.44.3 fkdevice_sip (FI-3827) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | pkid of SIP Trunk |
| Rule (RI-600): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Only SAF trunk can be assigned to CCD Service Profile |
| Description: | Only SAF trunk can be assigned to CCD Service Profile |
| Test Condition: | Only SAF Enabled ICT Trunk and CCD SIP Trunk can be added to CCD Service Profile |
| Error Message: | Change ICT Trunk to be SAF Enable or change SIP Trunk Type to CCD before associated the trunk to CCD Service Profile |
|
| 2.3.44.4 fksafservices (FI-3838) |
| Type: | guid (Unique, Indexed, Cascade Delete) |
| Remarks: | pkid of the row in the SAFServices Table |
| Rule (RI-611): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Invalid SAF Service Type |
| Description: | Invalid SAF Service Type |
| Test Condition: | Invalid SAF Service Type |
| Error Message: | Invalid SAF Service Type |
|
| 2.3.44.5 pkid (FI-3829) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.44.6 resettoggle (FI-3840) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Reset toggle CCD service |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.45 ccdhosteddn (TI-502) |
| Description: | CCD Hosted DN Pattern
|
| Fields: |
| 2.3.45.1 description (FI-3846) |
| Type: | string [512] |
| Default Value: | EMPTY |
| Validation: | ^[^%&<>\\""""]{0,128}$ |
| Remarks: | Description of the Time Period, up to 128 characters including Unicode |
| 2.3.45.2 fkccdhosteddngroup (FI-3849) |
| Type: | guid (Cascade Delete) |
| Migration Source: | pkid of DN group to which the pattern belongs |
| Rule (RI-625): |
| Type: | Validation (Insert/Update/Delete) |
| Rule Name: | CCDHostedDNGroup can not be empty for CCD service |
| Description: | CCD Hosted DN Group needs to associate with at least one Hosted DN if it is associated with CCD service |
| Test Condition: | CCD Hosted DN Group needs to associate with at least one Hosted DN if it is associated with CCD service |
| Error Message: | CCD Hosted DN Group needs to associate with at least one Hosted DN if it is associated with CCD service |
|
| 2.3.45.3 hostedpattern (FI-3847) |
| Type: | dn (Unique) |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Validation: | ^[]0-9A-D*#X[^+?!%\\-]{1,50}$ |
| Migration Source: | Hostedpattern |
| Remarks: | This is the Dn to be advertized |
| Rule (RI-624): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Invalid CCD Hosted Pattern |
| Description: | Invalid CCD Hosted Pattern |
| Test Condition: | Invalid CCD Hosted Pattern |
| Error Message: | Invalid CCD Hosted Pattern |
|
| 2.3.45.4 pkid (FI-3845) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-603): |
| Type: | Validation (Insert) |
| Rule Name: | 10000 or less Hosted DN Patterns allowed |
| Description: | Only 10000 or less Hosted DN Patterns allowed |
| Test Condition: | the total number of records can not be greater than 10000 for Hosted DN Patterns |
| Error Message: | Only 10000 or less Hosted DN Patterns allowed in the system |
|
| Rule (RI-625): |
| Type: | Validation (Insert/Update/Delete) |
| Rule Name: | CCDHostedDNGroup can not be empty for CCD service |
| Description: | CCD Hosted DN Group needs to associate with at least one Hosted DN if it is associated with CCD service |
| Test Condition: | CCD Hosted DN Group needs to associate with at least one Hosted DN if it is associated with CCD service |
| Error Message: | CCD Hosted DN Group needs to associate with at least one Hosted DN if it is associated with CCD service |
|
| 2.3.45.5 pstnfailoverprependdigits (FI-3848) |
| Type: | string [16] |
| Default Value: | EMPTY |
| Validation: | ^(\+)[0-9]{0,15}$|^[0-9]{0,16}$ |
| Migration Source: | PSTNfailover Prepend Digits |
| Remarks: | This is a PSTN Failback Prepend Digites |
| 2.3.45.6 pstnfailoverstripdigits (FI-3806) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (PSTNFailoverStripDigits >= 0) AND (PSTNFailoverStripDigits <= 16) |
| Remarks: | PSTN Failover Strip Digits |
| 2.3.45.7 usedforpstnfailover (FI-5170) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Used existing hosted DN for PSTN failover |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.46 ccdhosteddngroup (TI-501) |
| Description: | CCD Hosted DN Group
|
| Fields: |
| 2.3.46.1 description (FI-3843) |
| Type: | string [512] |
| Default Value: | EMPTY |
| Validation: | ^[^%&<>\\""""]{0,128}$ |
| Remarks: | Description is up to 128 characters including Unicode |
| 2.3.46.2 name (FI-3842) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z 0-9._-]{1,50}$ |
| Remarks: | name of the Hosted DN group |
| 2.3.46.3 pkid (FI-3841) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.46.4 pstnfailoverprependdigits (FI-3844) |
| Type: | string [16] |
| Default Value: | EMPTY |
| Validation: | ^(\+)[0-9]{0,15}$|^[0-9]{0,16}$ |
| Migration Source: | PSTNfailover Prepend Digits |
| Remarks: | This is a PSTN Failback Prepend Digites |
| 2.3.46.5 pstnfailoverstripdigits (FI-3805) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (PSTNFailoverStripDigits >= 0) AND (PSTNFailoverStripDigits <= 16) |
| Remarks: | PSTN Failover Strip Digits |
| 2.3.46.6 usedforpstnfailover (FI-5169) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Used existing hosted DN for PSTN failover |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.47 ccdrequestingserviceprofile (TI-507) |
| Description: | Call Control Discovery Receiving Profile for Call Manager
|
| Fields: |
| 2.3.47.1 fkroutepartition (FI-3833) |
| Type: | guid (Null OK) |
| Remarks: | pkid of Route Partition |
| Rule (RI-606): |
| Type: | Validation (Insert/Update) |
| Rule Name: | CCD Service Profile can only use learned pattern Route Partition |
| Description: | CCD Service Profile can only use learned pattern Route Partition |
| Test Condition: | CCD Service Profile can only use learned pattern Route Partition |
| Error Message: | CCD Service Profile can not use Intercom Route Partition |
|
| 2.3.47.2 fksafservices (FI-3808) |
| Type: | guid (Unique, Indexed, Cascade Delete) |
| Remarks: | pkid of the row in the SAFServices Table |
| Rule (RI-611): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Invalid SAF Service Type |
| Description: | Invalid SAF Service Type |
| Test Condition: | Invalid SAF Service Type |
| Error Message: | Invalid SAF Service Type |
|
| 2.3.47.3 learnedpatternprefix (FI-5168) |
| Type: | dn |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Default Value: | EMPTY |
| Validation: | ^[0-9*#+]{0,24}$ |
| Migration Source: | LearnedPatternPrefix |
| Remarks: | This is a Prefix |
| 2.3.47.4 pkid (FI-3807) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.47.5 pstnprefix (FI-3835) |
| Type: | dn |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Default Value: | EMPTY |
| Validation: | ^[0-9*#+]{0,24}$ |
| Migration Source: | PSTNPrefix |
| Remarks: | This is a Prefix |
| 2.3.47.6 resettoggle (FI-3809) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Reset toggle CCD service |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.48 cdrmconfig (TI-385) |
| Description: | Similar to process config for CDR
|
| Fields: |
| 2.3.48.1 cdrcmrfiledeletiondisabled (FI-2886) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.48.2 cdrrepmgrhostaddress (FI-3000) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Remarks: | CDR Repository Manager host IP address string in textual presentation |
| 2.3.48.3 cdrrepmgrhostname (FI-2999) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Remarks: | CDR Repository Manager host name |
| 2.3.48.4 diskallocation (FI-2860) |
| Type: | long |
| Default Value: | 500 |
| Check Constraint: | ((diskallocation >= 500) AND (diskallocation <= 3328)) |
| Remarks: | in Megabytes |
| 2.3.48.5 highwatermark (FI-2861) |
| Type: | long |
| Default Value: | 80 |
| Check Constraint: | ((highwatermark >= 70) AND (highwatermark <= 90)) |
| Remarks: | percentage |
| 2.3.48.6 lowwatermark (FI-2862) |
| Type: | long |
| Default Value: | 40 |
| Check Constraint: | ((lowwatermark >= 30) AND (lowwatermark <=50)) |
| Remarks: | percentage |
| 2.3.48.7 pkid (FI-2856) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.48.8 windowsize (FI-2859) |
| Type: | long |
| Default Value: | 30 |
| Check Constraint: | ((windowsize >= 2) AND (windowsize <= 30)) |
| Remarks: | number of days of CDR files to preserve |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.49 certificate (TI-660) |
| Description: | Certificate Information
Insert/Delete is not allowed. |
| Fields: |
| 2.3.49.1 certificate (FI-5395) |
| Type: | string [4096] (Not Modifiable) |
| Remarks: | Certificate |
| 2.3.49.2 ipv4address (FI-5396) |
| Type: | string [15] (Not Modifiable) |
| Default Value: | EMPTY |
| Remarks: | IPv4Address |
| 2.3.49.3 ipv6address (FI-5397) |
| Type: | string [50] (Not Modifiable) |
| Default Value: | EMPTY |
| Remarks: | IPv6Address |
| 2.3.49.4 issuername (FI-5393) |
| Type: | string [255] (Not Modifiable) |
| Remarks: | Name of issuer |
| 2.3.49.5 pkid (FI-5390) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify Certificate record |
| Rule (RI-714): |
| Type: | Active (Insert) |
| Rule Name: | Insert into certificatehashmapdynamic for each record of hash |
| Description: | On insert on certificatedynamic insert record in certificatehashmapdynamic for each hash |
| Test Condition: | On insert on certificatedynamic |
|
| 2.3.49.6 serialnumber (FI-5394) |
| Type: | string [42] (Not Modifiable) |
| Remarks: | hex representation of serial number |
| 2.3.49.7 servername (FI-5391) |
| Type: | string [255] (Not Modifiable) |
| Remarks: | Name of the server |
| 2.3.49.8 subjectname (FI-5392) |
| Type: | string [255] (Not Modifiable) |
| Remarks: | Name of subject |
| 2.3.49.9 timetolive (FI-5398) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (TimeToLive >= 0) |
|
| Uniqueness: | issuername + serialnumber is unique. (MFI-128) |
| 2.3.50 certificatehashmap (TI-672) |
| Description: | Certificate Hash Map
Insert/Delete is not allowed. |
| Fields: |
| 2.3.50.1 fkcertificate (FI-5458) |
| Type: | guid (Cascade Delete, Not Modifiable) |
| Remarks: | Reference to Certificate record |
| 2.3.50.2 hash (FI-5460) |
| Type: | string [256] (Null OK) |
| 2.3.50.3 pkid (FI-5457) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify certificatehashmapdynamic record |
| 2.3.50.4 tkhash (FI-5459) |
| Type: | enum (Not Modifiable) |
| Default Value: | 1 |
|
| Uniqueness: | fkcertificate + tkhash is unique. (MFI-136) |
| 2.3.51 certificateprocessnodemap (TI-670) |
| Description: | Certifiacte Process Node Mapping
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.51.1 fkcertificate (FI-5682) |
| Type: | guid (Cascade Delete, Not Modifiable) |
| Remarks: | References Certificate Record |
| 2.3.51.2 fkprocessnode (FI-5683) |
| Type: | guid (Cascade Delete, Not Modifiable) |
| Remarks: | associated processnode |
| 2.3.51.3 ipv4address (FI-5685) |
| Type: | string [15] (Not Modifiable) |
| Default Value: | EMPTY |
| Remarks: | IPv4Address |
| 2.3.51.4 ipv6address (FI-5686) |
| Type: | string [50] (Not Modifiable) |
| Default Value: | EMPTY |
| Remarks: | IPv6Address |
| 2.3.51.5 pkid (FI-5681) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify CertificateProcessNodeMap record |
| 2.3.51.6 servername (FI-5684) |
| Type: | string [255] (Not Modifiable) |
| Remarks: | Name of the server |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.52 certificateservicecertificatemap (TI-980) |
| Description: | Maps each certificate service to its respective certificate
|
| Fields: |
| 2.3.52.1 fkcertificate (FI-5730) |
| Type: | guid (Indexed, Cascade Delete) |
| Remarks: | Pkid of the Certificate for the corresponding Certificate Service |
| 2.3.52.2 pkid (FI-5729) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a CertificateServiceCertificateMap record |
| 2.3.52.3 tkcertificateservice (FI-5731) |
| Type: | enum |
| Remarks: | The enum value of Certificate service defined in the TypeCertificateService table |
|
| Uniqueness: | fkcertificate + tkcertificateservice is unique. (MFI-162) |
| 2.3.53 certificatetrustrolemap (TI-661) |
| Description: | Certifiacte Trust Role
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.53.1 fkcertificate (FI-5400) |
| Type: | guid (Cascade Delete, Not Modifiable) |
| Remarks: | Reference to certificate |
| 2.3.53.2 pkid (FI-5399) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify CertificateRoleMapDynamic record |
| 2.3.53.3 tktrustrole (FI-5401) |
| Type: | enum (Not Modifiable) |
| Remarks: | Reference to typetrunstrole |
|
| Uniqueness: | fkcertificate + tktrustrole is unique. (MFI-129) |
| 2.3.54 cmcinfo (TI-304) |
| Description: | Contains the authorization information for Client Meta Code
|
| Fields: |
| 2.3.54.1 code (FI-2127) |
| Type: | string [16] (Unique, Indexed) |
| Validation: | ^[0-9]{1,16}$ |
| Remarks: | All Digits |
| 2.3.54.2 description (FI-2126) |
| Type: | string [200] |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F""%\\&<>{}\[\]]{0,50}$ |
| 2.3.54.3 pkid (FI-2128) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.55 codeclist (TI-1104) |
| Description: | This table documents the existence of a named, ordered list of the codecs supported by the system. Records marked as IsStandard are not eligible for user modification nor are their associated member lists eligible for user change.
|
| Fields: |
| 2.3.55.1 description (FI-10210) |
| Type: | string [400] |
| Validation: | ^[^\x00-\x1F""%&<>]{0,100}$ |
| Remarks: | Localizable description of the Codec List. |
| 2.3.55.2 isstandard (FI-10211) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | Indicates whether the Codec List is Standard or not. A Standard Codec List is not eligible for user modification nor its associated member lists eligible for a user change. Created during installation. 2 Standard Codec Lists - Lossy,Low-Loss. |
| 2.3.55.3 name (FI-10209) |
| Type: | string [50] (Unique, Indexed) |
| Validation: | ^[a-zA-Z 0-9._-]{1,50}$ |
| Remarks: | Name of the Codec List supported by the system. Records marked as isStandard are not eligible for user modification nor are their associated member lists eligible for a user change. |
| 2.3.55.4 pkid (FI-10208) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.56 codeclistmember (TI-1105) |
| Description: | This table records the ordered set of codecs for each defined CodecList. Records associated with a CodecList which is NOT IsStandard may be re-ordered.
|
| Fields: |
| 2.3.56.1 fkcodeclist (FI-10213) |
| Type: | guid (Cascade Delete, Null OK) |
| Default Value: | NULL |
| Remarks: | Unique ID of the Codec List. Identifies the Codec to be a Lossy or Low-Loss Codec. |
| 2.3.56.2 pkid (FI-10212) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.56.3 preferenceorder (FI-10215) |
| Type: | long |
| Remarks: | Determines the preference of Codec within a single Codec List. The same Codec in two different lists (Lossy and Low-Loss) can have different preference order in both the lists. The preference order can be changed by the user. |
| 2.3.56.4 tkcodec (FI-10214) |
| Type: | enum (Not Modifiable) |
| Remarks: | Determines the type of Codec. Refers to the Codec supported by the system. |
|
| Uniqueness: | fkcodeclist + tkcodec is unique. (MFI-773) |
| 2.3.57 commondeviceconfig (TI-421) |
| Description: | Used for DeviceMobility. Have user oriented fields.
|
| Fields: |
| 2.3.57.1 fkmlppdomain (FI-1955) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Migration Source: | mlppdomainid |
| Remarks: | This is the MLPP domain associated with this profile. If this field is blank, this devices using this profile inherit the MLPP domain from the value set for the MLPP Domain Identifier enterprise parameter. |
| 2.3.57.2 fksoftkeytemplate (FI-1128) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | This is the softkey template that is associated with the devices using the profile. |
| 2.3.57.3 holdpartynetworkholdmohaudiosourceid (FI-1000) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Remarks: | This is the audio source to use for music on hold (MOH) when the network initiates a hold action. |
| 2.3.57.4 holdpartyuserholdmohaudiosourceid (FI-999) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Remarks: | This is the audio source to use for music on hold (MOH) when a user initiates a hold action. |
| 2.3.57.5 name (FI-3229) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z 0-9._-]{1,50}$ |
| 2.3.57.6 pkid (FI-3228) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-346): |
| Type: | Active (Insert/Update) |
| Rule Name: | commondeviceconfig versionstamp |
| Description: | on change to anything in commondeviceconfig table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.57.7 resettoggle (FI-3239) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device or group be reset |
| Rule (RI-346): |
| Type: | Active (Insert/Update) |
| Rule Name: | commondeviceconfig versionstamp |
| Description: | on change to anything in commondeviceconfig table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.57.8 tkipaddressingmode (FI-3656) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Indicates the IPaddressingMode of device, ipv4, ipv6 or both type of IP addresses |
| 2.3.57.9 tkipaddressingmodeprefcontrol (FI-3657) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Indicates what IP type device should connect to UCM if device has both IP's availab |
| 2.3.57.10 tkpreemption (FI-1298) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | This setting specifies whether devices using the profile and capable of preempting calls in progress will use the capability when the devices place an MLPP precedence call. Note : Do not configure a profile with the following combination of settings: MLPP Indication is set to Off or Default (when default is Off) while MLPP Preemption is set to Forceful. |
| 2.3.57.11 tkreset (FI-3240) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Set by DeviceReset stored procedure. |
| 2.3.57.12 tkstatus_allowipv6autoconfigforphones (FI-3699) |
| Type: | enum |
| Default Value: | 2 |
| 2.3.57.13 tkstatus_mlppindicationstatus (FI-1297) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | This setting specifies whether devices using the profile and capable of playing precedence tones will use the capability when the devices place an MLPP precedence call. Null means uses enteprise value. Note : Do not configure a profile with the following combination of settings: MLPP Indication is set to Off or Default (when default is Off) while MLPP Preemption is set to Forceful. |
| 2.3.57.14 tkstatus_viprenabled (FI-5247) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Is ViPR enabled on this device common config |
| 2.3.57.15 tkuserlocale (FI-1036) |
| Type: | enum (Null OK) |
| Default Value: | NULL |
| Remarks: | This is the locale that is associated with the phones and gateways using the profile. The user locale identifies a set of detailed information to support users, including language and font. Note : If this is null, the locale that is specified in the Cisco Unified CallManager clusterwide parameters as Default User Locale applies. |
| 2.3.57.16 usetrustedrelaypoint (FI-3480) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Indicates whether Trusted Relay Point should be used if available |
| 2.3.57.17 versionstamp (FI-3230) |
| Type: | string [47] (Null OK) |
| Default Value: | 0000000000-c7a6c673-7479-46b0-839e-014d3d093963 |
| Remarks: | New guid plus seconds past midnight 1970 are concatenated |
| Rule (RI-346): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | commondeviceconfig versionstamp |
| Description: | on change to anything in commondeviceconfig table, update device versionstamp |
| Test Condition: | update device |
|
| Rule (RI-346): |
| Type: | Active (Insert/Update) |
| Rule Name: | commondeviceconfig versionstamp |
| Description: | on change to anything in commondeviceconfig table, update device versionstamp |
| Test Condition: | update device |
|
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.58 commonphoneconfig (TI-384) |
| Description: | Common Profile Information (only applies to SIP intially)
|
| Fields: |
| 2.3.58.1 description (FI-2984) |
| Type: | string [512] |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F""%\\&<>]{0,128}$ |
| 2.3.58.2 fkfeaturecontrolpolicy (FI-5716) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Feature Control Policy Record |
| 2.3.58.3 fkvpngroup (FI-5441) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | References VPNGroup Record Null allowed, null by default |
| 2.3.58.4 fkvpnprofile (FI-5442) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | References VPNProfile Record Null allowed, null by default |
| 2.3.58.5 isstandard (FI-2986) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | Whether it is standard |
| 2.3.58.6 name (FI-2985) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z 0-9._-]{1,50}$ |
| 2.3.58.7 pkid (FI-2852) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-274): |
| Type: | Active (Insert/Update) |
| Rule Name: | commonphoneconfig versionstamp |
| Description: | on change to anything in commonphoneconfig table, update device versionstamp |
| Test Condition: | update device |
|
| Rule (RI-581): |
| Type: | Active (Insert) |
| Rule Name: | Insert XML Records for CommonPhoneConfig Table |
| Description: | When a CommonPhoneConfig record is inserted, insert records for CommonPhoneConfigXML. |
| Test Condition: | ON INSERT INTO CommonPhoneConfig |
|
| Rule (RI-947): |
| Type: | Validation (Delete) |
| Rule Name: | Cannot delete Standard Common Phone Profile |
| Description: | Cannot delete Standard Common Phone Profile having pkid=ac243d17-98b4-4118-8feb-5ff2e1b781ac from CommonPhoneConfig |
| Test Condition: | On Delete from CommonPhoneConfig AND IF pkid=ac243d17-98b4-4118-8feb-5ff2e1b781ac THEN THROW EXCEPTION |
|
| 2.3.58.8 resettoggle (FI-3237) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device or group be reset |
| Rule (RI-274): |
| Type: | Active (Insert/Update) |
| Rule Name: | commonphoneconfig versionstamp |
| Description: | on change to anything in commonphoneconfig table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.58.9 sshpassword (FI-3755) |
| Type: | string [200] |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9 !#$'()*+,./:;=?@[^_`{|}~-]{0,200}$ |
| Migration Source: | SSH Password |
| Remarks: | SSH Password |
| 2.3.58.10 sshuserid (FI-3756) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9 !#$'()*+,./:;=?@[^_`{|}~-]{0,50}$ |
| Migration Source: | SSH UserID |
| 2.3.58.11 tkdndoption (FI-3284) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | Type of call handling while DND is enabled (0=Ringer Off, 1=Call Reject); depends on product support |
| 2.3.58.12 tkphonepersonalization (FI-3457) |
| Type: | enum |
| Default Value: | 3 |
| 2.3.58.13 tkphoneservicedisplay (FI-3627) |
| Type: | enum |
| Default Value: | 3 |
| Remarks: | Identifies which services are displayed for a button (services, directories, messages): Internal, External, Both, or Default (use Enterprise Parameter value) |
| 2.3.58.14 tkreset (FI-3238) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Set by DeviceReset stored procedure. |
| 2.3.58.15 tkringsetting_dnd (FI-3285) |
| Type: | enum |
| Default Value: | 5 |
| Check Constraint: | ((tkRingSetting_DND = 1) OR (tkRingSetting_DND = 2) OR (tkRingSetting_DND = 5)) |
| 2.3.58.16 tkstatus_alwaysuseprimeline (FI-3706) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Determines off-hook behavior of phones with active calls present |
| 2.3.58.17 tkstatus_alwaysuseprimelineforvm (FI-3707) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Determines Voice Message retreival behavior of phones |
| 2.3.58.18 versionstamp (FI-3114) |
| Type: | string [47] (Null OK) |
| Default Value: | 0000000000-c7a6c673-7479-46b0-839e-014d3d093963 |
| Remarks: | New guid plus seconds past midnight 1970 are concatenated |
| Rule (RI-274): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | commonphoneconfig versionstamp |
| Description: | on change to anything in commonphoneconfig table, update device versionstamp |
| Test Condition: | update device |
|
| Rule (RI-274): |
| Type: | Active (Insert/Update) |
| Rule Name: | commonphoneconfig versionstamp |
| Description: | on change to anything in commonphoneconfig table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.58.19 zzbackgroundimageaccess (FI-2806) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | is background Image Access Enabled |
| 2.3.58.20 zzunlockpassword (FI-2821) |
| Type: | string [15] |
| Default Value: | EMPTY |
| Remarks: | unlock password |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.59 commonphoneconfigxml (TI-550) |
| Description: | XML configuration for Common Phone Config
Insert/Delete is not allowed. |
| Fields: |
| 2.3.59.1 fkcommonphoneconfig (FI-3751) |
| Type: | guid (Unique, Indexed, Cascade Delete) |
| Rule (RI-591): |
| Type: | Active (Update) |
| Rule Name: | Update CommonPhoneConfig.XML for CommonPhoneConfigXML change |
| Description: | When CommonPhoneConfigXML.XML changed, the CommonPhoneConfig is updated. |
| Test Condition: | ON UPDATE IN CommonPhoneConfigXML: THEN UPDATE CommonPhoneConfig SET versionstamp = versionstampgenerator() where pkid = fkCommonPhoneConfig; END IF; |
|
| 2.3.59.2 pkid (FI-3750) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.59.3 xml (FI-3752) |
| Type: | string [16000] (Null OK) |
| Default Value: | NULL |
| Remarks: | Product configuration XML not used by CCM |
| Rule (RI-591): |
| Type: | Active (Update) |
| Rule Name: | Update CommonPhoneConfig.XML for CommonPhoneConfigXML change |
| Description: | When CommonPhoneConfigXML.XML changed, the CommonPhoneConfig is updated. |
| Test Condition: | ON UPDATE IN CommonPhoneConfigXML: THEN UPDATE CommonPhoneConfig SET versionstamp = versionstampgenerator() where pkid = fkCommonPhoneConfig; END IF; |
|
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.60 componentversion (TI-368) |
| Description: | RPM versions of components
|
| Fields: |
| 2.3.60.1 fkprocessnode (FI-2716) |
| Type: | guid (Indexed, Cascade Delete) |
| 2.3.60.2 installationcomponent (FI-2717) |
| Type: | string [100] |
| 2.3.60.3 pkid (FI-2715) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.60.4 softwarecomponent (FI-2718) |
| Type: | string [100] |
| 2.3.60.5 version (FI-2719) |
| Type: | string [100] |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.61 credential (TI-446) |
| Description: | Authentication information and policies for App and End Users
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.61.1 cantchange (FI-3349) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | A flag indicating whether the user can set this credential. |
| 2.3.61.2 credentials (FI-3358) |
| Type: | string [288] (Not Modifiable, Null OK) |
| Default Value: | NULL |
| Migration Source: | Binary in CUC; encrypted string App/EndUser.password or PIN |
| Remarks: | The PIN or password, for a user. The credentials are stored in an encrypted format. |
| 2.3.61.3 credmustchange (FI-3350) |
| Type: | bool (Not Modifiable) |
| Default Value: | TRUE |
| Remarks: | A flag indicating whether the user must change their credentials (PIN or password) at the next login. |
| 2.3.61.4 doesntexpire (FI-3352) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | A flag indicating whether this user credential will expire, and therefore the user must change the credential periodically. However, if the credential does not expire (value = "1"), the user still may change the credential (if allowed by CantChange). |
| 2.3.61.5 fkapplicationuser (FI-3347) |
| Type: | guid (Cascade Delete, Not Modifiable, Null OK) |
| Default Value: | NULL |
| Remarks: | The unique identifier of the Application User to which this credential belongs. |
| 2.3.61.6 fkcredentialpolicy (FI-3351) |
| Type: | guid (Not Modifiable) |
| Default Value: | 9454babf-48d0-4e16-9b80-2d0da4b38750 |
| Remarks: | The unique identifier of the CredentialPolicy that is associated with this credential. |
| 2.3.61.7 fkenduser (FI-3346) |
| Type: | guid (Cascade Delete, Not Modifiable, Null OK) |
| Default Value: | NULL |
| Remarks: | The unique identifier of the End User to which this credential belongs. |
| 2.3.61.8 imsinfo (FI-3359) |
| Type: | long (Not Modifiable) |
| Default Value: | 0 |
| Remarks: | Information used by IMS to encrypt data |
| 2.3.61.9 pkid (FI-3345) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-399): |
| Type: | Active (Insert) |
| Rule Name: | Insert Dynamic Records for Credentials |
| Description: | When a credential record gets inserted, create the corresponding record in the CredentialDynamic table |
| Test Condition: | ON INSERT INTO Credential: INSERT INTO CredentialDynamic (pkid, fkCredential) values (newid(), new_pkid) |
|
| 2.3.61.10 timeadminlockout (FI-3357) |
| Type: | long (Not Modifiable, Null OK) |
| Default Value: | NULL |
| Remarks: | The date and time that the credential was locked by an administrator. |
| 2.3.61.11 timechanged (FI-3354) |
| Type: | long (Not Modifiable) |
| Remarks: | The date and time when the credentials were last changed. The date and time is recorded in this column whenever a user credential is created or changed. |
| 2.3.61.12 tkcredential (FI-3348) |
| Type: | enum (Not Modifiable) |
| Default Value: | 4 |
| Remarks: | The type of credential such as password, PIN, Windows or Domino credential. |
|
| Uniqueness: | fkapplicationuser + fkenduser + tkcredential is unique. (MFI-103) |
| 2.3.62 credentialdynamic (TI-458) |
| Description: | Frequently updated settings for Credentials
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.62.1 datetimestamp (FI-3432) |
| Type: | long (Not Modifiable) |
| Default Value: | 0 |
| Remarks: | Time value for last change (for replication conflict resolution) |
| Rule (RI-400): |
| Type: | Active (Insert/Update) |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| Rule (RI-400): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| 2.3.62.2 fkcredential (FI-3431) |
| Type: | guid (Unique, Cascade Delete, Not Modifiable) |
| Remarks: | Parent record for which this record holds the dynamic settings |
| 2.3.62.3 hackcount (FI-3353) |
| Type: | long (Not Modifiable) |
| Default Value: | 0 |
| Remarks: | The number of logons attempted that failed due to invalid credentials. The Unity system or external authentication provider determined that the credentials supplied as part of a user logon attempt were invalid. |
| 2.3.62.4 lastsuccessfullogintime (FI-3799) |
| Type: | long (Not Modifiable) |
| Default Value: | 0 |
| Remarks: | Time value for the last successful login reported by IMS |
| 2.3.62.5 pkid (FI-3430) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.62.6 timehackedlockout (FI-3355) |
| Type: | long (Not Modifiable, Null OK) |
| Default Value: | NULL |
| Remarks: | The date and time that the credential was locked due to too many hacks. The date and time is recorded in this column whenever a user credential is locked due to too many hacks based on the credential policy. |
| 2.3.62.7 timelastaccessed (FI-3428) |
| Type: | long (Not Modifiable, Null OK) |
| Default Value: | 0 |
| Remarks: | Time value for the last access of the credential (create, read or update) |
| 2.3.62.8 timelasthacked (FI-3356) |
| Type: | long (Not Modifiable, Null OK) |
| Default Value: | NULL |
| Remarks: | The date and time of the last logon attempt with an invalid user credential. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.63 credentialhistory (TI-448) |
| Description: | Stores past credentials for enforcement of password history restrictions (non-reuse)
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.63.1 changeid (FI-3371) |
| Type: | long |
| Remarks: | A historical index of credential changes. Allows the fetching of the last 'n' credentials, if desired. |
| 2.3.63.2 credentials (FI-3375) |
| Type: | string [288] |
| Remarks: | The credential, e.g., PIN or password created by this change. Credentials can be an encoded PIN or password. |
| 2.3.63.3 fkapplicationuser (FI-3373) |
| Type: | guid (Cascade Delete, Null OK) |
| Remarks: | The unique identifier of the ApplicationUser object for which this credential change occurred. |
| 2.3.63.4 fkenduser (FI-3372) |
| Type: | guid (Cascade Delete, Null OK) |
| Remarks: | The unique identifier of the EndUser object for which this credential change occurred. |
| 2.3.63.5 pkid (FI-3370) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.63.6 timechanged (FI-3376) |
| Type: | long |
| Remarks: | The date and time the credential was created or changed. |
| 2.3.63.7 tkcredential (FI-3374) |
| Type: | enum |
| Remarks: | The type of credential such as a password or PIN. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.64 credentialpolicy (TI-447) |
| Description: | Settings for enforcement of credential policy (password strength, expiration, etc.)
|
| Fields: |
| 2.3.64.1 displayname (FI-3361) |
| Type: | string [255] (Unique) |
| Validation: | ^[^\x00-\x1F\x7F""""]{1,64}$ |
| Remarks: | The unique text name (e.g., "Administrator Password Policy") of the credential policy to be used when displaying entries in the administrative console, e.g. Cisco Unified CallManager Administration |
| 2.3.64.2 expirywarningdays (FI-3423) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (ExpiryWarningDays >=0) AND (ExpiryWarningDays <= 90) |
| Remarks: | Number of days prior to Credential Expiring that warning message should be presented to the user. A value of 0 means no warning is given. |
| 2.3.64.3 hackresettime (FI-3362) |
| Type: | long |
| Default Value: | 30 |
| Check Constraint: | (HackResetTime >= 1) AND (HackResetTime <= 120) |
| Remarks: | The length of time (in minutes) after which if no failed logon attempts occur, the count of failed logon attempts is cleared |
| 2.3.64.4 isstandard (FI-3424) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | Indicates installed standard Credential Policy - cannot be modified or deleted |
| Rule (RI-396): |
| Type: | Active (Update/Delete) |
| Rule Name: | Cannot modify or delete Standard Credential Policy |
| Description: | The installed standard Credential Policy cannot be modified or deleted (even using IMS). It is not necessary to use this policy if more secure policies exist, and the policy is maintained for backward compatibility only. The installed policy is the only policy where IsStandard is true. |
| Test Condition: | ON UPDATE/DELETE IN CredentialPolicy: IF (old_IsStandard = 'T') THEN throw exception; |
| Error Message: | Cannot modify or delete the installed standard Credential Policy. |
| Remedy: | Create and assign more secure Credential Policies for passwords and PINs. |
|
| 2.3.64.5 lockoutduration (FI-3363) |
| Type: | long |
| Default Value: | 30 |
| Check Constraint: | (LockoutDuration >= 0) AND (LockoutDuration <= 1440) |
| Remarks: | The length of time (in minutes) that a user who is locked out must wait until they can attempt to access the system again with this credential. A value of "0" means the user is locked out until the credential/account is unlocked by an administrator. |
| 2.3.64.6 maxdays (FI-3364) |
| Type: | long |
| Default Value: | 180 |
| Check Constraint: | (MaxDays >= 0) AND (MaxDays <= 365) |
| Remarks: | The maximum number of days before the credential must be changed. A value of "0" means the credential will never expire. |
| 2.3.64.7 maxhacks (FI-3365) |
| Type: | long |
| Default Value: | 3 |
| Check Constraint: | (MaxHacks >= 0) AND (MaxHacks <= 100) |
| Remarks: | The maximum number of failed logon attempts (hacks) before action is taken. A value of "0" means an unlimited number of logon attempts (i.e., no lockout) are allowed. |
| 2.3.64.8 maxinactivedays (FI-3429) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (MaxInactiveDays >= 0) AND (MaxInactiveDays <= 5000) |
| Remarks: | The number of days after which a credential is disabled if not used. A value of 0 means the credential is never disabled because of inactivity |
| 2.3.64.9 minduration (FI-3366) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (MinDuration >= 0) AND (MinDuration <= 129600) |
| Remarks: | The minimum number of minutes that must pass from the time of the last change before the credential can be changed. A value of "0" means that there are no restrictions on how often the user can change the credential. |
| 2.3.64.10 minlength (FI-3367) |
| Type: | long |
| Default Value: | 8 |
| Check Constraint: | (MinLength >= 1) AND (MinLength <= 64) |
| Remarks: | The minimum number of characters or digits (PIN) required for the credential. |
| 2.3.64.11 pkid (FI-3360) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.64.12 prevcredcount (FI-3368) |
| Type: | long |
| Default Value: | 12 |
| Check Constraint: | (PrevCredCount >= 0) AND (PrevCredCount <= 25) |
| Remarks: | The number of credentials to store. A value of "0" means that a new credential is not compared with previous credentials; thus a user can reuse a credential. |
| 2.3.64.13 trivialcredchecking (FI-3369) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | A flag indicating whether to check against trivial credentials for extra security; True = check to make sure credentials are not trivial; False = do not check for trivial credentials (check length and valid characters only) |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| Constraints: |
| Rule (RFI-162): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | ( (MaxDays > 0) AND ( MaxDays*60*24 >= MinDuration) ) OR (MaxDays =0) |
| Remarks: | Minimum Duration Between Credential Changes should be shorter that Credential Expires After days |
|
|
| 2.3.65 credentialpolicydefault (TI-459) |
| Description: | Specifies the default CredentialPolicy for each combination of user and credential type
Insert/Delete is not allowed. |
| Fields: |
| 2.3.65.1 cantchange (FI-3472) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | A flag indicating whether the user can set this credential. |
| 2.3.65.2 credentials (FI-3447) |
| Type: | string [288] (Not Modifiable, Null OK) |
| Default Value: | NULL |
| Remarks: | The default PIN or password for new credentials. The credentials are stored in an encrypted format. |
| 2.3.65.3 credmustchange (FI-3473) |
| Type: | bool (Not Modifiable) |
| Default Value: | TRUE |
| Remarks: | A flag indicating whether the user must change their credentials (PIN or password) at the next login. |
| 2.3.65.4 doesntexpire (FI-3474) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | A flag indicating whether this user credential will expire, and therefore the user must change the credential periodically. However, if the credential does not expire (value = "1"), the user still may change the credential (if allowed by CantChange). |
| 2.3.65.5 fkcredentialpolicy (FI-3437) |
| Type: | guid |
| Remarks: | The default Credential Policy for new credentials of the specificed type (credential and user) |
| 2.3.65.6 imsinfo (FI-3448) |
| Type: | long (Not Modifiable) |
| Default Value: | 0 |
| Remarks: | Default Information used by IMS to encrypt data |
| 2.3.65.7 pkid (FI-3436) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.65.8 tkcredential (FI-3438) |
| Type: | enum (Not Modifiable) |
| Remarks: | Used in combination with type of Credential User to establish a default |
| 2.3.65.9 tkcredentialuser (FI-3439) |
| Type: | enum (Not Modifiable) |
| Remarks: | Used in combination with type of Credential to establish a default |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.66 crsapplication (TI-248) |
| Description: | Application specific data for CRS
|
| Fields: |
| 2.3.66.1 aakeypadmapping (FI-1689) |
| Type: | string [129] |
| Default Value: | EMPTY |
| Remarks: | The mapping of aapromptname to numbers only |
| Rule (RI-291): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Map name to keypad |
| Description: | On I/U, take map alpha chars to keypad, abc=2, def=3, etc. |
| Test Condition: | on insert/update of aapromptname |
| Error Message: | Only keys mapping to 0 to 9 allowed |
|
| Rule (RI-291): |
| Type: | Active (Insert/Update) |
| Rule Name: | Map name to keypad |
| Description: | On I/U, take map alpha chars to keypad, abc=2, def=3, etc. |
| Test Condition: | on insert/update of aapromptname |
| Error Message: | Only keys mapping to 0 to 9 allowed |
|
| 2.3.66.2 aapromptname (FI-1690) |
| Type: | string [129] |
| Default Value: | EMPTY |
| Remarks: | The letter representation of the search name using IVR |
| Rule (RI-291): |
| Type: | Active (Insert/Update) |
| Rule Name: | Map name to keypad |
| Description: | On I/U, take map alpha chars to keypad, abc=2, def=3, etc. |
| Test Condition: | on insert/update of aapromptname |
| Error Message: | Only keys mapping to 0 to 9 allowed |
|
| 2.3.66.3 fkenduser (FI-1688) |
| Type: | guid (Cascade Delete) |
| 2.3.66.4 fnamealtpronun (FI-2896) |
| Type: | string [1024] |
| Default Value: | EMPTY |
| Remarks: | First Name Alternate Pronunciations delimited by a seperator |
| 2.3.66.5 lnamealtpronun (FI-2897) |
| Type: | string [1024] |
| Default Value: | EMPTY |
| Remarks: | Last Name Alternate Pronunciations delimited by a seperator |
| 2.3.66.6 pkid (FI-1687) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.67 crsuserclusterspecific (TI-410) |
| Description: | Stores user information for the CRS Application
|
| Fields: |
| 2.3.67.1 administratorlevel (FI-2898) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | Whether an Administrator |
| 2.3.67.2 clustername (FI-3047) |
| Type: | string [60] |
| 2.3.67.3 fkenduser (FI-3046) |
| Type: | guid (Cascade Delete) |
| 2.3.67.4 issupervisor (FI-2899) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Whether a Supervisor |
| 2.3.67.5 pkid (FI-3045) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | fkenduser + clustername is unique. (MFI-94) |
| 2.3.68 cubacountryregionalinfo (TI-1053) |
| Description: | CUBA: Table to store Country Regional Packs on Cuba platform.
Is not replicated. Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.68.1 pkid (FI-9917) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique identifier for the record |
| 2.3.68.2 tkcountry (FI-9918) |
| Type: | enum (Unique, Indexed, Not Modifiable) |
| Remarks: | Country id from typecountry table. |
| 2.3.68.3 xml (FI-9919) |
| Type: | string [32000] (Not Modifiable) |
| Remarks: | Ring Tones and Other Region Specific Product configuration XML not used by CCM |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.69 cubaproductsupport (TI-597) |
| Description: | CUBA:CubaProductSupport table to store the models that are supported in Pajaro system
Is not replicated. Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.69.1 displayname (FI-9923) |
| Type: | string [100] (Not Modifiable, Null OK) |
| Default Value: | NULL |
| 2.3.69.2 enum (FI-6142) |
| Type: | enum (Unique, Indexed, Not Modifiable) |
| Remarks: | A number to identify the record |
| 2.3.69.3 tkcubaproductdisplaygroup (FI-9924) |
| Type: | enum (Not Modifiable) |
| Default Value: | 2 |
| Remarks: | A number to identify the record |
| 2.3.69.4 tkdeviceprotocol (FI-6145) |
| Type: | enum (Not Modifiable) |
| Default Value: | 99 |
| Remarks: | Enum of Device Protocol record |
| 2.3.69.5 tkmodel (FI-6144) |
| Type: | enum (Not Modifiable) |
| 2.3.69.6 tkproduct (FI-6143) |
| Type: | enum (Not Modifiable) |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.70 customannouncement (TI-617) |
| Description: | subset of TypeAnnouncement with rows having AllowCustom = 1
|
| Fields: |
| 2.3.70.1 description (FI-6270) |
| Type: | string [1024] (Null OK) |
| Validation: | ^[^""%&\\<>:]{0,255}$ |
| Remarks: | Description of the custom announcements |
| 2.3.70.2 issystem (FI-6271) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | isSystem is an internal control for ipvms install to pre-configure some CustomAnnouncement entries with UI restriction (user cannot edit some fields). Records which have initial contents may be altered by the administrator, but may not be removed. |
| 2.3.70.3 name (FI-5138) |
| Type: | string [50] (Unique) |
| Validation: | ^[]a-zA-Z0-9 !#$&'()*+,./:;<=>?@[^_{|}~\\-]{0,50}$ |
| 2.3.70.4 pkid (FI-5137) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.70.5 tkannouncementfile (FI-5140) |
| Type: | enum (Indexed, Null OK) |
| Default Value: | NULL |
| Remarks: | A number to identify the record |
| 2.3.70.6 tkannouncements (FI-5139) |
| Type: | enum (Unique, Indexed) |
| Remarks: | A number to identify the record |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.71 customannouncementlocale (TI-618) |
| Description: | null
|
| Fields: |
| 2.3.71.1 description (FI-5147) |
| Type: | string [255] |
| Validation: | ^[]a-zA-Z0-9 !#$&'()*+,./:;<=>?@[^_{|}~\\-]{0,255}$ |
| 2.3.71.2 filename (FI-5142) |
| Type: | string [128] |
| Validation: | ^[a-zA-Z 0-9._-]{1,128}$ |
| 2.3.71.3 fkcustomannouncement (FI-5143) |
| Type: | guid |
| Migration Source: | reference to CustomAnnouncement |
| 2.3.71.4 highsourcefiledatetime (FI-5145) |
| Type: | long |
| 2.3.71.5 isenabled (FI-5148) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.71.6 lowsourcefiledatetime (FI-5146) |
| Type: | long |
| 2.3.71.7 pkid (FI-5141) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.71.8 tkuserlocale (FI-5144) |
| Type: | enum (Indexed) |
| Remarks: | reference to TypeUserLocale |
|
| Uniqueness: | fkcustomannouncement + tkuserlocale is unique. (MFI-126) |
| 2.3.72 customuserattributedata (TI-545) |
| Description: | Stores data to be syncronized to respective Custom Field Attribute. Each Record is associated to an End User and mapped to each supported TypeCustomUserAttributes
|
| Fields: |
| 2.3.72.1 fkenduser (FI-10012) |
| Type: | guid (Indexed, Cascade Delete, Not Modifiable) |
| Remarks: | Key Reference to the User to whom the data in the Value column applies. |
| 2.3.72.2 pkid (FI-10010) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.72.3 tkcustomuserattribute (FI-10011) |
| Type: | enum (Not Modifiable) |
| Remarks: | This field is to map one of the 5 available custom field to the Data in CustomUserAttributeName table. |
| 2.3.72.4 value (FI-10013) |
| Type: | string [255] (Null OK) |
| Remarks: | Data retrieved from LDAP for the specified Custom Attribute for the user associated with this record. |
|
| Uniqueness: | tkcustomuserattribute + fkenduser is unique. (MFI-203) |
| 2.3.73 customuserattributename (TI-544) |
| Description: | Records in this table contain Configurable friendly names to all the Custom Field attributes defined in TypeCustomUserAttributes
|
| Fields: |
| 2.3.73.1 customfieldattributename (FI-10008) |
| Type: | string [256] (Unique) |
| Validation: | ^[a-zA-Z 0-9]{1,64}$ |
| Remarks: | CustomFieldAttributeName field stores the name of the attribute during LDAP syncronization of EndUsers. |
| 2.3.73.2 pkid (FI-10007) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.73.3 tkcustomuserattribute (FI-10009) |
| Type: | enum (Unique, Not Modifiable) |
| Remarks: | This field is to map one of the 5 available custom field to the Name in CustomUserAttributeName table. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.74 datetimesetting (TI-10) |
| Description: | Common/shared date time zone and format settings
|
| Fields: |
| 2.3.74.1 datetemplate (FI-154) |
| Type: | string [6] |
| Default Value: | M-D-Y |
| Validation: | ^(M-D-Y|M/D/Y|M.D.Y|D-M-Y|D/M/Y|D.M.Y|Y-M-D|Y/M/D|Y.M.D)A?$ |
| Migration Source: | DateTimeGroup.DateTemplate |
| Remarks: | Template to be used to display date on an IP Phone. If the last character is 'A' then it is 24 hour time. If the last character is 'a', it is 12 hour time. |
| 2.3.74.2 name (FI-153) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z 0-9._-]{1,50}$ |
| Migration Source: | DateTimeGroup.GroupName |
| Remarks: | A descriptive name for the Date/Time group. |
| 2.3.74.3 pkid (FI-152) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-216): |
| Type: | Active (Insert/Update) |
| Rule Name: | device versionstamp |
| Description: | on change to anything in device xml file, update versionstamp |
| Test Condition: | update device |
|
| 2.3.74.4 resettoggle (FI-3135) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device or group be reset |
| Rule (RI-216): |
| Type: | Active (Insert/Update) |
| Rule Name: | device versionstamp |
| Description: | on change to anything in device xml file, update versionstamp |
| Test Condition: | update device |
|
| 2.3.74.5 tkreset (FI-3071) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Set by DeviceReset stored procedure. |
| 2.3.74.6 tktimezone (FI-155) |
| Type: | enum |
| Default Value: | 21 |
| Migration Source: | DateTimeGroup.TimeZone |
| Remarks: | Time zone for the CallManager group. The option "local time zone of CallManager" copies the time zone information from the operating system of the server where Cisco CallManager is installed. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.75 defaults (TI-11) |
| Description: | CallManager specific default attributes for devices
Insert/Delete is not allowed. |
| Fields: |
| 2.3.75.1 fkdevicepool (FI-240) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Migration Source: | convert from DevicePoolID |
| Remarks: | Device pool that is associated with each type of device. The device pool defines common characteristics for all devices in the pool. |
| Rule (RI-283): |
| Type: | Active (Update) |
| Rule Name: | defaults versionstamp |
| Description: | on change to loadinfo in defaults table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.75.2 fkphonetemplate (FI-241) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Migration Source: | convert from PhoneTemplateID |
| Remarks: | This is the phone template to assign to a device that auto-registers. It must be usable on the specified model. |
| Rule (RI-16): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template required |
| Description: | Devices that use a phone button template must have a template specified |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 13 AND tkModel = @Defaults.tkModel AND tkDeviceProtocol IN (@Defaults.tkDeviceProtocol,99) |
| Error Message: | A device that uses Phone Templates have a specific Phone Template assigned. |
| Remedy: | Specify a Phone Template. |
|
| Rule (RI-17): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template Model |
| Description: | The model must match for a device default and the specified phone template for that device type. |
| Test Condition: | @Defaults.tkModel = (SELECT PhoneTemplate.tkModel FROM PhoneTemplate WHERE PhoneTemplate.pkid = @Defaults.tkPhoneTemplate) |
| Error Message: | The Phone Template model does not match the device model. |
| Remedy: | Specifiy a Phone Template for the correct model. |
|
| Rule (RI-283): |
| Type: | Active (Update) |
| Rule Name: | defaults versionstamp |
| Description: | on change to loadinfo in defaults table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.75.3 inactiveloadinformation (FI-242) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Remarks: | The filename of the inactive firmware load that is used with phone models that support dual-bank firmware (background download). The file is fed to the phones via TFTP but is not active. This can be overridden at the device level. If not overridden, then all devices of this model will download this firmware load file as the inactive load. |
| 2.3.75.4 loadinformation (FI-239) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Migration Source: | Load_ |
| Remarks: | The filename of the firmware load that is used with a particular type of hardware device model. The file is fed to the phones via TFTP. This can be overridden at the device level. If not overridden, then all devices of this model will use this firmware load file. |
| Rule (RI-283): |
| Type: | Active (Update) |
| Rule Name: | defaults versionstamp |
| Description: | on change to loadinfo in defaults table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.75.5 pkid (FI-237) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-283): |
| Type: | Active (Update) |
| Rule Name: | defaults versionstamp |
| Description: | on change to loadinfo in defaults table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.75.6 resettoggle (FI-3090) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device or group be reset |
| Rule (RI-283): |
| Type: | Active (Update) |
| Rule Name: | defaults versionstamp |
| Description: | on change to loadinfo in defaults table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.75.7 tkdeviceprotocol (FI-2359) |
| Type: | enum |
| Default Value: | 99 |
| Remarks: | Default value for Device Protocol |
| Rule (RI-16): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template required |
| Description: | Devices that use a phone button template must have a template specified |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 13 AND tkModel = @Defaults.tkModel AND tkDeviceProtocol IN (@Defaults.tkDeviceProtocol,99) |
| Error Message: | A device that uses Phone Templates have a specific Phone Template assigned. |
| Remedy: | Specify a Phone Template. |
|
| Rule (RI-17): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template Model |
| Description: | The model must match for a device default and the specified phone template for that device type. |
| Test Condition: | @Defaults.tkModel = (SELECT PhoneTemplate.tkModel FROM PhoneTemplate WHERE PhoneTemplate.pkid = @Defaults.tkPhoneTemplate) |
| Error Message: | The Phone Template model does not match the device model. |
| Remedy: | Specifiy a Phone Template for the correct model. |
|
| Rule (RI-283): |
| Type: | Active (Update) |
| Rule Name: | defaults versionstamp |
| Description: | on change to loadinfo in defaults table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.75.8 tkmodel (FI-238) |
| Type: | enum (Not Modifiable) |
| Migration Source: | convert from Type and HardwareType |
| Remarks: | A defaults record must exist for every IP Phone. |
| Rule (RI-16): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template required |
| Description: | Devices that use a phone button template must have a template specified |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 13 AND tkModel = @Defaults.tkModel AND tkDeviceProtocol IN (@Defaults.tkDeviceProtocol,99) |
| Error Message: | A device that uses Phone Templates have a specific Phone Template assigned. |
| Remedy: | Specify a Phone Template. |
|
| Rule (RI-17): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template Model |
| Description: | The model must match for a device default and the specified phone template for that device type. |
| Test Condition: | @Defaults.tkModel = (SELECT PhoneTemplate.tkModel FROM PhoneTemplate WHERE PhoneTemplate.pkid = @Defaults.tkPhoneTemplate) |
| Error Message: | The Phone Template model does not match the device model. |
| Remedy: | Specifiy a Phone Template for the correct model. |
|
| Rule (RI-283): |
| Type: | Active (Update) |
| Rule Name: | defaults versionstamp |
| Description: | on change to loadinfo in defaults table, update device versionstamp |
| Test Condition: | update device |
|
| 2.3.75.9 tkreset (FI-3091) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Set by DeviceReset stored procedure. |
| 2.3.75.10 versionstamp (FI-3115) |
| Type: | string [47] (Null OK) |
| Default Value: | 0000000000-c7a6c673-7479-46b0-839e-014d3d093963 |
| Remarks: | New guid plus seconds past midnight 1970 are concatenated |
| Rule (RI-283): |
| Type: | Active (Update) This field is modified by this rule. |
| Rule Name: | defaults versionstamp |
| Description: | on change to loadinfo in defaults table, update device versionstamp |
| Test Condition: | update device |
|
| Rule (RI-283): |
| Type: | Active (Update) |
| Rule Name: | defaults versionstamp |
| Description: | on change to loadinfo in defaults table, update device versionstamp |
| Test Condition: | update device |
|
|
| Uniqueness: | tkmodel + tkdeviceprotocol is unique. (MFI-81) |
| 2.3.76 destinationcodecontrol (TI-971) |
| Description: | Allows configuration of outbound traffic throttling for a specific dialing plan destination, (Route Pattern), in accordance with DOD UCR 2008 specifications related to Destination Code Control, (DCC).
|
| Fields: |
| 2.3.76.1 blockedcallpercentage (FI-9834) |
| Type: | long (Null OK) |
| Default Value: | 0 |
| Check Constraint: | (BlockedCallPercentage >= 0) AND (BlockedCallPercentage <= 100) |
| Remarks: | This value specifies the percentage of lower precedence calls made to this destination that get blocked by the route pattern. This percentage limits the lower precedence calls only, the flash and higher precedence calls made to this destination are allowed at all times. |
| 2.3.76.2 enabledccenforcement (FI-9832) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Allows the application and enforcement of the restrictions specified in this DCC record to be enabled or disabled so that the specifications may be left intact without being active. |
| 2.3.76.3 fknumplan (FI-9833) |
| Type: | guid (Unique, Cascade Delete, Not Modifiable) |
| Remarks: | Indicates the associated DN or Pattern, (RoutePattern), to which this record's DCC specifications apply |
| 2.3.76.4 pkid (FI-9831) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.77 device (TI-1) |
| Description: | Lists every device in system from the CallManager perspective
|
| Fields: |
| 2.3.77.1 allowcticontrolflag (FI-2618) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If true, this device allows CTI Control. |
| Rule (RFI-132): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkModel = 72 OR tkModel = 73 |
| Constraint: | AllowCTIControlFlag = 't' |
| Remarks: | CTI Ports and CTI Route Points must always be CTI Controlled |
|
| 2.3.77.2 allowhotelingflag (FI-831) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | If true, this device allows extension mobility. |
| Rule (RFI-193): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | IsProtected ='t' |
| Constraint: | AllowHotelingFlag = 'f' |
| Remarks: | Protected phone cannot have Extension Mobility enabled |
|
| Rule (RI-19): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AllowHotelingFlag - EM feature support required |
| Description: | Device.AllowHotelingFlag can only be true for devices that support Extension Mobility. |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 9 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Extension Mobility can only turned on for devices that support Extension Mobility feature. |
| Remedy: | Check device type and Extension Mobility feature support before enabling Extension Mobility. |
|
| Rule (RI-19): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | AllowHotelingFlag - EM feature support required |
| Description: | Device.AllowHotelingFlag can only be true for devices that support Extension Mobility. |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 9 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Extension Mobility can only turned on for devices that support Extension Mobility feature. |
| Remedy: | Check device type and Extension Mobility feature support before enabling Extension Mobility. |
|
| Rule (RI-202): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | Generate Default Device Profile for Model |
| Description: | Create a Default Device Profile for a device type if one does not already exist, and extension mobility is enabled on a device of that type (e.g., create the Default Device Profile for a Cisco 7960 if it does not exist and EM is enabled on a 7960). |
| Test Condition: | IF (NEW.AllowHotelingFlag is true) and ((select count(*) from device where tkmodel = NEW.tkmodel and tkdeviceprofile = 3) = 0) |
| Error Message: | No default model profile, no mismatch login performed |
|
| Rule (RI-376): |
| Type: | Active (Insert/Update) |
| Rule Name: | Insert Dynamic Records for Extension Mobility |
| Description: | When Extension Mobility (EM) is enabled on a phone, create the corresponding record in the ExtensionMobilityDynamic and EMCCDynamic and EMRemoteDynamic |
| Test Condition: | ON INSERT/UPDATE INTO Device |
|
| 2.3.77.3 authenticationstring (FI-1912) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Validation: | ^[0-9]{4,10}$ |
| 2.3.77.4 calledinternationalprefix (FI-3868) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Called International Prefix |
| 2.3.77.5 calledinternationalstripdigits (FI-3879) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (CalledInternationalStripDigits >= 0) AND (CalledInternationalStripDigits <= 24) |
| Remarks: | Called International Strip Digits |
| 2.3.77.6 callednationalprefix (FI-3867) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Called National Prefix |
| 2.3.77.7 callednationalstripdigits (FI-3878) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (CalledNationalStripDigits >= 0) AND (CalledNationalStripDigits <= 24) |
| Remarks: | CalledNational Strip Digits |
| 2.3.77.8 calledsubscriberprefix (FI-3870) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Called Subscriber Prefix |
| 2.3.77.9 calledsubscriberstripdigits (FI-3881) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (CalledSubscriberStripDigits >= 0) AND (CalledSubscriberStripDigits <= 24) |
| Remarks: | Called Subscriber Strip Digits |
| 2.3.77.10 calledunknownprefix (FI-3869) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Called Unknown Prefix |
| 2.3.77.11 calledunknownstripdigits (FI-3880) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (CalledUnknownStripDigits >= 0) AND (CalledUnknownStripDigits <= 24) |
| Remarks: | Called Unknown Strip Digits |
| 2.3.77.12 ctiid (FI-12) |
| Type: | identity (Unique, Not Modifiable) |
| Migration Source: | DeviceList.DeviceId |
| Remarks: | Trigger set on insert. (one greater than highest). 32 bit value for Computer Telephony Interface |
| Rule (RI-2): |
| Type: | Active (Insert) This field is modified by this rule. |
| Rule Name: | Generate CTI ID value |
| Description: | On insert of a new record generate a unique 32-bit integer value and store the result in the CTI ID field |
| Test Condition: | On Insert |
|
| 2.3.77.13 datetimeinserted (FI-2667) |
| Type: | string [30] (Null OK) |
| Remarks: | Date and Time when Phone was inserted. Will be provided by an active B-Rule on device insert. Format is YYMMDD:HrMinSec |
| 2.3.77.14 defaultdtmfcapability (FI-592) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | Is this a dead field? |
| 2.3.77.15 description (FI-3) |
| Type: | string [512] |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F""%\\&<>]{0,128}$ |
| Migration Source: | DeviceList.Description |
| 2.3.77.16 deviceleveltraceflag (FI-824) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.77.17 dialplanwizardgenid (FI-677) |
| Type: | long (Indexed, Null OK) |
| Default Value: | NULL |
| Remarks: | This record created by DialPlanWizard |
| 2.3.77.18 dndtimeout (FI-3286) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (DNDTimeout >= 0) AND (DNDTimeout <= 120) |
| Remarks: | Period in minutes to remind the user that DND is active |
| 2.3.77.19 earlyoffersupportforvoicecall (FI-10230) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | True-AS-SIP endpoints supports early offer for voice calls; False-AS-SIP endpoints supports delayed offer for voice calls. The default value is False. |
| 2.3.77.20 enablebfcp (FI-9996) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Boolean flag to control whether or not Binary Floor Control Protocol (BFCP) is enabled for this device. |
| 2.3.77.21 enableixchannel (FI-6278) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Boolean flag to control whether or not iX Channel is enabled for this device. |
| 2.3.77.22 fkaarneighborhood (FI-1120) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Used by both gateway and Phone |
| Rule (RI-22): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AAR feature support required |
| Description: | Device.fkAARNeighorhood and Device.fkCallingSearchSpace_AAR can only be specified for devices that support the AAR feature |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 21 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | AAR Group and Calling Search Space can only be used for devices that support the AAR feature. |
| Remedy: | Check device type and AAR feature support before specifying an AAR Group or AAR Calling Search Space. |
|
| Rule (RI-22): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | AAR feature support required |
| Description: | Device.fkAARNeighorhood and Device.fkCallingSearchSpace_AAR can only be specified for devices that support the AAR feature |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 21 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | AAR Group and Calling Search Space can only be used for devices that support the AAR feature. |
| Remedy: | Check device type and AAR feature support before specifying an AAR Group or AAR Calling Search Space. |
|
| 2.3.77.23 fkcallingsearchspace (FI-11) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Migration Source: | NULL |
| Rule (RI-27): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device CSS Restriction |
| Description: | Calling Search Space is allowed for devices that originate or direct calls. This currently includes the following classes of device: Gateway, Phone, CTI Route Point, Trunk, Simulation. Not valid for other classes. (Note: change to lookup in ProductSupportsFeature) |
| Test Condition: | Device.fkCallingSearchSpace IS NOT NULL AND Device.tkClass NOT IN (1, 2, 8, 10, 13, 18) THEN Throw Exception |
| Error Message: | CallingSearchSpace is not valid for this type of device. |
| Remedy: | Remove the Calling Search Space setting from the device and try again. |
|
| 2.3.77.24 fkcallingsearchspace_aar (FI-1118) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Migration Source: | NULL |
| Rule (RI-22): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AAR feature support required |
| Description: | Device.fkAARNeighorhood and Device.fkCallingSearchSpace_AAR can only be specified for devices that support the AAR feature |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 21 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | AAR Group and Calling Search Space can only be used for devices that support the AAR feature. |
| Remedy: | Check device type and AAR feature support before specifying an AAR Group or AAR Calling Search Space. |
|
| Rule (RI-22): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | AAR feature support required |
| Description: | Device.fkAARNeighorhood and Device.fkCallingSearchSpace_AAR can only be specified for devices that support the AAR feature |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 21 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | AAR Group and Calling Search Space can only be used for devices that support the AAR feature. |
| Remedy: | Check device type and AAR feature support before specifying an AAR Group or AAR Calling Search Space. |
|
| 2.3.77.25 fkcallingsearchspace_calledintl (FI-3891) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Called Party International Number |
| 2.3.77.26 fkcallingsearchspace_callednational (FI-3890) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Called Party National Number |
| 2.3.77.27 fkcallingsearchspace_calledsubscriber (FI-3893) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Called Party Subscriber Number |
| 2.3.77.28 fkcallingsearchspace_calledunknown (FI-3892) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Called Party Unknown Number |
| 2.3.77.29 fkcallingsearchspace_cdpntransform (FI-3506) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | If useDevicePoolCdpnTransformCSS is set to False this transformation will be applied on the called party |
| Rule (RI-447): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device.fkCallingSearchSpace_CdPNTransform is allowed for all gateways other than FXS ports |
| Description: | Device.fkCallingSearchSpace_CdPNTransform is allowed for all gateways other than FXS ports |
| Test Condition: | ON INSERT/UPDATE |
| Error Message: | Device.fkCallingSearchSpace_CdPNTransform is allowed for all gateways other than FXS ports |
|
| 2.3.77.30 fkcallingsearchspace_cgpningressdn (FI-10120) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling search space applied to calling party number on ingress from the calling device |
| 2.3.77.31 fkcallingsearchspace_cgpnintl (FI-5124) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling Party International Number |
| 2.3.77.32 fkcallingsearchspace_cgpnnational (FI-5123) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling Party National Number |
| 2.3.77.33 fkcallingsearchspace_cgpnsubscriber (FI-5126) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling Party Subscriber Number |
| 2.3.77.34 fkcallingsearchspace_cgpntransform (FI-3378) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling Search Space for Calling Party Name Transformation Pattern |
| 2.3.77.35 fkcallingsearchspace_cgpnunknown (FI-5125) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling Party Unknown Number |
| 2.3.77.36 fkcallingsearchspace_rdntransform (FI-9926) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | If useDevicePoolRdnTransformCSS is set to False this transformation will be applied on the Redirecting Number |
| Rule (RI-841): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device.fkCallingSearchSpace_RdNTransform is allowed for all gateways other than FXS ports |
| Description: | Device.fkCallingSearchSpace_RdNTransform is allowed for all gateways other than FXS ports |
| Test Condition: | ON INSERT/UPDATE |
| Error Message: | Device.fkCallingSearchSpace_RdNTransform is allowed for all gateways other than FXS ports |
|
| 2.3.77.37 fkcallingsearchspace_refer (FI-2397) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Pkid of CallingSearchSpace record for refer called Rerouting Calling Search Space in Admin |
| 2.3.77.38 fkcallingsearchspace_reroute (FI-2396) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Pkid of CallingSearchSpace record for rerouting called Out-of-dialog Refer Calling Search Space in Admin |
| 2.3.77.39 fkcallingsearchspace_restrict (FI-2714) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Pkid of CallingSearchSpace record for restriction |
| 2.3.77.40 fkcallmanagergroup (FI-1301) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Used only by some Gateways. |
| Rule (RFI-6): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkClass = 7 OR tkModel = 133 |
| Constraint: | fkCallManagerGroup IS NOT NULL |
| Null Allowed: | null |
| Remarks: | CallManager required for Route list or WSM trunk. |
|
| Rule (RFI-7): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkClass != 7 AND tkModel != 133 |
| Constraint: | fkCallManagerGroup IS NULL |
| Null Allowed: | null |
| Remarks: | CallManager cannot be assigned. |
|
| 2.3.77.41 fkcommondeviceconfig (FI-3164) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.77.42 fkcommonphoneconfig (FI-2945) |
| Type: | guid |
| Default Value: | ac243d17-98b4-4118-8feb-5ff2e1b781ac |
| 2.3.77.43 fkdevicepool (FI-8) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Migration Source: | Convert from DeviceList.DevicePool |
| Rule (RI-29): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Pool Required |
| Description: | All devices that register with CallManager must be assigned to a specific Device Pool, except for Route Lists which use only a CallManager Group |
| Test Condition: | IF (Device.fkDevicePool IS NULL AND Device.tkClass NOT IN (7, 15, 17, 254)) THEN Throw Exception |
| Error Message: | A Device Pool is required for this device. |
| Remedy: | Specify a Device Pool and try again. |
|
| Rule (RI-223): |
| Type: | Active (Insert) |
| Rule Name: | Add a VGC Gateway to MGCP on Device update |
| Description: | On Insert only |
| Test Condition: | ? |
|
| 2.3.77.44 fkdialrules (FI-2395) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Pkid of DialRules record |
| Rule (RI-320): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Restriction for SIP Dial Rules |
| Description: | SIP Dial Rules for 7905/7912 may only be associated with 7905 and 7912 model phones. All other phones must use 7940/7960/TMP dial rules. |
| Test Condition: | ON INSERT/UPDATE IN Device IF (DialRules.tkDialPattern = 0 and Device.tkProduct IS NOT IN (7905, 7912) OR DialRules.tkDialPattern == 1 AND Device.tkProduct IS IN (7905, 7912)) THEN throw exception |
| Error Message: | Cannot assign Dial Rules of this type to the specified device (model and rule types are mismatched). |
| Remedy: | Check the dial rule and device type to make sure they are compatible (e.g., 7905 dial rule for a 7905 device). |
|
| Rule (RI-320): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Device Restriction for SIP Dial Rules |
| Description: | SIP Dial Rules for 7905/7912 may only be associated with 7905 and 7912 model phones. All other phones must use 7940/7960/TMP dial rules. |
| Test Condition: | ON INSERT/UPDATE IN Device IF (DialRules.tkDialPattern = 0 and Device.tkProduct IS NOT IN (7905, 7912) OR DialRules.tkDialPattern == 1 AND Device.tkProduct IS IN (7905, 7912)) THEN throw exception |
| Error Message: | Cannot assign Dial Rules of this type to the specified device (model and rule types are mismatched). |
| Remedy: | Check the dial rule and device type to make sure they are compatible (e.g., 7905 dial rule for a 7905 device). |
|
| 2.3.77.45 fkenduser (FI-829) |
| Type: | guid (Indexed, Null OK) |
| Default Value: | NULL |
| Migration Source: | User.pkid |
| Remarks: | This is the id of currently logged on user if EM is being used, or the owner of the device if EM is not being used. |
| Rule (RFI-308): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | requireCERlocation = 't' |
| Constraint: | fkEndUser IS NOT NULL |
| Null Allowed: | null |
| Remarks: | A device owner is required to allow off premise locations. |
|
| Rule (RI-163): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Owner or Logged In User |
| Description: | End Users can only own or log into phones and CTI Route Points. |
| Test Condition: | IF (@Device.fkEndUser IS NOT NULL) AND (@Device.tkClass NOT IN (1, 10)) THEN throw exception |
| Error Message: | End Users can only own or log into Phones and CTI Route Points. |
| Remedy: | Remove the EndUser from the device and try again. |
|
| Rule (RI-844): |
| Type: | Active (Insert/Update) |
| Rule Name: | IMS-integrated Mobile Owner Syncs with Mobility User |
| Description: | For IMS-integrated Mobile devices (as defined in ProductSupportsFeature), the owner (device.fkenduser) and mobility user (device.fkenduser_mobility) must be in sync. Sync owner to mobility user if it's not set. |
| Test Condition: | ON INSERT/UPDATE in Device: IF (old_fkenduer_mobility <> new_fkenduser_mobility) THEN set fkenduser = new_fkenduser_mobility END IF; |
|
| Rule (RI-844): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | IMS-integrated Mobile Owner Syncs with Mobility User |
| Description: | For IMS-integrated Mobile devices (as defined in ProductSupportsFeature), the owner (device.fkenduser) and mobility user (device.fkenduser_mobility) must be in sync. Sync owner to mobility user if it's not set. |
| Test Condition: | ON INSERT/UPDATE in Device: IF (old_fkenduer_mobility <> new_fkenduser_mobility) THEN set fkenduser = new_fkenduser_mobility END IF; |
|
| Rule (RI-941): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Token User can own only CDT device |
| Description: | Token User can own only CDT device or be used for mobility only for CDT |
| Test Condition: | On I/U of Device: FOR fkEndUser or fkEndUser_Mobility ,If tkUserProfile=3 AND (tkModel<>645 AND tkProduct<>530) THEN THROW EXCEPTION |
| Error Message: | Token EndUser can be associated with CDT only or used for mobility |
|
| 2.3.77.46 fkenduser_mobility (FI-3381) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | End User that owns Dual-Mode, SNR Device, or deskphone with Mobility button (for Cell Pickup) |
| Rule (RFI-197): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkDeviceProtocol = 17 |
| Constraint: | (fkEndUser_Mobility IS NOT NULL) |
| Remarks: | Mobility EndUser is required for Mobile Smart Client devices (Cisco Unified Mobile Communicator) |
|
| Rule (RI-411): |
| Type: | Active (Update) |
| Rule Name: | Device.fkEndUser_Mobility change removes RemoteDestinations |
| Description: | When the EndUser associated with a Dual-mode or Remote Destination Profile device is changes, any Remote Destinations associated with that device are removed because the use data is no longer valid. |
| Test Condition: | ON UPDATE IN Device: IF (NVL(old_fkenduser_mobility,'') <> NVL(new_fkenduser_mobility,'')) THEN DELETE FROM remotedestination WHERE (fkdevice_dualmode = old_pkid) OR (fkdevice_remotedestination = old_pkid) END IF; |
|
| Rule (RI-844): |
| Type: | Active (Insert/Update) |
| Rule Name: | IMS-integrated Mobile Owner Syncs with Mobility User |
| Description: | For IMS-integrated Mobile devices (as defined in ProductSupportsFeature), the owner (device.fkenduser) and mobility user (device.fkenduser_mobility) must be in sync. Sync owner to mobility user if it's not set. |
| Test Condition: | ON INSERT/UPDATE in Device: IF (old_fkenduer_mobility <> new_fkenduser_mobility) THEN set fkenduser = new_fkenduser_mobility END IF; |
|
| Rule (RI-874): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Mobility Check on EndUser for CTI Remote Device |
| Description: | EndUser associated with CTI Remote Device should be Mobility Enabled. |
| Test Condition: | Check description for complete rule. ON INSERT INTO Device: SELECT fkenduser_mobility INTO theEndUser FROM device WHERE pkid = device.pkid; SELECT EnableMobility INTO mobility FROM enduser WHERE pkid = theEndUser; IF (mobility = 'F') THEN throw exception END IF; |
| Error Message: | Cannot add the device for EndUser that does not have Mobility enabled. |
| Remedy: | Enable Mobility on the EndUser associated with CTI Remote Device and try again. |
|
| Rule (RI-941): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Token User can own only CDT device |
| Description: | Token User can own only CDT device or be used for mobility only for CDT |
| Test Condition: | On I/U of Device: FOR fkEndUser or fkEndUser_Mobility ,If tkUserProfile=3 AND (tkModel<>645 AND tkProduct<>530) THEN THROW EXCEPTION |
| Error Message: | Token EndUser can be associated with CDT only or used for mobility |
|
| 2.3.77.47 fkfeaturecontrolpolicy (FI-5715) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Feature Control Policy Record |
| Rule (RI-734): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Table Feature Control Policy Restriction |
| Description: | Only devices that support Feature Control Policy can specify fkFeatureControlPolicy |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 103 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Feature Control Policy can be set for devices that supports the Feature Control Policy |
| Remedy: | Check Feature Control Policy feature support and device type before specifying a value for fkFeatureControlPolicy. |
|
| Rule (RI-734): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Device Table Feature Control Policy Restriction |
| Description: | Only devices that support Feature Control Policy can specify fkFeatureControlPolicy |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 103 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Feature Control Policy can be set for devices that supports the Feature Control Policy |
| Remedy: | Check Feature Control Policy feature support and device type before specifying a value for fkFeatureControlPolicy. |
|
| 2.3.77.48 fkgeolocation (FI-5001) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.77.49 fkgeolocationfilter_lp (FI-5002) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.77.50 fklocation (FI-599) |
| Type: | guid |
| Default Value: | 29c5c1c4-8871-4d1e-8394-0b9181e8c54d |
| Rule (RI-30): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Location Restriction |
| Description: | Location is not used for MTP, Route List, Gatekeeper, Device Profile |
| Test Condition: | IF (Device.fkLocation IS NOT NULL) AND (Device.tkClass IN (5, 7, 15, 17, 254)) THEN Throw Exception |
| Error Message: | Location is not valid for this type of device. |
| Remedy: | Remove the Location setting from the device and try again. |
|
| Rule (RI-30): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Location Restriction |
| Description: | Location is not used for MTP, Route List, Gatekeeper, Device Profile |
| Test Condition: | IF (Device.fkLocation IS NOT NULL) AND (Device.tkClass IN (5, 7, 15, 17, 254)) THEN Throw Exception |
| Error Message: | Location is not valid for this type of device. |
| Remedy: | Remove the Location setting from the device and try again. |
|
| 2.3.77.51 fkmatrix_presence (FI-2752) |
| Type: | guid |
| Default Value: | ad243d17-98b4-4118-8feb-5ff2e1b781ac |
| Remarks: | delete likely, use securityprofile |
| 2.3.77.52 fkmediaresourcelist (FI-837) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Rule (RI-31): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Media Resource List Restriction |
| Description: | Media Resource List is used only for Phones, Gateways, CTI Route Points, Trunks and Simulations. Media Resource List is not valid on other types of devices |
| Test Condition: | IF (Device.fkMediaResourceList IS NOT NULL) AND (Device.tkClass IS NOT IN (1, 2, 10, 13, 18)) THEN Throw Exception |
| Error Message: | Media Resource List is not valid for this type of device. |
| Remedy: | Remove the Media Resource List setting from the device and try again. |
|
| Rule (RI-31): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Media Resource List Restriction |
| Description: | Media Resource List is used only for Phones, Gateways, CTI Route Points, Trunks and Simulations. Media Resource List is not valid on other types of devices |
| Test Condition: | IF (Device.fkMediaResourceList IS NOT NULL) AND (Device.tkClass IS NOT IN (1, 2, 10, 13, 18)) THEN Throw Exception |
| Error Message: | Media Resource List is not valid for this type of device. |
| Remedy: | Remove the Media Resource List setting from the device and try again. |
|
| Rule (RI-405): |
| Type: | Active (Update) |
| Rule Name: | Setting MTPRequired='F' or fkMRL=NULL sets H323Device.EnableOutboundFaststart='F' |
| Description: | When EnableOutboundFastStart is true for a H.323 device, the MTPRequired field must also be true, and a Media Resource Group List must be selected. If the MTPRequired is subsequently changed to False, or the Media Resource Group List is removed from the device, the EnableOutboundFaststart setting is automatically turned off. |
| Test Condition: | ON UPDATE in Device: If (new_tkDeviceProtocol = 2) AND ( (new_MTPRequired = 'F' AND old_MTPRequired = 'T') OR (old_fkMediaResourceList IS NOT NULL AND new_fkMediaResourceList IS NULL) ) THEN UPDATE H323Device SET EnableOutboundFaststart = 'F' WHERE fkDevice = new_pkid AND EnableOutboundFaststart = 'T'; END IF; |
|
| 2.3.77.53 fkmlppdomain (FI-1954) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Migration Source: | mlppdomainid |
| Remarks: | null means uses device pool value |
| Rule (RI-56): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MLPP Domain ID Restriction |
| Description: | MLPP Domain ID is allowed for devices that originate or direct calls. This currently includes the following classes of device: Gateway, Phone, CTI Route Point, Trunk, Simulation and Device Profile. Not valid for other classes. (Note: change to lookup in ProductSupportsFeature) |
| Test Condition: | Device.fkMlppDomainID IS NOT NULL AND Device.tkClass IN (1, 2, 8, 10, 13, 18) THEN Throw Exception |
| Error Message: | MLPP Domain ID is not valid for this type of device. |
| Remedy: | Remove the MLPP Domain ID setting from the device and try again. |
|
| Rule (RI-56): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MLPP Domain ID Restriction |
| Description: | MLPP Domain ID is allowed for devices that originate or direct calls. This currently includes the following classes of device: Gateway, Phone, CTI Route Point, Trunk, Simulation and Device Profile. Not valid for other classes. (Note: change to lookup in ProductSupportsFeature) |
| Test Condition: | Device.fkMlppDomainID IS NOT NULL AND Device.tkClass IN (1, 2, 8, 10, 13, 18) THEN Throw Exception |
| Error Message: | MLPP Domain ID is not valid for this type of device. |
| Remedy: | Remove the MLPP Domain ID setting from the device and try again. |
|
| 2.3.77.54 fkmobilesmartclientprofile (FI-3697) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Type of Smart Client for smart client devices and dual-mode phones |
| Rule (RFI-196): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkDeviceProtocol = 17 |
| Constraint: | (fkMobileSmartClientProfile IS NOT NULL) |
| Remarks: | Mobile Smart Client Profile is required for Mobile Smart Client devices (Cisco Unified Mobile Communicator) |
|
| Rule (RI-480): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MobileSmartClientProfile restriction |
| Description: | Device.fkMobileSmartClientProfile can only be used when device protocol is MobileSmartClient, or the device is a Dual-Mode phone that supports Smart Client (Dual Mode feature support with Parameter = 1 |
| Test Condition: | ON INSERT/UPDATE IN Remotedestination: IF new_fkMobileSmartClientProfile IS NOT NULL and (new_tkdeviceprotocol != DEVICE_PROTOCOL_MOBILE_SMART_CLIENT) THEN SELECT param INTO supportsSmartClient FROM ProductSupportsFeature WHERE tksupportsfeature = 76 AND tkProduct = new_tkproduct AND tkdeviceprotocol IN (new_tkdeviceprotocol, 99); IF (NOT (supportsSmartClient = '1') THEN throw exception; END IF; END IF; |
| Error Message: | MobileSmartClientProfile Cannot be used for this device |
| Remedy: | Use a different device |
|
| Rule (RI-480): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | MobileSmartClientProfile restriction |
| Description: | Device.fkMobileSmartClientProfile can only be used when device protocol is MobileSmartClient, or the device is a Dual-Mode phone that supports Smart Client (Dual Mode feature support with Parameter = 1 |
| Test Condition: | ON INSERT/UPDATE IN Remotedestination: IF new_fkMobileSmartClientProfile IS NOT NULL and (new_tkdeviceprotocol != DEVICE_PROTOCOL_MOBILE_SMART_CLIENT) THEN SELECT param INTO supportsSmartClient FROM ProductSupportsFeature WHERE tksupportsfeature = 76 AND tkProduct = new_tkproduct AND tkdeviceprotocol IN (new_tkdeviceprotocol, 99); IF (NOT (supportsSmartClient = '1') THEN throw exception; END IF; END IF; |
| Error Message: | MobileSmartClientProfile Cannot be used for this device |
| Remedy: | Use a different device |
|
| Rule (RI-484): |
| Type: | Active (Update) |
| Rule Name: | Clear RemoteDestination if Smart Client disabled |
| Description: | If a Dual-mode device is configured with Mobile Smart Client enabled and a Remote Destination exists that is using the smart client, the RemoteDestination.fkDevice_MobileSmartClient field must be set to NULL if the Dual Mode is updated to disable the Mobile Smart Client (device.fkMobileSmartClientProfile is set to NULL). |
| Test Condition: | ON UPDATE IN Device: IF (new_IsDualMode = 't') AND (new_fkMobileSmartClientProfile IS NULL) AND (old_fkMobileSmartClientProfile IS NOT NULL) THEN UPDATE RemoteDestination SET fkDevice_MobileSmartClient = NULL WHERE fkDevice_MobileSmartClient = new_pkid END IF; |
|
| Rule (RI-946): |
| Type: | Active (Insert/Update) |
| Rule Name: | Auto-fix for Dual Mode and Mobile Smart Client device settings |
| Description: | IF autofix is enabled AND IsDualMode='t' THEN SET tkRingSeting_DND = 1 i.e. disabled AND OR IF tkDevicePotocol=17 (MobileSmartClient) THEN SET tkRingSeting_DND = 1 i.e. disabled AND SET fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
| Test Condition: | IF g_enable_auto_fix = 't' AND IsDualMode='t' THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=NULL OR IF tkDevicePotocol=17 THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
|
| Rule (RI-946): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Auto-fix for Dual Mode and Mobile Smart Client device settings |
| Description: | IF autofix is enabled AND IsDualMode='t' THEN SET tkRingSeting_DND = 1 i.e. disabled AND OR IF tkDevicePotocol=17 (MobileSmartClient) THEN SET tkRingSeting_DND = 1 i.e. disabled AND SET fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
| Test Condition: | IF g_enable_auto_fix = 't' AND IsDualMode='t' THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=NULL OR IF tkDevicePotocol=17 THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
|
| 2.3.77.55 fkphonetemplate (FI-9) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Migration Source: | Get indirectly from PhoneDeviceToTemplate |
| Remarks: | If tModel.tClass is not phone, then this is NULL |
| Rule (RI-16): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template required |
| Description: | Devices that use a phone button template must have a template specified |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 13 AND tkModel = @Defaults.tkModel AND tkDeviceProtocol IN (@Defaults.tkDeviceProtocol,99) |
| Error Message: | A device that uses Phone Templates have a specific Phone Template assigned. |
| Remedy: | Specify a Phone Template. |
|
| Rule (RI-16): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Phone Template required |
| Description: | Devices that use a phone button template must have a template specified |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 13 AND tkModel = @Defaults.tkModel AND tkDeviceProtocol IN (@Defaults.tkDeviceProtocol,99) |
| Error Message: | A device that uses Phone Templates have a specific Phone Template assigned. |
| Remedy: | Specify a Phone Template. |
|
| Rule (RI-17): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template Model |
| Description: | The model must match for a device default and the specified phone template for that device type. |
| Test Condition: | @Defaults.tkModel = (SELECT PhoneTemplate.tkModel FROM PhoneTemplate WHERE PhoneTemplate.pkid = @Defaults.tkPhoneTemplate) |
| Error Message: | The Phone Template model does not match the device model. |
| Remedy: | Specifiy a Phone Template for the correct model. |
|
| Rule (RI-17): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Phone Template Model |
| Description: | The model must match for a device default and the specified phone template for that device type. |
| Test Condition: | @Defaults.tkModel = (SELECT PhoneTemplate.tkModel FROM PhoneTemplate WHERE PhoneTemplate.pkid = @Defaults.tkPhoneTemplate) |
| Error Message: | The Phone Template model does not match the device model. |
| Remedy: | Specifiy a Phone Template for the correct model. |
|
| Rule (RI-423): |
| Type: | Active (Delete) |
| Rule Name: | Remove Individual phone templates |
| Description: | When a phone with individual Phone Templates is deleted, the individual Phone Templates must be deleted. |
| Test Condition: | ON DELETE in Device: if phonetemplate.name like '%Individual Template' DELETE FROM phonetemplate WHERE PhoneTemplate.pkid = device.fkphoneTemplate |
|
| 2.3.77.56 fkprocessnode (FI-424) |
| Type: | guid (Cascade Delete, Not Modifiable, Null OK) |
| Default Value: | NULL |
| Migration Source: | See word doc, each install must add node information |
| Remarks: | This is the node this device is running on if the device is a process. |
| Rule (RI-32): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Process Node Required |
| Description: | Software based devices that rely on the IP Media Streaming service must be associated with a server (Process Node). |
| Test Condition: | IF (Device.fkProcessNode IS NULL) AND (Device.tkModel IN (50, 70, 110, 126)) THEN Throw Exception |
| Error Message: | A Server (Process Node) is required for this device. |
| Remedy: | Specify a Server (Process Node) and try again. |
|
| Rule (RI-33): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Process Node Restriction |
| Description: | Devices other than software media streaming applications cannot be assigned to a server (Process Node) |
| Test Condition: | IF (Device.fkProcessNode IS NOT NULL) AND (Device.tkModel NOT IN (50, 70, 110, 126)) THEN Throw Exception |
| Error Message: | This device cannot be assigned to a Server (ProcessNode). |
| Remedy: | Remove the Server (Process Node) setting from the device and try again. |
|
| Rule (RI-34): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Enterprise Node Restriction |
| Description: | Devices cannot be assigned to the reserved Enterprise Node (system Process Node) |
| Test Condition: | IF (Device.fkProcessNode = '00000000-111-0000-0000-000000000000') THEN Throw Exception |
| Error Message: | Devices cannot be assigned to the reserved Enterprise Node (system Process Node). |
| Remedy: | Associate the device with another Server (Process Node). |
|
| Rule (RI-35): |
| Type: | Validation (Insert/Update) |
| Rule Name: | One software device type per Server |
| Description: | Only one software based IP Media Streaming device of each type (CFB, MOH, MTP, ANN) can be assigned to a Server (Process Node) |
| Test Condition: | IF (SELECT COUNT(*) FROM Device WHERE fkProcessNode = @Device.fkProcessNode AND tkModel = @Device.tkModel) > 1 THEN Throw Exception |
| Error Message: | Only one software based IP Media Streaming device of each type (CFB, MOH, MTP, ANN) can be assigned to a Server (Process Node). |
| Remedy: | Associate the device with another Server (Process Node). |
|
| Rule (RI-380): |
| Type: | Validation (Insert/Update/Delete) |
| Rule Name: | One server should have exactly one software device (CFB, MTP, MOH, ANN) each type |
| Description: | One IP Media Streaming software device each type is install by default on all servers cannot be deleted |
| Test Condition: | ON DELETE or Insert Device: IF (old_tkProduct IN (28, 30, 51, 89)) THEN throw exception; |
| Error Message: | Cannot insert or delete the IP Media Streaming software devices installed on a server by default. |
| Remedy: | Disable the service or remove the device from Media Resource Groups where it appears. |
|
| 2.3.77.57 fksecurityprofile (FI-2349) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Foreign Key to Security Profile |
| Rule (RI-316): |
| Type: | Active (Insert/Update) |
| Rule Name: | Prevent applying secure profile where not supported. |
| Description: | on I/U of Device |
| Test Condition: | Only endpoints on gateways with secure mode support may be set to use Security Profiles marked for secure mode. Further, all endpoints on analog gateways must remain consistent in either all operating in secure mode or all in non-secure mode |
|
| Rule (RI-340): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Correct security profile for device |
| Description: | on I/U of device |
| Test Condition: | prevent bad value combinations |
|
| Rule (RI-402): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Security Profile required if Standard Security Profile exists for device type |
| Description: | If a Standard Security Profile exist for a given device type or class, then devices of that type or class must use a Security Profile. |
| Test Condition: | ON INSERT/UPDATE INTO Device: IF (new_fkSecurityProfile IS NULL) THEN SELECT COUNT(*) INTO nRows FROM SecurityProfile where IsStandard = 't' AND tkModel = new_tkModel and tkDeviceProtocol = new_tkDeviceProtocol); IF nRows > 0 THEN throw exception; |
| Error Message: | A security profile is required for this model and protocol. |
| Remedy: | Specify a Security Profile that matches the device type. |
|
| Rule (RI-459): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device.fkSecurityProfile restriction for CUMA |
| Description: | Security Profile used by a device cannot be a CUMA security policy |
| Test Condition: | Security Profile used by a device cannot be a CUMA security policy |
|
| Rule (RI-472): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Security Profile must be secure for Protected device (secure tone) |
| Description: | Security Profile used with Protected device must be secure (encrypted) |
| Test Condition: | ON INSERT/UPDATE IN Device, SecurityProfile: |
| Error Message: | Security Profiles used with Protected phones (Device.IsProtected = True) must use encryption |
| Remedy: | Make sure the Security Profile uses Encryption, or disable Secure Tone on the phone |
|
| Rule (RI-604): |
| Type: | Validation (Update) |
| Rule Name: | SAF Enabled trunk only supports non secure profile |
| Description: | SAF Enabled trunk only supports non secure profile |
| Test Condition: | SAF Enabled trunk only supports non secure profile |
| Error Message: | SAF Enabled trunk only supports non secure profile |
|
| Rule (RI-736): |
| Type: | Active (Insert) |
| Rule Name: | Set default Security Profile for Virtual Port |
| Description: | On Insert of Analog Virtual Port, set a Default Security Profile |
| Test Condition: | On Insert to Device |
|
| Rule (RI-736): |
| Type: | Active (Insert) This field is modified by this rule. |
| Rule Name: | Set default Security Profile for Virtual Port |
| Description: | On Insert of Analog Virtual Port, set a Default Security Profile |
| Test Condition: | On Insert to Device |
|
| Rule (RI-940): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Model Independent Security Profile |
| Description: | Check if the device supports Model independent security profile , if yes then check whether this device support features like Encryption,Authentication and File Encryption and if it doesn't supports any of these three features then set its security profile as the Standard Non-Secure security profile intended for that particular model. |
| Test Condition: | ON INSERT/UPDATE INTO Device: SELECT tkSecurityPolicy INTO m_tkSecurityPolicy FROM SecurityProfile WHERE pkid = new_fkSecurityProfile; IF device supports Model Independent Security Profile (m_tkSecurityProfile =99) THEN IF there exists a record in PSF table for each supporting feature: Encryption, Authentication, File Encryption with tkDeviceProtocol in (new_tkDeviceProtocol,99) and tkModel = new_tkModel THEN RETURN new_fkSecurityProfile; ELSE SELECT pkid INTO m_fkSecurityProfile FROM SecurityProfile WHERE tkmodel = new_tkModel AND tkDeviceProtocol = new_tkDeviceProtocol AND isStandard = 't';RETURN m_fkSecurityProfile; |
| Remedy: | 1 |
|
| Rule (RI-940): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Model Independent Security Profile |
| Description: | Check if the device supports Model independent security profile , if yes then check whether this device support features like Encryption,Authentication and File Encryption and if it doesn't supports any of these three features then set its security profile as the Standard Non-Secure security profile intended for that particular model. |
| Test Condition: | ON INSERT/UPDATE INTO Device: SELECT tkSecurityPolicy INTO m_tkSecurityPolicy FROM SecurityProfile WHERE pkid = new_fkSecurityProfile; IF device supports Model Independent Security Profile (m_tkSecurityProfile =99) THEN IF there exists a record in PSF table for each supporting feature: Encryption, Authentication, File Encryption with tkDeviceProtocol in (new_tkDeviceProtocol,99) and tkModel = new_tkModel THEN RETURN new_fkSecurityProfile; ELSE SELECT pkid INTO m_fkSecurityProfile FROM SecurityProfile WHERE tkmodel = new_tkModel AND tkDeviceProtocol = new_tkDeviceProtocol AND isStandard = 't';RETURN m_fkSecurityProfile; |
| Remedy: | 1 |
|
| 2.3.77.58 fksipprofile (FI-2489) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Rule (RI-936): |
| Type: | Active (Insert/Update) |
| Rule Name: | On Insert/Update of Device set SIPProfile to NULL for non SIP device |
| Description: | On Insert/Update of Device, SET SIPProfile to NULL for non SIP device. |
| Test Condition: | For INSERT/UPDATE of Device, IF tkdeviceprotocol <> 11,UPDATE Device SET fkSIPProfile = NULL |
|
| Rule (RI-936): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | On Insert/Update of Device set SIPProfile to NULL for non SIP device |
| Description: | On Insert/Update of Device, SET SIPProfile to NULL for non SIP device. |
| Test Condition: | For INSERT/UPDATE of Device, IF tkdeviceprotocol <> 11,UPDATE Device SET fkSIPProfile = NULL |
|
| 2.3.77.59 fksoftkeytemplate (FI-1129) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | association between device and softkey template |
| Rule (RI-37): |
| Type: | Validation (Insert/Update) |
| Rule Name: | SoftkeyTemplate Restriction |
| Description: | Softkey Templates can be assigned only to devices that support Softkeys |
| Test Condition: | IF (@Device.fkSoftkeyTemplate IS NOT NULL) AND ((SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 18 AND tkProduct = @Device.tkProduct AND tkDeviceprotocol IN (@Device.tkDeviceProtocol,99)) = 0) THEN Throw Exception |
| Error Message: | Softkey Template is not valid for this type of device. |
| Remedy: | Remove the Softkey Template setting and try again. |
|
| Rule (RI-37): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | SoftkeyTemplate Restriction |
| Description: | Softkey Templates can be assigned only to devices that support Softkeys |
| Test Condition: | IF (@Device.fkSoftkeyTemplate IS NOT NULL) AND ((SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 18 AND tkProduct = @Device.tkProduct AND tkDeviceprotocol IN (@Device.tkDeviceProtocol,99)) = 0) THEN Throw Exception |
| Error Message: | Softkey Template is not valid for this type of device. |
| Remedy: | Remove the Softkey Template setting and try again. |
|
| 2.3.77.60 fkvipre164transformation (FI-5272) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Migration Source: | NULL |
| 2.3.77.61 hotlinedevice (FI-3940) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | TRUE if this is a Hotline device |
| Rule (RI-631): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Hotline support required for Hotline Device |
| Description: | Hotline Device setting can only be true for devices supporting Hotline feature (tkSupportsFeature = 93) |
| Test Condition: | ON INSERT/UPDATE IN Device: |
| Error Message: | This Device Model does not support Hotline (hotlinedevice setting) |
| Remedy: | Set hotlinedevice to false and try again |
|
| Rule (RI-631): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Hotline support required for Hotline Device |
| Description: | Hotline Device setting can only be true for devices supporting Hotline feature (tkSupportsFeature = 93) |
| Test Condition: | ON INSERT/UPDATE IN Device: |
| Error Message: | This Device Model does not support Hotline (hotlinedevice setting) |
| Remedy: | Set hotlinedevice to false and try again |
|
| 2.3.77.62 huntlistforvm (FI-3167) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.77.63 ignorepi (FI-2162) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.77.64 ikdevice_defaultprofile (FI-833) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Points to the profile to log in when "logout" is called. If an insert or update is performed, and this field is NULL, then generate an auto-generated profile based on this device's current settings. If this value was pointing to a AGP, then delete the old AGP. If the AllowHotellingFlag is true. |
| Rule (RI-310): |
| Type: | Active (Update) |
| Rule Name: | (obsolete) Insert DeviceEMSyn record if auto sync of auto generated profile is needed |
| Description: | When EM is on (Device.AllowHotelingFlag = true), if the default Device Profile is the auto generated Device Profile for the current device, and the value of service parameter (enableAutoDeviceProfileSynChronize) is true, then insert a record into DeviceEMSyn table with the pkid of auto-generated profile and the pkid of the current device. Later DbMon will process the change notification of DeviceEMSyn to re-generate the auto-generated profile of the current device. |
| Test Condition: | Device.AllowHotelingFlag = true |
|
| Rule (RI-343): |
| Type: | Validation (Insert/Update) |
| Rule Name: | EM Logout Profile Model and Protocol Restriction |
| Description: | The model and protocol of a phone and a User Device Profile selected as the logout profile must both match |
| Test Condition: | ON INSERT/UPDATE IN Device IF (Device.tkModel <> Profile.tkModel) OR (Device.tkDeviceProtocol <> Profile.tkDeviceProtocol) THEN throw exception |
| Error Message: | Logout Profile is not the same model and protocol as the device |
| Remedy: | Select a logout profile that is the same model and protocol as the phone and try again |
|
| Rule (RI-376): |
| Type: | Active (Insert/Update) |
| Rule Name: | Insert Dynamic Records for Extension Mobility |
| Description: | When Extension Mobility (EM) is enabled on a phone, create the corresponding record in the ExtensionMobilityDynamic and EMCCDynamic and EMRemoteDynamic |
| Test Condition: | ON INSERT/UPDATE INTO Device |
|
| 2.3.77.65 ikdevice_primaryphone (FI-3524) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Primary Phone associated with this device |
| 2.3.77.66 internationalprefix (FI-3513) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | International Prefix |
| Rule (RFI-184): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkProduct NOT IN (2,1,90,55,52,10001,17,75,76,77) |
| Constraint: | (InternationalPrefix = '') OR (InternationalPrefix = 'Default') OR (InternationalPrefix = 'default') |
| Null Allowed: | null |
| Remarks: | International Prefix should be empty for devices other than H323 gateways and trunks and MGCP T1/E1 PRI and BRI gateways |
|
| Rule (RFI-256): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkProduct NOT IN (2,1,90,55,52,10001,17,75,76,77) |
| Constraint: | (InternationalStripDigits = '') OR (InternationalStripDigits IS NULL) |
| Null Allowed: | null |
| Remarks: | International Strip Digits should be empty for devices other than H323 gateways and trunks and MGCP T1/E1 PRI and BRI gateways |
|
| 2.3.77.67 internationalstripdigits (FI-5112) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (InternationalStripDigits >= 0) AND (InternationalStripDigits <= 24) |
| Remarks: | International Strip Digits |
| Rule (RFI-228): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | (InternationalPrefix = 'Default') OR (InternationalPrefix = 'default') |
| Constraint: | InternationalStripDigits IS NULL |
| Remarks: | Cannot use InternationalStripDigits when the Default prefix is used. |
|
| 2.3.77.68 isactive (FI-3592) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | Determines whether a phone consumes licenses and can register with CUCM. Intended to allow BAT dummy phones to be provisioned for use with TAPS without consuming additional licenses. |
| 2.3.77.69 isdualmode (FI-3377) |
| Type: | bool (Indexed, Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | Indicates a remote destination is a dual-mode phone; set based on device type |
| Rule (RI-379): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device DND Option feature restriction |
| Description: | DND Option can only be set to non-Zero on devices that support the DND feature (in ProductSupportsFeature table). For those devices that support the feature, only the Ringer Off (0) is valid, unless a parameter is present in the PSF record. If a parameter value of 1 exists in PSF table, only Call Reject is valid. If the param value is (2), all options including Use Common Profile (2) are valid. Dual mode and remote destination profile only support the Call Reject option. |
| Test Condition: | ON INSERT INTO Device: IF((tkproduct=112 or isdualmode = 't') and (tkDNDOption <>1)) throw exception; ELSE IF (new_tkDNDOption <> 0) THEN SELECT parameter INTO restriction FROM ProductSupportsFeature WHERE (tkSupportsFeature = SUPPORTS_FEATURE_DND) AND (tkProduct = new_tkProduct) AND (tkDeviceProtocol IN (new_tkDeviceProtocol,99); IF (rows returned = 0) THEN throw exception ELSE IF (NVL(restriction, '') <> '') THEN IF (new_tkDNDOption <> restriction) THEN throw exception END IF; END IF; END IF; END IF |
| Error Message: | This device does not support the selected DND Option |
| Remedy: | Do not set a DND Option, or check for restrictions on which options are valid for this device. |
|
| Rule (RI-381): |
| Type: | Active (Insert) This field is modified by this rule. |
| Rule Name: | DualMode device type (in PSF) is marked isDualMode = True |
| Description: | If a device type is marked as Dual Mode in the ProductSupportsFeature table, then the Device and RemoteDestination records for the device are automatically updated to set IsDualMode field to true. |
| Test Condition: | ON INSERT INTO Device |
|
| Rule (RI-381): |
| Type: | Active (Insert) |
| Rule Name: | DualMode device type (in PSF) is marked isDualMode = True |
| Description: | If a device type is marked as Dual Mode in the ProductSupportsFeature table, then the Device and RemoteDestination records for the device are automatically updated to set IsDualMode field to true. |
| Test Condition: | ON INSERT INTO Device |
|
| Rule (RI-484): |
| Type: | Active (Update) |
| Rule Name: | Clear RemoteDestination if Smart Client disabled |
| Description: | If a Dual-mode device is configured with Mobile Smart Client enabled and a Remote Destination exists that is using the smart client, the RemoteDestination.fkDevice_MobileSmartClient field must be set to NULL if the Dual Mode is updated to disable the Mobile Smart Client (device.fkMobileSmartClientProfile is set to NULL). |
| Test Condition: | ON UPDATE IN Device: IF (new_IsDualMode = 't') AND (new_fkMobileSmartClientProfile IS NULL) AND (old_fkMobileSmartClientProfile IS NOT NULL) THEN UPDATE RemoteDestination SET fkDevice_MobileSmartClient = NULL WHERE fkDevice_MobileSmartClient = new_pkid END IF; |
|
| Rule (RI-946): |
| Type: | Active (Insert/Update) |
| Rule Name: | Auto-fix for Dual Mode and Mobile Smart Client device settings |
| Description: | IF autofix is enabled AND IsDualMode='t' THEN SET tkRingSeting_DND = 1 i.e. disabled AND OR IF tkDevicePotocol=17 (MobileSmartClient) THEN SET tkRingSeting_DND = 1 i.e. disabled AND SET fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
| Test Condition: | IF g_enable_auto_fix = 't' AND IsDualMode='t' THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=NULL OR IF tkDevicePotocol=17 THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
|
| 2.3.77.70 ispaienabled (FI-3484) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.77.71 isprotected (FI-3685) |
| Type: | bool (Indexed) |
| Default Value: | FALSE |
| Remarks: | Device is used for secure calls with supplementary services disabled |
| Rule (RI-471): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Secure Tone support required for Protected device |
| Description: | IsProtected setting can only be true for devices supporting secure tone feature (tkSupportsFeature = 81) |
| Test Condition: | ON INSERT/UPDATE IN Device: |
| Error Message: | This Device Model does not support secure tone (isprotected setting) |
| Remedy: | Set IsProtected to false and try again |
|
| Rule (RI-471): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Secure Tone support required for Protected device |
| Description: | IsProtected setting can only be true for devices supporting secure tone feature (tkSupportsFeature = 81) |
| Test Condition: | ON INSERT/UPDATE IN Device: |
| Error Message: | This Device Model does not support secure tone (isprotected setting) |
| Remedy: | Set IsProtected to false and try again |
|
| Rule (RI-472): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Security Profile must be secure for Protected device (secure tone) |
| Description: | Security Profile used with Protected device must be secure (encrypted) |
| Test Condition: | ON INSERT/UPDATE IN Device, SecurityProfile: |
| Error Message: | Security Profiles used with Protected phones (Device.IsProtected = True) must use encryption |
| Remedy: | Make sure the Security Profile uses Encryption, or disable Secure Tone on the phone |
|
| Rule (RI-473): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DN restrictions for Protected device (secure tone) |
| Description: | Do not allow a "protected" phone to have a shared line |
| Test Condition: | ON INSERT/UPDATE IN Device, DeviceNumplanMap: |
| Error Message: | Protected device can not support shared line. |
| Remedy: | Protected device does not support shared line. |
|
| 2.3.77.72 isrpidenabled (FI-3485) |
| Type: | bool |
| Default Value: | TRUE |
| Rule (RI-440): |
| Type: | Active (Update) |
| Rule Name: | Setting isRpidEnabled='F' sets sipdevice.tkpresentationbit_connectedline=DEFAULT |
| Description: | When IsRpidEnabled is set to FALSE in the Device Table the tkPresentationBit_ConnectedLine will be set to DEFAULT (0x00) in sipdevice table |
| Test Condition: | ON UPDATE in Device: IF IsRpidEnabled='F' THEN UPDATE SIPDEVICE SET tkPresentationBit_ConnectedLine = DEFAULT; END IF; |
| Error Message: | Value of tkpresentationbit_connectedline is not Compatible |
|
| Rule (RI-441): |
| Type: | Active (Update) |
| Rule Name: | Setting IsRpidEnabled='F' sets SIPDevice.tkPresentationBit_ConnectedName=DEFAULT |
| Description: | When IsRpidEnabled is set to FALSE in the Device Table the tkPresentationBit_ConnectedName will be set to DEFAULT (0x00) in SIPDevice table |
| Test Condition: | ON UPDATE in Device: IF IsRPIDEnabled='F' THEN UPDATE SIPDevice SET tkPresentationBit_ConnectedName = DEFAULT; END IF; |
| Error Message: | Value of tkpresentationbit_connectedname is not Compatible |
|
| 2.3.77.73 isstandard (FI-3036) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | if set to true, then this device cannot be inserted or deleted, except by another business rule or the install |
| 2.3.77.74 istrustedrelaypoint (FI-3479) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Applies to MTP or transcoder that acts as Trusted Relay Point for virtual networks |
| Rule (RFI-163): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkClass != 5 |
| Constraint: | IsTrustedRelayPoint='f' |
| Remarks: | IsTrustedRelayPoint can only be true for MTP or Transcoder device |
|
| 2.3.77.75 md5hash (FI-3030) |
| Type: | string [64] (Null OK) |
| Default Value: | EMPTY |
| 2.3.77.76 mtprequired (FI-1320) |
| Type: | bool |
| Default Value: | FALSE |
| Rule (RI-405): |
| Type: | Active (Update) |
| Rule Name: | Setting MTPRequired='F' or fkMRL=NULL sets H323Device.EnableOutboundFaststart='F' |
| Description: | When EnableOutboundFastStart is true for a H.323 device, the MTPRequired field must also be true, and a Media Resource Group List must be selected. If the MTPRequired is subsequently changed to False, or the Media Resource Group List is removed from the device, the EnableOutboundFaststart setting is automatically turned off. |
| Test Condition: | ON UPDATE in Device: If (new_tkDeviceProtocol = 2) AND ( (new_MTPRequired = 'F' AND old_MTPRequired = 'T') OR (old_fkMediaResourceList IS NOT NULL AND new_fkMediaResourceList IS NULL) ) THEN UPDATE H323Device SET EnableOutboundFaststart = 'F' WHERE fkDevice = new_pkid AND EnableOutboundFaststart = 'T'; END IF; |
|
| Rule (RI-613): |
| Type: | Validation (Insert/Update) |
| Rule Name: | EMCC SIP Trunk validation |
| Description: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
| Test Condition: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
| Error Message: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
|
| 2.3.77.77 name (FI-2) |
| Type: | string [129] (Unique, Indexed) |
| Migration Source: | DeviceList.DeviceName |
| Remarks: | URL friendly characters; 15 char for non MGCP devices else XXX@MGCPDomainName |
| Rule (RI-17): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template Model |
| Description: | The model must match for a device default and the specified phone template for that device type. |
| Test Condition: | @Defaults.tkModel = (SELECT PhoneTemplate.tkModel FROM PhoneTemplate WHERE PhoneTemplate.pkid = @Defaults.tkPhoneTemplate) |
| Error Message: | The Phone Template model does not match the device model. |
| Remedy: | Specifiy a Phone Template for the correct model. |
|
| Rule (RI-26): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Name Validation |
| Description: | For products that are configured as devices, name validation is based on the content of devicenameformat in specified for the product (TypeProduct). The exceptions are gateways for which the names are generated based on unit/subunit/slot position, and virtual devices used for extension mobility and configuration only (User Device Profiles, Autogenerated Profiles, Templates). Virtual devices allow ASCII names up to 50 characters including most punctuation. |
| Test Condition: | ON INSERT/UPDATE IN Device |
| Error Message: | The device name format is not valid or contains invalid characters. |
| Remedy: | Check the name to make sure it is valid for specified product and try again. |
|
| Rule (RI-223): |
| Type: | Active (Insert) |
| Rule Name: | Add a VGC Gateway to MGCP on Device update |
| Description: | On Insert only |
| Test Condition: | ? |
|
| Rule (RI-250): |
| Type: | Active (Update) |
| Rule Name: | Trim VG200 gateway name |
| Description: | See CSCeg63298:VG200 gateway does not register with CCM. Need to trim leading and trailing spaces from devicename |
| Test Condition: | ? |
|
| Rule (RI-250): |
| Type: | Active (Update) This field is modified by this rule. |
| Rule Name: | Trim VG200 gateway name |
| Description: | See CSCeg63298:VG200 gateway does not register with CCM. Need to trim leading and trailing spaces from devicename |
| Test Condition: | ? |
|
| 2.3.77.78 nationalprefix (FI-3512) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | National Prefix |
| Rule (RFI-183): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkProduct NOT IN (2,1,90,55,52,10001,17,75,76,77) |
| Constraint: | (NationalPrefix = '') OR (NationalPrefix = 'Default') OR (NationalPrefix = 'default') |
| Null Allowed: | null |
| Remarks: | National Prefix should be empty for devices other than H323 gateways and trunks and MGCP T1/E1 PRI and BRI gateways |
|
| Rule (RFI-255): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkProduct NOT IN (2,1,90,55,52,10001,17,75,76,77) |
| Constraint: | (NationalStripDigits = '') OR (NationalStripDigits IS NULL) |
| Null Allowed: | null |
| Remarks: | National Strip Digits should be empty for devices other than H323 gateways and trunks and MGCP T1/E1 PRI and BRI gateways |
|
| 2.3.77.79 nationalstripdigits (FI-5111) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (NationalStripDigits >= 0) AND (NationalStripDigits <= 24) |
| Remarks: | National Strip Digits |
| Rule (RFI-227): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | (NationalPrefix = 'Default') OR (NationalPrefix = 'default') |
| Constraint: | NationalStripDigits IS NULL |
| Remarks: | Cannot use StripDigits when the Default prefix is used. |
|
| 2.3.77.80 networkholdmohaudiosourceid (FI-839) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Rule (RI-60): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Network Hold Audio Source Restriction |
| Description: | Only devices that support Music On Hold feature use the Network Hold Audio Source setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 4 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Network Hold Audio Source can only be used for devices that support the Music On Hold feature. |
| Remedy: | Check device type and Music On Hold feature support before specifying a Network Hold Audio Source. |
|
| Rule (RI-60): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Network Hold Audio Source Restriction |
| Description: | Only devices that support Music On Hold feature use the Network Hold Audio Source setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 4 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Network Hold Audio Source can only be used for devices that support the Music On Hold feature. |
| Remedy: | Check device type and Music On Hold feature support before specifying a Network Hold Audio Source. |
|
| 2.3.77.81 packetcaptureduration (FI-1911) |
| Type: | long (Null OK) |
| Default Value: | 0 |
| Check Constraint: | (PacketCaptureDuration >= 0) AND (PacketCaptureDuration <= 300) |
| Remarks: | Duration in minutes |
| 2.3.77.82 pkid (FI-1) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-16): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template required |
| Description: | Devices that use a phone button template must have a template specified |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 13 AND tkModel = @Defaults.tkModel AND tkDeviceProtocol IN (@Defaults.tkDeviceProtocol,99) |
| Error Message: | A device that uses Phone Templates have a specific Phone Template assigned. |
| Remedy: | Specify a Phone Template. |
|
| Rule (RI-26): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Name Validation |
| Description: | For products that are configured as devices, name validation is based on the content of devicenameformat in specified for the product (TypeProduct). The exceptions are gateways for which the names are generated based on unit/subunit/slot position, and virtual devices used for extension mobility and configuration only (User Device Profiles, Autogenerated Profiles, Templates). Virtual devices allow ASCII names up to 50 characters including most punctuation. |
| Test Condition: | ON INSERT/UPDATE IN Device |
| Error Message: | The device name format is not valid or contains invalid characters. |
| Remedy: | Check the name to make sure it is valid for specified product and try again. |
|
| Rule (RI-184): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Insert/Update of Device for an MGCP Endpoint |
| Description: | When a new MGCP endpoint device is created/ updated, the devicename should follow the name pattern for that device. This pattern is in Gateway layout table for that MGCP Product, slot position, MGCPSlotModule and MGCpVic. |
| Test Condition: | On Insert or Update of MGCP Gateway endpoint. |
| Error Message: | Device name format is not correct. |
|
| Rule (RI-199): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Security Feature validation |
| Description: | Valid Device Security Modes for each device type are determined by the ProductSupportsFeature records for the security features. Devices that do not support any security feature must be set to non-secure mode. Devices that support other security modes can be set to Default, Not-Secure, or one of the supported security modes (Authentication or Encryption as determined in ProductSupportsFeature). |
| Test Condition: | On Insert/Update of tksecuritymode on Device table. |
| Error Message: | The security feature is not supported for this device |
| Remedy: | Either unselect the desired feature or choose another device. |
|
| Rule (RI-202): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | Generate Default Device Profile for Model |
| Description: | Create a Default Device Profile for a device type if one does not already exist, and extension mobility is enabled on a device of that type (e.g., create the Default Device Profile for a Cisco 7960 if it does not exist and EM is enabled on a 7960). |
| Test Condition: | IF (NEW.AllowHotelingFlag is true) and ((select count(*) from device where tkmodel = NEW.tkmodel and tkdeviceprofile = 3) = 0) |
| Error Message: | No default model profile, no mismatch login performed |
|
| Rule (RI-216): |
| Type: | Active (Insert/Update) |
| Rule Name: | device versionstamp |
| Description: | on change to anything in device xml file, update versionstamp |
| Test Condition: | update device |
|
| Rule (RI-223): |
| Type: | Active (Insert) |
| Rule Name: | Add a VGC Gateway to MGCP on Device update |
| Description: | On Insert only |
| Test Condition: | ? |
|
| Rule (RI-263): |
| Type: | Active (Insert) |
| Rule Name: | Set QSIG on Device |
| Description: | When a device is inserted, the QSIG setting for the device is determined automatically as follows: For trunks other than Inter-cluster trunk, the device is treated as H.323; inter-cluster trunk is treated as Mixed-Non-QSIG. Digital Access PRI gateways using QSIG protocol are considered QSIG, H.323 Gateways are considered H.323, and all other gateways (including Digital Access PRI with a non-QSIG protocol) are Mixed-Non-QSIG. All other devices except Route Lists are considered Mixed-Non-QSIG. For Route Lists, see rule "Set QSIG on Route List" |
| Test Condition: | On Insert into Device |
|
| Rule (RI-297): |
| Type: | Validation (Insert/Update) |
| Rule Name: | SRTP and Outbound Faststart Conflict |
| Description: | The SRTPAllowed and EnableOutboundFastStart settings (for H.323 devices) are mutually exclusive - only one may be true at any given time. |
| Test Condition: | IF (Device.SRTPAllowed = 't') AND (H323Device.EnableOutboundFastStart = 't') THEN throw exception |
| Error Message: | SRTP and Outbound FastStart cannot be enabled at the same time. |
| Remedy: | Disable either SRTP or Outbound FastStart and try again. |
|
| Rule (RI-305): |
| Type: | Active (Insert) |
| Rule Name: | device insert versionstamp |
| Description: | on insert of a device, generate a deviceversionstamp record |
| Test Condition: | insert device |
|
| Rule (RI-310): |
| Type: | Active (Update) |
| Rule Name: | (obsolete) Insert DeviceEMSyn record if auto sync of auto generated profile is needed |
| Description: | When EM is on (Device.AllowHotelingFlag = true), if the default Device Profile is the auto generated Device Profile for the current device, and the value of service parameter (enableAutoDeviceProfileSynChronize) is true, then insert a record into DeviceEMSyn table with the pkid of auto-generated profile and the pkid of the current device. Later DbMon will process the change notification of DeviceEMSyn to re-generate the auto-generated profile of the current device. |
| Test Condition: | Device.AllowHotelingFlag = true |
|
| Rule (RI-316): |
| Type: | Active (Insert/Update) |
| Rule Name: | Prevent applying secure profile where not supported. |
| Description: | on I/U of Device |
| Test Condition: | Only endpoints on gateways with secure mode support may be set to use Security Profiles marked for secure mode. Further, all endpoints on analog gateways must remain consistent in either all operating in secure mode or all in non-secure mode |
|
| Rule (RI-320): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Restriction for SIP Dial Rules |
| Description: | SIP Dial Rules for 7905/7912 may only be associated with 7905 and 7912 model phones. All other phones must use 7940/7960/TMP dial rules. |
| Test Condition: | ON INSERT/UPDATE IN Device IF (DialRules.tkDialPattern = 0 and Device.tkProduct IS NOT IN (7905, 7912) OR DialRules.tkDialPattern == 1 AND Device.tkProduct IS IN (7905, 7912)) THEN throw exception |
| Error Message: | Cannot assign Dial Rules of this type to the specified device (model and rule types are mismatched). |
| Remedy: | Check the dial rule and device type to make sure they are compatible (e.g., 7905 dial rule for a 7905 device). |
|
| Rule (RI-336): |
| Type: | Validation (Delete) |
| Rule Name: | Deletion of In use Device Profile is not allowed |
| Description: | on D of Device Profile |
| Test Condition: | prevent deletion of device profile |
|
| Rule (RI-338): |
| Type: | Validation (Insert) |
| Rule Name: | One default profile per model |
| Description: | Only one EM device default profile allowed per model |
| Test Condition: | SELECT COUNT(*) FROM Device where tkdeviceprofile = 3 AND tkmodel = @tkmodel |
| Error Message: | Only one device default profile is allowed per model |
|
| Rule (RI-339): |
| Type: | Validation (Delete) |
| Rule Name: | Device default profile cannot be deleted |
| Description: | The device default profile cannot be deleted when there is still extension mobility enabled device for that model |
| Test Condition: | IF EXISTS (SELECT name FROM Device where allowhotelingflag = 't' and tkmodel = @tkmodel) |
| Error Message: | There is still some devices have extension mobility enabled for this model, device default profile cannot be deleted |
|
| Rule (RI-343): |
| Type: | Validation (Insert/Update) |
| Rule Name: | EM Logout Profile Model and Protocol Restriction |
| Description: | The model and protocol of a phone and a User Device Profile selected as the logout profile must both match |
| Test Condition: | ON INSERT/UPDATE IN Device IF (Device.tkModel <> Profile.tkModel) OR (Device.tkDeviceProtocol <> Profile.tkDeviceProtocol) THEN throw exception |
| Error Message: | Logout Profile is not the same model and protocol as the device |
| Remedy: | Select a logout profile that is the same model and protocol as the phone and try again |
|
| Rule (RI-359): |
| Type: | Active (Delete) |
| Rule Name: | Remove MGCP Member from MGCP when Device is Deleted |
| Description: | When the endpoint device in an MGCP gateway is deleted, cascade the delete to the MGCPDeviceMember table if that record has not already been removed. MGCPDeviceMember and Device records should always be deleted together. |
| Test Condition: | ON DELETE in Device: DELETE FROM MGCPDeviceMember WHERE fkDevice = @pkid |
|
| Rule (RI-372): |
| Type: | Active (Insert) |
| Rule Name: | Insert Dynamic Records for Device Table |
| Description: | When a device record for a phone is inserted, insert records for DND, Privacy, Mobility and Hunt Group Log (Hlog) as needed based on product feature support. |
| Test Condition: | ON INSERT INTO Device |
|
| Rule (RI-376): |
| Type: | Active (Insert/Update) |
| Rule Name: | Insert Dynamic Records for Extension Mobility |
| Description: | When Extension Mobility (EM) is enabled on a phone, create the corresponding record in the ExtensionMobilityDynamic and EMCCDynamic and EMRemoteDynamic |
| Test Condition: | ON INSERT/UPDATE INTO Device |
|
| Rule (RI-405): |
| Type: | Active (Update) |
| Rule Name: | Setting MTPRequired='F' or fkMRL=NULL sets H323Device.EnableOutboundFaststart='F' |
| Description: | When EnableOutboundFastStart is true for a H.323 device, the MTPRequired field must also be true, and a Media Resource Group List must be selected. If the MTPRequired is subsequently changed to False, or the Media Resource Group List is removed from the device, the EnableOutboundFaststart setting is automatically turned off. |
| Test Condition: | ON UPDATE in Device: If (new_tkDeviceProtocol = 2) AND ( (new_MTPRequired = 'F' AND old_MTPRequired = 'T') OR (old_fkMediaResourceList IS NOT NULL AND new_fkMediaResourceList IS NULL) ) THEN UPDATE H323Device SET EnableOutboundFaststart = 'F' WHERE fkDevice = new_pkid AND EnableOutboundFaststart = 'T'; END IF; |
|
| Rule (RI-411): |
| Type: | Active (Update) |
| Rule Name: | Device.fkEndUser_Mobility change removes RemoteDestinations |
| Description: | When the EndUser associated with a Dual-mode or Remote Destination Profile device is changes, any Remote Destinations associated with that device are removed because the use data is no longer valid. |
| Test Condition: | ON UPDATE IN Device: IF (NVL(old_fkenduser_mobility,'') <> NVL(new_fkenduser_mobility,'')) THEN DELETE FROM remotedestination WHERE (fkdevice_dualmode = old_pkid) OR (fkdevice_remotedestination = old_pkid) END IF; |
|
| Rule (RI-418): |
| Type: | Active (Insert) |
| Rule Name: | DeviceTFTPDynamic rebuildToggle |
| Description: | update entry in DeviceTFTPDynamic |
| Test Condition: | insert into DeviceTFTPDynamic |
|
| Rule (RI-423): |
| Type: | Active (Delete) |
| Rule Name: | Remove Individual phone templates |
| Description: | When a phone with individual Phone Templates is deleted, the individual Phone Templates must be deleted. |
| Test Condition: | ON DELETE in Device: if phonetemplate.name like '%Individual Template' DELETE FROM phonetemplate WHERE PhoneTemplate.pkid = device.fkphoneTemplate |
|
| Rule (RI-440): |
| Type: | Active (Update) |
| Rule Name: | Setting isRpidEnabled='F' sets sipdevice.tkpresentationbit_connectedline=DEFAULT |
| Description: | When IsRpidEnabled is set to FALSE in the Device Table the tkPresentationBit_ConnectedLine will be set to DEFAULT (0x00) in sipdevice table |
| Test Condition: | ON UPDATE in Device: IF IsRpidEnabled='F' THEN UPDATE SIPDEVICE SET tkPresentationBit_ConnectedLine = DEFAULT; END IF; |
| Error Message: | Value of tkpresentationbit_connectedline is not Compatible |
|
| Rule (RI-441): |
| Type: | Active (Update) |
| Rule Name: | Setting IsRpidEnabled='F' sets SIPDevice.tkPresentationBit_ConnectedName=DEFAULT |
| Description: | When IsRpidEnabled is set to FALSE in the Device Table the tkPresentationBit_ConnectedName will be set to DEFAULT (0x00) in SIPDevice table |
| Test Condition: | ON UPDATE in Device: IF IsRPIDEnabled='F' THEN UPDATE SIPDevice SET tkPresentationBit_ConnectedName = DEFAULT; END IF; |
| Error Message: | Value of tkpresentationbit_connectedname is not Compatible |
|
| Rule (RI-468): |
| Type: | Active (Delete) |
| Rule Name: | Remove default intercom device from Numplan when Device is Deleted |
| Description: | When a device is deleted, update all Numplan records where this device is used as fkDevice_IntercomDefault |
| Test Condition: | ON DELETE in Device: UPDATE Numplan set fkDevice_IntercomDefault = NULL WHERE fkDevice_IntercomDefault = @pkid |
|
| Rule (RI-473): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DN restrictions for Protected device (secure tone) |
| Description: | Do not allow a "protected" phone to have a shared line |
| Test Condition: | ON INSERT/UPDATE IN Device, DeviceNumplanMap: |
| Error Message: | Protected device can not support shared line. |
| Remedy: | Protected device does not support shared line. |
|
| Rule (RI-480): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MobileSmartClientProfile restriction |
| Description: | Device.fkMobileSmartClientProfile can only be used when device protocol is MobileSmartClient, or the device is a Dual-Mode phone that supports Smart Client (Dual Mode feature support with Parameter = 1 |
| Test Condition: | ON INSERT/UPDATE IN Remotedestination: IF new_fkMobileSmartClientProfile IS NOT NULL and (new_tkdeviceprotocol != DEVICE_PROTOCOL_MOBILE_SMART_CLIENT) THEN SELECT param INTO supportsSmartClient FROM ProductSupportsFeature WHERE tksupportsfeature = 76 AND tkProduct = new_tkproduct AND tkdeviceprotocol IN (new_tkdeviceprotocol, 99); IF (NOT (supportsSmartClient = '1') THEN throw exception; END IF; END IF; |
| Error Message: | MobileSmartClientProfile Cannot be used for this device |
| Remedy: | Use a different device |
|
| Rule (RI-484): |
| Type: | Active (Update) |
| Rule Name: | Clear RemoteDestination if Smart Client disabled |
| Description: | If a Dual-mode device is configured with Mobile Smart Client enabled and a Remote Destination exists that is using the smart client, the RemoteDestination.fkDevice_MobileSmartClient field must be set to NULL if the Dual Mode is updated to disable the Mobile Smart Client (device.fkMobileSmartClientProfile is set to NULL). |
| Test Condition: | ON UPDATE IN Device: IF (new_IsDualMode = 't') AND (new_fkMobileSmartClientProfile IS NULL) AND (old_fkMobileSmartClientProfile IS NOT NULL) THEN UPDATE RemoteDestination SET fkDevice_MobileSmartClient = NULL WHERE fkDevice_MobileSmartClient = new_pkid END IF; |
|
| Rule (RI-604): |
| Type: | Validation (Update) |
| Rule Name: | SAF Enabled trunk only supports non secure profile |
| Description: | SAF Enabled trunk only supports non secure profile |
| Test Condition: | SAF Enabled trunk only supports non secure profile |
| Error Message: | SAF Enabled trunk only supports non secure profile |
|
| Rule (RI-613): |
| Type: | Validation (Insert/Update) |
| Rule Name: | EMCC SIP Trunk validation |
| Description: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
| Test Condition: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
| Error Message: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
|
| Rule (RI-711): |
| Type: | Active (Update) |
| Rule Name: | Configuration of E1 links that are PRI EURO protocol type for MLPP is allowed. |
| Description: | If device is E1 and MLPP Indication <> 0 Or MLPP Preemption <> 0 Then if PriProtocol <> PRI_EURO then throw exception |
| Test Condition: | On update of Device Table |
|
| Rule (RI-780): |
| Type: | Active (Insert) |
| Rule Name: | Devicerelatedversionstamp Update |
| Description: | When a new Device is added, insert corresponding record in Devicerelatedversionstamp table with generated versionstamp. |
| Test Condition: | ON INSERT IN Device : versionstamp = versionStampGenerator() |
|
| Rule (RI-785): |
| Type: | Active (Insert) |
| Rule Name: | Insert RemoteDestination Records for Device Table |
| Description: | When a device record for a phone is inserted, insert records for RemoteDestination as needed based on product feature support(SUPPORTS_FEATURE_MOBILITY_SIPLINE). |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 109 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
|
| Rule (RI-821): |
| Type: | Active (Update) |
| Rule Name: | when device.tkStatus_DeviceMobilityMode is set to 0 - off, then set the DeviceMobilityDynamic.fkDevicePool_DeviceMobility |
| Description: | Need to add a rule that sets (UPDATE) the fkDevicePool_DeviceMobility to NULL when we disable the devicemobility of the device |
| Test Condition: | ON UPDATE, IF(device.tkStatus_DeviceMobilityMode=0) Then DeviceMobilityDynamic.fkDevicePool_DeviceMobility= NULL; |
|
| Rule (RI-866): |
| Type: | Active (Insert/Update) |
| Rule Name: | Insert/Delete entry into DeviceCERDynamic |
| Description: | When Device.RequireCERLocation is enabled,insert a record into DeviceCERDyanmic |
| Test Condition: | ON UPDATE TO DEVICE.REQUIRECERLOCATION INSERT/DELETE INTO DEVICECERDYNAMIC |
|
| Rule (RI-874): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Mobility Check on EndUser for CTI Remote Device |
| Description: | EndUser associated with CTI Remote Device should be Mobility Enabled. |
| Test Condition: | Check description for complete rule. ON INSERT INTO Device: SELECT fkenduser_mobility INTO theEndUser FROM device WHERE pkid = device.pkid; SELECT EnableMobility INTO mobility FROM enduser WHERE pkid = theEndUser; IF (mobility = 'F') THEN throw exception END IF; |
| Error Message: | Cannot add the device for EndUser that does not have Mobility enabled. |
| Remedy: | Enable Mobility on the EndUser associated with CTI Remote Device and try again. |
|
| Rule (RI-888): |
| Type: | Active (Insert) |
| Rule Name: | Insert Dynamic Records for Registration of Phones |
| Description: | When a device record gets inserted where tkclass=1 (phone), create the corresponding record in the RegistrationDynamic table. |
| Test Condition: | ON INSERT INTO Device: IF (tkClass = 1) THEN INSERT INTO RegistrationDynamic (pkid, fkDevice) values (newid(), new_pkid) |
|
| Rule (RI-936): |
| Type: | Active (Insert/Update) |
| Rule Name: | On Insert/Update of Device set SIPProfile to NULL for non SIP device |
| Description: | On Insert/Update of Device, SET SIPProfile to NULL for non SIP device. |
| Test Condition: | For INSERT/UPDATE of Device, IF tkdeviceprotocol <> 11,UPDATE Device SET fkSIPProfile = NULL |
|
| Rule (RI-941): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Token User can own only CDT device |
| Description: | Token User can own only CDT device or be used for mobility only for CDT |
| Test Condition: | On I/U of Device: FOR fkEndUser or fkEndUser_Mobility ,If tkUserProfile=3 AND (tkModel<>645 AND tkProduct<>530) THEN THROW EXCEPTION |
| Error Message: | Token EndUser can be associated with CDT only or used for mobility |
|
| 2.3.77.83 pstnaccess (FI-5271) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.77.84 publickey (FI-2464) |
| Type: | string [2048] (Null OK) |
| Default Value: | NULL |
| 2.3.77.85 remotedevice (FI-3168) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.77.86 requirecerlocation (FI-10043) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Enables CER tracking of the device |
| Rule (RI-866): |
| Type: | Active (Insert/Update) |
| Rule Name: | Insert/Delete entry into DeviceCERDynamic |
| Description: | When Device.RequireCERLocation is enabled,insert a record into DeviceCERDyanmic |
| Test Condition: | ON UPDATE TO DEVICE.REQUIRECERLOCATION INSERT/DELETE INTO DEVICECERDYNAMIC |
|
| Rule (RI-866): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Insert/Delete entry into DeviceCERDynamic |
| Description: | When Device.RequireCERLocation is enabled,insert a record into DeviceCERDyanmic |
| Test Condition: | ON UPDATE TO DEVICE.REQUIRECERLOCATION INSERT/DELETE INTO DEVICECERDYNAMIC |
|
| 2.3.77.87 requiredtmfreception (FI-2462) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.77.88 resettoggle (FI-3110) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device or group be reset |
| Rule (RI-216): |
| Type: | Active (Insert/Update) |
| Rule Name: | device versionstamp |
| Description: | on change to anything in device xml file, update versionstamp |
| Test Condition: | update device |
|
| Rule (RI-305): |
| Type: | Active (Insert) |
| Rule Name: | device insert versionstamp |
| Description: | on insert of a device, generate a deviceversionstamp record |
| Test Condition: | insert device |
|
| 2.3.77.89 retryvideocallasaudio (FI-1230) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.77.90 rfc2833disabled (FI-2490) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.77.91 routelistenabled (FI-1300) |
| Type: | bool |
| Default Value: | FALSE |
| Rule (RI-64): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Route List Enabled Restriction |
| Description: | Only Route List device may set the RouteListEnabled setting to true. |
| Test Condition: | IF (@Device.RouteListEnabled = TRUE) AND (@Device.tkModel != 90) THEN throw exception |
| Error Message: | Route List Enabled can be true only for Route List devices. |
| Remedy: | Check device type and try again. |
|
| 2.3.77.92 runonallnodes (FI-5853) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | The Run On All Nodes flag allows logical device definitions, (such as a SIP Trunk Handler Process), to be defined once and then marked to execute on each node. This reduces admin effort and inter-node handoff processing |
| Rule (RFI-284): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkProduct NOT IN (37,77,95) |
| Constraint: | RunOnAllNodes = 'f' |
| Remarks: | Run On All Nodes can be enabled only for RouteList, Non-Gatekeeper Controlled Intercluster Trunk and SIP Trunk. |
|
| 2.3.77.93 sendgeolocation (FI-5003) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | If true the GeoLocation is sent for the device else not |
| Rule (RI-613): |
| Type: | Validation (Insert/Update) |
| Rule Name: | EMCC SIP Trunk validation |
| Description: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
| Test Condition: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
| Error Message: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
|
| 2.3.77.94 specialloadinformation (FI-7) |
| Type: | string [32] (Null OK) |
| Default Value: | NULL |
| Migration Source: | Set to NULL |
| Remarks: | Used only by devices with firmware loads |
| Rule (RI-65): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Special Load Information Restriction |
| Description: | Special Load Information can only specified on a device that has a Firmware Load. |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 12 AND tkModel = @Device.tkModel |
| Error Message: | Special Load Information can only specified on a device that has a Firmware Load. |
| Remedy: | Check device type or remove Special Firmware Load information and try again. |
|
| 2.3.77.95 srtpallowed (FI-3033) |
| Type: | bool (Indexed) |
| Default Value: | FALSE |
| Rule (RI-297): |
| Type: | Validation (Insert/Update) |
| Rule Name: | SRTP and Outbound Faststart Conflict |
| Description: | The SRTPAllowed and EnableOutboundFastStart settings (for H.323 devices) are mutually exclusive - only one may be true at any given time. |
| Test Condition: | IF (Device.SRTPAllowed = 't') AND (H323Device.EnableOutboundFastStart = 't') THEN throw exception |
| Error Message: | SRTP and Outbound FastStart cannot be enabled at the same time. |
| Remedy: | Disable either SRTP or Outbound FastStart and try again. |
|
| Rule (RI-297): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | SRTP and Outbound Faststart Conflict |
| Description: | The SRTPAllowed and EnableOutboundFastStart settings (for H.323 devices) are mutually exclusive - only one may be true at any given time. |
| Test Condition: | IF (Device.SRTPAllowed = 't') AND (H323Device.EnableOutboundFastStart = 't') THEN throw exception |
| Error Message: | SRTP and Outbound FastStart cannot be enabled at the same time. |
| Remedy: | Disable either SRTP or Outbound FastStart and try again. |
|
| 2.3.77.96 srtpfallbackallowed (FI-3481) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Allow fallback to Local SRTP |
| 2.3.77.97 sshpassword (FI-2711) |
| Type: | string [200] |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9 !#$'()*+,./:;=?@[^_`{|}~-]{0,200}$ |
| Remarks: | SSH password for phone |
| 2.3.77.98 sshuserid (FI-2712) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9 !#$'()*+,./:;=?@[^_`{|}~-]{0,50}$ |
| Remarks: | SSH userid for phone |
| 2.3.77.99 subscriberprefix (FI-3515) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Subscriber Prefix |
| Rule (RFI-185): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkProduct NOT IN (2,1,90,55,52,10001,17,75,76,77) |
| Constraint: | (SubscriberPrefix = '') OR (SubscriberPrefix = 'Default') OR (SubscriberPrefix = 'default') |
| Null Allowed: | null |
| Remarks: | Subscriber Prefix should be empty for devices other than H323 gateways and trunks and MGCP T1/E1 PRI and BRI gateways |
|
| Rule (RFI-257): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkProduct NOT IN (2,1,90,55,52,10001,17,75,76,77) |
| Constraint: | (SubscriberStripDigits = '') OR (SubscriberStripDigits IS NULL) |
| Null Allowed: | null |
| Remarks: | Subscriber Strip Digits should be empty for devices other than H323 gateways and trunks and MGCP T1/E1 PRI and BRI gateways |
|
| 2.3.77.100 subscriberstripdigits (FI-5114) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (SubscriberStripDigits >= 0) AND (SubscriberStripDigits <= 24) |
| Remarks: | Subscriber Strip Digits |
| Rule (RFI-230): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | (SubscriberPrefix= 'Default') OR (SubscriberPrefix= 'default') |
| Constraint: | SubscriberStripDigits IS NULL |
| Remarks: | Cannot use SubscriberStripDigits when the Default prefix is used. |
|
| 2.3.77.101 subunit (FI-926) |
| Type: | long (Not Modifiable) |
| Default Value: | 0 |
| 2.3.77.102 tkbarge (FI-3466) |
| Type: | enum |
| Default Value: | 3 |
| Rule (RI-416): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Single Button Barge Restriction |
| Description: | Only devices that support Join Across lines can have a value other than zero for tkBarge |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 78 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Single Button Barge can only be set for devices that have the Single Button Barge Feature |
| Remedy: | Check the Single Button Barge feature support and device type before specifying a Single Button Barge value. |
|
| Rule (RI-416): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Single Button Barge Restriction |
| Description: | Only devices that support Join Across lines can have a value other than zero for tkBarge |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 78 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Single Button Barge can only be set for devices that have the Single Button Barge Feature |
| Remedy: | Check the Single Button Barge feature support and device type before specifying a Single Button Barge value. |
|
| 2.3.77.103 tkcertificateoperation (FI-2347) |
| Type: | enum |
| Default Value: | 1 |
| Remarks: | Certificate Operation |
| 2.3.77.104 tkcertificatestatus (FI-1914) |
| Type: | enum |
| Default Value: | 1 |
| 2.3.77.105 tkclass (FI-146) |
| Type: | enum |
| Migration Source: | DeviceList.Type |
| Remarks: | Redundant. Use tkModel to look up Class in TypeModel table. |
| Rule (RFI-14): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | RouteListEnabled = 't' |
| Constraint: | tkClass = 7 |
| Remarks: | Make sure RouteListEnabled is enabled for RouteLists only |
|
| Rule (RI-25): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Set Device Profile and Class |
| Description: | When a device is inserted as a Device Profile, the class of the device is changed to CLASS_DEVICE_PROFILE indicate it is a profile rather than a real device. |
| Test Condition: | If (Device.tkDeviceProfile != 0) Then Set Device.tkClass = 254 |
|
| Rule (RI-25): |
| Type: | Active (Insert/Update) |
| Rule Name: | Set Device Profile and Class |
| Description: | When a device is inserted as a Device Profile, the class of the device is changed to CLASS_DEVICE_PROFILE indicate it is a profile rather than a real device. |
| Test Condition: | If (Device.tkDeviceProfile != 0) Then Set Device.tkClass = 254 |
|
| Rule (RI-66): |
| Type: | Active (Insert) This field is modified by this rule. |
| Rule Name: | Set tkClass on Insert |
| Description: | The class of a device is determined by the settings in the TypeModel table in the database. A device's class is set at insert and cannot be modified. Class is determined by Model, and Model is determined by Product. |
| Test Condition: | SET Device.tkClass = (SELECT tkClass FROM TypeModel WHERE Enum = (SELECT tkModel FROM TypeProduct WHERE Enum = @Device.tkProduct)) |
|
| Rule (RI-66): |
| Type: | Active (Insert) |
| Rule Name: | Set tkClass on Insert |
| Description: | The class of a device is determined by the settings in the TypeModel table in the database. A device's class is set at insert and cannot be modified. Class is determined by Model, and Model is determined by Product. |
| Test Condition: | SET Device.tkClass = (SELECT tkClass FROM TypeModel WHERE Enum = (SELECT tkModel FROM TypeProduct WHERE Enum = @Device.tkProduct)) |
|
| Rule (RI-223): |
| Type: | Active (Insert) |
| Rule Name: | Add a VGC Gateway to MGCP on Device update |
| Description: | On Insert only |
| Test Condition: | ? |
|
| Rule (RI-263): |
| Type: | Active (Insert) |
| Rule Name: | Set QSIG on Device |
| Description: | When a device is inserted, the QSIG setting for the device is determined automatically as follows: For trunks other than Inter-cluster trunk, the device is treated as H.323; inter-cluster trunk is treated as Mixed-Non-QSIG. Digital Access PRI gateways using QSIG protocol are considered QSIG, H.323 Gateways are considered H.323, and all other gateways (including Digital Access PRI with a non-QSIG protocol) are Mixed-Non-QSIG. All other devices except Route Lists are considered Mixed-Non-QSIG. For Route Lists, see rule "Set QSIG on Route List" |
| Test Condition: | On Insert into Device |
|
| Rule (RI-316): |
| Type: | Active (Insert/Update) |
| Rule Name: | Prevent applying secure profile where not supported. |
| Description: | on I/U of Device |
| Test Condition: | Only endpoints on gateways with secure mode support may be set to use Security Profiles marked for secure mode. Further, all endpoints on analog gateways must remain consistent in either all operating in secure mode or all in non-secure mode |
|
| Rule (RI-343): |
| Type: | Validation (Insert/Update) |
| Rule Name: | EM Logout Profile Model and Protocol Restriction |
| Description: | The model and protocol of a phone and a User Device Profile selected as the logout profile must both match |
| Test Condition: | ON INSERT/UPDATE IN Device IF (Device.tkModel <> Profile.tkModel) OR (Device.tkDeviceProtocol <> Profile.tkDeviceProtocol) THEN throw exception |
| Error Message: | Logout Profile is not the same model and protocol as the device |
| Remedy: | Select a logout profile that is the same model and protocol as the phone and try again |
|
| Rule (RI-372): |
| Type: | Active (Insert) |
| Rule Name: | Insert Dynamic Records for Device Table |
| Description: | When a device record for a phone is inserted, insert records for DND, Privacy, Mobility and Hunt Group Log (Hlog) as needed based on product feature support. |
| Test Condition: | ON INSERT INTO Device |
|
| Rule (RI-376): |
| Type: | Active (Insert/Update) |
| Rule Name: | Insert Dynamic Records for Extension Mobility |
| Description: | When Extension Mobility (EM) is enabled on a phone, create the corresponding record in the ExtensionMobilityDynamic and EMCCDynamic and EMRemoteDynamic |
| Test Condition: | ON INSERT/UPDATE INTO Device |
|
| Rule (RI-378): |
| Type: | Validation (Insert) |
| Rule Name: | Prevent too many phones in database. |
| Description: | The number of allowed phones in the cluster has been exceeded. Total number of allowed phones = phones + 2 * EMCC phones and should be less than or equal to 700 phones for Cisco Unified Communications Manager Business Edition and 60000 phones for Cisco Unified Communications Manager. |
| Test Condition: | ON INSERT INTO Device: Phones + (2 * EMCC phones) <= Max_Phones |
| Error Message: | Total number of allowed phones should be less than or equal to 700 phones for Cisco Unified Communications Manager Business Edition and 60000 phones for Cisco Unified Communications Manager. |
| Remedy: | Please reduce the number of phones or EMCC phones and try again. |
|
| Rule (RI-402): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Security Profile required if Standard Security Profile exists for device type |
| Description: | If a Standard Security Profile exist for a given device type or class, then devices of that type or class must use a Security Profile. |
| Test Condition: | ON INSERT/UPDATE INTO Device: IF (new_fkSecurityProfile IS NULL) THEN SELECT COUNT(*) INTO nRows FROM SecurityProfile where IsStandard = 't' AND tkModel = new_tkModel and tkDeviceProtocol = new_tkDeviceProtocol); IF nRows > 0 THEN throw exception; |
| Error Message: | A security profile is required for this model and protocol. |
| Remedy: | Specify a Security Profile that matches the device type. |
|
| Rule (RI-418): |
| Type: | Active (Insert) |
| Rule Name: | DeviceTFTPDynamic rebuildToggle |
| Description: | update entry in DeviceTFTPDynamic |
| Test Condition: | insert into DeviceTFTPDynamic |
|
| Rule (RI-423): |
| Type: | Active (Delete) |
| Rule Name: | Remove Individual phone templates |
| Description: | When a phone with individual Phone Templates is deleted, the individual Phone Templates must be deleted. |
| Test Condition: | ON DELETE in Device: if phonetemplate.name like '%Individual Template' DELETE FROM phonetemplate WHERE PhoneTemplate.pkid = device.fkphoneTemplate |
|
| Rule (RI-888): |
| Type: | Active (Insert) |
| Rule Name: | Insert Dynamic Records for Registration of Phones |
| Description: | When a device record gets inserted where tkclass=1 (phone), create the corresponding record in the RegistrationDynamic table. |
| Test Condition: | ON INSERT INTO Device: IF (tkClass = 1) THEN INSERT INTO RegistrationDynamic (pkid, fkDevice) values (newid(), new_pkid) |
|
| 2.3.77.106 tkcountry (FI-996) |
| Type: | enum (Null OK) |
| Default Value: | NULL |
| Rule (RI-68): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Country (Network Locale) Setting |
| Description: | The valid Country (also called Network Locale) settings for a device are determined by the content of the ProductCapabilities table for that device type and feature. A locale must be installed or internally supported by the device to be valid. The ProductCapabilities table lists valid Countries for each device type. |
| Test Condition: | @Device.tkCountry IN (SELECT EnumValue FROM ProductCapabilities WHERE (tkProductConfig = 32) AND (tkProduct = @Device.tkProduct)) |
| Error Message: | The specified Network Locale is not valid for this device. |
| Remedy: | Check the locale support and device type and try again. It may be necessary to install the specified locale for this device. |
|
| 2.3.77.107 tkdeviceprofile (FI-832) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | Is this record a profile or real device |
| Rule (RI-24): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Invalid Device Profile setting |
| Description: | Only a phone that supports extension mobility can be configured as a device profile |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 9 AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) AND tkDeviceProfile != 0 |
| Error Message: | Device Profile can only be created for devices that support Extension Mobility feature. |
| Remedy: | Check the device type and feature support and try again. |
|
| Rule (RI-25): |
| Type: | Active (Insert/Update) |
| Rule Name: | Set Device Profile and Class |
| Description: | When a device is inserted as a Device Profile, the class of the device is changed to CLASS_DEVICE_PROFILE indicate it is a profile rather than a real device. |
| Test Condition: | If (Device.tkDeviceProfile != 0) Then Set Device.tkClass = 254 |
|
| Rule (RI-26): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Name Validation |
| Description: | For products that are configured as devices, name validation is based on the content of devicenameformat in specified for the product (TypeProduct). The exceptions are gateways for which the names are generated based on unit/subunit/slot position, and virtual devices used for extension mobility and configuration only (User Device Profiles, Autogenerated Profiles, Templates). Virtual devices allow ASCII names up to 50 characters including most punctuation. |
| Test Condition: | ON INSERT/UPDATE IN Device |
| Error Message: | The device name format is not valid or contains invalid characters. |
| Remedy: | Check the name to make sure it is valid for specified product and try again. |
|
| Rule (RI-66): |
| Type: | Active (Insert) |
| Rule Name: | Set tkClass on Insert |
| Description: | The class of a device is determined by the settings in the TypeModel table in the database. A device's class is set at insert and cannot be modified. Class is determined by Model, and Model is determined by Product. |
| Test Condition: | SET Device.tkClass = (SELECT tkClass FROM TypeModel WHERE Enum = (SELECT tkModel FROM TypeProduct WHERE Enum = @Device.tkProduct)) |
|
| Rule (RI-336): |
| Type: | Validation (Delete) |
| Rule Name: | Deletion of In use Device Profile is not allowed |
| Description: | on D of Device Profile |
| Test Condition: | prevent deletion of device profile |
|
| Rule (RI-338): |
| Type: | Validation (Insert) |
| Rule Name: | One default profile per model |
| Description: | Only one EM device default profile allowed per model |
| Test Condition: | SELECT COUNT(*) FROM Device where tkdeviceprofile = 3 AND tkmodel = @tkmodel |
| Error Message: | Only one device default profile is allowed per model |
|
| Rule (RI-339): |
| Type: | Validation (Delete) |
| Rule Name: | Device default profile cannot be deleted |
| Description: | The device default profile cannot be deleted when there is still extension mobility enabled device for that model |
| Test Condition: | IF EXISTS (SELECT name FROM Device where allowhotelingflag = 't' and tkmodel = @tkmodel) |
| Error Message: | There is still some devices have extension mobility enabled for this model, device default profile cannot be deleted |
|
| Rule (RI-376): |
| Type: | Active (Insert/Update) |
| Rule Name: | Insert Dynamic Records for Extension Mobility |
| Description: | When Extension Mobility (EM) is enabled on a phone, create the corresponding record in the ExtensionMobilityDynamic and EMCCDynamic and EMRemoteDynamic |
| Test Condition: | ON INSERT/UPDATE INTO Device |
|
| Rule (RI-418): |
| Type: | Active (Insert) |
| Rule Name: | DeviceTFTPDynamic rebuildToggle |
| Description: | update entry in DeviceTFTPDynamic |
| Test Condition: | insert into DeviceTFTPDynamic |
|
| 2.3.77.108 tkdeviceprotocol (FI-5) |
| Type: | enum |
| Migration Source: | DeviceList.Protocol |
| Rule (RI-16): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template required |
| Description: | Devices that use a phone button template must have a template specified |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 13 AND tkModel = @Defaults.tkModel AND tkDeviceProtocol IN (@Defaults.tkDeviceProtocol,99) |
| Error Message: | A device that uses Phone Templates have a specific Phone Template assigned. |
| Remedy: | Specify a Phone Template. |
|
| Rule (RI-17): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template Model |
| Description: | The model must match for a device default and the specified phone template for that device type. |
| Test Condition: | @Defaults.tkModel = (SELECT PhoneTemplate.tkModel FROM PhoneTemplate WHERE PhoneTemplate.pkid = @Defaults.tkPhoneTemplate) |
| Error Message: | The Phone Template model does not match the device model. |
| Remedy: | Specifiy a Phone Template for the correct model. |
|
| Rule (RI-19): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AllowHotelingFlag - EM feature support required |
| Description: | Device.AllowHotelingFlag can only be true for devices that support Extension Mobility. |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 9 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Extension Mobility can only turned on for devices that support Extension Mobility feature. |
| Remedy: | Check device type and Extension Mobility feature support before enabling Extension Mobility. |
|
| Rule (RI-22): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AAR feature support required |
| Description: | Device.fkAARNeighorhood and Device.fkCallingSearchSpace_AAR can only be specified for devices that support the AAR feature |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 21 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | AAR Group and Calling Search Space can only be used for devices that support the AAR feature. |
| Remedy: | Check device type and AAR feature support before specifying an AAR Group or AAR Calling Search Space. |
|
| Rule (RI-24): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Invalid Device Profile setting |
| Description: | Only a phone that supports extension mobility can be configured as a device profile |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 9 AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) AND tkDeviceProfile != 0 |
| Error Message: | Device Profile can only be created for devices that support Extension Mobility feature. |
| Remedy: | Check the device type and feature support and try again. |
|
| Rule (RI-37): |
| Type: | Validation (Insert/Update) |
| Rule Name: | SoftkeyTemplate Restriction |
| Description: | Softkey Templates can be assigned only to devices that support Softkeys |
| Test Condition: | IF (@Device.fkSoftkeyTemplate IS NOT NULL) AND ((SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 18 AND tkProduct = @Device.tkProduct AND tkDeviceprotocol IN (@Device.tkDeviceProtocol,99)) = 0) THEN Throw Exception |
| Error Message: | Softkey Template is not valid for this type of device. |
| Remedy: | Remove the Softkey Template setting and try again. |
|
| Rule (RI-41): |
| Type: | Validation (Insert/Update) |
| Rule Name: | (obsolete) Device Login Duration Restriction |
| Description: | Login Duration is only valid on devices supporting Extension Mobility |
| Test Condition: | IF (@Device.LoginDuration IS NOT NULL) AND ((SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 9 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) THEN Throw Exception |
| Error Message: | Login Duration is valid only for devices that support Extension Mobility feature. |
| Remedy: | Remove the Login Duration setting from the device and try again. |
|
| Rule (RI-42): |
| Type: | Validation (Insert/Update) |
| Rule Name: | (obsolete) Device Login Time Restriction |
| Description: | Login Time is only valid on devices supporting Extension Mobility |
| Test Condition: | IF (@Device.LoginTime IS NOT NULL) AND ((SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 9 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) THEN Throw Exception |
| Error Message: | Login Time is valid only for devices that support Extension Mobility feature. |
| Remedy: | Remove the Login Time setting from the device and try again. |
|
| Rule (RI-60): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Network Hold Audio Source Restriction |
| Description: | Only devices that support Music On Hold feature use the Network Hold Audio Source setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 4 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Network Hold Audio Source can only be used for devices that support the Music On Hold feature. |
| Remedy: | Check device type and Music On Hold feature support before specifying a Network Hold Audio Source. |
|
| Rule (RI-61): |
| Type: | Validation (Insert/Update) |
| Rule Name: | User Hold Audio Source Restriction |
| Description: | Only devices that support Music On Hold feature use the User Hold Audio Source setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 4 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | User Hold Audio Source can only be used for devices that support the Music On Hold feature. |
| Remedy: | Check device type and Music On Hold feature support before specifying a User Hold Audio Source. |
|
| Rule (RI-69): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Protocol Setting |
| Description: | The valid Device Protocol settings for a device are determined by the content of the ProductCapabilities table for that device type and feature. |
| Test Condition: | @Device.tkDeviceProtocol IN (SELECT EnumValue FROM ProductCapabilities WHERE (tkProductConfig = 7) AND (tkProduct = @Device.tkProduct)) |
| Error Message: | The specified Device Protocol is not valid for this device. |
| Remedy: | Check the Device Protocol support and device type and try again.. |
|
| Rule (RI-71): |
| Type: | Active (Insert) |
| Rule Name: | MLPP Preemption Default Setting |
| Description: | If a product supports MLPP Preemption (SUPPORTS_FEATURE_PREEMPTION), then the Default value is PREEMPTION_DEFAULT; otherwise the default value is PREEMPTION_DISABLED |
| Test Condition: | IF (SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 35 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0 THEN SET Device.tkPreemption = 0 ELSE SET Device.tkPreemption = 2 |
|
| Rule (RI-72): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MLPP Preemption Restriction |
| Description: | Only devices that support MLPP Preemption feature may set the Preemption setting to a value other than DISABLED (0). |
| Test Condition: | IF ((SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 35 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) AND (Device.tkPreemption != 0) THEN throw exception |
| Error Message: | MLPP Preemption must be disabled on devices that do not support the MLPP Preemption feature. |
| Remedy: | Check the MLPP Preemption feature support and device type and try again. |
|
| Rule (RI-74): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MLPP Indication Restriction |
| Description: | Only devices that support MLPP Indication feature may set the Indication setting to a value other than OFF (0). |
| Test Condition: | IF ((SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 34 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) AND (Device.tkStatus_MLPPIndicationStatus != 0) THEN throw exception |
| Error Message: | MLPP Indication must be off on devices that do not support the MLPP Indication feature. |
| Remedy: | Check the MLPP Indication feature support and device type and try again. |
|
| Rule (RI-75): |
| Type: | Validation (Insert/Update) |
| Rule Name: | User Locale Restriction |
| Description: | Only devices that support Localization feature use the User Locale setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 17 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | User Locale can only be set for devices that support the Localization feature. |
| Remedy: | Check the Localization feature support and device type before specifying a User Locale. |
|
| Rule (RI-106): |
| Type: | Documentation (Developer notes only) |
| Rule Name: | DigitalAccessBri record required |
| Description: | Devices with the Digital Access BRI Device Protocol should always have a corresponding record in the DigitalAccessBri table. |
| Test Condition: | Device.tkDeviceProtocol = 10 |
|
| Rule (RI-107): |
| Type: | Documentation (Developer notes only) |
| Rule Name: | DigitalAccessPri record required |
| Description: | Devices with the Digital Access PRI Device Protocol should always have a corresponding record in the DigitalAccessPri table. |
| Test Condition: | Device.tkDeviceProtocol = 1 |
|
| Rule (RI-110): |
| Type: | Documentation (Developer notes only) |
| Rule Name: | DigitalAccessT1 record required |
| Description: | Devices with the Digital Access T1 Device Protocol should always have a corresponding record in the DigitalAccessT1 table, and port information in the DigitalAccessT1Port table. |
| Test Condition: | Device.tkDeviceProtocol = 4 |
|
| Rule (RI-263): |
| Type: | Active (Insert) |
| Rule Name: | Set QSIG on Device |
| Description: | When a device is inserted, the QSIG setting for the device is determined automatically as follows: For trunks other than Inter-cluster trunk, the device is treated as H.323; inter-cluster trunk is treated as Mixed-Non-QSIG. Digital Access PRI gateways using QSIG protocol are considered QSIG, H.323 Gateways are considered H.323, and all other gateways (including Digital Access PRI with a non-QSIG protocol) are Mixed-Non-QSIG. All other devices except Route Lists are considered Mixed-Non-QSIG. For Route Lists, see rule "Set QSIG on Route List" |
| Test Condition: | On Insert into Device |
|
| Rule (RI-297): |
| Type: | Validation (Insert/Update) |
| Rule Name: | SRTP and Outbound Faststart Conflict |
| Description: | The SRTPAllowed and EnableOutboundFastStart settings (for H.323 devices) are mutually exclusive - only one may be true at any given time. |
| Test Condition: | IF (Device.SRTPAllowed = 't') AND (H323Device.EnableOutboundFastStart = 't') THEN throw exception |
| Error Message: | SRTP and Outbound FastStart cannot be enabled at the same time. |
| Remedy: | Disable either SRTP or Outbound FastStart and try again. |
|
| Rule (RI-316): |
| Type: | Active (Insert/Update) |
| Rule Name: | Prevent applying secure profile where not supported. |
| Description: | on I/U of Device |
| Test Condition: | Only endpoints on gateways with secure mode support may be set to use Security Profiles marked for secure mode. Further, all endpoints on analog gateways must remain consistent in either all operating in secure mode or all in non-secure mode |
|
| Rule (RI-320): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Restriction for SIP Dial Rules |
| Description: | SIP Dial Rules for 7905/7912 may only be associated with 7905 and 7912 model phones. All other phones must use 7940/7960/TMP dial rules. |
| Test Condition: | ON INSERT/UPDATE IN Device IF (DialRules.tkDialPattern = 0 and Device.tkProduct IS NOT IN (7905, 7912) OR DialRules.tkDialPattern == 1 AND Device.tkProduct IS IN (7905, 7912)) THEN throw exception |
| Error Message: | Cannot assign Dial Rules of this type to the specified device (model and rule types are mismatched). |
| Remedy: | Check the dial rule and device type to make sure they are compatible (e.g., 7905 dial rule for a 7905 device). |
|
| Rule (RI-338): |
| Type: | Validation (Insert) |
| Rule Name: | One default profile per model |
| Description: | Only one EM device default profile allowed per model |
| Test Condition: | SELECT COUNT(*) FROM Device where tkdeviceprofile = 3 AND tkmodel = @tkmodel |
| Error Message: | Only one device default profile is allowed per model |
|
| Rule (RI-339): |
| Type: | Validation (Delete) |
| Rule Name: | Device default profile cannot be deleted |
| Description: | The device default profile cannot be deleted when there is still extension mobility enabled device for that model |
| Test Condition: | IF EXISTS (SELECT name FROM Device where allowhotelingflag = 't' and tkmodel = @tkmodel) |
| Error Message: | There is still some devices have extension mobility enabled for this model, device default profile cannot be deleted |
|
| Rule (RI-340): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Correct security profile for device |
| Description: | on I/U of device |
| Test Condition: | prevent bad value combinations |
|
| Rule (RI-343): |
| Type: | Validation (Insert/Update) |
| Rule Name: | EM Logout Profile Model and Protocol Restriction |
| Description: | The model and protocol of a phone and a User Device Profile selected as the logout profile must both match |
| Test Condition: | ON INSERT/UPDATE IN Device IF (Device.tkModel <> Profile.tkModel) OR (Device.tkDeviceProtocol <> Profile.tkDeviceProtocol) THEN throw exception |
| Error Message: | Logout Profile is not the same model and protocol as the device |
| Remedy: | Select a logout profile that is the same model and protocol as the phone and try again |
|
| Rule (RI-379): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device DND Option feature restriction |
| Description: | DND Option can only be set to non-Zero on devices that support the DND feature (in ProductSupportsFeature table). For those devices that support the feature, only the Ringer Off (0) is valid, unless a parameter is present in the PSF record. If a parameter value of 1 exists in PSF table, only Call Reject is valid. If the param value is (2), all options including Use Common Profile (2) are valid. Dual mode and remote destination profile only support the Call Reject option. |
| Test Condition: | ON INSERT INTO Device: IF((tkproduct=112 or isdualmode = 't') and (tkDNDOption <>1)) throw exception; ELSE IF (new_tkDNDOption <> 0) THEN SELECT parameter INTO restriction FROM ProductSupportsFeature WHERE (tkSupportsFeature = SUPPORTS_FEATURE_DND) AND (tkProduct = new_tkProduct) AND (tkDeviceProtocol IN (new_tkDeviceProtocol,99); IF (rows returned = 0) THEN throw exception ELSE IF (NVL(restriction, '') <> '') THEN IF (new_tkDNDOption <> restriction) THEN throw exception END IF; END IF; END IF; END IF |
| Error Message: | This device does not support the selected DND Option |
| Remedy: | Do not set a DND Option, or check for restrictions on which options are valid for this device. |
|
| Rule (RI-381): |
| Type: | Active (Insert) |
| Rule Name: | DualMode device type (in PSF) is marked isDualMode = True |
| Description: | If a device type is marked as Dual Mode in the ProductSupportsFeature table, then the Device and RemoteDestination records for the device are automatically updated to set IsDualMode field to true. |
| Test Condition: | ON INSERT INTO Device |
|
| Rule (RI-395): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Outbound Call Rollover Feature Restriction |
| Description: | The Device.tkOutboundCallRollover setting can only be non-default (other than None) for devices that support the Automatic Outbound Call Rollover feature. |
| Test Condition: | ON INSERT/UPDATE IN Device: IF (new_tkOutboundCallRollover <> 0) THEN IF (SELECT COUNT(*) FROM ProductSupportsFeature WHERE (tkSupportsFeature = SUPPORTS_FEATURE_AUTOMATIC_OUTBOUND_CALL_ROLLOVER) AND (tkProduct = new_tkProduct) AND (tkDeviceProtocol IN (new_tkDeviceProtocol,99) = 0 THEN throw exception; END IF; END IF; |
| Error Message: | This device does not supports Automatic Outbound Call Rollover. |
| Remedy: | Set the OutboundCallRollover option to No Rollover for this device. |
|
| Rule (RI-402): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Security Profile required if Standard Security Profile exists for device type |
| Description: | If a Standard Security Profile exist for a given device type or class, then devices of that type or class must use a Security Profile. |
| Test Condition: | ON INSERT/UPDATE INTO Device: IF (new_fkSecurityProfile IS NULL) THEN SELECT COUNT(*) INTO nRows FROM SecurityProfile where IsStandard = 't' AND tkModel = new_tkModel and tkDeviceProtocol = new_tkDeviceProtocol); IF nRows > 0 THEN throw exception; |
| Error Message: | A security profile is required for this model and protocol. |
| Remedy: | Specify a Security Profile that matches the device type. |
|
| Rule (RI-405): |
| Type: | Active (Update) |
| Rule Name: | Setting MTPRequired='F' or fkMRL=NULL sets H323Device.EnableOutboundFaststart='F' |
| Description: | When EnableOutboundFastStart is true for a H.323 device, the MTPRequired field must also be true, and a Media Resource Group List must be selected. If the MTPRequired is subsequently changed to False, or the Media Resource Group List is removed from the device, the EnableOutboundFaststart setting is automatically turned off. |
| Test Condition: | ON UPDATE in Device: If (new_tkDeviceProtocol = 2) AND ( (new_MTPRequired = 'F' AND old_MTPRequired = 'T') OR (old_fkMediaResourceList IS NOT NULL AND new_fkMediaResourceList IS NULL) ) THEN UPDATE H323Device SET EnableOutboundFaststart = 'F' WHERE fkDevice = new_pkid AND EnableOutboundFaststart = 'T'; END IF; |
|
| Rule (RI-415): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Join Across Lines Restriction |
| Description: | Only devices that support Join Across lines can have a value other than zero for tkStatus_joinacrosslines |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 78 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Join Across Lines can only be set for devices that have the Join Across Lines Feature |
| Remedy: | Check the Join Across Lines feature support and device type before specifying a Join Across Lines value. |
|
| Rule (RI-416): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Single Button Barge Restriction |
| Description: | Only devices that support Join Across lines can have a value other than zero for tkBarge |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 78 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Single Button Barge can only be set for devices that have the Single Button Barge Feature |
| Remedy: | Check the Single Button Barge feature support and device type before specifying a Single Button Barge value. |
|
| Rule (RI-431): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Personalization Feature Support restriction |
| Description: | Only devices that support the Phone Personalization can have a non-default value for Device.tkPhonePersonalization. |
| Test Condition: | ON INSERT/UPDATE IN Device: IF (new_tkPhonePersonalization <> 3) AND (SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 80 AND tkProduct = new_tkProduct AND tkDeviceProtocol IN (99, new_tkDeviceProtocol) = 0 THEN throw exception; END IF |
| Error Message: | Phone Personalization feature is not supported on the specified device type. |
| Remedy: | Do not change the setting (tkPhonePersonalization) from Default (value = 3) |
|
| Rule (RI-471): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Secure Tone support required for Protected device |
| Description: | IsProtected setting can only be true for devices supporting secure tone feature (tkSupportsFeature = 81) |
| Test Condition: | ON INSERT/UPDATE IN Device: |
| Error Message: | This Device Model does not support secure tone (isprotected setting) |
| Remedy: | Set IsProtected to false and try again |
|
| Rule (RI-480): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MobileSmartClientProfile restriction |
| Description: | Device.fkMobileSmartClientProfile can only be used when device protocol is MobileSmartClient, or the device is a Dual-Mode phone that supports Smart Client (Dual Mode feature support with Parameter = 1 |
| Test Condition: | ON INSERT/UPDATE IN Remotedestination: IF new_fkMobileSmartClientProfile IS NOT NULL and (new_tkdeviceprotocol != DEVICE_PROTOCOL_MOBILE_SMART_CLIENT) THEN SELECT param INTO supportsSmartClient FROM ProductSupportsFeature WHERE tksupportsfeature = 76 AND tkProduct = new_tkproduct AND tkdeviceprotocol IN (new_tkdeviceprotocol, 99); IF (NOT (supportsSmartClient = '1') THEN throw exception; END IF; END IF; |
| Error Message: | MobileSmartClientProfile Cannot be used for this device |
| Remedy: | Use a different device |
|
| Rule (RI-631): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Hotline support required for Hotline Device |
| Description: | Hotline Device setting can only be true for devices supporting Hotline feature (tkSupportsFeature = 93) |
| Test Condition: | ON INSERT/UPDATE IN Device: |
| Error Message: | This Device Model does not support Hotline (hotlinedevice setting) |
| Remedy: | Set hotlinedevice to false and try again |
|
| Rule (RI-734): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Table Feature Control Policy Restriction |
| Description: | Only devices that support Feature Control Policy can specify fkFeatureControlPolicy |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 103 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Feature Control Policy can be set for devices that supports the Feature Control Policy |
| Remedy: | Check Feature Control Policy feature support and device type before specifying a value for fkFeatureControlPolicy. |
|
| Rule (RI-785): |
| Type: | Active (Insert) |
| Rule Name: | Insert RemoteDestination Records for Device Table |
| Description: | When a device record for a phone is inserted, insert records for RemoteDestination as needed based on product feature support(SUPPORTS_FEATURE_MOBILITY_SIPLINE). |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 109 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
|
| Rule (RI-844): |
| Type: | Active (Insert/Update) |
| Rule Name: | IMS-integrated Mobile Owner Syncs with Mobility User |
| Description: | For IMS-integrated Mobile devices (as defined in ProductSupportsFeature), the owner (device.fkenduser) and mobility user (device.fkenduser_mobility) must be in sync. Sync owner to mobility user if it's not set. |
| Test Condition: | ON INSERT/UPDATE in Device: IF (old_fkenduer_mobility <> new_fkenduser_mobility) THEN set fkenduser = new_fkenduser_mobility END IF; |
|
| Rule (RI-866): |
| Type: | Active (Insert/Update) |
| Rule Name: | Insert/Delete entry into DeviceCERDynamic |
| Description: | When Device.RequireCERLocation is enabled,insert a record into DeviceCERDyanmic |
| Test Condition: | ON UPDATE TO DEVICE.REQUIRECERLOCATION INSERT/DELETE INTO DEVICECERDYNAMIC |
|
| Rule (RI-936): |
| Type: | Active (Insert/Update) |
| Rule Name: | On Insert/Update of Device set SIPProfile to NULL for non SIP device |
| Description: | On Insert/Update of Device, SET SIPProfile to NULL for non SIP device. |
| Test Condition: | For INSERT/UPDATE of Device, IF tkdeviceprotocol <> 11,UPDATE Device SET fkSIPProfile = NULL |
|
| Rule (RI-940): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Model Independent Security Profile |
| Description: | Check if the device supports Model independent security profile , if yes then check whether this device support features like Encryption,Authentication and File Encryption and if it doesn't supports any of these three features then set its security profile as the Standard Non-Secure security profile intended for that particular model. |
| Test Condition: | ON INSERT/UPDATE INTO Device: SELECT tkSecurityPolicy INTO m_tkSecurityPolicy FROM SecurityProfile WHERE pkid = new_fkSecurityProfile; IF device supports Model Independent Security Profile (m_tkSecurityProfile =99) THEN IF there exists a record in PSF table for each supporting feature: Encryption, Authentication, File Encryption with tkDeviceProtocol in (new_tkDeviceProtocol,99) and tkModel = new_tkModel THEN RETURN new_fkSecurityProfile; ELSE SELECT pkid INTO m_fkSecurityProfile FROM SecurityProfile WHERE tkmodel = new_tkModel AND tkDeviceProtocol = new_tkDeviceProtocol AND isStandard = 't';RETURN m_fkSecurityProfile; |
| Remedy: | 1 |
|
| Rule (RI-946): |
| Type: | Active (Insert/Update) |
| Rule Name: | Auto-fix for Dual Mode and Mobile Smart Client device settings |
| Description: | IF autofix is enabled AND IsDualMode='t' THEN SET tkRingSeting_DND = 1 i.e. disabled AND OR IF tkDevicePotocol=17 (MobileSmartClient) THEN SET tkRingSeting_DND = 1 i.e. disabled AND SET fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
| Test Condition: | IF g_enable_auto_fix = 't' AND IsDualMode='t' THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=NULL OR IF tkDevicePotocol=17 THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
|
| 2.3.77.109 tkdevicetrustmode (FI-9824) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | Allows for administrative control of the display of secure icon for specified device types. Options are Trusted and Not Trusted. |
| 2.3.77.110 tkdndoption (FI-3287) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | Type of call handling while DND is enabled (0=Ringer Off, 1=Call Reject); depends on product support; overrides CommonPhoneConfig setting |
| Rule (RI-379): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device DND Option feature restriction |
| Description: | DND Option can only be set to non-Zero on devices that support the DND feature (in ProductSupportsFeature table). For those devices that support the feature, only the Ringer Off (0) is valid, unless a parameter is present in the PSF record. If a parameter value of 1 exists in PSF table, only Call Reject is valid. If the param value is (2), all options including Use Common Profile (2) are valid. Dual mode and remote destination profile only support the Call Reject option. |
| Test Condition: | ON INSERT INTO Device: IF((tkproduct=112 or isdualmode = 't') and (tkDNDOption <>1)) throw exception; ELSE IF (new_tkDNDOption <> 0) THEN SELECT parameter INTO restriction FROM ProductSupportsFeature WHERE (tkSupportsFeature = SUPPORTS_FEATURE_DND) AND (tkProduct = new_tkProduct) AND (tkDeviceProtocol IN (new_tkDeviceProtocol,99); IF (rows returned = 0) THEN throw exception ELSE IF (NVL(restriction, '') <> '') THEN IF (new_tkDNDOption <> restriction) THEN throw exception END IF; END IF; END IF; END IF |
| Error Message: | This device does not support the selected DND Option |
| Remedy: | Do not set a DND Option, or check for restrictions on which options are valid for this device. |
|
| Rule (RI-379): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Device DND Option feature restriction |
| Description: | DND Option can only be set to non-Zero on devices that support the DND feature (in ProductSupportsFeature table). For those devices that support the feature, only the Ringer Off (0) is valid, unless a parameter is present in the PSF record. If a parameter value of 1 exists in PSF table, only Call Reject is valid. If the param value is (2), all options including Use Common Profile (2) are valid. Dual mode and remote destination profile only support the Call Reject option. |
| Test Condition: | ON INSERT INTO Device: IF((tkproduct=112 or isdualmode = 't') and (tkDNDOption <>1)) throw exception; ELSE IF (new_tkDNDOption <> 0) THEN SELECT parameter INTO restriction FROM ProductSupportsFeature WHERE (tkSupportsFeature = SUPPORTS_FEATURE_DND) AND (tkProduct = new_tkProduct) AND (tkDeviceProtocol IN (new_tkDeviceProtocol,99); IF (rows returned = 0) THEN throw exception ELSE IF (NVL(restriction, '') <> '') THEN IF (new_tkDNDOption <> restriction) THEN throw exception END IF; END IF; END IF; END IF |
| Error Message: | This device does not support the selected DND Option |
| Remedy: | Do not set a DND Option, or check for restrictions on which options are valid for this device. |
|
| 2.3.77.111 tkdtmfsignaling (FI-2399) |
| Type: | enum |
| Default Value: | 1 |
| Rule (RI-331): |
| Type: | Validation (Insert/Update) |
| Rule Name: | device.tkdtmfsignaling validation |
| Description: | on insert or change to DTMF setting for SIP trunk make sure that out-of-band is not set since it is invalid value |
| Test Condition: | update device |
|
| 2.3.77.112 tkkeyauthority (FI-3013) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | TypeKeyAuthority |
| 2.3.77.113 tkmodel (FI-4) |
| Type: | enum (Not Modifiable) |
| Migration Source: | DeviceList.Type |
| Remarks: | Redundant. Use tkProduct to look up tkModel in TypeProduct table. |
| Rule (RI-16): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template required |
| Description: | Devices that use a phone button template must have a template specified |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 13 AND tkModel = @Defaults.tkModel AND tkDeviceProtocol IN (@Defaults.tkDeviceProtocol,99) |
| Error Message: | A device that uses Phone Templates have a specific Phone Template assigned. |
| Remedy: | Specify a Phone Template. |
|
| Rule (RI-17): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Template Model |
| Description: | The model must match for a device default and the specified phone template for that device type. |
| Test Condition: | @Defaults.tkModel = (SELECT PhoneTemplate.tkModel FROM PhoneTemplate WHERE PhoneTemplate.pkid = @Defaults.tkPhoneTemplate) |
| Error Message: | The Phone Template model does not match the device model. |
| Remedy: | Specifiy a Phone Template for the correct model. |
|
| Rule (RI-26): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Name Validation |
| Description: | For products that are configured as devices, name validation is based on the content of devicenameformat in specified for the product (TypeProduct). The exceptions are gateways for which the names are generated based on unit/subunit/slot position, and virtual devices used for extension mobility and configuration only (User Device Profiles, Autogenerated Profiles, Templates). Virtual devices allow ASCII names up to 50 characters including most punctuation. |
| Test Condition: | ON INSERT/UPDATE IN Device |
| Error Message: | The device name format is not valid or contains invalid characters. |
| Remedy: | Check the name to make sure it is valid for specified product and try again. |
|
| Rule (RI-64): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Route List Enabled Restriction |
| Description: | Only Route List device may set the RouteListEnabled setting to true. |
| Test Condition: | IF (@Device.RouteListEnabled = TRUE) AND (@Device.tkModel != 90) THEN throw exception |
| Error Message: | Route List Enabled can be true only for Route List devices. |
| Remedy: | Check device type and try again. |
|
| Rule (RI-67): |
| Type: | Active (Insert) This field is modified by this rule. |
| Rule Name: | Set tkModel on Insert |
| Description: | The model of a device is determined by the settings in the TypeProduct table in the database. A device's model is set at insert and cannot be modified. |
| Test Condition: | SET Device.tkModel = (SELECT tkModel FROM TypeProduct WHERE Enum = @Device.tkProduct) |
|
| Rule (RI-67): |
| Type: | Active (Insert) |
| Rule Name: | Set tkModel on Insert |
| Description: | The model of a device is determined by the settings in the TypeProduct table in the database. A device's model is set at insert and cannot be modified. |
| Test Condition: | SET Device.tkModel = (SELECT tkModel FROM TypeProduct WHERE Enum = @Device.tkProduct) |
|
| Rule (RI-202): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | Generate Default Device Profile for Model |
| Description: | Create a Default Device Profile for a device type if one does not already exist, and extension mobility is enabled on a device of that type (e.g., create the Default Device Profile for a Cisco 7960 if it does not exist and EM is enabled on a 7960). |
| Test Condition: | IF (NEW.AllowHotelingFlag is true) and ((select count(*) from device where tkmodel = NEW.tkmodel and tkdeviceprofile = 3) = 0) |
| Error Message: | No default model profile, no mismatch login performed |
|
| Rule (RI-223): |
| Type: | Active (Insert) |
| Rule Name: | Add a VGC Gateway to MGCP on Device update |
| Description: | On Insert only |
| Test Condition: | ? |
|
| Rule (RI-263): |
| Type: | Active (Insert) |
| Rule Name: | Set QSIG on Device |
| Description: | When a device is inserted, the QSIG setting for the device is determined automatically as follows: For trunks other than Inter-cluster trunk, the device is treated as H.323; inter-cluster trunk is treated as Mixed-Non-QSIG. Digital Access PRI gateways using QSIG protocol are considered QSIG, H.323 Gateways are considered H.323, and all other gateways (including Digital Access PRI with a non-QSIG protocol) are Mixed-Non-QSIG. All other devices except Route Lists are considered Mixed-Non-QSIG. For Route Lists, see rule "Set QSIG on Route List" |
| Test Condition: | On Insert into Device |
|
| Rule (RI-316): |
| Type: | Active (Insert/Update) |
| Rule Name: | Prevent applying secure profile where not supported. |
| Description: | on I/U of Device |
| Test Condition: | Only endpoints on gateways with secure mode support may be set to use Security Profiles marked for secure mode. Further, all endpoints on analog gateways must remain consistent in either all operating in secure mode or all in non-secure mode |
|
| Rule (RI-320): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Restriction for SIP Dial Rules |
| Description: | SIP Dial Rules for 7905/7912 may only be associated with 7905 and 7912 model phones. All other phones must use 7940/7960/TMP dial rules. |
| Test Condition: | ON INSERT/UPDATE IN Device IF (DialRules.tkDialPattern = 0 and Device.tkProduct IS NOT IN (7905, 7912) OR DialRules.tkDialPattern == 1 AND Device.tkProduct IS IN (7905, 7912)) THEN throw exception |
| Error Message: | Cannot assign Dial Rules of this type to the specified device (model and rule types are mismatched). |
| Remedy: | Check the dial rule and device type to make sure they are compatible (e.g., 7905 dial rule for a 7905 device). |
|
| Rule (RI-338): |
| Type: | Validation (Insert) |
| Rule Name: | One default profile per model |
| Description: | Only one EM device default profile allowed per model |
| Test Condition: | SELECT COUNT(*) FROM Device where tkdeviceprofile = 3 AND tkmodel = @tkmodel |
| Error Message: | Only one device default profile is allowed per model |
|
| Rule (RI-339): |
| Type: | Validation (Delete) |
| Rule Name: | Device default profile cannot be deleted |
| Description: | The device default profile cannot be deleted when there is still extension mobility enabled device for that model |
| Test Condition: | IF EXISTS (SELECT name FROM Device where allowhotelingflag = 't' and tkmodel = @tkmodel) |
| Error Message: | There is still some devices have extension mobility enabled for this model, device default profile cannot be deleted |
|
| Rule (RI-340): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Correct security profile for device |
| Description: | on I/U of device |
| Test Condition: | prevent bad value combinations |
|
| Rule (RI-343): |
| Type: | Validation (Insert/Update) |
| Rule Name: | EM Logout Profile Model and Protocol Restriction |
| Description: | The model and protocol of a phone and a User Device Profile selected as the logout profile must both match |
| Test Condition: | ON INSERT/UPDATE IN Device IF (Device.tkModel <> Profile.tkModel) OR (Device.tkDeviceProtocol <> Profile.tkDeviceProtocol) THEN throw exception |
| Error Message: | Logout Profile is not the same model and protocol as the device |
| Remedy: | Select a logout profile that is the same model and protocol as the phone and try again |
|
| Rule (RI-402): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Security Profile required if Standard Security Profile exists for device type |
| Description: | If a Standard Security Profile exist for a given device type or class, then devices of that type or class must use a Security Profile. |
| Test Condition: | ON INSERT/UPDATE INTO Device: IF (new_fkSecurityProfile IS NULL) THEN SELECT COUNT(*) INTO nRows FROM SecurityProfile where IsStandard = 't' AND tkModel = new_tkModel and tkDeviceProtocol = new_tkDeviceProtocol); IF nRows > 0 THEN throw exception; |
| Error Message: | A security profile is required for this model and protocol. |
| Remedy: | Specify a Security Profile that matches the device type. |
|
| Rule (RI-736): |
| Type: | Active (Insert) |
| Rule Name: | Set default Security Profile for Virtual Port |
| Description: | On Insert of Analog Virtual Port, set a Default Security Profile |
| Test Condition: | On Insert to Device |
|
| Rule (RI-940): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Model Independent Security Profile |
| Description: | Check if the device supports Model independent security profile , if yes then check whether this device support features like Encryption,Authentication and File Encryption and if it doesn't supports any of these three features then set its security profile as the Standard Non-Secure security profile intended for that particular model. |
| Test Condition: | ON INSERT/UPDATE INTO Device: SELECT tkSecurityPolicy INTO m_tkSecurityPolicy FROM SecurityProfile WHERE pkid = new_fkSecurityProfile; IF device supports Model Independent Security Profile (m_tkSecurityProfile =99) THEN IF there exists a record in PSF table for each supporting feature: Encryption, Authentication, File Encryption with tkDeviceProtocol in (new_tkDeviceProtocol,99) and tkModel = new_tkModel THEN RETURN new_fkSecurityProfile; ELSE SELECT pkid INTO m_fkSecurityProfile FROM SecurityProfile WHERE tkmodel = new_tkModel AND tkDeviceProtocol = new_tkDeviceProtocol AND isStandard = 't';RETURN m_fkSecurityProfile; |
| Remedy: | 1 |
|
| 2.3.77.114 tknetworklocation (FI-2164) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Stores OffNet/OnNet info |
| 2.3.77.115 tkoutboundcallrollover (FI-3422) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | Determines rollover behavior of phones when MaxNumCalls is exceeded on a line and a new call is started |
| Rule (RI-395): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Outbound Call Rollover Feature Restriction |
| Description: | The Device.tkOutboundCallRollover setting can only be non-default (other than None) for devices that support the Automatic Outbound Call Rollover feature. |
| Test Condition: | ON INSERT/UPDATE IN Device: IF (new_tkOutboundCallRollover <> 0) THEN IF (SELECT COUNT(*) FROM ProductSupportsFeature WHERE (tkSupportsFeature = SUPPORTS_FEATURE_AUTOMATIC_OUTBOUND_CALL_ROLLOVER) AND (tkProduct = new_tkProduct) AND (tkDeviceProtocol IN (new_tkDeviceProtocol,99) = 0 THEN throw exception; END IF; END IF; |
| Error Message: | This device does not supports Automatic Outbound Call Rollover. |
| Remedy: | Set the OutboundCallRollover option to No Rollover for this device. |
|
| Rule (RI-395): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Device Outbound Call Rollover Feature Restriction |
| Description: | The Device.tkOutboundCallRollover setting can only be non-default (other than None) for devices that support the Automatic Outbound Call Rollover feature. |
| Test Condition: | ON INSERT/UPDATE IN Device: IF (new_tkOutboundCallRollover <> 0) THEN IF (SELECT COUNT(*) FROM ProductSupportsFeature WHERE (tkSupportsFeature = SUPPORTS_FEATURE_AUTOMATIC_OUTBOUND_CALL_ROLLOVER) AND (tkProduct = new_tkProduct) AND (tkDeviceProtocol IN (new_tkDeviceProtocol,99) = 0 THEN throw exception; END IF; END IF; |
| Error Message: | This device does not supports Automatic Outbound Call Rollover. |
| Remedy: | Set the OutboundCallRollover option to No Rollover for this device. |
|
| 2.3.77.116 tkpacketcapturemode (FI-1910) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.77.117 tkphonepersonalization (FI-3456) |
| Type: | enum |
| Default Value: | 3 |
| Rule (RI-431): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Personalization Feature Support restriction |
| Description: | Only devices that support the Phone Personalization can have a non-default value for Device.tkPhonePersonalization. |
| Test Condition: | ON INSERT/UPDATE IN Device: IF (new_tkPhonePersonalization <> 3) AND (SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 80 AND tkProduct = new_tkProduct AND tkDeviceProtocol IN (99, new_tkDeviceProtocol) = 0 THEN throw exception; END IF |
| Error Message: | Phone Personalization feature is not supported on the specified device type. |
| Remedy: | Do not change the setting (tkPhonePersonalization) from Default (value = 3) |
|
| Rule (RI-431): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Phone Personalization Feature Support restriction |
| Description: | Only devices that support the Phone Personalization can have a non-default value for Device.tkPhonePersonalization. |
| Test Condition: | ON INSERT/UPDATE IN Device: IF (new_tkPhonePersonalization <> 3) AND (SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 80 AND tkProduct = new_tkProduct AND tkDeviceProtocol IN (99, new_tkDeviceProtocol) = 0 THEN throw exception; END IF |
| Error Message: | Phone Personalization feature is not supported on the specified device type. |
| Remedy: | Do not change the setting (tkPhonePersonalization) from Default (value = 3) |
|
| 2.3.77.118 tkphoneservicedisplay (FI-3626) |
| Type: | enum |
| Default Value: | 3 |
| Remarks: | Identifies which services are displayed for a button (services, directories, messages): Internal, External, Both, or Default (use CommonPhoneConfig value) |
| 2.3.77.119 tkpreemption (FI-1303) |
| Type: | enum |
| Default Value: | 2 |
| Rule (RI-71): |
| Type: | Active (Insert) |
| Rule Name: | MLPP Preemption Default Setting |
| Description: | If a product supports MLPP Preemption (SUPPORTS_FEATURE_PREEMPTION), then the Default value is PREEMPTION_DEFAULT; otherwise the default value is PREEMPTION_DISABLED |
| Test Condition: | IF (SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 35 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0 THEN SET Device.tkPreemption = 0 ELSE SET Device.tkPreemption = 2 |
|
| Rule (RI-71): |
| Type: | Active (Insert) This field is modified by this rule. |
| Rule Name: | MLPP Preemption Default Setting |
| Description: | If a product supports MLPP Preemption (SUPPORTS_FEATURE_PREEMPTION), then the Default value is PREEMPTION_DEFAULT; otherwise the default value is PREEMPTION_DISABLED |
| Test Condition: | IF (SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 35 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0 THEN SET Device.tkPreemption = 0 ELSE SET Device.tkPreemption = 2 |
|
| Rule (RI-72): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MLPP Preemption Restriction |
| Description: | Only devices that support MLPP Preemption feature may set the Preemption setting to a value other than DISABLED (0). |
| Test Condition: | IF ((SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 35 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) AND (Device.tkPreemption != 0) THEN throw exception |
| Error Message: | MLPP Preemption must be disabled on devices that do not support the MLPP Preemption feature. |
| Remedy: | Check the MLPP Preemption feature support and device type and try again. |
|
| Rule (RI-72): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | MLPP Preemption Restriction |
| Description: | Only devices that support MLPP Preemption feature may set the Preemption setting to a value other than DISABLED (0). |
| Test Condition: | IF ((SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 35 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) AND (Device.tkPreemption != 0) THEN throw exception |
| Error Message: | MLPP Preemption must be disabled on devices that do not support the MLPP Preemption feature. |
| Remedy: | Check the MLPP Preemption feature support and device type and try again. |
|
| Rule (RI-711): |
| Type: | Active (Update) |
| Rule Name: | Configuration of E1 links that are PRI EURO protocol type for MLPP is allowed. |
| Description: | If device is E1 and MLPP Indication <> 0 Or MLPP Preemption <> 0 Then if PriProtocol <> PRI_EURO then throw exception |
| Test Condition: | On update of Device Table |
|
| 2.3.77.120 tkproduct (FI-662) |
| Type: | enum |
| Rule (RI-19): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AllowHotelingFlag - EM feature support required |
| Description: | Device.AllowHotelingFlag can only be true for devices that support Extension Mobility. |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 9 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Extension Mobility can only turned on for devices that support Extension Mobility feature. |
| Remedy: | Check device type and Extension Mobility feature support before enabling Extension Mobility. |
|
| Rule (RI-22): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AAR feature support required |
| Description: | Device.fkAARNeighorhood and Device.fkCallingSearchSpace_AAR can only be specified for devices that support the AAR feature |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 21 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | AAR Group and Calling Search Space can only be used for devices that support the AAR feature. |
| Remedy: | Check device type and AAR feature support before specifying an AAR Group or AAR Calling Search Space. |
|
| Rule (RI-24): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Invalid Device Profile setting |
| Description: | Only a phone that supports extension mobility can be configured as a device profile |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 9 AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) AND tkDeviceProfile != 0 |
| Error Message: | Device Profile can only be created for devices that support Extension Mobility feature. |
| Remedy: | Check the device type and feature support and try again. |
|
| Rule (RI-26): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Name Validation |
| Description: | For products that are configured as devices, name validation is based on the content of devicenameformat in specified for the product (TypeProduct). The exceptions are gateways for which the names are generated based on unit/subunit/slot position, and virtual devices used for extension mobility and configuration only (User Device Profiles, Autogenerated Profiles, Templates). Virtual devices allow ASCII names up to 50 characters including most punctuation. |
| Test Condition: | ON INSERT/UPDATE IN Device |
| Error Message: | The device name format is not valid or contains invalid characters. |
| Remedy: | Check the name to make sure it is valid for specified product and try again. |
|
| Rule (RI-37): |
| Type: | Validation (Insert/Update) |
| Rule Name: | SoftkeyTemplate Restriction |
| Description: | Softkey Templates can be assigned only to devices that support Softkeys |
| Test Condition: | IF (@Device.fkSoftkeyTemplate IS NOT NULL) AND ((SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 18 AND tkProduct = @Device.tkProduct AND tkDeviceprotocol IN (@Device.tkDeviceProtocol,99)) = 0) THEN Throw Exception |
| Error Message: | Softkey Template is not valid for this type of device. |
| Remedy: | Remove the Softkey Template setting and try again. |
|
| Rule (RI-41): |
| Type: | Validation (Insert/Update) |
| Rule Name: | (obsolete) Device Login Duration Restriction |
| Description: | Login Duration is only valid on devices supporting Extension Mobility |
| Test Condition: | IF (@Device.LoginDuration IS NOT NULL) AND ((SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 9 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) THEN Throw Exception |
| Error Message: | Login Duration is valid only for devices that support Extension Mobility feature. |
| Remedy: | Remove the Login Duration setting from the device and try again. |
|
| Rule (RI-42): |
| Type: | Validation (Insert/Update) |
| Rule Name: | (obsolete) Device Login Time Restriction |
| Description: | Login Time is only valid on devices supporting Extension Mobility |
| Test Condition: | IF (@Device.LoginTime IS NOT NULL) AND ((SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 9 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) THEN Throw Exception |
| Error Message: | Login Time is valid only for devices that support Extension Mobility feature. |
| Remedy: | Remove the Login Time setting from the device and try again. |
|
| Rule (RI-60): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Network Hold Audio Source Restriction |
| Description: | Only devices that support Music On Hold feature use the Network Hold Audio Source setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 4 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Network Hold Audio Source can only be used for devices that support the Music On Hold feature. |
| Remedy: | Check device type and Music On Hold feature support before specifying a Network Hold Audio Source. |
|
| Rule (RI-61): |
| Type: | Validation (Insert/Update) |
| Rule Name: | User Hold Audio Source Restriction |
| Description: | Only devices that support Music On Hold feature use the User Hold Audio Source setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 4 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | User Hold Audio Source can only be used for devices that support the Music On Hold feature. |
| Remedy: | Check device type and Music On Hold feature support before specifying a User Hold Audio Source. |
|
| Rule (RI-66): |
| Type: | Active (Insert) |
| Rule Name: | Set tkClass on Insert |
| Description: | The class of a device is determined by the settings in the TypeModel table in the database. A device's class is set at insert and cannot be modified. Class is determined by Model, and Model is determined by Product. |
| Test Condition: | SET Device.tkClass = (SELECT tkClass FROM TypeModel WHERE Enum = (SELECT tkModel FROM TypeProduct WHERE Enum = @Device.tkProduct)) |
|
| Rule (RI-67): |
| Type: | Active (Insert) |
| Rule Name: | Set tkModel on Insert |
| Description: | The model of a device is determined by the settings in the TypeProduct table in the database. A device's model is set at insert and cannot be modified. |
| Test Condition: | SET Device.tkModel = (SELECT tkModel FROM TypeProduct WHERE Enum = @Device.tkProduct) |
|
| Rule (RI-69): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Protocol Setting |
| Description: | The valid Device Protocol settings for a device are determined by the content of the ProductCapabilities table for that device type and feature. |
| Test Condition: | @Device.tkDeviceProtocol IN (SELECT EnumValue FROM ProductCapabilities WHERE (tkProductConfig = 7) AND (tkProduct = @Device.tkProduct)) |
| Error Message: | The specified Device Protocol is not valid for this device. |
| Remedy: | Check the Device Protocol support and device type and try again.. |
|
| Rule (RI-70): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Protocol Side Setting |
| Description: | The valid Protocol Side settings for a device are determined by the content of the ProductCapabilities table for that device type and feature. Most devices are only User side. Only gateways and trunks are configured as Network Side when necessary. |
| Test Condition: | @Device.tkProtocolSide IN (SELECT EnumValue FROM ProductCapabilities WHERE (tkProductConfig = 18) AND (tkProduct = @Device.tkProduct)) |
| Error Message: | The specified Protcol Side is not valid for this device. |
| Remedy: | Check the Protocol Side support and device type and try again. |
|
| Rule (RI-71): |
| Type: | Active (Insert) |
| Rule Name: | MLPP Preemption Default Setting |
| Description: | If a product supports MLPP Preemption (SUPPORTS_FEATURE_PREEMPTION), then the Default value is PREEMPTION_DEFAULT; otherwise the default value is PREEMPTION_DISABLED |
| Test Condition: | IF (SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 35 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0 THEN SET Device.tkPreemption = 0 ELSE SET Device.tkPreemption = 2 |
|
| Rule (RI-72): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MLPP Preemption Restriction |
| Description: | Only devices that support MLPP Preemption feature may set the Preemption setting to a value other than DISABLED (0). |
| Test Condition: | IF ((SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 35 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) AND (Device.tkPreemption != 0) THEN throw exception |
| Error Message: | MLPP Preemption must be disabled on devices that do not support the MLPP Preemption feature. |
| Remedy: | Check the MLPP Preemption feature support and device type and try again. |
|
| Rule (RI-74): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MLPP Indication Restriction |
| Description: | Only devices that support MLPP Indication feature may set the Indication setting to a value other than OFF (0). |
| Test Condition: | IF ((SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 34 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) AND (Device.tkStatus_MLPPIndicationStatus != 0) THEN throw exception |
| Error Message: | MLPP Indication must be off on devices that do not support the MLPP Indication feature. |
| Remedy: | Check the MLPP Indication feature support and device type and try again. |
|
| Rule (RI-75): |
| Type: | Validation (Insert/Update) |
| Rule Name: | User Locale Restriction |
| Description: | Only devices that support Localization feature use the User Locale setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 17 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | User Locale can only be set for devices that support the Localization feature. |
| Remedy: | Check the Localization feature support and device type before specifying a User Locale. |
|
| Rule (RI-199): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Security Feature validation |
| Description: | Valid Device Security Modes for each device type are determined by the ProductSupportsFeature records for the security features. Devices that do not support any security feature must be set to non-secure mode. Devices that support other security modes can be set to Default, Not-Secure, or one of the supported security modes (Authentication or Encryption as determined in ProductSupportsFeature). |
| Test Condition: | On Insert/Update of tksecuritymode on Device table. |
| Error Message: | The security feature is not supported for this device |
| Remedy: | Either unselect the desired feature or choose another device. |
|
| Rule (RI-263): |
| Type: | Active (Insert) |
| Rule Name: | Set QSIG on Device |
| Description: | When a device is inserted, the QSIG setting for the device is determined automatically as follows: For trunks other than Inter-cluster trunk, the device is treated as H.323; inter-cluster trunk is treated as Mixed-Non-QSIG. Digital Access PRI gateways using QSIG protocol are considered QSIG, H.323 Gateways are considered H.323, and all other gateways (including Digital Access PRI with a non-QSIG protocol) are Mixed-Non-QSIG. All other devices except Route Lists are considered Mixed-Non-QSIG. For Route Lists, see rule "Set QSIG on Route List" |
| Test Condition: | On Insert into Device |
|
| Rule (RI-379): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device DND Option feature restriction |
| Description: | DND Option can only be set to non-Zero on devices that support the DND feature (in ProductSupportsFeature table). For those devices that support the feature, only the Ringer Off (0) is valid, unless a parameter is present in the PSF record. If a parameter value of 1 exists in PSF table, only Call Reject is valid. If the param value is (2), all options including Use Common Profile (2) are valid. Dual mode and remote destination profile only support the Call Reject option. |
| Test Condition: | ON INSERT INTO Device: IF((tkproduct=112 or isdualmode = 't') and (tkDNDOption <>1)) throw exception; ELSE IF (new_tkDNDOption <> 0) THEN SELECT parameter INTO restriction FROM ProductSupportsFeature WHERE (tkSupportsFeature = SUPPORTS_FEATURE_DND) AND (tkProduct = new_tkProduct) AND (tkDeviceProtocol IN (new_tkDeviceProtocol,99); IF (rows returned = 0) THEN throw exception ELSE IF (NVL(restriction, '') <> '') THEN IF (new_tkDNDOption <> restriction) THEN throw exception END IF; END IF; END IF; END IF |
| Error Message: | This device does not support the selected DND Option |
| Remedy: | Do not set a DND Option, or check for restrictions on which options are valid for this device. |
|
| Rule (RI-380): |
| Type: | Validation (Insert/Update/Delete) |
| Rule Name: | One server should have exactly one software device (CFB, MTP, MOH, ANN) each type |
| Description: | One IP Media Streaming software device each type is install by default on all servers cannot be deleted |
| Test Condition: | ON DELETE or Insert Device: IF (old_tkProduct IN (28, 30, 51, 89)) THEN throw exception; |
| Error Message: | Cannot insert or delete the IP Media Streaming software devices installed on a server by default. |
| Remedy: | Disable the service or remove the device from Media Resource Groups where it appears. |
|
| Rule (RI-381): |
| Type: | Active (Insert) |
| Rule Name: | DualMode device type (in PSF) is marked isDualMode = True |
| Description: | If a device type is marked as Dual Mode in the ProductSupportsFeature table, then the Device and RemoteDestination records for the device are automatically updated to set IsDualMode field to true. |
| Test Condition: | ON INSERT INTO Device |
|
| Rule (RI-395): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Outbound Call Rollover Feature Restriction |
| Description: | The Device.tkOutboundCallRollover setting can only be non-default (other than None) for devices that support the Automatic Outbound Call Rollover feature. |
| Test Condition: | ON INSERT/UPDATE IN Device: IF (new_tkOutboundCallRollover <> 0) THEN IF (SELECT COUNT(*) FROM ProductSupportsFeature WHERE (tkSupportsFeature = SUPPORTS_FEATURE_AUTOMATIC_OUTBOUND_CALL_ROLLOVER) AND (tkProduct = new_tkProduct) AND (tkDeviceProtocol IN (new_tkDeviceProtocol,99) = 0 THEN throw exception; END IF; END IF; |
| Error Message: | This device does not supports Automatic Outbound Call Rollover. |
| Remedy: | Set the OutboundCallRollover option to No Rollover for this device. |
|
| Rule (RI-415): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Join Across Lines Restriction |
| Description: | Only devices that support Join Across lines can have a value other than zero for tkStatus_joinacrosslines |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 78 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Join Across Lines can only be set for devices that have the Join Across Lines Feature |
| Remedy: | Check the Join Across Lines feature support and device type before specifying a Join Across Lines value. |
|
| Rule (RI-416): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Single Button Barge Restriction |
| Description: | Only devices that support Join Across lines can have a value other than zero for tkBarge |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 78 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Single Button Barge can only be set for devices that have the Single Button Barge Feature |
| Remedy: | Check the Single Button Barge feature support and device type before specifying a Single Button Barge value. |
|
| Rule (RI-431): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Phone Personalization Feature Support restriction |
| Description: | Only devices that support the Phone Personalization can have a non-default value for Device.tkPhonePersonalization. |
| Test Condition: | ON INSERT/UPDATE IN Device: IF (new_tkPhonePersonalization <> 3) AND (SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 80 AND tkProduct = new_tkProduct AND tkDeviceProtocol IN (99, new_tkDeviceProtocol) = 0 THEN throw exception; END IF |
| Error Message: | Phone Personalization feature is not supported on the specified device type. |
| Remedy: | Do not change the setting (tkPhonePersonalization) from Default (value = 3) |
|
| Rule (RI-447): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device.fkCallingSearchSpace_CdPNTransform is allowed for all gateways other than FXS ports |
| Description: | Device.fkCallingSearchSpace_CdPNTransform is allowed for all gateways other than FXS ports |
| Test Condition: | ON INSERT/UPDATE |
| Error Message: | Device.fkCallingSearchSpace_CdPNTransform is allowed for all gateways other than FXS ports |
|
| Rule (RI-471): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Secure Tone support required for Protected device |
| Description: | IsProtected setting can only be true for devices supporting secure tone feature (tkSupportsFeature = 81) |
| Test Condition: | ON INSERT/UPDATE IN Device: |
| Error Message: | This Device Model does not support secure tone (isprotected setting) |
| Remedy: | Set IsProtected to false and try again |
|
| Rule (RI-480): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MobileSmartClientProfile restriction |
| Description: | Device.fkMobileSmartClientProfile can only be used when device protocol is MobileSmartClient, or the device is a Dual-Mode phone that supports Smart Client (Dual Mode feature support with Parameter = 1 |
| Test Condition: | ON INSERT/UPDATE IN Remotedestination: IF new_fkMobileSmartClientProfile IS NOT NULL and (new_tkdeviceprotocol != DEVICE_PROTOCOL_MOBILE_SMART_CLIENT) THEN SELECT param INTO supportsSmartClient FROM ProductSupportsFeature WHERE tksupportsfeature = 76 AND tkProduct = new_tkproduct AND tkdeviceprotocol IN (new_tkdeviceprotocol, 99); IF (NOT (supportsSmartClient = '1') THEN throw exception; END IF; END IF; |
| Error Message: | MobileSmartClientProfile Cannot be used for this device |
| Remedy: | Use a different device |
|
| Rule (RI-604): |
| Type: | Validation (Update) |
| Rule Name: | SAF Enabled trunk only supports non secure profile |
| Description: | SAF Enabled trunk only supports non secure profile |
| Test Condition: | SAF Enabled trunk only supports non secure profile |
| Error Message: | SAF Enabled trunk only supports non secure profile |
|
| Rule (RI-613): |
| Type: | Validation (Insert/Update) |
| Rule Name: | EMCC SIP Trunk validation |
| Description: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
| Test Condition: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
| Error Message: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
|
| Rule (RI-631): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Hotline support required for Hotline Device |
| Description: | Hotline Device setting can only be true for devices supporting Hotline feature (tkSupportsFeature = 93) |
| Test Condition: | ON INSERT/UPDATE IN Device: |
| Error Message: | This Device Model does not support Hotline (hotlinedevice setting) |
| Remedy: | Set hotlinedevice to false and try again |
|
| Rule (RI-711): |
| Type: | Active (Update) |
| Rule Name: | Configuration of E1 links that are PRI EURO protocol type for MLPP is allowed. |
| Description: | If device is E1 and MLPP Indication <> 0 Or MLPP Preemption <> 0 Then if PriProtocol <> PRI_EURO then throw exception |
| Test Condition: | On update of Device Table |
|
| Rule (RI-734): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Table Feature Control Policy Restriction |
| Description: | Only devices that support Feature Control Policy can specify fkFeatureControlPolicy |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 103 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Feature Control Policy can be set for devices that supports the Feature Control Policy |
| Remedy: | Check Feature Control Policy feature support and device type before specifying a value for fkFeatureControlPolicy. |
|
| Rule (RI-785): |
| Type: | Active (Insert) |
| Rule Name: | Insert RemoteDestination Records for Device Table |
| Description: | When a device record for a phone is inserted, insert records for RemoteDestination as needed based on product feature support(SUPPORTS_FEATURE_MOBILITY_SIPLINE). |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 109 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
|
| Rule (RI-841): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device.fkCallingSearchSpace_RdNTransform is allowed for all gateways other than FXS ports |
| Description: | Device.fkCallingSearchSpace_RdNTransform is allowed for all gateways other than FXS ports |
| Test Condition: | ON INSERT/UPDATE |
| Error Message: | Device.fkCallingSearchSpace_RdNTransform is allowed for all gateways other than FXS ports |
|
| Rule (RI-844): |
| Type: | Active (Insert/Update) |
| Rule Name: | IMS-integrated Mobile Owner Syncs with Mobility User |
| Description: | For IMS-integrated Mobile devices (as defined in ProductSupportsFeature), the owner (device.fkenduser) and mobility user (device.fkenduser_mobility) must be in sync. Sync owner to mobility user if it's not set. |
| Test Condition: | ON INSERT/UPDATE in Device: IF (old_fkenduer_mobility <> new_fkenduser_mobility) THEN set fkenduser = new_fkenduser_mobility END IF; |
|
| Rule (RI-866): |
| Type: | Active (Insert/Update) |
| Rule Name: | Insert/Delete entry into DeviceCERDynamic |
| Description: | When Device.RequireCERLocation is enabled,insert a record into DeviceCERDyanmic |
| Test Condition: | ON UPDATE TO DEVICE.REQUIRECERLOCATION INSERT/DELETE INTO DEVICECERDYNAMIC |
|
| Rule (RI-874): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Mobility Check on EndUser for CTI Remote Device |
| Description: | EndUser associated with CTI Remote Device should be Mobility Enabled. |
| Test Condition: | Check description for complete rule. ON INSERT INTO Device: SELECT fkenduser_mobility INTO theEndUser FROM device WHERE pkid = device.pkid; SELECT EnableMobility INTO mobility FROM enduser WHERE pkid = theEndUser; IF (mobility = 'F') THEN throw exception END IF; |
| Error Message: | Cannot add the device for EndUser that does not have Mobility enabled. |
| Remedy: | Enable Mobility on the EndUser associated with CTI Remote Device and try again. |
|
| Rule (RI-941): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Token User can own only CDT device |
| Description: | Token User can own only CDT device or be used for mobility only for CDT |
| Test Condition: | On I/U of Device: FOR fkEndUser or fkEndUser_Mobility ,If tkUserProfile=3 AND (tkModel<>645 AND tkProduct<>530) THEN THROW EXCEPTION |
| Error Message: | Token EndUser can be associated with CDT only or used for mobility |
|
| 2.3.77.121 tkproduct_base (FI-1050) |
| Type: | enum (Null OK) |
| Default Value: | NULL |
| Remarks: | Is this a dead field? Used by GW? |
| Rule (RI-223): |
| Type: | Active (Insert) |
| Rule Name: | Add a VGC Gateway to MGCP on Device update |
| Description: | On Insert only |
| Test Condition: | ? |
|
| Rule (RI-223): |
| Type: | Active (Insert) This field is modified by this rule. |
| Rule Name: | Add a VGC Gateway to MGCP on Device update |
| Description: | On Insert only |
| Test Condition: | ? |
|
| Rule (RI-316): |
| Type: | Active (Insert/Update) |
| Rule Name: | Prevent applying secure profile where not supported. |
| Description: | on I/U of Device |
| Test Condition: | Only endpoints on gateways with secure mode support may be set to use Security Profiles marked for secure mode. Further, all endpoints on analog gateways must remain consistent in either all operating in secure mode or all in non-secure mode |
|
| 2.3.77.122 tkprotocolside (FI-6) |
| Type: | enum |
| Default Value: | 1 |
| Migration Source: | DeviceList.Side |
| Remarks: | Network side or User Side |
| Rule (RFI-128): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkDeviceProtocol = 4 |
| Constraint: | tkProtocolSide <> 1 |
| Remarks: | User side does not support Digital Access T1 protocol |
|
| Rule (RI-70): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Protocol Side Setting |
| Description: | The valid Protocol Side settings for a device are determined by the content of the ProductCapabilities table for that device type and feature. Most devices are only User side. Only gateways and trunks are configured as Network Side when necessary. |
| Test Condition: | @Device.tkProtocolSide IN (SELECT EnumValue FROM ProductCapabilities WHERE (tkProductConfig = 18) AND (tkProduct = @Device.tkProduct)) |
| Error Message: | The specified Protcol Side is not valid for this device. |
| Remedy: | Check the Protocol Side support and device type and try again. |
|
| Rule (RI-70): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Protocol Side Setting |
| Description: | The valid Protocol Side settings for a device are determined by the content of the ProductCapabilities table for that device type and feature. Most devices are only User side. Only gateways and trunks are configured as Network Side when necessary. |
| Test Condition: | @Device.tkProtocolSide IN (SELECT EnumValue FROM ProductCapabilities WHERE (tkProductConfig = 18) AND (tkProduct = @Device.tkProduct)) |
| Error Message: | The specified Protcol Side is not valid for this device. |
| Remedy: | Check the Protocol Side support and device type and try again. |
|
| 2.3.77.123 tkqsig (FI-1410) |
| Type: | enum (Not Modifiable) |
| Default Value: | 4 |
| Rule (RI-263): |
| Type: | Active (Insert) This field is modified by this rule. |
| Rule Name: | Set QSIG on Device |
| Description: | When a device is inserted, the QSIG setting for the device is determined automatically as follows: For trunks other than Inter-cluster trunk, the device is treated as H.323; inter-cluster trunk is treated as Mixed-Non-QSIG. Digital Access PRI gateways using QSIG protocol are considered QSIG, H.323 Gateways are considered H.323, and all other gateways (including Digital Access PRI with a non-QSIG protocol) are Mixed-Non-QSIG. All other devices except Route Lists are considered Mixed-Non-QSIG. For Route Lists, see rule "Set QSIG on Route List" |
| Test Condition: | On Insert into Device |
|
| Rule (RI-263): |
| Type: | Active (Insert) |
| Rule Name: | Set QSIG on Device |
| Description: | When a device is inserted, the QSIG setting for the device is determined automatically as follows: For trunks other than Inter-cluster trunk, the device is treated as H.323; inter-cluster trunk is treated as Mixed-Non-QSIG. Digital Access PRI gateways using QSIG protocol are considered QSIG, H.323 Gateways are considered H.323, and all other gateways (including Digital Access PRI with a non-QSIG protocol) are Mixed-Non-QSIG. All other devices except Route Lists are considered Mixed-Non-QSIG. For Route Lists, see rule "Set QSIG on Route List" |
| Test Condition: | On Insert into Device |
|
| 2.3.77.124 tkreset (FI-3111) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Set by DeviceReset stored procedure. |
| 2.3.77.125 tkringsetting_dnd (FI-3288) |
| Type: | enum (Null OK) |
| Default Value: | NULL |
| Check Constraint: | ((tkRingSetting_DND = 1) OR (tkRingSetting_DND = 2) OR (tkRingSetting_DND = 5)) |
| Rule (RI-946): |
| Type: | Active (Insert/Update) |
| Rule Name: | Auto-fix for Dual Mode and Mobile Smart Client device settings |
| Description: | IF autofix is enabled AND IsDualMode='t' THEN SET tkRingSeting_DND = 1 i.e. disabled AND OR IF tkDevicePotocol=17 (MobileSmartClient) THEN SET tkRingSeting_DND = 1 i.e. disabled AND SET fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
| Test Condition: | IF g_enable_auto_fix = 't' AND IsDualMode='t' THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=NULL OR IF tkDevicePotocol=17 THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
|
| Rule (RI-946): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Auto-fix for Dual Mode and Mobile Smart Client device settings |
| Description: | IF autofix is enabled AND IsDualMode='t' THEN SET tkRingSeting_DND = 1 i.e. disabled AND OR IF tkDevicePotocol=17 (MobileSmartClient) THEN SET tkRingSeting_DND = 1 i.e. disabled AND SET fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
| Test Condition: | IF g_enable_auto_fix = 't' AND IsDualMode='t' THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=NULL OR IF tkDevicePotocol=17 THEN RETURN tkRingSetting_DND =1,fkMobileSmartClientProfile=(SELECT pkid FROM MobileSmartClientProfile WHERE IsStandard='t') |
|
| 2.3.77.126 tksipassertedtype (FI-3493) |
| Type: | enum |
| Default Value: | 0 |
| Rule (RFI-165): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkModel != 131 |
| Default: | 0 |
| Constraint: | tkSipAssertedType=0 |
| Remarks: | SIP Asserted Type only applies to SIP Trunk. Other Device should set to default (0) |
|
| Rule (RFI-169): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | IsPAIEnabled='f' |
| Constraint: | tkSIPAssertedType NOT IN (1,2) |
| Remarks: | When PAI feature is disabled, the SIP Asserted Type should be set to DEFAULT |
|
| 2.3.77.127 tksipcodec_mtppreferredorigcodec (FI-3015) |
| Type: | enum |
| Default Value: | 1 |
| Remarks: | Preferred Originating Codec (G711u, G711a, G729a, G729ab, G729b) |
| 2.3.77.128 tksipprivacy (FI-3489) |
| Type: | enum |
| Default Value: | 0 |
| Rule (RFI-164): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkModel != 131 |
| Default: | 0 |
| Constraint: | tkSipPrivacy=0 |
| Remarks: | SIP Privacy only applies to SIP Trunk. Other Device should set to default (0) |
|
| Rule (RFI-168): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | IsPAIEnabled='f' |
| Constraint: | tkSIPPrivacy NOT IN (1,2,6) |
| Remarks: | When PAI feature is disabled, the SIP Privacy Type should be set to DEFAULT |
|
| 2.3.77.129 tkstatus_alwaysuseprimeline (FI-3704) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Determines off-hook behavior of phones with active calls present |
| 2.3.77.130 tkstatus_alwaysuseprimelineforvm (FI-3705) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Determines Voice Message retreival behavior of phones |
| 2.3.77.131 tkstatus_audiblealertingbusy (FI-3531) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Indicates whether Audible Alert tone is played when phone is busy (call active); Default means use the Service Parameter setting |
| 2.3.77.132 tkstatus_audiblealertingidle (FI-3530) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Indicates whether Audible Alert tone is played when phone is idle (no call active); Default means use the Service Parameter setting |
| 2.3.77.133 tkstatus_builtinbridge (FI-1306) |
| Type: | enum |
| Default Value: | 2 |
| 2.3.77.134 tkstatus_devicemobilitymode (FI-3169) |
| Type: | enum |
| Default Value: | 2 |
| Rule (RI-821): |
| Type: | Active (Update) |
| Rule Name: | when device.tkStatus_DeviceMobilityMode is set to 0 - off, then set the DeviceMobilityDynamic.fkDevicePool_DeviceMobility |
| Description: | Need to add a rule that sets (UPDATE) the fkDevicePool_DeviceMobility to NULL when we disable the devicemobility of the device |
| Test Condition: | ON UPDATE, IF(device.tkStatus_DeviceMobilityMode=0) Then DeviceMobilityDynamic.fkDevicePool_DeviceMobility= NULL; |
|
| 2.3.77.135 tkstatus_joinacrosslines (FI-3465) |
| Type: | enum |
| Default Value: | 2 |
| Rule (RFI-194): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | IsProtected ='t' |
| Constraint: | tkStatus_joinacrosslines=0 |
| Remarks: | Protected phone cannot have Join Across Line Features active |
|
| Rule (RI-415): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Join Across Lines Restriction |
| Description: | Only devices that support Join Across lines can have a value other than zero for tkStatus_joinacrosslines |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 78 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Join Across Lines can only be set for devices that have the Join Across Lines Feature |
| Remedy: | Check the Join Across Lines feature support and device type before specifying a Join Across Lines value. |
|
| Rule (RI-415): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Join Across Lines Restriction |
| Description: | Only devices that support Join Across lines can have a value other than zero for tkStatus_joinacrosslines |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 78 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | Join Across Lines can only be set for devices that have the Join Across Lines Feature |
| Remedy: | Check the Join Across Lines feature support and device type before specifying a Join Across Lines value. |
|
| 2.3.77.136 tkstatus_mlppindicationstatus (FI-1302) |
| Type: | enum |
| Default Value: | 0 |
| Rule (RI-73): |
| Type: | Default (Defines a default value) |
| Rule Name: | MLPP Indication Default Setting |
| Description: | If a product supports MLPP Indication (SUPPORTS_FEATURE_MLPP), then the Default value is STATUS_DEFAULT; otherwise the default value is STATUS_OFF |
| Test Condition: | IF (SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 34 AND tkProduct = @Device.tkProduct) = 0 THEN SET Device.tkStatus_MLPPIndicationStatus = 0 ELSE SET Device.tkStatus_MLPPIndicationStatus = 2 |
|
| Rule (RI-74): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MLPP Indication Restriction |
| Description: | Only devices that support MLPP Indication feature may set the Indication setting to a value other than OFF (0). |
| Test Condition: | IF ((SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 34 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) AND (Device.tkStatus_MLPPIndicationStatus != 0) THEN throw exception |
| Error Message: | MLPP Indication must be off on devices that do not support the MLPP Indication feature. |
| Remedy: | Check the MLPP Indication feature support and device type and try again. |
|
| Rule (RI-74): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | MLPP Indication Restriction |
| Description: | Only devices that support MLPP Indication feature may set the Indication setting to a value other than OFF (0). |
| Test Condition: | IF ((SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 34 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99)) = 0) AND (Device.tkStatus_MLPPIndicationStatus != 0) THEN throw exception |
| Error Message: | MLPP Indication must be off on devices that do not support the MLPP Indication feature. |
| Remedy: | Check the MLPP Indication feature support and device type and try again. |
|
| Rule (RI-711): |
| Type: | Active (Update) |
| Rule Name: | Configuration of E1 links that are PRI EURO protocol type for MLPP is allowed. |
| Description: | If device is E1 and MLPP Indication <> 0 Or MLPP Preemption <> 0 Then if PriProtocol <> PRI_EURO then throw exception |
| Test Condition: | On update of Device Table |
|
| 2.3.77.137 tkstatus_usetrustedrelaypoint (FI-3478) |
| Type: | enum (Indexed) |
| Default Value: | 2 |
| Remarks: | Indicates whether Trusted Relay Point should be used if available |
| 2.3.77.138 tkuserlocale (FI-1035) |
| Type: | enum (Null OK) |
| Default Value: | NULL |
| Remarks: | User local of device, see device pool if null |
| Rule (RI-75): |
| Type: | Validation (Insert/Update) |
| Rule Name: | User Locale Restriction |
| Description: | Only devices that support Localization feature use the User Locale setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 17 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | User Locale can only be set for devices that support the Localization feature. |
| Remedy: | Check the Localization feature support and device type before specifying a User Locale. |
|
| Rule (RI-75): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | User Locale Restriction |
| Description: | Only devices that support Localization feature use the User Locale setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 17 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | User Locale can only be set for devices that support the Localization feature. |
| Remedy: | Check the Localization feature support and device type before specifying a User Locale. |
|
| 2.3.77.139 transmitutf8 (FI-2094) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | If true, transmit utf8 calling party id |
| 2.3.77.140 unattended_port (FI-2398) |
| Type: | bool |
| Default Value: | FALSE |
| Rule (RI-613): |
| Type: | Validation (Insert/Update) |
| Rule Name: | EMCC SIP Trunk validation |
| Description: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
| Test Condition: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
| Error Message: | EMCC Trunk has to have SendGeolocation as true, MTPRequired as false, UnattendedPort as false |
|
| 2.3.77.141 unit (FI-925) |
| Type: | long |
| Default Value: | 0 |
| Rule (RI-119): |
| Type: | Active (Insert/Update/Delete records) This field is modified by this rule. |
| Rule Name: | MGCP Slot copy to Device Unit |
| Description: | MGCPDeviceMember table's Slot field value is copied to Device table's Unit field. |
| Test Condition: | UPDATE Device SET Unit = MGCPDeviceMember.Slot WHERE Device.pkid = MGCP.fkDevice |
|
| 2.3.77.142 unknownprefix (FI-3514) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Unknown Prefix |
| Rule (RFI-186): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkProduct NOT IN (2,1,90,55,52,10001,17,75,76,77,95,18) |
| Constraint: | (UnknownPrefix = '') OR (UnknownPrefix = 'Default') OR (UnknownPrefix = 'default') |
| Null Allowed: | null |
| Remarks: | Unknown Prefix should be empty for devices other than H323 gateways and trunks, MGCP T1/E1 PRI and BRI gateways, MGCP FXO Ports, and SIP trunks |
|
| Rule (RFI-258): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkProduct NOT IN (2,1,90,55,52,10001,17,75,76,77,95,18) |
| Constraint: | (UnknownStripDigits = '') OR (UnknownStripDigits IS NULL) |
| Null Allowed: | null |
| Remarks: | Unknown Strip Digits should be empty for devices other than H323 gateways and trunks, MGCP T1/E1 PRI and BRI gateways, MGCP FXO Ports, and SIP trunks |
|
| 2.3.77.143 unknownstripdigits (FI-5113) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (UnknownStripDigits >= 0) AND (UnknownStripDigits <= 24) |
| Remarks: | Unknown Strip Digits |
| Rule (RFI-229): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | (UnknownPrefix = 'Default') OR (UnknownPrefix = 'default') |
| Constraint: | UnknownStripDigits IS NULL |
| Remarks: | Cannot use UnknownStripDigits when the Default prefix is used. |
|
| 2.3.77.144 upgradefinishtime (FI-1917) |
| Type: | string [50] |
| Default Value: | EMPTY |
| 2.3.77.145 usedevicepoolcalledcssintl (FI-5198) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to true fkCallingSearchSpace_CalledIntl setting from Device Pool will be used and if false use setting on Device including NULL to mean no Calling Search Space |
| 2.3.77.146 usedevicepoolcalledcssnatl (FI-5197) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to true fkCallingSearchSpace_CalledNational setting from Device Pool will be used and if false use setting on Device including NULL to mean no Calling Search Space |
| 2.3.77.147 usedevicepoolcalledcsssubs (FI-5200) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to true fkCallingSearchSpace_CalledSubscriber setting from Device Pool will be used and if false use setting on Device including NULL to mean no Calling Search Space |
| 2.3.77.148 usedevicepoolcalledcssunkn (FI-5199) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to true fkCallingSearchSpace_CalledUnknown setting from Device Pool will be used and if false use setting on Device including NULL to mean no Calling Search Space |
| 2.3.77.149 usedevicepoolcdpntransformcss (FI-3509) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to true fkCallingSearchSpace_CdPNTransform setting from Device Pool will be used and if false use setting on Device including NULL to mean no Calling Search Space |
| 2.3.77.150 usedevicepoolcgpningressdn (FI-10058) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | Indicates whether to use fkCallingSearchSpace_CgpnIngressDN on this Device (this table) or from the Device Pool. |
| 2.3.77.151 usedevicepoolcgpntransformcss (FI-3521) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to true fkCallingSearchSpace_CgPNTransform setting from Device Pool will be used and if false use setting on Device including NULL to mean no Calling Search Space |
| 2.3.77.152 usedevicepoolcgpntransformcssintl (FI-5412) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to true fkCallingSearchSpace_CgpnTransform setting from Device Pool will be used and if false use setting on Device including NULL to mean no Calling Search Space |
| 2.3.77.153 usedevicepoolcgpntransformcssnatl (FI-5411) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to true fkCallingSearchSpace_CgpnTransform setting from Device Pool will be used and if false use setting on Device including NULL to mean no Calling Search Space |
| 2.3.77.154 usedevicepoolcgpntransformcsssubs (FI-5414) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to true fkCallingSearchSpace_CgpnTransform setting from Device Pool will be used and if false use setting on Device including NULL to mean no Calling Search Space |
| 2.3.77.155 usedevicepoolcgpntransformcssunkn (FI-5413) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to true fkCallingSearchSpace_CgpnTransform setting from Device Pool will be used and if false use setting on Device including NULL to mean no Calling Search Space |
| 2.3.77.156 usedevicepoolrdntransformcss (FI-9925) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | If set to true fkCallingSearchSpace_RdNTransform setting from Device Pool will be used and if false use setting on Device including NULL to mean no Calling Search Space |
| 2.3.77.157 userholdmohaudiosourceid (FI-838) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Rule (RI-61): |
| Type: | Validation (Insert/Update) |
| Rule Name: | User Hold Audio Source Restriction |
| Description: | Only devices that support Music On Hold feature use the User Hold Audio Source setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 4 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | User Hold Audio Source can only be used for devices that support the Music On Hold feature. |
| Remedy: | Check device type and Music On Hold feature support before specifying a User Hold Audio Source. |
|
| Rule (RI-61): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | User Hold Audio Source Restriction |
| Description: | Only devices that support Music On Hold feature use the User Hold Audio Source setting |
| Test Condition: | SELECT COUNT (*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 4 AND tkProduct = @Device.tkProduct AND tkDeviceProtocol IN (@Device.tkDeviceProtocol,99) |
| Error Message: | User Hold Audio Source can only be used for devices that support the Music On Hold feature. |
| Remedy: | Check device type and Music On Hold feature support before specifying a User Hold Audio Source. |
|
| 2.3.77.158 v150modemrelaycapable (FI-2165) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.77.159 versionstamp (FI-3128) |
| Type: | string [47] (Null OK) |
| Default Value: | 0000000000-c7a6c673-7479-46b0-839e-014d3d093963 |
| Remarks: | New guid plus seconds past midnight 1970 are concatenated |
| Rule (RI-216): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | device versionstamp |
| Description: | on change to anything in device xml file, update versionstamp |
| Test Condition: | update device |
|
| Rule (RI-216): |
| Type: | Active (Insert/Update) |
| Rule Name: | device versionstamp |
| Description: | on change to anything in device xml file, update versionstamp |
| Test Condition: | update device |
|
| Rule (RI-305): |
| Type: | Active (Insert) This field is modified by this rule. |
| Rule Name: | device insert versionstamp |
| Description: | on insert of a device, generate a deviceversionstamp record |
| Test Condition: | insert device |
|
| Rule (RI-305): |
| Type: | Active (Insert) |
| Rule Name: | device insert versionstamp |
| Description: | on insert of a device, generate a deviceversionstamp record |
| Test Condition: | insert device |
|
|
| Uniqueness: | No multicolumn uniqueness constraints |
| Constraints: |
| Rule (RFI-110): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | ( fkCallingSearchSpace IS NULL ) OR ( tkClass IN (1, 2, 8, 10, 13, 18, 20, 250, 251, 252, 253, 254) ) |
| Remarks: | CallingSearchSpace is not valid for this type of device |
|
| Rule (RFI-111): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | ( fkDevicePool IS NOT NULL ) OR ( tkClass IN (7, 15, 17, 250, 252, 253, 254)) OR (tkModel = 133) |
| Remarks: | A Device Pool is required for this device. |
|
| Rule (RFI-113): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | ( fkMediaResourceList IS NULL) OR ( tkClass IN (1, 2, 10, 13, 18, 20, 250, 251, 252, 253)) |
| Remarks: | Media Resource List is not valid for this type of device. |
|
| Rule (RFI-114): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | ( ( fkProcessNode IS not NULL) OR ( tkModel not IN (50, 70, 110, 126))) AND ( (fkProcessNode IS NULL) OR ( tkModel IN (50, 70, 110, 126))) |
| Remarks: | A Server (Process Node) is required for this device OR this device cannot be assigned to a Server (ProcessNode). |
|
| Rule (RFI-115): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | (fkProcessNode IS NULL) OR ( fkProcessNode <> '00000000-111-0000-0000-000000000000') |
| Remarks: | Devices cannot be assigned to the reserved Enterprise Node (system Process Node). |
|
| Rule (RFI-119): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | ( fkMlppDomain IS NULL) OR ( tkClass IN (1, 2, 8, 10, 13, 18, 20, 250, 251, 252, 253, 254)) |
| Remarks: | MLPP Domain ID is not valid for this type of device. |
|
| Rule (RFI-120): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | ( RouteListEnabled <> 't') OR ( tkModel = 90) |
| Remarks: | Route List Enabled can be true only for Route List devices. |
|
| Rule (RFI-121): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | ( fkEndUser IS NULL) OR ( tkClass IN (1, 10, 13, 253, 254)) |
| Remarks: | End Users can only own or log into Phones and CTI Route Points. |
|
| Rule (RFI-198): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | (IsDualMode = 'f' AND tkDeviceProtocol <> 17) OR (tkRingSetting_DND = 1) |
| Remarks: | Ring Setting for DND must be Disabled (1) for Dual Mode and Mobile Smart Client devices |
|
| Rule (RFI-262): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | (AllowHotelingFlag='t') AND (tkStatus_DeviceMobilityMode=1) OR (tkProduct!=15) |
| Remarks: | AllowHoteling and DeviceMobilityMode for the EMCC base phone needs to be on |
|
| Rule (RFI-310): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | ( NOT EXISTS (SELECT 1 FROM LicenseServer LS, TypeLicensingState TLS WHERE TLS.enum = LS.tkLicensingState AND NOT TLS.AllowProvisioning)) |
| Remarks: | The system has exceeded its time limit to resolve license non-compliance issue. No more provisioning operations are allowed until the license compliance issues are resolved. |
|
|
| Rules: |
| Rule (RI-2): |
| Type: | Active (Insert) Rule applied when record is inserted. |
| Rule Name: | Generate CTI ID value |
| Description: | On insert of a new record generate a unique 32-bit integer value and store the result in the CTI ID field |
| Test Condition: | On Insert |
|
| Rule (RI-15): |
| Type: | Documentation (Developer notes only) Rule applied when record is inserted. |
| Rule Name: | AnalogAccess record required |
| Description: | Devices with the Analog Access Device Protocol should always have a corresponding record in the AnalogAccess table, and port information in the AnalogAccessPort table |
| Test Condition: | Device.tkDeviceProtocol = 3 |
|
| Rule (RI-20): |
| Type: | Active (Insert/Update) This table is modified by this rule. |
| Rule Name: | Autogenerate Device Profile for EM |
| Description: | When EM is on (Device.AllowHotelingFlag = true), if the default Device Profile (ikDevice_DefaultProfile) does not reference a User Device Profile or the AutoGenerated Device Profile for the current device, generate a profile based on the device settings (after all changes are committed), and then set ikDevice_DefaultProfile to the pkid of the autogenerated Device Profile. The Autogenerated Device Profile uses "ADP" prefixed on current MAC address for a name (in place of SEP), and contains a copy of a subset of the settings of the current device, including information in related (child) tables like Telecaster, Speed Dial, DeviceNumPlanMap, etc. |
| Test Condition: | Device.AllowHotelingFlag = true |
|
| Rule (RI-21): |
| Type: | Active (Update/Delete) Rule applied when record is deleted. |
| Rule Name: | Remove Autogenerated Device Profile |
| Description: | When a real phone with an Autogenerated Device Profile (for Extension Mobility) is deleted, or if Device.ikDevice_DefaultProfile is cleared, the Autogenerated Device Profile must be deleted. |
| Test Condition: | If ( (@Device.ikDevice_DefaultProfile IS NULL AND @Device.AllowHotelingFlag = FALSE) OR (Device is deleted) ) Then (DELETE FROM Device WHERE Device.pkid = @Device.ikDevice_DefaultProfile AND Device.tkDeviceProfile = 2) |
|
| Rule (RI-23): |
| Type: | Active (Insert/Update/Delete records) This table is modified by this rule. |
| Rule Name: | Synchronize Autogenerated Profile |
| Description: | If the Enterprise Parameter for Autosync Profiles is true, the device referenced by Device.ikDevice_DefaultProfile, if it is an autogenerated profile, must be updated to match the settings of the phone |
| Test Condition: | If ( (SELECT COUNT(*) FROM ProcessConfig WHERE ParamName = 'enableAutoDeviceProfileSynChronize' AND ParamValue = 'T') AND (SELECT COUNT(*) FROM Device WHERE Device.pkid = @Device.ikDevice_DefaultProfile AND Device.tkDeviceProfile = 2) ) Then update (refresh) Autogenerated Device Profile |
|
| Rule (RI-66): |
| Type: | Active (Insert) Rule applied when record is inserted. |
| Rule Name: | Set tkClass on Insert |
| Description: | The class of a device is determined by the settings in the TypeModel table in the database. A device's class is set at insert and cannot be modified. Class is determined by Model, and Model is determined by Product. |
| Test Condition: | SET Device.tkClass = (SELECT tkClass FROM TypeModel WHERE Enum = (SELECT tkModel FROM TypeProduct WHERE Enum = @Device.tkProduct)) |
|
| Rule (RI-67): |
| Type: | Active (Insert) Rule applied when record is inserted. |
| Rule Name: | Set tkModel on Insert |
| Description: | The model of a device is determined by the settings in the TypeProduct table in the database. A device's model is set at insert and cannot be modified. |
| Test Condition: | SET Device.tkModel = (SELECT tkModel FROM TypeProduct WHERE Enum = @Device.tkProduct) |
|
| Rule (RI-100): |
| Type: | Validation (Insert/Update) Rule applied when record is deleted. |
| Rule Name: | Cannot Delete Device with Logged In User |
| Description: | Cannot delete a phone with Extension Mobility enabled while a User is logged into the device. |
| Test Condition: | IF (Device.AllowHoteling = true) AND (Device.fkEndUser IS NOT NULL) THEN throw exception |
| Error Message: | Extension Mobility Device cannot be deleted while a User is logged in. |
| Remedy: | Log out the user and then delete the device. |
|
| Rule (RI-101): |
| Type: | Active (Insert/Update/Delete records) Rule applied when record is updated. This table is modified by this rule. |
| Rule Name: | Sync Device Profile on Device Changes |
| Description: | If the information related to a device with an autogenerated device profile changes, and the enterprise parameter for autosync profiles is true, then the autogenerated device profile must be re-generated. This includes changes to the DeviceAddonModuleMap, Telecaster, Telecaster SubscribedServices, SpeedDial, and DeviceNumPlanMap tables. |
| Test Condition: | (SELECT COUNT(*) FROM ProcessConfig WHERE (ParamName = 'AutosyncDeviceProfile') AND (ParamValue = 'T') > 0) AND (SELECT tkDeviceProfile FROM Device WHERE (pkid = @Device.ikDevice_DefaultDeviceProfile) = 2) AND (SELECT LoginTime FROM Device WHERE (pkid = @Device.pkid) != 0) |
|
| Rule (RI-188): |
| Type: | Active (Insert) Rule applied when record is inserted. This table is modified by this rule. |
| Rule Name: | Insert Media Streaming Devices |
| Description: | When a ProcessNodeService record for a Media Streaming service is inserted, database automatically inserts the four media streaming Device records for the service: Annunciator, Software Conference Bridge, Music On Hold, and Software MTP. In addition, a MOHServer record is inserted for the MOH device, and a MediaMixer record is inserted for the MTP device. |
| Test Condition: | On Insert to ProcessNodeService WHERE tkService=3 |
|
| Rule (RI-202): |
| Type: | Active (Insert/Update/Delete records) Rule applied when record is inserted or updated. This table is modified by this rule. |
| Rule Name: | Generate Default Device Profile for Model |
| Description: | Create a Default Device Profile for a device type if one does not already exist, and extension mobility is enabled on a device of that type (e.g., create the Default Device Profile for a Cisco 7960 if it does not exist and EM is enabled on a 7960). |
| Test Condition: | IF (NEW.AllowHotelingFlag is true) and ((select count(*) from device where tkmodel = NEW.tkmodel and tkdeviceprofile = 3) = 0) |
| Error Message: | No default model profile, no mismatch login performed |
|
| Rule (RI-310): |
| Type: | Active (Update) Rule applied when record is updated. |
| Rule Name: | (obsolete) Insert DeviceEMSyn record if auto sync of auto generated profile is needed |
| Description: | When EM is on (Device.AllowHotelingFlag = true), if the default Device Profile is the auto generated Device Profile for the current device, and the value of service parameter (enableAutoDeviceProfileSynChronize) is true, then insert a record into DeviceEMSyn table with the pkid of auto-generated profile and the pkid of the current device. Later DbMon will process the change notification of DeviceEMSyn to re-generate the auto-generated profile of the current device. |
| Test Condition: | Device.AllowHotelingFlag = true |
|
| Rule (RI-468): |
| Type: | Active (Delete) Rule applied when record is deleted. |
| Rule Name: | Remove default intercom device from Numplan when Device is Deleted |
| Description: | When a device is deleted, update all Numplan records where this device is used as fkDevice_IntercomDefault |
| Test Condition: | ON DELETE in Device: UPDATE Numplan set fkDevice_IntercomDefault = NULL WHERE fkDevice_IntercomDefault = @pkid |
|
|
| 2.3.78 deviceaddonmodulemap (TI-167) |
| Description: | Map device to phone template for add-on-modules
|
| Fields: |
| 2.3.78.1 fkdevice (FI-979) |
| Type: | guid (Cascade Delete) |
| Rule (RI-77): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DeviceAddOnModule Limit & KEM(s) can only be added to devices that support them |
| Description: | The number of Add-on Modules supported by a device (phone) is indicated in the MaxAddOnModules column of the TypeProduct table. When a record is inserted into the DeviceAddonModuleMap table, the number of records for the specified device cannot exceed the MaxAddOnModules for that device type (product). Also, The KEM can only be assigned to a phone that supports it. |
| Test Condition: | ON INSERT/UPDATE INTO DeviceAddonModuleMap (IF (SELECT COUNT(*) FROM DeviceAddonModuleMap WHERE fkDevice = @Device.pkid) > (SELECT MaxAddOnModules FROM TypeProduct WHERE Enum = @Device.tkProduct) THEN throw exception. |
| Error Message: | Cannot insert additional Add-on Modules for this device OR This Device Model does not support this type of expansion module. |
| Remedy: | Check the number of Add-on Modules supported and configured for this device and try again OR this Device Model does not support this type of expansion module. |
|
| Rule (RI-176): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device Add-on Module Map Model Restriction |
| Description: | The model referenced by a DeviceAddonModuleMap record must be in the Add-on Module class (16). |
| Test Condition: | IF (@DeviceAddonModuleMap.tkModel NOT IN (SELECT Enum FROM TypeModel WHERE tkClass = 16)) THEN throw exception |
| Error Message: | The specified Model is not an Add-on Module. |
| Remedy: | Check the class of the model you selected to make sure it is an addon module, and try again. |
|
| Rule (RI-284): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | deviceaddonmodulemap versionstamp |
| Description: | on change to anything in deviceaddonmodulemap table, update devicerelatedversionstamp versionstamp |
| Test Condition: | update devicerelatedversionstamp |
|
| Rule (RI-469): |
| Type: | Validation (Insert/Update) |
| Rule Name: | KEM(s) cannot not be mixed on the same device |
| Description: | If the KEM has been set to one type on a given device it cannot be assigned a second KEM of another type |
| Test Condition: | ON INSERT/UPDATE IN DeviceAddOnModuleMap: SELECT tkmodel INTO theModel from DeviceAddOnModuleMap where pkid <> new_Pkid and fkdevice = new_fkdevice; IF (new_tkmodel <> theModel) THEN theMoniker='DEVICE_KEM_MIXED_TYPES'; END IF; |
| Error Message: | Expansion Modules can not be of mixed types. |
| Remedy: | Two types of Expansion Modules have been selected for the same Device. Please select only one type of Expansion Module. |
|
| 2.3.78.2 moduleindex (FI-981) |
| Type: | long |
| Rule (RI-76): |
| Type: | Documentation (Developer notes only) This field is modified by this rule. |
| Rule Name: | DeviceAddOnModule Index |
| Description: | The configured Add-on Modules for a device (phone) should always start with ModuleIndex = 1 for that device. Whenever an Add-on Module is deleted from the DeviceAddonModuleMap table, the remaining record(s) are re-indexed to make sure that there is a module with ModuleIndex = 1. |
| Test Condition: | SELECT * FROM DeviceAddonModuleMap WHERE fkDevice = @Device.pkid ORDER BY ModuleIndex; DECL @Index = 1; FOR EACH record in resultset (SET ModuleIndex = @Index; @Index = @Index + 1) |
|
| 2.3.78.3 pkid (FI-978) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-469): |
| Type: | Validation (Insert/Update) |
| Rule Name: | KEM(s) cannot not be mixed on the same device |
| Description: | If the KEM has been set to one type on a given device it cannot be assigned a second KEM of another type |
| Test Condition: | ON INSERT/UPDATE IN DeviceAddOnModuleMap: SELECT tkmodel INTO theModel from DeviceAddOnModuleMap where pkid <> new_Pkid and fkdevice = new_fkdevice; IF (new_tkmodel <> theModel) THEN theMoniker='DEVICE_KEM_MIXED_TYPES'; END IF; |
| Error Message: | Expansion Modules can not be of mixed types. |
| Remedy: | Two types of Expansion Modules have been selected for the same Device. Please select only one type of Expansion Module. |
|
| 2.3.78.4 specialloadinformation (FI-988) |
| Type: | string [32] (Null OK) |
| Default Value: | NULL |
| Validation: | ^[a-zA-Z0-9._-]{0,32}$ |
| Remarks: | used only by addon with firmware |
| 2.3.78.5 tkmodel (FI-1620) |
| Type: | enum |
| Default Value: | 124 |
| Rule (RI-77): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DeviceAddOnModule Limit & KEM(s) can only be added to devices that support them |
| Description: | The number of Add-on Modules supported by a device (phone) is indicated in the MaxAddOnModules column of the TypeProduct table. When a record is inserted into the DeviceAddonModuleMap table, the number of records for the specified device cannot exceed the MaxAddOnModules for that device type (product). Also, The KEM can only be assigned to a phone that supports it. |
| Test Condition: | ON INSERT/UPDATE INTO DeviceAddonModuleMap (IF (SELECT COUNT(*) FROM DeviceAddonModuleMap WHERE fkDevice = @Device.pkid) > (SELECT MaxAddOnModules FROM TypeProduct WHERE Enum = @Device.tkProduct) THEN throw exception. |
| Error Message: | Cannot insert additional Add-on Modules for this device OR This Device Model does not support this type of expansion module. |
| Remedy: | Check the number of Add-on Modules supported and configured for this device and try again OR this Device Model does not support this type of expansion module. |
|
| Rule (RI-469): |
| Type: | Validation (Insert/Update) |
| Rule Name: | KEM(s) cannot not be mixed on the same device |
| Description: | If the KEM has been set to one type on a given device it cannot be assigned a second KEM of another type |
| Test Condition: | ON INSERT/UPDATE IN DeviceAddOnModuleMap: SELECT tkmodel INTO theModel from DeviceAddOnModuleMap where pkid <> new_Pkid and fkdevice = new_fkdevice; IF (new_tkmodel <> theModel) THEN theMoniker='DEVICE_KEM_MIXED_TYPES'; END IF; |
| Error Message: | Expansion Modules can not be of mixed types. |
| Remedy: | Two types of Expansion Modules have been selected for the same Device. Please select only one type of Expansion Module. |
|
|
| Uniqueness: | fkdevice + moduleindex is unique. (MFI-33) |
| Rules: |
| Rule (RI-76): |
| Type: | Documentation (Developer notes only) Rule applied when record is deleted. |
| Rule Name: | DeviceAddOnModule Index |
| Description: | The configured Add-on Modules for a device (phone) should always start with ModuleIndex = 1 for that device. Whenever an Add-on Module is deleted from the DeviceAddonModuleMap table, the remaining record(s) are re-indexed to make sure that there is a module with ModuleIndex = 1. |
| Test Condition: | SELECT * FROM DeviceAddonModuleMap WHERE fkDevice = @Device.pkid ORDER BY ModuleIndex; DECL @Index = 1; FOR EACH record in resultset (SET ModuleIndex = @Index; @Index = @Index + 1) |
|
| Rule (RI-101): |
| Type: | Active (Insert/Update/Delete records) Rule applied when record is updated. This table is modified by this rule. |
| Rule Name: | Sync Device Profile on Device Changes |
| Description: | If the information related to a device with an autogenerated device profile changes, and the enterprise parameter for autosync profiles is true, then the autogenerated device profile must be re-generated. This includes changes to the DeviceAddonModuleMap, Telecaster, Telecaster SubscribedServices, SpeedDial, and DeviceNumPlanMap tables. |
| Test Condition: | (SELECT COUNT(*) FROM ProcessConfig WHERE (ParamName = 'AutosyncDeviceProfile') AND (ParamValue = 'T') > 0) AND (SELECT tkDeviceProfile FROM Device WHERE (pkid = @Device.ikDevice_DefaultDeviceProfile) = 2) AND (SELECT LoginTime FROM Device WHERE (pkid = @Device.pkid) != 0) |
|
|
| 2.3.79 devicecerdynamic (TI-1066) |
| Description: | Table for tracking off-premise capable devices for CER
Insert/Delete is not allowed. |
| Fields: |
| 2.3.79.1 allowoutboundcalls (FI-10033) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | Flag to allow OutboundCall |
| Rule (RI-931): |
| Type: | Active (Update) This field is modified by this rule. |
| Rule Name: | Update allowoutboundcalls flag |
| Description: | Update allowoutboundcalls column according to value of tke911locationstate |
| Test Condition: | Update allowoutboundcalls column according to value of tke911locationstate |
|
| Rule (RI-931): |
| Type: | Active (Update) |
| Rule Name: | Update allowoutboundcalls flag |
| Description: | Update allowoutboundcalls column according to value of tke911locationstate |
| Test Condition: | Update allowoutboundcalls column according to value of tke911locationstate |
|
| 2.3.79.2 datetimestamp (FI-10276) |
| Type: | long (Not Modifiable) |
| Default Value: | 0 |
| Remarks: | Time value for last change (for replication conflict resolution). |
| Rule (RI-400): |
| Type: | Active (Insert/Update) |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| Rule (RI-400): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| 2.3.79.3 fkdevice (FI-10032) |
| Type: | guid (Cascade Delete, Null OK) |
| Default Value: | NULL |
| Remarks: | Foreign key to Device table |
| 2.3.79.4 pkid (FI-10031) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record |
| Rule (RI-931): |
| Type: | Active (Update) |
| Rule Name: | Update allowoutboundcalls flag |
| Description: | Update allowoutboundcalls column according to value of tke911locationstate |
| Test Condition: | Update allowoutboundcalls column according to value of tke911locationstate |
|
| 2.3.79.5 sendxsi (FI-10034) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | Indication to CUCM for sending XSI to device |
| 2.3.79.6 tke911locationstate (FI-10272) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | Reference to TypeE911LocationState |
| Rule (RI-931): |
| Type: | Active (Update) |
| Rule Name: | Update allowoutboundcalls flag |
| Description: | Update allowoutboundcalls column according to value of tke911locationstate |
| Test Condition: | Update allowoutboundcalls column according to value of tke911locationstate |
|
| 2.3.79.7 url (FI-10035) |
| Type: | string [250] |
| Default Value: | EMPTY |
| Remarks: | URL to CER user page |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.80 devicefeaturemember (TI-209) |
| Description: | Generic table for associating a list of features with a device
|
| Fields: |
| 2.3.80.1 fkdevice_group (FI-1371) |
| Type: | guid (Cascade Delete) |
| 2.3.80.2 member (FI-1373) |
| Type: | string [100] |
| Default Value: | EMPTY |
| 2.3.80.3 pkid (FI-1370) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.80.4 selectionorder (FI-1374) |
| Type: | long |
| 2.3.80.5 tkdevicefeature (FI-1372) |
| Type: | enum |
|
| Uniqueness: | fkdevice_group + tkdevicefeature is unique. (MFI-35) |
| 2.3.81 devicehlogdynamic (TI-437) |
| Description: | Frequently updated settings for Hunt Group Log In/Out
Insert/Delete is not allowed. |
| Fields: |
| 2.3.81.1 datetimestamp (FI-3308) |
| Type: | long |
| Default Value: | 0 |
| Rule (RI-400): |
| Type: | Active (Insert/Update) |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| Rule (RI-400): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| 2.3.81.2 fkdevice (FI-3307) |
| Type: | guid (Unique, Cascade Delete) |
| 2.3.81.3 hlog (FI-3166) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | By default a Hunt List to which a device belongs will extend calls to the device (logged in when hlog = true). When hlog is set to false, Hunt List will not extend calls to this device (logged out swhen hlog = false) |
| 2.3.81.4 pkid (FI-3306) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.82 devicemanagementinfo (TI-973) |
| Description: | This table is used to store the http information for MCU Conference Bridge.
|
| Fields: |
| 2.3.82.1 fkdevice (FI-9862) |
| Type: | guid (Unique, Indexed, Cascade Delete) |
| Migration Source: | convert from DeviceName |
| Remarks: | Refers to the device record for MCU Conference bridge. |
| 2.3.82.2 managementport (FI-9865) |
| Type: | long |
| Default Value: | 80 |
| Check Constraint: | (ManagementPort >=0) AND (ManagementPort <= 65535) |
| Remarks: | Http Port No |
| 2.3.82.3 password (FI-9864) |
| Type: | string [128] |
| Validation: | ^[^\x00-\x1F\x7F]{1,31}$ |
| Remarks: | Used for Authentication |
| 2.3.82.4 pkid (FI-9861) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.82.5 usehttps (FI-10183) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Flag to use HTTPS port, this would ensure that all the message interactions are through Secure port |
| 2.3.82.6 username (FI-9863) |
| Type: | string [128] |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F\x7F]{1,31}$ |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.83 devicemobilitydynamic (TI-436) |
| Description: | Frequently updated settings for Mobility
Insert/Delete is not allowed. |
| Fields: |
| 2.3.83.1 datetimestamp (FI-3305) |
| Type: | long |
| Default Value: | 0 |
| Rule (RI-400): |
| Type: | Active (Insert/Update) |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| Rule (RI-400): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| 2.3.83.2 fkdevice (FI-3304) |
| Type: | guid (Unique, Cascade Delete) |
| 2.3.83.3 fkdevicepool_devicemobility (FI-3165) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.83.4 pkid (FI-3303) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.83.5 versionstamp (FI-3451) |
| Type: | string [47] (Null OK) |
| Default Value: | 0000000000-c7a6c673-7479-46b0-839e-014d3d093963 |
| Remarks: | New guid is generated every time this device is updated |
| Rule (RI-413): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | DeviceMobilityDynamic versionstamp |
| Description: | update versionstamp in DeviceMobilityDynamic |
| Test Condition: | update DeviceMobilityDynamic |
|
| Rule (RI-413): |
| Type: | Active (Insert/Update) |
| Rule Name: | DeviceMobilityDynamic versionstamp |
| Description: | update versionstamp in DeviceMobilityDynamic |
| Test Condition: | update DeviceMobilityDynamic |
|
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.84 devicemobilitygroup (TI-423) |
| Description: | Used for Device Mobility
|
| Fields: |
| 2.3.84.1 description (FI-3170) |
| Type: | string [200] |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F""%&<>]{0,50}$ |
| 2.3.84.2 name (FI-3171) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z 0-9._-]{1,50}$ |
| 2.3.84.3 pkid (FI-3172) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.85 devicemobilityinfo (TI-427) |
| Description: | Device Mobility Mapping
|
| Fields: |
| 2.3.85.1 name (FI-3173) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z 0-9._-]{1,50}$ |
| 2.3.85.2 pkid (FI-3174) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.85.3 subnet (FI-3175) |
| Type: | string [15] |
| Validation: | ^(22[0-3]|2[01][0-9]|1[0-9]{2}|[1-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}$ |
| Rule (RI-349): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DeviceMobilityInfo.SubnetMask first octect restriction |
| Description: | The first octect of the Subnet mask for DeviceMobilityInfo must be 223 or |
| Test Condition: | ON INSERT/UPDATE in DeviceMobilityInfo: If (first octet of dotted decimal IP address > 223) then throw exception; |
| Error Message: | The subnet mask is out of range. |
| Remedy: | Make sure the first octet value is 223 or less. |
|
| Rule (RI-356): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DeviceMobilityInfo SubnetMask and Size must match |
| Description: | The subnet mask and the mask size setting must match. |
| Test Condition: | ON INSERT/UPDATE |
| Error Message: | Subnet mask and mask size do not match |
| Remedy: | Change the subnet mask to match the size |
|
| 2.3.85.4 subnetmasksz (FI-3176) |
| Type: | long |
| Check Constraint: | (SubNetMaskSz >= 0) AND (SubNetMaskSz <= 32) |
| Rule (RI-356): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DeviceMobilityInfo SubnetMask and Size must match |
| Description: | The subnet mask and the mask size setting must match. |
| Test Condition: | ON INSERT/UPDATE |
| Error Message: | Subnet mask and mask size do not match |
| Remedy: | Change the subnet mask to match the size |
|
|
| Uniqueness: | subnet + subnetmasksz is unique. (MFI-101) |
| 2.3.86 devicenumplanmap (TI-77) |
| Description: | Ordered association of NumPlan records with a device (line appearance)
|
| Fields: |
| 2.3.86.1 busytrigger (FI-1350) |
| Type: | long |
| Default Value: | 1 |
| Check Constraint: | BusyTrigger > 0 |
| Rule (RI-79): |
| Type: | Default (Defines a default value) |
| Rule Name: | Busy Trigger Default Setting |
| Description: | When a device supports Multiple Call Display (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_MULTIPLE_CALL_DISPLAY), the default for Busy Trigger is the lesser of a) the Default BusyTrigger setting in the Product Supports Feature record's parameter value or b) the MaxCalls default for the current line. If the Multiple Call Display feature is not supported, BusyTrigger defaults to 2 if the device supports CallWaiting, or 1 if the device doesn't support Call Waiting (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_CALL_WAITING). |
| Test Condition: | SELECT ParamValue FROM ProductSupportsFeature WHERE (tkSupportsFeature = 30) AND (tkProduct = @Device.tkProduct) |
|
| Rule (RI-82): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Busy Trigger and No Call Waiting |
| Description: | Busy Trigger must be set to 1 if there is no record for current device type (Device.tkProduct) to indicate that the device supports Call Waiting (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_CALL_WAITING) (6) |
| Test Condition: | IF (SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 6 AND tkProduct = @Device.tkProduct) = 0 AND (DeviceNumPlanMap.BusyTrigger != 1) THEN throw exception |
| Error Message: | Busy Trigger cannot be greater than 1 because the specified device type does not support Call Waiting |
| Remedy: | Check the Call Waiting support and device type and try again. If the device does not support Call Waiting, Busy Trigger must be set to 1. |
|
| Rule (RI-94): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Maximum MaxCalls Per Device/Line |
| Description: | The upper limit for Maximum Calls for a Line Appearance (DeviceNumPlanMap.MaxCalls) is calculated on a per-line basis as follows: If the device supports feature Multiple Call Display (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_MULTIPLE_CALL_DISPLAY), the limit is read from the parameter in ProductSupportsFeature. The parameter indicates MaxCalls (total for device) : Default Max Calls : Default Busy Trigger. The current value must be less than MaxCalls limit for the device minus the sum of MaxCalls configured for all lines on the phone excluding the current line. If Multiple Call Display is not supported, MaxCalls is set to 2 |
| Test Condition: | ? |
|
| Rule (RI-94): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Maximum MaxCalls Per Device/Line |
| Description: | The upper limit for Maximum Calls for a Line Appearance (DeviceNumPlanMap.MaxCalls) is calculated on a per-line basis as follows: If the device supports feature Multiple Call Display (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_MULTIPLE_CALL_DISPLAY), the limit is read from the parameter in ProductSupportsFeature. The parameter indicates MaxCalls (total for device) : Default Max Calls : Default Busy Trigger. The current value must be less than MaxCalls limit for the device minus the sum of MaxCalls configured for all lines on the phone excluding the current line. If Multiple Call Display is not supported, MaxCalls is set to 2 |
| Test Condition: | ? |
|
| 2.3.86.2 callinfodisplaymask (FI-1351) |
| Type: | long |
| Default Value: | 9 |
| Check Constraint: | (CallInfoDisplayMask >= 0) AND (CallInfoDisplayMask <=15) |
| 2.3.86.3 ctiid (FI-600) |
| Type: | identity (Unique, Not Modifiable) |
| Migration Source: | NumPlan.ID |
| Remarks: | Trigger set on insert. 32 bit value for Computer Telephony Interface |
| Rule (RI-2): |
| Type: | Active (Insert) |
| Rule Name: | Generate CTI ID value |
| Description: | On insert of a new record generate a unique 32-bit integer value and store the result in the CTI ID field |
| Test Condition: | On Insert |
|
| Rule (RI-225): |
| Type: | Active (Insert) This field is modified by this rule. |
| Rule Name: | Increment DevNumPlanMap Ctiid |
| Description: | On Insert only |
| Test Condition: | ? |
|
| 2.3.86.4 dialplanwizardgenid (FI-678) |
| Type: | long (Indexed, Null OK) |
| Default Value: | NULL |
| Remarks: | This record created by DialPlanWizard |
| 2.3.86.5 display (FI-317) |
| Type: | string [120] |
| Default Value: | EMPTY |
| Validation: | ^[^]""""%<>[&|{}]{0,30}$ |
| Migration Source: | NumPlan.Display |
| Remarks: | The localized name to display for internal Caller ID |
| Rule (RI-83): |
| Type: | Warning (Message for UI only) |
| Rule Name: | Display Name (Caller ID) is a Number |
| Description: | Internal Caller ID should not appear to be a Directory Number because this could hide the actual calling number for call information. It is allowed, but not recommeded, where a specific Calling Number should appear that is different from the actual calling number. This does not effect the calling number sent in call setup messages. |
| Test Condition: | DeviceNumPlanMap.Display contains only digits |
| Error Message: | Display text for a line appearance is intended for displaying text such as a name instead of the directory number for internal calls. If you specify a number, the person receiving a call may not see the proper identity of the caller. |
|
| 2.3.86.6 displayascii (FI-1789) |
| Type: | string [30] |
| Default Value: | EMPTY |
| Validation: | ^[a-zA-Z0-9 !#$'()*+,./:;=?@\\^_`}~-]{0,30}$ |
| Remarks: | A safe version of the Caller ID Display text using only English letters (a to Z) and punctuation, used when endpoints are using different language groups. |
| Rule (RI-83): |
| Type: | Warning (Message for UI only) |
| Rule Name: | Display Name (Caller ID) is a Number |
| Description: | Internal Caller ID should not appear to be a Directory Number because this could hide the actual calling number for call information. It is allowed, but not recommeded, where a specific Calling Number should appear that is different from the actual calling number. This does not effect the calling number sent in call setup messages. |
| Test Condition: | DeviceNumPlanMap.Display contains only digits |
| Error Message: | Display text for a line appearance is intended for displaying text such as a name instead of the directory number for internal calls. If you specify a number, the person receiving a call may not see the proper identity of the caller. |
|
| 2.3.86.7 e164mask (FI-617) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_MASK |
| Default Value: | NULL |
| Validation: | ^[0-9*#+X]{0,24}$ |
| Remarks: | masked against NumPlan.DnOrPattern to get full number to display on Telecaster |
| 2.3.86.8 fkcallingsearchspace_monitoring (FI-3261) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | CallingSearchSpace used for monitoring if supported by associated device |
| Rule (RI-364): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Monitor feature restriction |
| Description: | The Monitor CSS can only be set on a line if the device supports the Monitor feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (@fkCallingSearchSpace_Monitoring IS NOT NULL) AND (SELECT tkProduct, tkDeviceProtocol from Device where pkid = @fkDevice) NOT IN (Select tkproduct, tkdeviceprotocol from PSF where tkSupportsFeature = SUPPORTS_FEATURE_MONITOR) THEN throw exception; |
| Error Message: | Monitoring is not supported on the device where this line appears |
| Remedy: | Do not set a Calling Search Space for Monitoring. |
|
| Rule (RI-364): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Monitor feature restriction |
| Description: | The Monitor CSS can only be set on a line if the device supports the Monitor feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (@fkCallingSearchSpace_Monitoring IS NOT NULL) AND (SELECT tkProduct, tkDeviceProtocol from Device where pkid = @fkDevice) NOT IN (Select tkproduct, tkdeviceprotocol from PSF where tkSupportsFeature = SUPPORTS_FEATURE_MONITOR) THEN throw exception; |
| Error Message: | Monitoring is not supported on the device where this line appears |
| Remedy: | Do not set a Calling Search Space for Monitoring. |
|
| 2.3.86.9 fkdevice (FI-281) |
| Type: | guid (Indexed, Cascade Delete) |
| Migration Source: | convert from NumPlan.DeviceName |
| Rule (RI-82): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Busy Trigger and No Call Waiting |
| Description: | Busy Trigger must be set to 1 if there is no record for current device type (Device.tkProduct) to indicate that the device supports Call Waiting (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_CALL_WAITING) (6) |
| Test Condition: | IF (SELECT COUNT(*) FROM ProductSupportsFeature WHERE tkSupportsFeature = 6 AND tkProduct = @Device.tkProduct) = 0 AND (DeviceNumPlanMap.BusyTrigger != 1) THEN throw exception |
| Error Message: | Busy Trigger cannot be greater than 1 because the specified device type does not support Call Waiting |
| Remedy: | Check the Call Waiting support and device type and try again. If the device does not support Call Waiting, Busy Trigger must be set to 1. |
|
| Rule (RI-86): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Associate DNs with Devices |
| Description: | A Directory Number (NumPlan.tkPatternUsage = 2) can only be associated with Phones (including Device Profiles), CTI Route Points, and FXS Gateway Ports |
| Test Condition: | ? |
|
| Rule (RI-87): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Associate Route Pattern with Devices |
| Description: | A Route Pattern (NumPlan.tkPatternUsage = 5) can only be associated with a single Gateway, Trunk, Hunt List or Route List. |
| Test Condition: | ? |
|
| Rule (RI-88): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Associate Hunt Pilot with Hunt List |
| Description: | A Hunt Pilot (NumPlan.tkPatternUsage = 8) can only be associated with a single device which must be a Hunt List (Device.tkProduct = ?) |
| Test Condition: | ? |
|
| Rule (RI-89): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Route Group Member Exclusion |
| Description: | A Route Group cannot contain a device that already has an association to a Route Pattern, nor devices that are already members of a Route Group. |
| Test Condition: | ? |
|
| Rule (RI-90): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Gateway Port in Route Group |
| Description: | If an individual port on a gateway is assigned to a Route Group, the entire device cannot be assigned to a Route Group, nor can it be associated with a Route Pattern. The remaining individual ports can be assigned to the same or a different Route Group. |
| Test Condition: | ? |
|
| Rule (RI-91): |
| Type: | Validation (Insert/Update) |
| Rule Name: | NumPlan Associated with Device |
| Description: | Devices can only be associated with (DeviceNumPlanMap records may only reference NumPlan records for) DNs, Route Patterns and Hunt Pilots. |
| Test Condition: | ? |
|
| Rule (RI-92): |
| Type: | Validation (Insert/Update) |
| Rule Name: | No CTI Device in Line Group |
| Description: | CTI Ports and CTI Route Points may not be associated with DNs that are in Line Groups. (Temporary restriction pending CTI support for Line Groups and Hunt Lists.) |
| Test Condition: | ? |
|
| Rule (RI-93): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Shared Line Support Required |
| Description: | If product support for shared line is not present, DN cannot be associated with more than one device. |
| Test Condition: | IF (SELECT COUNT(*) FROM ProductSupportsFeature WHERE (tkSupportsFeature = 8) AND (tkProduct = @Device.tkProduct) = 0) AND (SELECT COUNT(*) FROM DeviceNumPlanMap WHERE (fkNumPlan = @NumPlan.pkid) > 1) THEN throw exception |
|
| Rule (RI-94): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Maximum MaxCalls Per Device/Line |
| Description: | The upper limit for Maximum Calls for a Line Appearance (DeviceNumPlanMap.MaxCalls) is calculated on a per-line basis as follows: If the device supports feature Multiple Call Display (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_MULTIPLE_CALL_DISPLAY), the limit is read from the parameter in ProductSupportsFeature. The parameter indicates MaxCalls (total for device) : Default Max Calls : Default Busy Trigger. The current value must be less than MaxCalls limit for the device minus the sum of MaxCalls configured for all lines on the phone excluding the current line. If Multiple Call Display is not supported, MaxCalls is set to 2 |
| Test Condition: | ? |
|
| Rule (RI-96): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AutoAnswer Device Support |
| Description: | The AutoAnswer setting for a DN can only be on when the DN is associated with a Device (or Device Profile) type that supports the Auto Answer feature. |
| Test Condition: | IF (NumPlan.tkAutoAnswer != 0) AND (SELECT COUNT (*) FROM ProductSupportsFeature WHERE (tkSupportsFeature = 7) AND (tkProduct = @Device.tkProduct) = 0) THEN throw exception |
| Error Message: | AutoAnswer is not valid for this Directory Number because it is not associated with a device that supports the AutoAnswer feature. |
| Remedy: | Set AutoAnswer to Off or associated the DN with a device that supports AutoAnswer and try again. |
|
| Rule (RI-136): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Device in Route Group or Route Pattern |
| Description: | Gateways and Trunks must not be in Route Groups if they are already associated with a Route Pattern, or in the case of FXS ports associated with a DN. |
| Test Condition: | IF (SELECT COUNT(*) FROM RouteGroupDeviceMap WHERE fkDevice = @RouteGroupDeviceMap.fkDevice AND Port = @RouteGroupDeviceMap.port) > 0) AND (SELECT COUNT(*) FROM DeviceNumPlanMap WHERE fkDevice = @DeviceNumPlanMap.fkDevice AND NumPlanIndex = @RouteGroupDeviceMap.Port) > 0) THEN throw exception |
| Error Message: | The selected device or part is already associated with a Route Pattern and cannot be added to a Route Group. |
| Remedy: | Remove the device or individual port from any associated Route Patterns and try again. |
|
| Rule (RI-191): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Devices assoc. with RP have matching Dial Plan |
| Description: | If a device record is associated with a Route Pattern via its presence in DeviceNumPlanMap then both the referred Dial Plans should match. |
| Test Condition: | On INSERT/UPDATE in DeviceNumPlanMap IF (@fkNumPlan.tkPatternUsage = 5) AND (@fkDevice.fkDialPlan <> @fkDevice.fkDialPlan) THEN throw Exception |
| Error Message: | The Dial Plan of the Device should match that of the associated Route Pattern |
| Remedy: | Add the matching Dial Plan to the associated Device |
|
| Rule (RI-207): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Associate VM Port DN with Voice Mail Port device |
| Description: | The NumPlan record associated with a Voice Mail Port device must be a VM Port DN (tkpatternusage = 8). VM Port cannot use a regular device DN (tkpatternusage = 2). |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF ((SELECT tkClass FROM Device WHERE pkid = @DeviceNumPlanMap.fkDevice) = 8) AND ((SELECT tkPatternUsage FROM NumPlan WHERE pkid = @DeviceNumPlanMap.fkNumPlan) <> 8) THEN throw exception |
| Error Message: | Cannot associate a DN or Pattern that is not a Voice Mail DN with a Voice Mail Port. |
| Remedy: | Make sure the DN or Pattern is a Voice Mail Port DN (not a regular device DN or other type of pattern). |
|
| Rule (RI-228): |
| Type: | Validation (Insert/Update) |
| Rule Name: | ValidateFXSPortDN |
| Description: | For CAT6K FXS ports. Model_Elvis type devices if there are more than one device/same dn associations in devicenumplanmap then its an error. |
| Test Condition: | ? |
| Error Message: | FXS port is not shareable. |
| Remedy: | ? |
|
| Rule (RI-229): |
| Type: | Validation (Insert/Update) |
| Rule Name: | ValidateDevNumPlanIndex |
| Description: | A device (phone) cannot have the same line more than once. |
| Test Condition: | ON INSERT/UPDATE INTO DeviceNumPlanMap IF (SELECT COUNT(*) INTO nRows FROM DeviceNumPlanMap WHERE (fkDevice = new_fkDevice) AND NumPlanIndex = new_NumPlanIndex) AND (fkPartitionUsage = new_tkPartitionUsage)) > 1 THEN throw exception; |
| Error Message: | Duplicate phone line. |
| Remedy: | ? |
|
| Rule (RI-231): |
| Type: | Active (Insert) |
| Rule Name: | ValidateInsertSucceeds |
| Description: | If a record exists in devicenumplanmap then update the corresponding numplan record to set its isCallable field to true |
| Test Condition: | ? |
| Error Message: | Could not update isCallable field for this numplan record. |
| Remedy: | ? |
|
| Rule (RI-266): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Assign numplan to class template for pattern_device |
| Description: | A numplan record with (tkpatternusage = PATTERN_DEVICE_TEMPLATE) can only be assigned to a device of class template |
| Test Condition: | ? |
| Error Message: | Could not associate fknumplan to fkdevice of class template |
| Remedy: | ? |
|
| Rule (RI-277): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | devicenumplanmap versionstamp |
| Description: | on change to anything in devicenumplanmap table, update devicerelatedversionstamp versionstamp |
| Test Condition: | update devicerelatedversionstamp |
|
| Rule (RI-287): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MWL Policy feature restriction |
| Description: | MWL Policy can be set to non-default only on devices that support the Message Waiting Lamp Policy feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (@tkMWLPolicy<>0) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_MWL_POLICY) THEN throw exception |
| Error Message: | Message Waiting Lamp Policy is not supported on the device where this line appears |
| Remedy: | Use the default MWL Policy setting. |
|
| Rule (RI-288): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Ring Setting feature restriction |
| Description: | Ring Settings can be set to non-default value only for devices that support the Disable Ring feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (tkRingSetting<>0) OR (tkRingSetting_Consecutive<>0) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_DISABLE_RING) THEN throw exception |
| Error Message: | Ring settings are not supported on the device where this line appears. |
| Remedy: | Use the default ring settings. |
|
| Rule (RI-350): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Ring Setting for Pickup Alert must be supported by device type |
| Description: | Ring Setting for Pickup Alert can only be set on lines associated with devices that support the feature |
| Test Condition: | ON INSERT/UPDATE in DeviceNumPlanMap: SELECT tkProduct, tkDeviceProtocol INTO product, protocol FROM Device WHERE pkid = new_fkDevice; SELECT count(*) INTO nRows FROM ProductSupportsFeature WHERE tkSupportsFeature = SUPPORTS_DISABLE_RING AND tkProduct = product AND tkProtocol IN (protocol, 99); IF (nRows = 0) AND (new_tkRingSetting_IdlePickupAlert IS NOT NULL) OR (new_tkRingSetting_ActivePickupAlert IS NOT NULL) THEN throw exception END IF; |
| Error Message: | This device does not support the Pickup Alert feature |
|
| Rule (RI-361): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Audible MWI feature restriction |
| Description: | Audible MWI status can be set to non-default only on devices that support the Message Waiting Lamp Policy feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (@tkMWLPolicy<>0) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_MWL_POLICY) THEN throw exception |
| Error Message: | Audible Message Waiting Indicator is not supported on the device where this line appears |
| Remedy: | Use the default Audible MWI status setting. |
|
| Rule (RI-362): |
| Type: | Active (Insert) |
| Rule Name: | Insert RecordDynamic record if recording is supported |
| Description: | For each line on a device that supports Recording, insert a record in RecordDynamic with a reference back to the new DeviceNumPlanMap record |
| Test Condition: | ON INSERT into DeviceNumPlanMap: INSERT INTO RecordDynamic (pkid, fkDeviceNumPlanMap) VALUES (newid(), @DeviceNumPlanMap.pkid) |
|
| Rule (RI-363): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Recording feature restriction |
| Description: | The recording profile can only be set on a line if the device supports the Recording feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (@fkRecordingProfile IS NOT NULL) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_RECORD) THEN throw exception |
| Error Message: | Recording is not supported on the device where this line appears |
| Remedy: | Do not set a Recording Profile. |
|
| Rule (RI-364): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Monitor feature restriction |
| Description: | The Monitor CSS can only be set on a line if the device supports the Monitor feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (@fkCallingSearchSpace_Monitoring IS NOT NULL) AND (SELECT tkProduct, tkDeviceProtocol from Device where pkid = @fkDevice) NOT IN (Select tkproduct, tkdeviceprotocol from PSF where tkSupportsFeature = SUPPORTS_FEATURE_MONITOR) THEN throw exception; |
| Error Message: | Monitoring is not supported on the device where this line appears |
| Remedy: | Do not set a Calling Search Space for Monitoring. |
|
| Rule (RI-419): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Intercom not compatible with Extension Mobility |
| Description: | An Intercom DN cannot be configured for a User Device Profile, even if that profile has a phone button template with the Intercom Feature. |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap: SELECT tkpatternusage INTO patternusage FROM NUMPLAN WHERE pkid = new_fkNumPlan; SELECT tkDeviceProfile INTO profiletype FROM Device WHERE pkid = new_fkDevice; IF (patternusage = 13 AND profiletype <> 0) THEN throw exception END IF; |
| Error Message: | Cannot assign an Intercom DN to a Device Profile or BAT Template |
| Remedy: | Intercom DN is not compatible with Extension Mobility. Assign Intercom DN directly to phones. |
|
| Rule (RI-488): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Log Missed Calls Option Restriction |
| Description: | Log Missed Calls Option (DeviceNumPlanMap.LogMissedCalls) can only be enabled if the device product and protocol support the Log Missed Calls Option feature (typesupportsfeature = 92) |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap: IF (NOT default option) THEN SELECT count(*) INTO nRows FROM ProductSupportsFeature WHERE tksupportsfeature = 92 and tkproduct = (new_tkproduct) and tkdeviceprotocol IN (new_tkdeviceprotocol, 99); IF (nRows = 0) THEN throw exception; END IF; END IF; |
| Error Message: | Log Missed Calls option can only be set for devices that support the feature. |
| Remedy: | Make sure the product and protocol support setting Log Missed Calls options, or leave the setting at its default. |
|
| Rule (RI-601): |
| Type: | Validation (Insert/Update) |
| Rule Name: | SAF CCD or EMCC or ViPR trunk not used by Route Group or Route Pattern |
| Description: | SAF CCD or EMCC or ViPR trunk can not be used by Route Group or Route Pattern |
| Test Condition: | SAF CCD or EMCC or ViPR trunk can not be added to Route Group or assigned to Route Pattern |
| Error Message: | SAF CCD or EMCC Trunk or ViPR can not be added to Route Group or assigned to Route Pattern |
|
| Rule (RI-942): |
| Type: | Active (Delete) |
| Rule Name: | Remove Associated Hunt Pilot Queue |
| Description: | When a hunt list is deleted, all associated huntpilotqueue table rows should to be deleted. |
| Test Condition: | ON DELETE FROM Device (DELETE FROM HuntPilotQueue WHERE fkNumplan_Pilot = DeviceNumplanMap.fkNumPlan) |
|
| 2.3.86.10 fknumplan (FI-316) |
| Type: | guid (Cascade Delete, Null OK) |
| Migration Source: | convert from NumPlan.DirectoryNumber |
| Rule (RI-85): |
| Type: | Active (Delete) |
| Rule Name: | Set unassociated DN IsCallable to False |
| Description: | When the last association between a DN and a device or profile is removed, set the IsCallable field for the DN's NumPlan record to false. |
| Test Condition: | ON DELETE from DeviceNumPlanMap IF (SELECT COUNT(*) FROM DeviceNumPlanMap WHERE (fkNumPlan = @NumPlan.pkid) = 0) THEN SET NumPlan.isCallable = 'F' |
|
| Rule (RI-86): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Associate DNs with Devices |
| Description: | A Directory Number (NumPlan.tkPatternUsage = 2) can only be associated with Phones (including Device Profiles), CTI Route Points, and FXS Gateway Ports |
| Test Condition: | ? |
|
| Rule (RI-87): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Associate Route Pattern with Devices |
| Description: | A Route Pattern (NumPlan.tkPatternUsage = 5) can only be associated with a single Gateway, Trunk, Hunt List or Route List. |
| Test Condition: | ? |
|
| Rule (RI-88): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Associate Hunt Pilot with Hunt List |
| Description: | A Hunt Pilot (NumPlan.tkPatternUsage = 8) can only be associated with a single device which must be a Hunt List (Device.tkProduct = ?) |
| Test Condition: | ? |
|
| Rule (RI-91): |
| Type: | Validation (Insert/Update) |
| Rule Name: | NumPlan Associated with Device |
| Description: | Devices can only be associated with (DeviceNumPlanMap records may only reference NumPlan records for) DNs, Route Patterns and Hunt Pilots. |
| Test Condition: | ? |
|
| Rule (RI-92): |
| Type: | Validation (Insert/Update) |
| Rule Name: | No CTI Device in Line Group |
| Description: | CTI Ports and CTI Route Points may not be associated with DNs that are in Line Groups. (Temporary restriction pending CTI support for Line Groups and Hunt Lists.) |
| Test Condition: | ? |
|
| Rule (RI-93): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Shared Line Support Required |
| Description: | If product support for shared line is not present, DN cannot be associated with more than one device. |
| Test Condition: | IF (SELECT COUNT(*) FROM ProductSupportsFeature WHERE (tkSupportsFeature = 8) AND (tkProduct = @Device.tkProduct) = 0) AND (SELECT COUNT(*) FROM DeviceNumPlanMap WHERE (fkNumPlan = @NumPlan.pkid) > 1) THEN throw exception |
|
| Rule (RI-96): |
| Type: | Validation (Insert/Update) |
| Rule Name: | AutoAnswer Device Support |
| Description: | The AutoAnswer setting for a DN can only be on when the DN is associated with a Device (or Device Profile) type that supports the Auto Answer feature. |
| Test Condition: | IF (NumPlan.tkAutoAnswer != 0) AND (SELECT COUNT (*) FROM ProductSupportsFeature WHERE (tkSupportsFeature = 7) AND (tkProduct = @Device.tkProduct) = 0) THEN throw exception |
| Error Message: | AutoAnswer is not valid for this Directory Number because it is not associated with a device that supports the AutoAnswer feature. |
| Remedy: | Set AutoAnswer to Off or associated the DN with a device that supports AutoAnswer and try again. |
|
| Rule (RI-171): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Multiple DeviceNumPlanMap for Shared DN Only |
| Description: | DeviceNumPlanMap may contain multiple records with the same fkNumPlan only if the referenced NumPlan record is a DN (type = Device). |
| Test Condition: | IF ((SELECT Count(*) FROM DeviceNumPlanMap WHERE fkNumPlan = @DeviceNumPlanMap.fkNumPlan) > 1 AND (SELECT tkPatternUsage FROM NumPlan WHERE pkid = @DeviceNumPlanMap.fkNumPlan) != 2) THEN throw exception |
| Error Message: | Only directory numbers can be shared by more than one device. |
| Remedy: | Check the type of NumPlan record you are associating with a device to make sure it is a DN, or if it is not a DN, check to make sure no other devices are associated with it. |
|
| Rule (RI-191): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Devices assoc. with RP have matching Dial Plan |
| Description: | If a device record is associated with a Route Pattern via its presence in DeviceNumPlanMap then both the referred Dial Plans should match. |
| Test Condition: | On INSERT/UPDATE in DeviceNumPlanMap IF (@fkNumPlan.tkPatternUsage = 5) AND (@fkDevice.fkDialPlan <> @fkDevice.fkDialPlan) THEN throw Exception |
| Error Message: | The Dial Plan of the Device should match that of the associated Route Pattern |
| Remedy: | Add the matching Dial Plan to the associated Device |
|
| Rule (RI-207): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Associate VM Port DN with Voice Mail Port device |
| Description: | The NumPlan record associated with a Voice Mail Port device must be a VM Port DN (tkpatternusage = 8). VM Port cannot use a regular device DN (tkpatternusage = 2). |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF ((SELECT tkClass FROM Device WHERE pkid = @DeviceNumPlanMap.fkDevice) = 8) AND ((SELECT tkPatternUsage FROM NumPlan WHERE pkid = @DeviceNumPlanMap.fkNumPlan) <> 8) THEN throw exception |
| Error Message: | Cannot associate a DN or Pattern that is not a Voice Mail DN with a Voice Mail Port. |
| Remedy: | Make sure the DN or Pattern is a Voice Mail Port DN (not a regular device DN or other type of pattern). |
|
| Rule (RI-228): |
| Type: | Validation (Insert/Update) |
| Rule Name: | ValidateFXSPortDN |
| Description: | For CAT6K FXS ports. Model_Elvis type devices if there are more than one device/same dn associations in devicenumplanmap then its an error. |
| Test Condition: | ? |
| Error Message: | FXS port is not shareable. |
| Remedy: | ? |
|
| Rule (RI-229): |
| Type: | Validation (Insert/Update) |
| Rule Name: | ValidateDevNumPlanIndex |
| Description: | A device (phone) cannot have the same line more than once. |
| Test Condition: | ON INSERT/UPDATE INTO DeviceNumPlanMap IF (SELECT COUNT(*) INTO nRows FROM DeviceNumPlanMap WHERE (fkDevice = new_fkDevice) AND NumPlanIndex = new_NumPlanIndex) AND (fkPartitionUsage = new_tkPartitionUsage)) > 1 THEN throw exception; |
| Error Message: | Duplicate phone line. |
| Remedy: | ? |
|
| Rule (RI-231): |
| Type: | Active (Insert) |
| Rule Name: | ValidateInsertSucceeds |
| Description: | If a record exists in devicenumplanmap then update the corresponding numplan record to set its isCallable field to true |
| Test Condition: | ? |
| Error Message: | Could not update isCallable field for this numplan record. |
| Remedy: | ? |
|
| Rule (RI-232): |
| Type: | Active (Update) |
| Rule Name: | checkIsCallableOnUpdate |
| Description: | Set isCallable field in numplan to true or false based on the fact if that numplan is referenced in DeviceNumPlanMap table. |
| Test Condition: | ? |
| Error Message: | resetIsCallable update did not succeed |
| Remedy: | ? |
|
| Rule (RI-266): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Assign numplan to class template for pattern_device |
| Description: | A numplan record with (tkpatternusage = PATTERN_DEVICE_TEMPLATE) can only be assigned to a device of class template |
| Test Condition: | ? |
| Error Message: | Could not associate fknumplan to fkdevice of class template |
| Remedy: | ? |
|
| Rule (RI-277): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | devicenumplanmap versionstamp |
| Description: | on change to anything in devicenumplanmap table, update devicerelatedversionstamp versionstamp |
| Test Condition: | update devicerelatedversionstamp |
|
| Rule (RI-366): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Intercom Line is not Shareable |
| Description: | An Intercom DN can appear on only one real device (but can also appear on a device profile) |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (SELECT COUNT(*) INTO nRows FROM DeviceNumPlanMap map INNER JOIN NumPlan ON NumPlan.pkid = map.fkNumPlan INNER JOIN Device ON Device.pkid = map.fkDevice WHERE NumPlan.tkPatternUsage = 13 AND Device.tkDeviceProfile = 0 AND map.fkNumPlan = new_fkNumPlan) > 1 THEN throw exception |
| Error Message: | Intercom DNs cannot appear on multiple devices |
| Remedy: | Create a separate Intercom DN for each device that requires intercom. |
|
| Rule (RI-419): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Intercom not compatible with Extension Mobility |
| Description: | An Intercom DN cannot be configured for a User Device Profile, even if that profile has a phone button template with the Intercom Feature. |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap: SELECT tkpatternusage INTO patternusage FROM NUMPLAN WHERE pkid = new_fkNumPlan; SELECT tkDeviceProfile INTO profiletype FROM Device WHERE pkid = new_fkDevice; IF (patternusage = 13 AND profiletype <> 0) THEN throw exception END IF; |
| Error Message: | Cannot assign an Intercom DN to a Device Profile or BAT Template |
| Remedy: | Intercom DN is not compatible with Extension Mobility. Assign Intercom DN directly to phones. |
|
| Rule (RI-473): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DN restrictions for Protected device (secure tone) |
| Description: | Do not allow a "protected" phone to have a shared line |
| Test Condition: | ON INSERT/UPDATE IN Device, DeviceNumplanMap: |
| Error Message: | Protected device can not support shared line. |
| Remedy: | Protected device does not support shared line. |
|
| Rule (RI-942): |
| Type: | Active (Delete) |
| Rule Name: | Remove Associated Hunt Pilot Queue |
| Description: | When a hunt list is deleted, all associated huntpilotqueue table rows should to be deleted. |
| Test Condition: | ON DELETE FROM Device (DELETE FROM HuntPilotQueue WHERE fkNumplan_Pilot = DeviceNumplanMap.fkNumPlan) |
|
| 2.3.86.11 fkrecordingprofile (FI-3260) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Profile used for Call Recording if supported by associated device |
| Rule (RI-363): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Recording feature restriction |
| Description: | The recording profile can only be set on a line if the device supports the Recording feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (@fkRecordingProfile IS NOT NULL) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_RECORD) THEN throw exception |
| Error Message: | Recording is not supported on the device where this line appears |
| Remedy: | Do not set a Recording Profile. |
|
| Rule (RI-363): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Recording feature restriction |
| Description: | The recording profile can only be set on a line if the device supports the Recording feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (@fkRecordingProfile IS NOT NULL) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_RECORD) THEN throw exception |
| Error Message: | Recording is not supported on the device where this line appears |
| Remedy: | Do not set a Recording Profile. |
|
| 2.3.86.12 label (FI-288) |
| Type: | string [120] |
| Default Value: | EMPTY |
| Validation: | ^[^""""]{0,30}$ |
| Migration Source: | NULL |
| Remarks: | The text that appears for the line button (allows Unicode). |
| 2.3.86.13 labelascii (FI-1788) |
| Type: | string [30] |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9 !#$%&'()*+<>=,./:;?@^[_`{|}~\\-]{0,30}$ |
| Remarks: | A safe version of the Line Button Label using only English letters (a to Z) and punctuation. |
| 2.3.86.14 logmissedcalls (FI-3712) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | Determines whether missed calls on this line appearance are shown in the call history for the phone. |
| Rule (RI-488): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Log Missed Calls Option Restriction |
| Description: | Log Missed Calls Option (DeviceNumPlanMap.LogMissedCalls) can only be enabled if the device product and protocol support the Log Missed Calls Option feature (typesupportsfeature = 92) |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap: IF (NOT default option) THEN SELECT count(*) INTO nRows FROM ProductSupportsFeature WHERE tksupportsfeature = 92 and tkproduct = (new_tkproduct) and tkdeviceprotocol IN (new_tkdeviceprotocol, 99); IF (nRows = 0) THEN throw exception; END IF; END IF; |
| Error Message: | Log Missed Calls option can only be set for devices that support the feature. |
| Remedy: | Make sure the product and protocol support setting Log Missed Calls options, or leave the setting at its default. |
|
| Rule (RI-488): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Log Missed Calls Option Restriction |
| Description: | Log Missed Calls Option (DeviceNumPlanMap.LogMissedCalls) can only be enabled if the device product and protocol support the Log Missed Calls Option feature (typesupportsfeature = 92) |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap: IF (NOT default option) THEN SELECT count(*) INTO nRows FROM ProductSupportsFeature WHERE tksupportsfeature = 92 and tkproduct = (new_tkproduct) and tkdeviceprotocol IN (new_tkdeviceprotocol, 99); IF (nRows = 0) THEN throw exception; END IF; END IF; |
| Error Message: | Log Missed Calls option can only be set for devices that support the feature. |
| Remedy: | Make sure the product and protocol support setting Log Missed Calls options, or leave the setting at its default. |
|
| 2.3.86.15 maxnumcalls (FI-1349) |
| Type: | long |
| Default Value: | 2 |
| Check Constraint: | (MaxNumCalls > 0) |
| Rule (RFI-145): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkPartitionUsage = 13 |
| Constraint: | (MaxNumCalls = 1) |
| Remarks: | MaxNumCalls for an Intercom line must be set to 1 |
|
| Rule (RI-80): |
| Type: | Default (Defines a default value) |
| Rule Name: | Max Calls Default Setting |
| Description: | Maximum Calls for a Line Appearance is calculated on a per-line basis as follows: If the device supports feature Multiple Call Display (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_MULTIPLE_CALL_DISPLAY), defaults are read from the parameter in ProductSupportsFeature. The parameter indicates MaxCalls (total for device) : Default Max Calls : Default Busy Trigger. The default MaxCalls for a device that supports this feature is the lesser of a) the Default MaxCalls setting in the parameter value or b) the total MaxCalls for the device minus the sum of MaxCalls settings for all other lines on the current device (excluding the current line). If the feature is not supported, MaxCalls is set to 2. |
| Test Condition: | SELECT ParamValue FROM ProductSupportsFeature WHERE (tkSupportsFeature = 30) AND (tkProduct = @Device.tkProduct) |
|
| Rule (RI-94): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Maximum MaxCalls Per Device/Line |
| Description: | The upper limit for Maximum Calls for a Line Appearance (DeviceNumPlanMap.MaxCalls) is calculated on a per-line basis as follows: If the device supports feature Multiple Call Display (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_MULTIPLE_CALL_DISPLAY), the limit is read from the parameter in ProductSupportsFeature. The parameter indicates MaxCalls (total for device) : Default Max Calls : Default Busy Trigger. The current value must be less than MaxCalls limit for the device minus the sum of MaxCalls configured for all lines on the phone excluding the current line. If Multiple Call Display is not supported, MaxCalls is set to 2 |
| Test Condition: | ? |
|
| Rule (RI-94): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Maximum MaxCalls Per Device/Line |
| Description: | The upper limit for Maximum Calls for a Line Appearance (DeviceNumPlanMap.MaxCalls) is calculated on a per-line basis as follows: If the device supports feature Multiple Call Display (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_MULTIPLE_CALL_DISPLAY), the limit is read from the parameter in ProductSupportsFeature. The parameter indicates MaxCalls (total for device) : Default Max Calls : Default Busy Trigger. The current value must be less than MaxCalls limit for the device minus the sum of MaxCalls configured for all lines on the phone excluding the current line. If Multiple Call Display is not supported, MaxCalls is set to 2 |
| Test Condition: | ? |
|
| 2.3.86.16 numplanindex (FI-282) |
| Type: | long |
| Migration Source: | NumPlan.Line |
| Remarks: | While this is unique per device, there is no requirement for the index to be sequential nor to begin with a particular value per device. |
| Rule (RI-86): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Associate DNs with Devices |
| Description: | A Directory Number (NumPlan.tkPatternUsage = 2) can only be associated with Phones (including Device Profiles), CTI Route Points, and FXS Gateway Ports |
| Test Condition: | ? |
|
| Rule (RI-87): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Associate Route Pattern with Devices |
| Description: | A Route Pattern (NumPlan.tkPatternUsage = 5) can only be associated with a single Gateway, Trunk, Hunt List or Route List. |
| Test Condition: | ? |
|
| Rule (RI-89): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Route Group Member Exclusion |
| Description: | A Route Group cannot contain a device that already has an association to a Route Pattern, nor devices that are already members of a Route Group. |
| Test Condition: | ? |
|
| Rule (RI-90): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Gateway Port in Route Group |
| Description: | If an individual port on a gateway is assigned to a Route Group, the entire device cannot be assigned to a Route Group, nor can it be associated with a Route Pattern. The remaining individual ports can be assigned to the same or a different Route Group. |
| Test Condition: | ? |
|
| Rule (RI-95): |
| Type: | Warning (Message for UI only) |
| Rule Name: | Deleting Line 1 from Phone |
| Description: | Warn user if Line 1 of a phone is not configured (or DN is removed) |
| Test Condition: | IF (SELECT COUNT (*) FROM DeviceNumPlanMap WHERE (NumPlanIndex = 1) AND (fkDevice = @Device.pkid) = 0) THEN warn |
| Error Message: | Deleting the directory number for Line 1 is not recommended because basic phone features require Line 1 to operate correctly. |
| Remedy: | Add a new DN to Line 1 of this phone to ensure that the other lines on this phone will work properly. |
|
| Rule (RI-229): |
| Type: | Validation (Insert/Update) |
| Rule Name: | ValidateDevNumPlanIndex |
| Description: | A device (phone) cannot have the same line more than once. |
| Test Condition: | ON INSERT/UPDATE INTO DeviceNumPlanMap IF (SELECT COUNT(*) INTO nRows FROM DeviceNumPlanMap WHERE (fkDevice = new_fkDevice) AND NumPlanIndex = new_NumPlanIndex) AND (fkPartitionUsage = new_tkPartitionUsage)) > 1 THEN throw exception; |
| Error Message: | Duplicate phone line. |
| Remedy: | ? |
|
| 2.3.86.17 pkid (FI-280) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | generated, new table gets all records in NumPlan |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-94): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Maximum MaxCalls Per Device/Line |
| Description: | The upper limit for Maximum Calls for a Line Appearance (DeviceNumPlanMap.MaxCalls) is calculated on a per-line basis as follows: If the device supports feature Multiple Call Display (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_MULTIPLE_CALL_DISPLAY), the limit is read from the parameter in ProductSupportsFeature. The parameter indicates MaxCalls (total for device) : Default Max Calls : Default Busy Trigger. The current value must be less than MaxCalls limit for the device minus the sum of MaxCalls configured for all lines on the phone excluding the current line. If Multiple Call Display is not supported, MaxCalls is set to 2 |
| Test Condition: | ? |
|
| Rule (RI-225): |
| Type: | Active (Insert) |
| Rule Name: | Increment DevNumPlanMap Ctiid |
| Description: | On Insert only |
| Test Condition: | ? |
|
| Rule (RI-228): |
| Type: | Validation (Insert/Update) |
| Rule Name: | ValidateFXSPortDN |
| Description: | For CAT6K FXS ports. Model_Elvis type devices if there are more than one device/same dn associations in devicenumplanmap then its an error. |
| Test Condition: | ? |
| Error Message: | FXS port is not shareable. |
| Remedy: | ? |
|
| Rule (RI-362): |
| Type: | Active (Insert) |
| Rule Name: | Insert RecordDynamic record if recording is supported |
| Description: | For each line on a device that supports Recording, insert a record in RecordDynamic with a reference back to the new DeviceNumPlanMap record |
| Test Condition: | ON INSERT into DeviceNumPlanMap: INSERT INTO RecordDynamic (pkid, fkDeviceNumPlanMap) VALUES (newid(), @DeviceNumPlanMap.pkid) |
|
| 2.3.86.18 speeddial (FI-3254) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Default Value: | NULL |
| Validation: | ^[0-9*#+]{0,48}$ |
| Remarks: | This is the number that the system dials when the user presses the feature (Intercom) button. |
| 2.3.86.19 tkmwlpolicy (FI-1076) |
| Type: | enum |
| Default Value: | 0 |
| Rule (RFI-146): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkPartitionUsage = 13 |
| Constraint: | (tkMWLPolicy = 0) |
| Remarks: | MWL Policy cannot be set for an Intercom line |
|
| Rule (RI-287): |
| Type: | Validation (Insert/Update) |
| Rule Name: | MWL Policy feature restriction |
| Description: | MWL Policy can be set to non-default only on devices that support the Message Waiting Lamp Policy feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (@tkMWLPolicy<>0) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_MWL_POLICY) THEN throw exception |
| Error Message: | Message Waiting Lamp Policy is not supported on the device where this line appears |
| Remedy: | Use the default MWL Policy setting. |
|
| 2.3.86.20 tkpartitionusage (FI-3253) |
| Type: | enum (Not Modifiable) |
| Default Value: | 99 |
| Check Constraint: | tkPartitionUsage!=21 |
| Remarks: | Identifies entries belonging to Line or Intercom features |
| Rule (RI-93): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Shared Line Support Required |
| Description: | If product support for shared line is not present, DN cannot be associated with more than one device. |
| Test Condition: | IF (SELECT COUNT(*) FROM ProductSupportsFeature WHERE (tkSupportsFeature = 8) AND (tkProduct = @Device.tkProduct) = 0) AND (SELECT COUNT(*) FROM DeviceNumPlanMap WHERE (fkNumPlan = @NumPlan.pkid) > 1) THEN throw exception |
|
| Rule (RI-94): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Maximum MaxCalls Per Device/Line |
| Description: | The upper limit for Maximum Calls for a Line Appearance (DeviceNumPlanMap.MaxCalls) is calculated on a per-line basis as follows: If the device supports feature Multiple Call Display (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_MULTIPLE_CALL_DISPLAY), the limit is read from the parameter in ProductSupportsFeature. The parameter indicates MaxCalls (total for device) : Default Max Calls : Default Busy Trigger. The current value must be less than MaxCalls limit for the device minus the sum of MaxCalls configured for all lines on the phone excluding the current line. If Multiple Call Display is not supported, MaxCalls is set to 2 |
| Test Condition: | ? |
|
| Rule (RI-229): |
| Type: | Validation (Insert/Update) |
| Rule Name: | ValidateDevNumPlanIndex |
| Description: | A device (phone) cannot have the same line more than once. |
| Test Condition: | ON INSERT/UPDATE INTO DeviceNumPlanMap IF (SELECT COUNT(*) INTO nRows FROM DeviceNumPlanMap WHERE (fkDevice = new_fkDevice) AND NumPlanIndex = new_NumPlanIndex) AND (fkPartitionUsage = new_tkPartitionUsage)) > 1 THEN throw exception; |
| Error Message: | Duplicate phone line. |
| Remedy: | ? |
|
| 2.3.86.21 tkringsetting (FI-575) |
| Type: | enum |
| Default Value: | 4 |
| Migration Source: | DeviceNumPlanMap.ringDisable |
| Rule (RFI-147): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkPartitionUsage = 13 |
| Constraint: | (tkRingSetting = 4) |
| Remarks: | Ring Setting (Idle) cannot be set for an Intercom line |
|
| Rule (RI-175): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Ring Setting Options for Idle Device |
| Description: | The options for Ring Setting on an idle phone do not include the beep option that is available when the phone is off-hook. Beep is not a valid option for the idle ring setting of a line (tkRingSetting), but is valid for the ring setting in active state (tkRingSetting_Consecutive). |
| Test Condition: | IF (@DeviceNumPlanMap.tkRingSetting NOT IN (SELECT Enum FROM TypeRingSetting WHERE isLineCompatible = 1)) THEN throw exception |
| Error Message: | The specified Ring Setting is not valid. |
| Remedy: | Use a Ring Setting that is line compatible (TypeRingSetting.isLineCompatible = 1). |
|
| Rule (RI-288): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Ring Setting feature restriction |
| Description: | Ring Settings can be set to non-default value only for devices that support the Disable Ring feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (tkRingSetting<>0) OR (tkRingSetting_Consecutive<>0) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_DISABLE_RING) THEN throw exception |
| Error Message: | Ring settings are not supported on the device where this line appears. |
| Remedy: | Use the default ring settings. |
|
| Rule (RI-288): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Ring Setting feature restriction |
| Description: | Ring Settings can be set to non-default value only for devices that support the Disable Ring feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (tkRingSetting<>0) OR (tkRingSetting_Consecutive<>0) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_DISABLE_RING) THEN throw exception |
| Error Message: | Ring settings are not supported on the device where this line appears. |
| Remedy: | Use the default ring settings. |
|
| 2.3.86.22 tkringsetting_activepickupalert (FI-3177) |
| Type: | enum (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (tkRingSetting_ActivePickupAlert = 0) OR (tkRingSetting_ActivePickupAlert = 1) OR (tkRingSetting_ActivePickupAlert = 5) |
| Remarks: | Pickup Audio Alert Settings |
| Rule (RFI-149): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkPartitionUsage = 13 |
| Constraint: | (tkRingSetting_ActivePickupAlert IS NULL) |
| Remarks: | Ring Setting (Idle Pickup Alert) cannot be set for an Intercom line (must be NULL) |
|
| Rule (RI-350): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Ring Setting for Pickup Alert must be supported by device type |
| Description: | Ring Setting for Pickup Alert can only be set on lines associated with devices that support the feature |
| Test Condition: | ON INSERT/UPDATE in DeviceNumPlanMap: SELECT tkProduct, tkDeviceProtocol INTO product, protocol FROM Device WHERE pkid = new_fkDevice; SELECT count(*) INTO nRows FROM ProductSupportsFeature WHERE tkSupportsFeature = SUPPORTS_DISABLE_RING AND tkProduct = product AND tkProtocol IN (protocol, 99); IF (nRows = 0) AND (new_tkRingSetting_IdlePickupAlert IS NOT NULL) OR (new_tkRingSetting_ActivePickupAlert IS NOT NULL) THEN throw exception END IF; |
| Error Message: | This device does not support the Pickup Alert feature |
|
| Rule (RI-350): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Ring Setting for Pickup Alert must be supported by device type |
| Description: | Ring Setting for Pickup Alert can only be set on lines associated with devices that support the feature |
| Test Condition: | ON INSERT/UPDATE in DeviceNumPlanMap: SELECT tkProduct, tkDeviceProtocol INTO product, protocol FROM Device WHERE pkid = new_fkDevice; SELECT count(*) INTO nRows FROM ProductSupportsFeature WHERE tkSupportsFeature = SUPPORTS_DISABLE_RING AND tkProduct = product AND tkProtocol IN (protocol, 99); IF (nRows = 0) AND (new_tkRingSetting_IdlePickupAlert IS NOT NULL) OR (new_tkRingSetting_ActivePickupAlert IS NOT NULL) THEN throw exception END IF; |
| Error Message: | This device does not support the Pickup Alert feature |
|
| 2.3.86.23 tkringsetting_consecutive (FI-1220) |
| Type: | enum (Null OK) |
| Default Value: | 0 |
| Rule (RFI-148): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkPartitionUsage = 13 |
| Constraint: | (tkRingSetting_Consecutive IS NULL) OR (tkRingSetting_Consecutive = 0) |
| Remarks: | Ring Setting (Active) cannot be set for an Intercom line |
|
| Rule (RI-288): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Ring Setting feature restriction |
| Description: | Ring Settings can be set to non-default value only for devices that support the Disable Ring feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (tkRingSetting<>0) OR (tkRingSetting_Consecutive<>0) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_DISABLE_RING) THEN throw exception |
| Error Message: | Ring settings are not supported on the device where this line appears. |
| Remedy: | Use the default ring settings. |
|
| Rule (RI-288): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Ring Setting feature restriction |
| Description: | Ring Settings can be set to non-default value only for devices that support the Disable Ring feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (tkRingSetting<>0) OR (tkRingSetting_Consecutive<>0) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_DISABLE_RING) THEN throw exception |
| Error Message: | Ring settings are not supported on the device where this line appears. |
| Remedy: | Use the default ring settings. |
|
| 2.3.86.24 tkringsetting_idlepickupalert (FI-3178) |
| Type: | enum (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (tkRingSetting_IdlePickupAlert =0) OR (tkRingSetting_IdlePickupAlert =1) OR (tkRingSetting_IdlePickupAlert =3) |
| Remarks: | Pickup Audio Alert Settings |
| Rule (RFI-150): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkPartitionUsage = 13 |
| Constraint: | (tkRingSetting_IdlePickupAlert IS NULL) |
| Remarks: | Ring Setting (Active Pickup Alert) cannot be set for an Intercom line (must be NULL) |
|
| Rule (RI-350): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Ring Setting for Pickup Alert must be supported by device type |
| Description: | Ring Setting for Pickup Alert can only be set on lines associated with devices that support the feature |
| Test Condition: | ON INSERT/UPDATE in DeviceNumPlanMap: SELECT tkProduct, tkDeviceProtocol INTO product, protocol FROM Device WHERE pkid = new_fkDevice; SELECT count(*) INTO nRows FROM ProductSupportsFeature WHERE tkSupportsFeature = SUPPORTS_DISABLE_RING AND tkProduct = product AND tkProtocol IN (protocol, 99); IF (nRows = 0) AND (new_tkRingSetting_IdlePickupAlert IS NOT NULL) OR (new_tkRingSetting_ActivePickupAlert IS NOT NULL) THEN throw exception END IF; |
| Error Message: | This device does not support the Pickup Alert feature |
|
| Rule (RI-350): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Ring Setting for Pickup Alert must be supported by device type |
| Description: | Ring Setting for Pickup Alert can only be set on lines associated with devices that support the feature |
| Test Condition: | ON INSERT/UPDATE in DeviceNumPlanMap: SELECT tkProduct, tkDeviceProtocol INTO product, protocol FROM Device WHERE pkid = new_fkDevice; SELECT count(*) INTO nRows FROM ProductSupportsFeature WHERE tkSupportsFeature = SUPPORTS_DISABLE_RING AND tkProduct = product AND tkProtocol IN (protocol, 99); IF (nRows = 0) AND (new_tkRingSetting_IdlePickupAlert IS NOT NULL) OR (new_tkRingSetting_ActivePickupAlert IS NOT NULL) THEN throw exception END IF; |
| Error Message: | This device does not support the Pickup Alert feature |
|
| 2.3.86.25 tkstatus_audiblemwi (FI-3277) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | On/Off/Default setting for Audible Message Waiting Indication on a line appearance |
| Rule (RI-361): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Audible MWI feature restriction |
| Description: | Audible MWI status can be set to non-default only on devices that support the Message Waiting Lamp Policy feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (@tkMWLPolicy<>0) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_MWL_POLICY) THEN throw exception |
| Error Message: | Audible Message Waiting Indicator is not supported on the device where this line appears |
| Remedy: | Use the default Audible MWI status setting. |
|
| Rule (RI-361): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | Audible MWI feature restriction |
| Description: | Audible MWI status can be set to non-default only on devices that support the Message Waiting Lamp Policy feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (@tkMWLPolicy<>0) AND (SELECT tkProduct from Device where pkid = @fkDevice) NOT IN (Select tkproduct from PSF where tkSupportsFeature = SUPPORTS_FEATURE_MWL_POLICY) THEN throw exception |
| Error Message: | Audible Message Waiting Indicator is not supported on the device where this line appears |
| Remedy: | Use the default Audible MWI status setting. |
|
|
| Uniqueness: | fkdevice + fknumplan is unique. (MFI-6) |
| Constraints: |
| Rule (RFI-109): |
| Type: | Inter-field Condition and Constraint |
| Constraint: | BusyTrigger <= MaxNumCalls |
| Remarks: | Busy Trigger must be less than or equal to Max Calls setting for a line appearance. |
|
|
| Rules: |
| Rule (RI-2): |
| Type: | Active (Insert) Rule applied when record is inserted. |
| Rule Name: | Generate CTI ID value |
| Description: | On insert of a new record generate a unique 32-bit integer value and store the result in the CTI ID field |
| Test Condition: | On Insert |
|
| Rule (RI-84): |
| Type: | Active (Insert/Update/Delete records) Rule applied when record is inserted or updated. |
| Rule Name: | AutoAnswer Off for Shared Line |
| Description: | If the number of devices (not including Extension Mobility Device Profiles) associated with a DN is greater than 1, the AutoAnswer setting must be OFF (0). |
| Test Condition: | ? |
|
| Rule (RI-85): |
| Type: | Active (Delete) Rule applied when record is inserted or updated. |
| Rule Name: | Set unassociated DN IsCallable to False |
| Description: | When the last association between a DN and a device or profile is removed, set the IsCallable field for the DN's NumPlan record to false. |
| Test Condition: | ON DELETE from DeviceNumPlanMap IF (SELECT COUNT(*) FROM DeviceNumPlanMap WHERE (fkNumPlan = @NumPlan.pkid) = 0) THEN SET NumPlan.isCallable = 'F' |
|
| Rule (RI-93): |
| Type: | Validation (Insert/Update) Rule applied when record is inserted or updated. |
| Rule Name: | Shared Line Support Required |
| Description: | If product support for shared line is not present, DN cannot be associated with more than one device. |
| Test Condition: | IF (SELECT COUNT(*) FROM ProductSupportsFeature WHERE (tkSupportsFeature = 8) AND (tkProduct = @Device.tkProduct) = 0) AND (SELECT COUNT(*) FROM DeviceNumPlanMap WHERE (fkNumPlan = @NumPlan.pkid) > 1) THEN throw exception |
|
| Rule (RI-94): |
| Type: | Validation (Insert/Update) Rule applied when record is inserted or updated. |
| Rule Name: | Maximum MaxCalls Per Device/Line |
| Description: | The upper limit for Maximum Calls for a Line Appearance (DeviceNumPlanMap.MaxCalls) is calculated on a per-line basis as follows: If the device supports feature Multiple Call Display (ProductSupportsFeature.tkSupportsFeature = SUPPORTS_FEATURE_MULTIPLE_CALL_DISPLAY), the limit is read from the parameter in ProductSupportsFeature. The parameter indicates MaxCalls (total for device) : Default Max Calls : Default Busy Trigger. The current value must be less than MaxCalls limit for the device minus the sum of MaxCalls configured for all lines on the phone excluding the current line. If Multiple Call Display is not supported, MaxCalls is set to 2 |
| Test Condition: | ? |
|
| Rule (RI-101): |
| Type: | Active (Insert/Update/Delete records) Rule applied when record is updated. This table is modified by this rule. |
| Rule Name: | Sync Device Profile on Device Changes |
| Description: | If the information related to a device with an autogenerated device profile changes, and the enterprise parameter for autosync profiles is true, then the autogenerated device profile must be re-generated. This includes changes to the DeviceAddonModuleMap, Telecaster, Telecaster SubscribedServices, SpeedDial, and DeviceNumPlanMap tables. |
| Test Condition: | (SELECT COUNT(*) FROM ProcessConfig WHERE (ParamName = 'AutosyncDeviceProfile') AND (ParamValue = 'T') > 0) AND (SELECT tkDeviceProfile FROM Device WHERE (pkid = @Device.ikDevice_DefaultDeviceProfile) = 2) AND (SELECT LoginTime FROM Device WHERE (pkid = @Device.pkid) != 0) |
|
| Rule (RI-170): |
| Type: | Active (Insert/Update/Delete records) Rule applied when record is deleted. |
| Rule Name: | DN Not Callable when removed from last Device |
| Description: | If a DN is no longer used by any device, it is automatically marked not callable in the database. The Administrator may then manually mark the DN callable again so that forwarding is enabled for that DN. |
| Test Condition: | ON DELETE FROM DeviceNumPlanMap IF ((SELECT COUNT(*) FROM DeviceNumPlanMap WHERE DeviceNumPlanMap.fkNumPlan = @fkNumPlan) = 0) THEN UPDATE NumPlan SET IsCallable = 0 WHERE pkid = @fkNumPlan |
|
| Rule (RI-171): |
| Type: | Validation (Insert/Update) Rule applied when record is inserted. |
| Rule Name: | Multiple DeviceNumPlanMap for Shared DN Only |
| Description: | DeviceNumPlanMap may contain multiple records with the same fkNumPlan only if the referenced NumPlan record is a DN (type = Device). |
| Test Condition: | IF ((SELECT Count(*) FROM DeviceNumPlanMap WHERE fkNumPlan = @DeviceNumPlanMap.fkNumPlan) > 1 AND (SELECT tkPatternUsage FROM NumPlan WHERE pkid = @DeviceNumPlanMap.fkNumPlan) != 2) THEN throw exception |
| Error Message: | Only directory numbers can be shared by more than one device. |
| Remedy: | Check the type of NumPlan record you are associating with a device to make sure it is a DN, or if it is not a DN, check to make sure no other devices are associated with it. |
|
| Rule (RI-212): |
| Type: | Validation (Insert/Update) Rule applied when record is inserted or updated. |
| Rule Name: | Only one DN (line) associated with Pilot Point |
| Description: | CTI Route Point used as Pilot Point may have only one associated DN (DeviceNumPlanMap record). |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMap IF (SELECT COUNT(*) FROM DeviceNumPlanMap WHERE DeviceNumPlanMap.fkDevice = Device.pkid) > 1 THEN throw exception. |
| Error Message: | Pilot Point may have only one line (associated Directory Number). |
| Remedy: | Remove existing DN from Pilot Point and try again. |
|
| Rule (RI-215): |
| Type: | Validation (Insert/Update) Rule applied when record is inserted or updated. |
| Rule Name: | CTI Device lines must allow CTI Control |
| Description: | The lines (NumPlan records) associated with a CTI Route Point or CTI Port must allow CTI Control. CTI Control can be restricted only for other non-CTI types of devices. |
| Test Condition: | ON INSERT/UPDATE IN NumPlan, DeviceNumPlanMap IF (SELECT COUNT(*) FROM NumPlan n INNER JOIN DeviceNumPlanMap map ON n.pkid = map.fkNumPlan INNER JOIN Device d ON d.pkid = map.fkDevice WHERE n.pkid = @NumPlan.pkid AND n.AllowCTIControlFlag = FALSE AND d.tkModel IN (72,73)) > 0 THEN throw exception |
| Error Message: | Cannot disable CTI Control on a line that is associated with a CTI Port or CTI Route Point. |
| Remedy: | Allow CTI Control for the line (NumPlan record), or remove any association with CTI Port or CTI Route Point devices. |
|
|
| 2.3.87 devicenumplanmapendusermap (TI-438) |
| Description: | Settings for SIP Publication of line status for presence
|
| Fields: |
| 2.3.87.1 fkdevicenumplanmap (FI-3274) |
| Type: | guid (Cascade Delete) |
| Remarks: | Line appearance being monitored for status |
| Rule (RI-365): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Maximum 5 EndUsers per line appearance for SIP Publish |
| Description: | No more than 5 endusers can be associated with a line appearance (DeviceNumPlanMap record) for SIP Publish feature |
| Test Condition: | ON INSERT/UPDATE IN DeviceNumPlanMapEndUserMap: IF (SELECT COUNT(*) INTO nRows FROM DeviceNumPlanMapEndUserMap WHERE fkDeviceNumPlanMap = new_fkDeviceNumPlanMap) > 5 THEN throw exception |
| Error Message: | No more than 5 EndUsers can be subscribed to receive status for a line appearance. |
|
| 2.3.87.2 fkenduser (FI-3275) |
| Type: | guid (Cascade Delete) |
| Remarks: | EndUser to whom status information is be published |
| 2.3.87.3 pkid (FI-3273) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | fkdevicenumplanmap + fkenduser is unique. (MFI-100) |
| 2.3.88 devicenumplanmapremdestmap (TI-454) |
| Description: | Maps Remote Destinations to the template or dual mode phone lines with which they are used
|
| Fields: |
| 2.3.88.1 fkdevicenumplanmap (FI-3407) |
| Type: | guid (Cascade Delete) |
| Remarks: | Line from template or Dual Mode phone that is used for Remote Destination |
| 2.3.88.2 fkremotedestination (FI-3406) |
| Type: | guid (Cascade Delete) |
| Remarks: | Remote Destination using the line for Single Number Reach (SNR) |
| 2.3.88.3 pkid (FI-3405) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.89 devicepool (TI-13) |
| Description: | Common collections of device attributes
|
| Fields: |
| 2.3.89.1 calledinternationalprefix (FI-3872) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Called International Prefix |
| 2.3.89.2 calledinternationalstripdigits (FI-3883) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (CalledInternationalStripDigits >= 0) AND (CalledInternationalStripDigits <= 24) |
| Remarks: | Called International Strip Digits |
| 2.3.89.3 callednationalprefix (FI-3871) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Called National Prefix |
| 2.3.89.4 callednationalstripdigits (FI-3882) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (CalledNationalStripDigits >= 0) AND (CalledNationalStripDigits <= 24) |
| Remarks: | Called National Strip Digits |
| 2.3.89.5 calledsubscriberprefix (FI-3874) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Called Subscriber Prefix |
| 2.3.89.6 calledsubscriberstripdigits (FI-3885) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (CalledSubscriberStripDigits >= 0) AND (CalledSubscriberStripDigits <= 24) |
| Remarks: | Called Subscriber Strip Digits |
| 2.3.89.7 calledunknownprefix (FI-3873) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Called Unknown Prefix |
| 2.3.89.8 calledunknownstripdigits (FI-3884) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (CalledUnknownStripDigits >= 0) AND (CalledUnknownStripDigits <= 24) |
| Remarks: | Called Unknown Strip Digits |
| 2.3.89.9 connectionmonitorduration (FI-2096) |
| Type: | long |
| Default Value: | -1 |
| Check Constraint: | (ConnectionMonitorDuration >= -1) AND (ConnectionMonitorDuration <= 2592000) |
| 2.3.89.10 fkaarneighborhood (FI-3179) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.89.11 fkcallingsearchspace_aar (FI-3180) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.89.12 fkcallingsearchspace_adjunct (FI-3998) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | For emergency call during cross cluster EM login |
| 2.3.89.13 fkcallingsearchspace_autoregistration (FI-589) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | This is the calling search space to assign to devices in this device pool that auto-registers with Cisco CallManager. The calling search space specifies partitions that devices can search when attempting to complete a call. |
| 2.3.89.14 fkcallingsearchspace_calledintl (FI-3887) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Called Party International Number |
| 2.3.89.15 fkcallingsearchspace_callednational (FI-3886) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Called Party National Number |
| 2.3.89.16 fkcallingsearchspace_calledsubscriber (FI-3889) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Called Party Subscriber Number |
| 2.3.89.17 fkcallingsearchspace_calledunknown (FI-3888) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Called Party Unknown Number |
| 2.3.89.18 fkcallingsearchspace_cdpntransform (FI-3508) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | If useDevicePoolCdpnTransformCSS is set to True this transformation will be applied on the called party |
| 2.3.89.19 fkcallingsearchspace_cgpningressdn (FI-10179) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling search space applied to calling party number on ingress from the calling device |
| 2.3.89.20 fkcallingsearchspace_cgpnintl (FI-5120) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling Party International Number |
| 2.3.89.21 fkcallingsearchspace_cgpnnational (FI-5119) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling Party National Number |
| 2.3.89.22 fkcallingsearchspace_cgpnsubscriber (FI-5122) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling Party Subscriber Number |
| 2.3.89.23 fkcallingsearchspace_cgpntransform (FI-3520) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling Party Transformation Number |
| 2.3.89.24 fkcallingsearchspace_cgpnunknown (FI-5121) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling Party Unknown Number |
| 2.3.89.25 fkcallingsearchspace_cntdpntransform (FI-5754) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | Calling Search Space for Connected Party Name Transformation Pattern |
| 2.3.89.26 fkcallingsearchspace_mobility (FI-3181) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.89.27 fkcallingsearchspace_rdntransform (FI-9927) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | If useDevicePoolRdnTransformCSS is set to True this transformation will be applied on the Redirecting Number |
| 2.3.89.28 fkcallmanagergroup (FI-151) |
| Type: | guid |
| Migration Source: | convert from CallManagerGroup |
| Remarks: | This is the Cisco CallManager group to assign to devices in this device pool. A Cisco CallManager group specifies a prioritized list of up to three Cisco CallManagers. The first Cisco CallManager in the list serves as the primary Cisco CallManager for that group, and the other members of the group serve as backup Cisco CallManagers for redundancy. |
| 2.3.89.29 fkdatetimesetting (FI-150) |
| Type: | guid |
| Migration Source: | convert from DateTimeGroup |
| Remarks: | This is the date/time group to assign to devices in this device pool. The date/time group specifies the time zone and the display formats for date and time. |
| 2.3.89.30 fkdevicemobilitygroup (FI-3182) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.89.31 fkgeolocation (FI-5004) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.89.32 fkgeolocationfilter_lp (FI-5005) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.89.33 fklocation (FI-3183) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.89.34 fkmediaresourcelist (FI-995) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Remarks: | This is the media resource group list associated with the device pool. A media resource group list specifies a prioritized list of media resource groups. An application selects the required media resource (for example, a music on hold server, transcoder, or conference bridge) from the available media resource groups according to the priority order that is defined in a media resource group list. |
| 2.3.89.35 fkphysicallocation (FI-3184) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.89.36 fkregion (FI-149) |
| Type: | guid |
| Migration Source: | convert from Region |
| Remarks: | This is the Cisco CallManager region to assign to devices in this device pool. The Cisco CallManager region settings specify voice codec that can be used for calls within a region and between other regions. |
| 2.3.89.37 fkroutegroup_local (FI-3507) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| Check Constraint: | fkRouteGroup_Local != '00000000-1111-0000-0000-000000000000' |
| Remarks: | RouteGroup used in Route/Hunt Lists where the special Local Route Group option is included |
| 2.3.89.38 fksrst (FI-1218) |
| Type: | guid |
| Default Value: | cd241e11-4a58-4d3d-9661-f06c912a18a3 |
| Remarks: | This is the survivable remote site telephony (SRST) reference to assign to devices in this device pool. |
| 2.3.89.39 fkviprpublisheddidpatterngroup (FI-5289) |
| Type: | guid (Null OK) |
| Default Value: | NULL |
| 2.3.89.40 internationalprefix (FI-3517) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | International Prefix |
| 2.3.89.41 internationalstripdigits (FI-5116) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (InternationalStripDigits >= 0) AND (InternationalStripDigits <= 24) |
| Remarks: | International Strip Digits |
| 2.3.89.42 name (FI-148) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z 0-9._-]{1,50}$ |
| Migration Source: | DevicePoolName |
| Remarks: | A unique name. |
| 2.3.89.43 nationalprefix (FI-3516) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | National Prefix |
| 2.3.89.44 nationalstripdigits (FI-5115) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (NationalStripDigits >= 0) AND (NationalStripDigits <= 24) |
| Remarks: | National Strip Digits |
| 2.3.89.45 pkid (FI-147) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-216): |
| Type: | Active (Insert/Update) |
| Rule Name: | device versionstamp |
| Description: | on change to anything in device xml file, update versionstamp |
| Test Condition: | update device |
|
| 2.3.89.46 resettoggle (FI-3072) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device or group be reset |
| Rule (RI-216): |
| Type: | Active (Insert/Update) |
| Rule Name: | device versionstamp |
| Description: | on change to anything in device xml file, update versionstamp |
| Test Condition: | update device |
|
| 2.3.89.47 subscriberprefix (FI-3519) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Subscriber Prefix |
| 2.3.89.48 subscriberstripdigits (FI-5118) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (SubscriberStripDigits >= 0) AND (SubscriberStripDigits <= 24) |
| Remarks: | Subscriber Strip Digits |
| 2.3.89.49 tkbarge (FI-3468) |
| Type: | enum |
| Default Value: | 3 |
| 2.3.89.50 tkcountry (FI-1037) |
| Type: | enum (Null OK) |
| Default Value: | NULL |
| 2.3.89.51 tkreset (FI-3073) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Set by DeviceReset stored procedure. |
| 2.3.89.52 tkrevertpriority (FI-3185) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.89.53 tkstatus_joinacrosslines (FI-3467) |
| Type: | enum |
| Default Value: | 2 |
| 2.3.89.54 unknownprefix (FI-3518) |
| Type: | string [16] |
| Default Value: | Default |
| Validation: | ^([0-9*#+]{0,16}|[Dd]efault)$ |
| Remarks: | Unknown Prefix |
| 2.3.89.55 unknownstripdigits (FI-5117) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| Check Constraint: | (UnknownStripDigits >= 0) AND (UnknownStripDigits <= 24) |
| Remarks: | Unknown Strip Digits |
| 2.3.89.56 versionstamp (FI-3116) |
| Type: | string [47] (Null OK) |
| Default Value: | 0000000000-c7a6c673-7479-46b0-839e-014d3d093963 |
| Remarks: | New guid plus seconds past midnight 1970 are concatenated |
| Rule (RI-216): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | device versionstamp |
| Description: | on change to anything in device xml file, update versionstamp |
| Test Condition: | update device |
|
| Rule (RI-216): |
| Type: | Active (Insert/Update) |
| Rule Name: | device versionstamp |
| Description: | on change to anything in device xml file, update versionstamp |
| Test Condition: | update device |
|
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.91 deviceprivacydynamic (TI-435) |
| Description: | Frequently updated settings for Privacy
Insert/Delete is not allowed. |
| Fields: |
| 2.3.91.1 datetimestamp (FI-3302) |
| Type: | long |
| Default Value: | 0 |
| Rule (RI-400): |
| Type: | Active (Insert/Update) |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| Rule (RI-400): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| 2.3.91.2 fkdevice (FI-3301) |
| Type: | guid (Unique, Cascade Delete) |
| 2.3.91.3 pkid (FI-3300) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.91.4 tkstatus_callinfoprivate (FI-1305) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | display call info to caller? |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.92 deviceprovidermap (TI-975) |
| Description: | CUBA: This table will contains information about device configuration to provider mapping, so admin will know using which provider device is configured
Is not replicated. |
| Fields: |
| 2.3.92.1 fkdevice (FI-6211) |
| Type: | guid (Unique, Indexed, Cascade Delete) |
| Remarks: | Device for providerdevicemap record |
| 2.3.92.2 fkprovider (FI-6212) |
| Type: | guid (Indexed) |
| Remarks: | Provider for providerdevicemap record |
| 2.3.92.3 pkid (FI-6210) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique identifier for providerdevicemap record |
| 2.3.92.4 tkcubadevice (FI-6213) |
| Type: | enum |
| Remarks: | CubaDevice type for providerdevicemap record |
| 2.3.92.5 versionnumber (FI-6214) |
| Type: | long |
| Remarks: | This will store the version number of the provider in providerdevicemap |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.93 devicerelatedversionstamp (TI-626) |
| Description: | List of Devices that requires versionstamp update
Insert/Delete is not allowed. |
| Fields: |
| 2.3.93.1 fkdevice (FI-5652) |
| Type: | guid (Unique, Indexed, Cascade Delete) |
| Migration Source: | convert from Device |
| Remarks: | Pkid of the Device |
| 2.3.93.2 pkid (FI-5651) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.93.3 versionstamp (FI-5653) |
| Type: | string [47] (Null OK) |
| Default Value: | 0000000000-c7a6c673-7479-46b0-839e-014d3d093963 |
| Remarks: | New guid plus seconds past midnight 1970 are concatenated and is generated every time this device is updated |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.94 devicereset (TI-253) |
| Description: | For device reset functionality. Records inserted into this table will inform CCM to reset the device.
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.94.1 devicepkid (FI-2098) |
| Type: | guid (Not Modifiable, Null OK) |
| Default Value: | NULL |
| Remarks: | Set by DeviceReset stored procedure. |
| 2.3.94.2 fkcallmanager (FI-2046) |
| Type: | guid (Cascade Delete, Not Modifiable) |
| Remarks: | Set by DeviceReset stored procedures. |
| 2.3.94.3 name (FI-1781) |
| Type: | string [129] (Not Modifiable, Null OK) |
| Default Value: | EMPTY |
| Remarks: | Set by DeviceReset stored procedure. |
| 2.3.94.4 pkid (FI-1780) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.94.5 resetgrouping (FI-3021) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. will be same for all reset requests |
| 2.3.94.6 tkmodel (FI-1783) |
| Type: | enum (Not Modifiable) |
| Remarks: | Set by DeviceReset stored procedure. |
| 2.3.94.7 tkreset (FI-1782) |
| Type: | enum (Not Modifiable) |
| Remarks: | Set by DeviceReset stored procedure. |
| 2.3.94.8 tkresethandshake (FI-3018) |
| Type: | enum (Not Modifiable) |
| Remarks: | Set the reset to ensure tftp reacts to it before actual device reset. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.95 devicetftpdynamic (TI-465) |
| Description: | VersionStamp Mismatch Recovery
|
| Fields: |
| 2.3.95.1 fkdevice (FI-3470) |
| Type: | guid (Unique, Indexed, Cascade Delete, Not Modifiable) |
| Migration Source: | convert from DeviceName |
| Remarks: | Points to the device record being "subclassed." Device.tkModel must be tkclass=1. |
| 2.3.95.2 pkid (FI-3469) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.95.3 rebuildtoggle (FI-3471) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device be rebuilt |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.96 devicexml16k (TI-937) |
| Description: | Defines the product specific configuration for devices:16K
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.96.1 fkdevice (FI-5740) |
| Type: | guid (Unique, Indexed, Cascade Delete) |
| Migration Source: | convert from Device |
| Remarks: | Pkid of the Device corresponding to the XML column of DeviceXML16L table |
| 2.3.96.2 pkid (FI-5739) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.96.3 xml (FI-5741) |
| Type: | string [16000] |
| Migration Source: | Device.xml |
| Remarks: | Product configuration XML for DeviceXML16K |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.97 devicexml4k (TI-934) |
| Description: | Defines the product specific configuration for devices:4K
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.97.1 fkdevice (FI-5702) |
| Type: | guid (Unique, Indexed, Cascade Delete) |
| Migration Source: | convert from Device |
| Remarks: | Pkid of the Device corresponding to the XML column of DeviceXML4K table |
| 2.3.97.2 pkid (FI-5701) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.97.3 xml (FI-5704) |
| Type: | string [4000] (Null OK) |
| Default Value: | NULL |
| Migration Source: | Device.xml |
| Remarks: | Product configuration XML for DeviceXML4K |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.98 devicexml8k (TI-936) |
| Description: | Defines the product specific configuration for devices:8K
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.98.1 fkdevice (FI-5737) |
| Type: | guid (Unique, Indexed, Cascade Delete) |
| Migration Source: | convert from Device |
| Remarks: | Pkid of the Device corresponding to the XML column of DeviceXML8K table |
| 2.3.98.2 pkid (FI-5736) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.98.3 xml (FI-5738) |
| Type: | string [8000] |
| Migration Source: | Device.xml |
| Remarks: | Product configuration XML for DeviceXML8K |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.99 dhcpserver (TI-292) |
| Description: | (not supported yet)DHCP server configuration
|
| Fields: |
| 2.3.99.1 arpcachetimeout (FI-2055) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (ARPCacheTimeout >=0) AND (ARPCacheTimeout < 1073741824) |
| Remarks: | server |
| 2.3.99.2 domainname (FI-2034) |
| Type: | string [64] |
| Default Value: | EMPTY |
| Validation: | ^[a-zA-Z 0-9._-]{1,64}$ |
| Remarks: | domain name |
| 2.3.99.3 domainnameserver1 (FI-2029) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | IP Address for primary dns |
| 2.3.99.4 domainnameserver2 (FI-2030) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | IP Address for secondary dsn |
| 2.3.99.5 fkprocessnode (FI-2028) |
| Type: | guid (Unique, Cascade Delete) |
| Remarks: | Associated server |
| 2.3.99.6 ipaddrleasetime (FI-2056) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (IPAddrLeaseTime >=0) AND (IPAddrLeaseTime < 1073741824) |
| Remarks: | server |
| 2.3.99.7 nextserver (FI-2033) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | IP Address for the next server cisco tftp |
| 2.3.99.8 pkid (FI-2026) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.99.9 t1 (FI-2057) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (T1 >= 0) AND (T1 < 1073741824) |
| Remarks: | server |
| 2.3.99.10 t2 (FI-2058) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (T2 >= 0) AND (T2 < 1073741824) |
| Remarks: | server |
| 2.3.99.11 tftpserver1 (FI-2031) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | IP Address for the primary cisco tftp |
| 2.3.99.12 tftpserver2 (FI-2032) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | IP Address for secondary cisco tftp |
| 2.3.99.13 tftpservername (FI-2082) |
| Type: | string [64] |
| Default Value: | EMPTY |
| Validation: | ^[0-9a-zA-Z._-]{0,64}$ |
| Remarks: | tftp server name (option 150) |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.100 dhcpsubnet (TI-293) |
| Description: | (not supported yet)DHCP subnet configuration
|
| Fields: |
| 2.3.100.1 arpcachetimeout (FI-2045) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (ARPCacheTimeout >= 0) AND (ARPCacheTimeout < 1073741824) |
| Remarks: | subnet |
| 2.3.100.2 domainname (FI-2044) |
| Type: | string [64] |
| Default Value: | EMPTY |
| Validation: | ^[a-zA-Z 0-9._-]{1,64}$ |
| Remarks: | subnet |
| 2.3.100.3 domainnameserver1 (FI-2083) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | IP Address for primary dns |
| 2.3.100.4 domainnameserver2 (FI-2084) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | IP Address for secondary dsn |
| 2.3.100.5 fkdhcpserver (FI-2035) |
| Type: | guid (Cascade Delete) |
| Remarks: | Associated server |
| 2.3.100.6 ipaddrfrom1 (FI-2037) |
| Type: | string [17] |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | subnet |
| 2.3.100.7 ipaddrfrom2 (FI-2038) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | subnet |
| 2.3.100.8 ipaddrleasetime (FI-2088) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (IPAddrLeaseTime >= 0) AND (IPAddrLeaseTime < 1073741824) |
| Remarks: | server |
| 2.3.100.9 ipaddrto1 (FI-2039) |
| Type: | string [17] |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | subnet |
| 2.3.100.10 ipaddrto2 (FI-2040) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | subnet |
| 2.3.100.11 nextserver (FI-2089) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | IP Address for the next server cisco tftp |
| 2.3.100.12 pkid (FI-2027) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.100.13 router1 (FI-2041) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | subnet |
| 2.3.100.14 router2 (FI-2042) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | subnet |
| 2.3.100.15 subnet (FI-2036) |
| Type: | string [17] |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | subnet |
| 2.3.100.16 subnetmask (FI-2043) |
| Type: | string [17] |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | subnet |
| 2.3.100.17 t1 (FI-2091) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (T1 >= 0) AND (T1 < 1073741824) |
| Remarks: | server |
| 2.3.100.18 t2 (FI-2092) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (T2 >= 0) AND (T2 < 1073741824) |
| Remarks: | server |
| 2.3.100.19 tftpserver1 (FI-2085) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | IP Address for the primary cisco tftp (option 66) |
| 2.3.100.20 tftpserver2 (FI-2086) |
| Type: | string [17] |
| Default Value: | EMPTY |
| Validation: | ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$ |
| Remarks: | IP Address for secondary cisco tftp (option 66) |
| 2.3.100.21 tftpservername (FI-2093) |
| Type: | string [64] |
| Default Value: | EMPTY |
| Validation: | ^[0-9a-zA-Z._-]{0,64}$ |
| Remarks: | tftp server name (option 150) |
|
| Uniqueness: | fkdhcpserver + subnet is unique. (MFI-69) |
| 2.3.101 dialplan (TI-107) |
| Description: | List of known dial plans
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.101.1 description (FI-552) |
| Type: | string [50] (Not Modifiable) |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9 !#$'()*+,./:;=?@[^_`{|}~-]{0,50}$ |
| Migration Source: | automatic |
| 2.3.101.2 name (FI-550) |
| Type: | string [50] (Unique, Not Modifiable) |
| Validation: | ^[]a-zA-Z0-9 !#$'()*+,./:;=?@[^_`{|}~-]{1,50}$ |
| Migration Source: | automatic |
| 2.3.101.3 pkid (FI-549) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.101.4 version (FI-3032) |
| Type: | string [15] |
| Default Value: | 1.1(0) |
| Remarks: | Version number of the installed Dial Plan |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.102 dialplandetails (TI-573) |
| Description: | CUBA: This table will be used to store different parameters for dial plan e.g. Extension no length, FeaturePrefix etc.
Is not replicated. |
| Fields: |
| 2.3.102.1 defaultvalue (FI-6003) |
| Type: | string [40] (Null OK) |
| Remarks: | Default value for parameters in dialplandetail table |
| 2.3.102.2 paramname (FI-6001) |
| Type: | string [50] |
| Remarks: | ParamName for dialplandetails |
| 2.3.102.3 paramvalue (FI-6002) |
| Type: | string [40] |
| Validation: | ^[a-zA-Z 0-9,#@-]{1,40}$ |
| Remarks: | ParamValue for dialplandetails |
| 2.3.102.4 pkid (FI-6000) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique id for dialplandetails table |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.103 dialplantag (TI-97) |
| Description: | Tag name for a portion of a directory number used by digit analysis
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.103.1 fkdialplan (FI-561) |
| Type: | guid (Cascade Delete, Not Modifiable) |
| 2.3.103.2 pkid (FI-392) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.103.3 suppressfromroutefilter (FI-762) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | Don't show this tag in RouteFilterMember. |
| 2.3.103.4 tag (FI-455) |
| Type: | string [50] (Not Modifiable) |
| Default Value: | EMPTY |
| Migration Source: | automatic |
| 2.3.103.5 tkoperator_max (FI-761) |
| Type: | enum (Not Modifiable) |
| Default Value: | 3 |
| Remarks: | Maximum value for operator in RouteFilterMember for this tag |
|
| Uniqueness: | tag + fkdialplan is unique. (MFI-23) |
| 2.3.104 dialrules (TI-330) |
| Description: | Dial Rules
|
| Fields: |
| 2.3.104.1 description (FI-2854) |
| Type: | string [100] (Null OK) |
| Default Value: | EMPTY |
| Remarks: | Description of the dial rule |
| 2.3.104.2 isstandard (FI-2459) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | Whether standard dial rule |
| 2.3.104.3 name (FI-2457) |
| Type: | string [50] (Unique, Indexed) |
| Remarks: | Name of dial rule |
| 2.3.104.4 pkid (FI-2456) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| Rule (RI-301): |
| Type: | Active (Insert/Update) |
| Rule Name: | dialrules versionstamp |
| Description: | on change to anything in dialrules, update versionstamp in dialrules table |
| Test Condition: | update dialrules |
|
| 2.3.104.5 resettoggle (FI-3074) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device or group be reset |
| Rule (RI-301): |
| Type: | Active (Insert/Update) |
| Rule Name: | dialrules versionstamp |
| Description: | on change to anything in dialrules, update versionstamp in dialrules table |
| Test Condition: | update dialrules |
|
| 2.3.104.6 tkdialpattern (FI-2458) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Pkid of Dial Pattern record |
| 2.3.104.7 tkreset (FI-3075) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Set by DeviceReset stored procedure. |
| 2.3.104.8 versionstamp (FI-3117) |
| Type: | string [47] (Null OK) |
| Default Value: | 0000000000-c7a6c673-7479-46b0-839e-014d3d093963 |
| Remarks: | New guid plus seconds past midnight 1970 are concatenated |
| Rule (RI-301): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | dialrules versionstamp |
| Description: | on change to anything in dialrules, update versionstamp in dialrules table |
| Test Condition: | update dialrules |
|
| Rule (RI-301): |
| Type: | Active (Insert/Update) |
| Rule Name: | dialrules versionstamp |
| Description: | on change to anything in dialrules, update versionstamp in dialrules table |
| Test Condition: | update dialrules |
|
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.105 dialrulespatternmap (TI-329) |
| Description: | DialRules Pattern Map
|
| Fields: |
| 2.3.105.1 description (FI-2871) |
| Type: | string [100] (Null OK) |
| Default Value: | EMPTY |
| Remarks: | Description of pattern on dial rule |
| 2.3.105.2 fkdialrules (FI-2453) |
| Type: | guid (Cascade Delete) |
| Remarks: | Pkid of DialRules record |
| Rule (RI-260): |
| Type: | Active (Insert/Update/Delete records) |
| Rule Name: | dialrules versionstamp |
| Description: | on change to anything in dialrulespatternmap, patternparametermap, update versionstamp in dialrules table |
| Test Condition: | update dialrules |
|
| 2.3.105.3 pkid (FI-2452) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.105.4 selectionorder (FI-2455) |
| Type: | long |
| Remarks: | Selection order |
| 2.3.105.5 tkpattern (FI-2454) |
| Type: | enum |
| Remarks: | Enum of TypePattern record |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.106 digitalaccessbri (TI-223) |
| Description: | Digital access BRI information not in Device table
|
| Fields: |
| 2.3.106.1 acceptinboundrdnis (FI-1608) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.106.2 calleriddn (FI-1587) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_MASK |
| Default Value: | NULL |
| Validation: | ^[0-9*#+X]{0,32}$ |
| 2.3.106.3 dchannelenable (FI-1600) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.106.4 displayie (FI-1605) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.106.5 firstdelay (FI-1584) |
| Type: | long |
| 2.3.106.6 fkdevice (FI-1575) |
| Type: | guid (Indexed, Cascade Delete) |
| Remarks: | device::tModel must be digital access |
| Rule (RI-104): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DigitalAccessBri device |
| Description: | The records in DigitalAccessBri table must reference a device using DigitalAccessBri device protocol (10). |
| Test Condition: | DigitalAccessBri.fkDevice IN (SELECT pkid FROM Device where tkDeviceProtocol = 10) |
| Error Message: | DigitalAccessBri table may only reference devices with matching Device Protocol (DigitalAccessBri). |
| Remedy: | Correct the fkDevice value to refer to a Digital Access BRI device. |
|
| 2.3.106.7 gclearenable (FI-10004) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Enables G.Clear support for a BRI trunk (using values specified in G.Clear related Service Parameters) |
| 2.3.106.8 intradelay (FI-1585) |
| Type: | long |
| 2.3.106.9 numberie (FI-1606) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.106.10 numdigits (FI-1580) |
| Type: | long |
| Check Constraint: | ((NumDigits >= 0) AND (NumDigits <= 32)) OR (NumDigits = 99) |
| 2.3.106.11 pkid (FI-1574) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.106.12 prefix (FI-1578) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Default Value: | NULL |
| Validation: | ^[0-9*#+]{0,50}$ |
| 2.3.106.13 sendrestart (FI-1583) |
| Type: | bool |
| 2.3.106.14 setupnonisdnpiflag (FI-1607) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.106.15 sigdigits (FI-1579) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Must be 1 if (NumDigits >= 0) AND (NumDigits <= 32), or 0 if (NumDigits = 99) |
| 2.3.106.16 stablein4 (FI-2166) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.106.17 statuspoll (FI-1581) |
| Type: | bool |
| 2.3.106.18 stripcountout (FI-1586) |
| Type: | long |
| 2.3.106.19 tkbriprotocol (FI-1576) |
| Type: | enum |
| 2.3.106.20 tkcallingpartyselection (FI-1589) |
| Type: | enum |
| Remarks: | Source of the calling party number: originator = 1, first redirect = 2, last redirect = 3 |
| 2.3.106.21 tkclockreference (FI-1588) |
| Type: | enum |
| Remarks: | Indicates if the device sync up with the Network clock or use it's own clock for timing |
| 2.3.106.22 tkcsuparam (FI-1591) |
| Type: | enum |
| Remarks: | TX-level CSU parameter for PRI interface |
| 2.3.106.23 tkencode (FI-1592) |
| Type: | enum |
| Default Value: | 1 |
| Migration Source: | chanie |
| 2.3.106.24 tkfdlchannel (FI-1603) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.106.25 tkframing (FI-1602) |
| Type: | enum |
| Default Value: | 1 |
| 2.3.106.26 tknumberingplan_called (FI-1595) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.106.27 tknumberingplan_calling (FI-1596) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.106.28 tkpresentationbit (FI-1590) |
| Type: | enum |
| Remarks: | CLID presentationBit: allowed = 1, restricted = 2 |
| 2.3.106.29 tkpriofnumber_called (FI-1594) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.106.30 tkpriofnumber_calling (FI-1593) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.106.31 tktrunklevel (FI-1599) |
| Type: | enum |
| Default Value: | 7 |
| 2.3.106.32 tktrunkpad_rx (FI-1597) |
| Type: | enum |
| Default Value: | 32 |
| 2.3.106.33 tktrunkpad_tx (FI-1598) |
| Type: | enum |
| Default Value: | 32 |
| 2.3.106.34 tktrunkselectionorder (FI-1577) |
| Type: | enum |
| Default Value: | 1 |
| Migration Source: | Direction |
| 2.3.106.35 tkyellowalarm (FI-1604) |
| Type: | enum |
| Default Value: | 1 |
| 2.3.106.36 tkzerosuppression (FI-1601) |
| Type: | enum |
| Default Value: | 0 |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.107 digitalaccesspri (TI-14) |
| Description: | Digital access PRI information not in Device table
|
| Fields: |
| 2.3.107.1 acceptinboundrdnis (FI-1087) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.107.2 calleriddn (FI-56) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_MASK |
| Default Value: | NULL |
| Validation: | ^[0-9*#+X]{0,32}$ |
| Migration Source: | CallerID |
| 2.3.107.3 dchannelenable (FI-710) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.107.4 displayie (FI-775) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.107.5 enableprotectedfacilityie (FI-3686) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Allows use of secure calls (on PRI E1 trunks only) |
| Rule (RFI-192): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkPriProtocol <> 9 |
| Constraint: | (EnableProtectedFacilityIE = 'f') |
| Remarks: | EnableProtectedFacilityIE can be True only for DigitalAccessPri gateways configured to use the PRI-EURO protocol |
|
| 2.3.107.6 firstdelay (FI-53) |
| Type: | long |
| Default Value: | 32 |
| Migration Source: | FirstDelay |
| 2.3.107.7 fkdevice (FI-42) |
| Type: | guid (Indexed, Cascade Delete) |
| Migration Source: | convert from Device |
| Remarks: | device::tModel must be digital access |
| Rule (RI-28): |
| Type: | Active (Insert/Update) |
| Rule Name: | Set QSIG on DigitalAccessPri device and Configuration of E1 links that are PRI EURO protocol type for MLPP is allowed. |
| Description: | Update the QSIG setting on the Digital Access device whenever the PRI Protocol settings is changed from QSIG to non-QSIG, or non-QSIG to QSIG. And if device is E1 and MLPP Indication <> 0 Or MLPP Preemption <> 0 Then if PriProtocol <> PRI_EURO then throw exception |
| Test Condition: | ON INSERT/UPDATE/DELETE IN DigitalAccessPRI IF (@tkPriProtocol <> tkPriProtol) THEN (set tkqsig on device where device.pkid = digitalaccesspri.fkdevice) |
|
| Rule (RI-40): |
| Type: | Validation (Update) |
| Rule Name: | QSIG Protocol Change Restriction |
| Description: | If a Digital Access PRI gateway is a member of a Route Group, the PRI Protocol of the gateway cannot be changed from a non-QSIG protocol to QSIG, or from a QSIG to non-QSIG PRI Protocol. |
| Test Condition: | SELECT COUNT(*) FROM RouteGroupDeviceMap WHERE fkDevice = @Device.pkid AND Device.tkDeviceProtocol = 1 |
| Error Message: | Cannot change a QSIG device to a non-QSIG PRI Protocol while the device is a member of a Route Group. |
| Remedy: | Remove the device from the Route Group to which it belongs and then change the PRI Protocol. |
|
| Rule (RI-105): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DigitalAccessPri device |
| Description: | The records in DigitalAccessPri table must reference a device using DigitalAccessPri device protocol (1) |
| Test Condition: | DigitalAccessPri.fkDevice IN (SELECT pkid FROM Device where tkDeviceProtocol = 1) |
| Error Message: | DigitalAccessPri table may only reference devices with matching Device Protocol (DigitalAccessPri). |
| Remedy: | Correct the fkDevice value to refer to a Digital Access PRI device. |
|
| Rule (RI-599): |
| Type: | Validation (Insert/Update) |
| Rule Name: | GClear can not be enabled for E1 gateway |
| Description: | GClear can not be enabled for E1 gateway |
| Test Condition: | On Insert or Update DigitalAccessPri |
| Error Message: | GClear can not be enabled for E1 gateway |
|
| Rule (RI-632): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Route Class Signaling support required for Route Class Signaling Enable |
| Description: | Route Class Signaling Enabled setting must be OFF for devices that do not support Route Class Signaling feature (tkSupportsFeature = 94) |
| Test Condition: | ON INSERT/UPDATE IN DigitalAccessPRI: |
| Error Message: | This Device does not support Route Class Signaling (RouteClassSignalingEnabled setting) |
| Remedy: | Set RouteClassSignalingEnabled to off and try again |
|
| Rule (RI-716): |
| Type: | Validation (Insert/Update) |
| Rule Name: | G.Clear is not supported on the PRI interface on this type of gateway. Make sure EnableGClear is set to false and try again. |
| Description: | G.Clear is not supported on the PRI interface on this type of gateway. Make sure EnableGClear is set to false and try again. |
| Test Condition: | On Insert or Update DigitalAccessPri |
| Error Message: | G.Clear is not supported on the PRI interface on this type of gateway. Make sure EnableGClear is set to false and try again. |
|
| 2.3.107.8 gclearenable (FI-3483) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Enables G.Clear support for a PRI trunk (using values specified in G.Clear related Service Parameters) |
| Rule (RI-599): |
| Type: | Validation (Insert/Update) |
| Rule Name: | GClear can not be enabled for E1 gateway |
| Description: | GClear can not be enabled for E1 gateway |
| Test Condition: | On Insert or Update DigitalAccessPri |
| Error Message: | GClear can not be enabled for E1 gateway |
|
| Rule (RI-716): |
| Type: | Validation (Insert/Update) |
| Rule Name: | G.Clear is not supported on the PRI interface on this type of gateway. Make sure EnableGClear is set to false and try again. |
| Description: | G.Clear is not supported on the PRI interface on this type of gateway. Make sure EnableGClear is set to false and try again. |
| Test Condition: | On Insert or Update DigitalAccessPri |
| Error Message: | G.Clear is not supported on the PRI interface on this type of gateway. Make sure EnableGClear is set to false and try again. |
|
| 2.3.107.9 interfaceidentifierpresent (FI-773) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.107.10 interfaceidentifiervalue (FI-774) |
| Type: | long |
| Default Value: | 0 |
| 2.3.107.11 intradelay (FI-54) |
| Type: | long |
| Default Value: | 4 |
| Migration Source: | IntraDelay |
| 2.3.107.12 mcdnenable (FI-1180) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.107.13 numberie (FI-776) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.107.14 numdigits (FI-48) |
| Type: | long |
| Check Constraint: | ((NumDigits >= 0) AND (NumDigits <= 32)) OR (NumDigits = 99) |
| Migration Source: | NumDigits |
| 2.3.107.15 passingprecedencelevelthroughuuie (FI-2167) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.107.16 pkid (FI-41) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.107.17 prefix (FI-46) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Default Value: | NULL |
| Validation: | ^[0-9*#+]{0,50}$ |
| Migration Source: | Prefix |
| 2.3.107.18 protocolprofile91nameonly (FI-2168) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.107.19 securityaccesslevel (FI-2169) |
| Type: | long |
| Default Value: | 2 |
| Check Constraint: | (SecurityAccessLevel >= 0) AND (SecurityAccessLevel <= 99) |
| 2.3.107.20 sendcallingnameinfacilityie (FI-1361) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.107.21 sendexleadingcharindispie (FI-1026) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.107.22 sendrestart (FI-52) |
| Type: | bool |
| Default Value: | TRUE |
| Migration Source: | SendRestart |
| 2.3.107.23 setupnonisdnpiflag (FI-992) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.107.24 sigdigits (FI-47) |
| Type: | bool |
| Default Value: | FALSE |
| Migration Source: | SigDigits |
| Remarks: | Must be 1 if (NumDigits >= 0) AND (NumDigits <= 32), or 0 if (NumDigits = 99) |
| 2.3.107.25 smdibaseport (FI-1221) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (SMDIBasePort>= 0) AND (SMDIBasePort<= 4096) |
| 2.3.107.26 span (FI-43) |
| Type: | long |
| Check Constraint: | (Span >= 0) AND (Span <= 1) |
| Migration Source: | Span |
| 2.3.107.27 statuspoll (FI-49) |
| Type: | bool |
| Migration Source: | StatusPoll |
| 2.3.107.28 stripcountout (FI-55) |
| Type: | long |
| Default Value: | 0 |
| Migration Source: | StripCountOut |
| 2.3.107.29 tkasn1roseoidencoding (FI-3766) |
| Type: | enum |
| Default Value: | 0 |
| Rule (RI-583): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DigitalAccessPRI.tkASN1RoseOidEncoding and DigitalAccessPRI.tkQSIGVariant Change Restriction |
| Description: | If tkPriProtocol is not enabled for qsigthen tkASN1RoseOidEncoding or tkQSIGVariant in the DigitalAccessPRI table should not be allowed to change from DEFAULT to NON DEFAULT |
| Test Condition: | ON INSERT or UPDATE in DigitalAccessPRI: SELECT count(enum) INTO nRows from typepriprotocol where enum = new.tkpriprotocol and isqsig = 't'; IF (nrows=0) throw exception END IF; |
| Error Message: | Cannot modify the value since qsig is not enabled for this device |
| Remedy: | Enable the QSIG and change the value |
|
| 2.3.107.30 tkcallingpartyselection (FI-59) |
| Type: | enum |
| Default Value: | 1 |
| Migration Source: | CallingPartySelection |
| Remarks: | Source of the calling party number: originator = 1, first redirect = 2, last redirect = 3 |
| 2.3.107.31 tkclockreference (FI-58) |
| Type: | enum |
| Migration Source: | ClockReference |
| Remarks: | Indicates if the device sync up with the Network clock or use it's own clock for timing |
| 2.3.107.32 tkconnectedpbx (FI-1334) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.107.33 tkcsuparam (FI-62) |
| Type: | enum |
| Migration Source: | CSUParam |
| Remarks: | TX-level CSU parameter for PRI interface |
| 2.3.107.34 tkencode (FI-640) |
| Type: | enum |
| Default Value: | 1 |
| 2.3.107.35 tkfdlchannel (FI-715) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.107.36 tkframing (FI-713) |
| Type: | enum |
| Default Value: | 1 |
| 2.3.107.37 tknumberingplan_called (FI-687) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.107.38 tknumberingplan_calling (FI-688) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.107.39 tkpresentationbit_callingline (FI-1335) |
| Type: | enum |
| Default Value: | 0 |
| Migration Source: | PresentationBit |
| Remarks: | CLID presentationBit: allowed = 1, restricted = 2 |
| 2.3.107.40 tkpresentationbit_connectedline (FI-1333) |
| Type: | enum |
| Default Value: | 0 |
| Migration Source: | PresentationBit |
| Remarks: | CLID presentationBit: allowed = 1, restricted = 2 |
| 2.3.107.41 tkprichanie (FI-50) |
| Type: | enum |
| Default Value: | 2 |
| Migration Source: | ChanIE |
| 2.3.107.42 tkpriofnumber_called (FI-674) |
| Type: | enum |
| Default Value: | 0 |
| Migration Source: | based on TypePriOfNumber |
| 2.3.107.43 tkpriofnumber_calling (FI-673) |
| Type: | enum |
| Default Value: | 0 |
| Migration Source: | based on TypePriOfNumber |
| 2.3.107.44 tkpriprotocol (FI-44) |
| Type: | enum |
| Migration Source: | Protocol |
| Rule (RI-28): |
| Type: | Active (Insert/Update) |
| Rule Name: | Set QSIG on DigitalAccessPri device and Configuration of E1 links that are PRI EURO protocol type for MLPP is allowed. |
| Description: | Update the QSIG setting on the Digital Access device whenever the PRI Protocol settings is changed from QSIG to non-QSIG, or non-QSIG to QSIG. And if device is E1 and MLPP Indication <> 0 Or MLPP Preemption <> 0 Then if PriProtocol <> PRI_EURO then throw exception |
| Test Condition: | ON INSERT/UPDATE/DELETE IN DigitalAccessPRI IF (@tkPriProtocol <> tkPriProtol) THEN (set tkqsig on device where device.pkid = digitalaccesspri.fkdevice) |
|
| Rule (RI-40): |
| Type: | Validation (Update) |
| Rule Name: | QSIG Protocol Change Restriction |
| Description: | If a Digital Access PRI gateway is a member of a Route Group, the PRI Protocol of the gateway cannot be changed from a non-QSIG protocol to QSIG, or from a QSIG to non-QSIG PRI Protocol. |
| Test Condition: | SELECT COUNT(*) FROM RouteGroupDeviceMap WHERE fkDevice = @Device.pkid AND Device.tkDeviceProtocol = 1 |
| Error Message: | Cannot change a QSIG device to a non-QSIG PRI Protocol while the device is a member of a Route Group. |
| Remedy: | Remove the device from the Route Group to which it belongs and then change the PRI Protocol. |
|
| Rule (RI-583): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DigitalAccessPRI.tkASN1RoseOidEncoding and DigitalAccessPRI.tkQSIGVariant Change Restriction |
| Description: | If tkPriProtocol is not enabled for qsigthen tkASN1RoseOidEncoding or tkQSIGVariant in the DigitalAccessPRI table should not be allowed to change from DEFAULT to NON DEFAULT |
| Test Condition: | ON INSERT or UPDATE in DigitalAccessPRI: SELECT count(enum) INTO nRows from typepriprotocol where enum = new.tkpriprotocol and isqsig = 't'; IF (nrows=0) throw exception END IF; |
| Error Message: | Cannot modify the value since qsig is not enabled for this device |
| Remedy: | Enable the QSIG and change the value |
|
| 2.3.107.45 tkqsigvariant (FI-3768) |
| Type: | enum |
| Default Value: | 0 |
| Rule (RI-583): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DigitalAccessPRI.tkASN1RoseOidEncoding and DigitalAccessPRI.tkQSIGVariant Change Restriction |
| Description: | If tkPriProtocol is not enabled for qsigthen tkASN1RoseOidEncoding or tkQSIGVariant in the DigitalAccessPRI table should not be allowed to change from DEFAULT to NON DEFAULT |
| Test Condition: | ON INSERT or UPDATE in DigitalAccessPRI: SELECT count(enum) INTO nRows from typepriprotocol where enum = new.tkpriprotocol and isqsig = 't'; IF (nrows=0) throw exception END IF; |
| Error Message: | Cannot modify the value since qsig is not enabled for this device |
| Remedy: | Enable the QSIG and change the value |
|
| 2.3.107.46 tkstatus_routeclasssignalingenabled (FI-3935) |
| Type: | enum (Indexed) |
| Default Value: | 0 |
| Remarks: | Indicates whether Route Class Signaling is enabled on a PRI trunk |
| Rule (RFI-250): |
| Type: | Inter-field Condition and Constraint |
| Test Condition: | tkPriProtocol NOT IN (2,3,4,5,6,7,8,9,10,22) |
| Constraint: | (tkStatus_RouteClassSignalingEnabled = 0) |
| Remarks: | tkStatus_RouteClassSignalingEnabled MUST be Off for PRI protocols that don't suppport the feature (see Help pages for list of supported protocols) |
|
| Rule (RI-632): |
| Type: | Validation (Insert/Update) |
| Rule Name: | Route Class Signaling support required for Route Class Signaling Enable |
| Description: | Route Class Signaling Enabled setting must be OFF for devices that do not support Route Class Signaling feature (tkSupportsFeature = 94) |
| Test Condition: | ON INSERT/UPDATE IN DigitalAccessPRI: |
| Error Message: | This Device does not support Route Class Signaling (RouteClassSignalingEnabled setting) |
| Remedy: | Set RouteClassSignalingEnabled to off and try again |
|
| 2.3.107.47 tktrunklevel (FI-709) |
| Type: | enum |
| Default Value: | 7 |
| 2.3.107.48 tktrunkpad_rx (FI-707) |
| Type: | enum |
| Default Value: | 32 |
| 2.3.107.49 tktrunkpad_tx (FI-708) |
| Type: | enum |
| Default Value: | 32 |
| 2.3.107.50 tktrunkselectionorder (FI-45) |
| Type: | enum |
| Default Value: | 1 |
| Migration Source: | Direction |
| 2.3.107.51 tkyellowalarm (FI-717) |
| Type: | enum |
| Default Value: | 1 |
| 2.3.107.52 tkzerosuppression (FI-711) |
| Type: | enum |
| Default Value: | 0 |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.108 digitalaccesst1 (TI-15) |
| Description: | Digital access T1 information not in Device table
|
| Fields: |
| 2.3.108.1 encodevoicerouteclass (FI-3937) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | TRUE if this T1 (CAS) i/f should signal the voice route class digit |
| 2.3.108.2 fkdevice (FI-64) |
| Type: | guid (Indexed, Cascade Delete) |
| Migration Source: | convert from Device |
| Rule (RI-108): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DigitalAccessT1 device |
| Description: | The records in DigitalAccessT1 table must reference a device using DigitalAccessT1 device protocol. |
| Test Condition: | DigitalAccessT1.fkDevice IN (SELECT pkid FROM Device where tkDeviceProtocol = 4) |
| Error Message: | DigitalAccessT1 table may only reference devices with matching Device Protocol (DigitalAccessT1). |
| Remedy: | Correct the fkDevice value to refer to an Digital Access T1 device. |
|
| 2.3.108.3 handledtmfprecedencesignals (FI-1336) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.108.4 pkid (FI-63) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.108.5 releaseguardtimer (FI-10003) |
| Type: | long (Null OK) |
| Default Value: | 2000 |
| Check Constraint: | (ReleaseGuardTimer>= 1) AND (ReleaseGuardTimer<= 2000) |
| Remarks: | This timer is used by gateway to release the channel back to idle state on receiving clear-forward from the far end,This timer is used to protect gateway from any race conditions that could occur when we receive Release from both sides |
| 2.3.108.6 seizureacktime (FI-9945) |
| Type: | long (Null OK) |
| Check Constraint: | (SeizureAckTime>= 2) AND (SeizureAckTime<= 100) |
| Remarks: | This is the delay (in milliseconds) between the gateway that receives seizure and sends seizure acknowledgment (ACK) |
| 2.3.108.7 smdibaseport (FI-1222) |
| Type: | long |
| Default Value: | 0 |
| Check Constraint: | (SMDIBasePort>= 0) AND (SMDIBasePort<= 4096) |
| 2.3.108.8 tkclockreference (FI-67) |
| Type: | enum |
| Migration Source: | ClockReference |
| 2.3.108.9 tkcsuparam (FI-69) |
| Type: | enum |
| Migration Source: | CSUParam |
| 2.3.108.10 tkdigitsending (FI-1024) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | DTMF or MF |
| 2.3.108.11 tkencode (FI-66) |
| Type: | enum |
| Migration Source: | EncodeType |
| 2.3.108.12 tkfdlchannel (FI-716) |
| Type: | enum |
| Default Value: | 3 |
| 2.3.108.13 tkframing (FI-714) |
| Type: | enum |
| Default Value: | 1 |
| 2.3.108.14 tkstatus_routeclasssignalingenabled (FI-3936) |
| Type: | enum (Indexed) |
| Default Value: | 0 |
| Remarks: | Indicates whether Route Class Signaling is enabled on a CAS trunk |
| 2.3.108.15 tktrunkselectionorder (FI-65) |
| Type: | enum |
| Migration Source: | TrunkSelectionOrder |
| 2.3.108.16 tkyellowalarm (FI-718) |
| Type: | enum |
| Default Value: | 1 |
| 2.3.108.17 tkzerosuppression (FI-712) |
| Type: | enum |
| Default Value: | 0 |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.109 digitalaccesst1port (TI-16) |
| Description: | Ports on a Digital Access T1
|
| Fields: |
| 2.3.109.1 attendantdn (FI-75) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Default Value: | NULL |
| Validation: | ^[0-9*#+]{0,50}$ |
| Migration Source: | AttendantNumber |
| Remarks: | If Inbound type call and Loop Start are Ground Start Attendant Number is needed |
| 2.3.109.2 calleriddn (FI-90) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_MASK |
| Default Value: | NULL |
| Validation: | ^[0-9*#+X]{0,32}$ |
| Migration Source: | CallerId |
| 2.3.109.3 endpointid (FI-563) |
| Type: | string [129] |
| Default Value: | EMPTY |
| Migration Source: | new |
| Remarks: | User may only change the PhysicalLocation and not @domain part. Default is PhysicalLocation from MGCPDeviceTable + portNum + @domain |
| 2.3.109.4 expecteddigits (FI-79) |
| Type: | long |
| Check Constraint: | (ExpectedDigits >= 0) AND (ExpectedDigits <= 32) |
| Migration Source: | ExpectedDigits |
| 2.3.109.5 fkdevice (FI-71) |
| Type: | guid (Indexed, Cascade Delete) |
| Migration Source: | convert from Device |
| Rule (RI-109): |
| Type: | Validation (Insert/Update) |
| Rule Name: | DigitalAccessT1Port device |
| Description: | The records in DigitalAccessT1Port table must reference a device using DigitalAccessT1 device protocol (4). |
| Test Condition: | DigitalAccessT1Port.fkDevice IN (SELECT pkid FROM Device where tkDeviceProtocol = 4) |
| Error Message: | DigitalAccessT1Port table may only reference devices with matching Device Protocol (DigitalAccessT1). |
| Remedy: | Correct the fkDevice value to refer to an Digital Access T1 device. |
|
| 2.3.109.6 inboundcalleridenable (FI-89) |
| Type: | bool |
| Migration Source: | InboundCallerIdEnable |
| 2.3.109.7 numdigits (FI-77) |
| Type: | long |
| Check Constraint: | (NumDigits >= 0) AND (NumDigits <= 32) |
| Migration Source: | NumDigits |
| Remarks: | Maximum number of digits to collect. Collects least significant to NumDigits selected |
| 2.3.109.8 pkid (FI-70) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.109.9 portnum (FI-72) |
| Type: | long |
| Migration Source: | PortNum |
| Remarks: | fkDevice+PortNum are unique; 1-24; 1-8 For Vega |
| 2.3.109.10 prefix (FI-76) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Default Value: | NULL |
| Validation: | ^[0-9*#+]{0,50}$ |
| Migration Source: | Prefix |
| Remarks: | Prefix digits to apply in inbound call only. |
| 2.3.109.11 sigdigits (FI-78) |
| Type: | bool |
| Migration Source: | SigDigits |
| Remarks: | Obsolete - NumDigits is always used. Flag to allow only certain amount of digits. |
| 2.3.109.12 timer1 (FI-83) |
| Type: | long |
| Check Constraint: | Timer1>= 0 |
| Migration Source: | Timer1 |
| Remarks: | In Milliseconds |
| 2.3.109.13 timer2 (FI-84) |
| Type: | long |
| Check Constraint: | Timer2>= 0 |
| Migration Source: | Timer2 |
| Remarks: | In Milliseconds |
| 2.3.109.14 timer3 (FI-85) |
| Type: | long |
| Check Constraint: | Timer3>= 0 |
| Migration Source: | Timer3 |
| Remarks: | In Milliseconds |
| 2.3.109.15 timer4 (FI-86) |
| Type: | long |
| Check Constraint: | Timer4>= 0 |
| Migration Source: | Timer4 |
| Remarks: | In Milliseconds |
| 2.3.109.16 timer5 (FI-87) |
| Type: | long |
| Check Constraint: | Timer5>= 0 |
| Migration Source: | Timer5 |
| Remarks: | In Milliseconds |
| 2.3.109.17 timer6 (FI-88) |
| Type: | long |
| Check Constraint: | Timer6>= 0 |
| Migration Source: | Timer6 |
| Remarks: | In Milliseconds |
| 2.3.109.18 tkcallerid (FI-720) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.109.19 tkcallingpartyselection (FI-92) |
| Type: | enum |
| Migration Source: | CallingPartySelection |
| Remarks: | Source of the calling party number: originator = 1, first redirect = 2, last redirect = 3 |
| 2.3.109.20 tkdigitsending (FI-564) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | DTMF or MF |
| 2.3.109.21 tkpresentationbit (FI-93) |
| Type: | enum |
| Migration Source: | PresentationBit |
| Remarks: | CLID presentationBit:allowed = 1, restricted = 2 |
| 2.3.109.22 tksilencesuppressionthreshold (FI-91) |
| Type: | enum |
| Migration Source: | SilenceSuppressionThreshold |
| Remarks: | in dbm0 |
| 2.3.109.23 tkstartdialprotocol (FI-625) |
| Type: | enum |
| Default Value: | 0 |
| 2.3.109.24 tktrunk (FI-73) |
| Type: | enum |
| Migration Source: | PortType |
| 2.3.109.25 tktrunkdirection (FI-74) |
| Type: | enum |
| Migration Source: | Direction |
| Remarks: | Inbound Outbound and Both are valid Directions. Outbound equates to DOD. Both only allowed on Ground Start (GS) |
| 2.3.109.26 tktrunklevel (FI-80) |
| Type: | enum |
| Migration Source: | ApplicationType |
| Remarks: | used to set PAD level |
| 2.3.109.27 tktrunkpad_rx (FI-81) |
| Type: | enum |
| Migration Source: | RxPad |
| Remarks: | +/- 32db |
| 2.3.109.28 tktrunkpad_tx (FI-82) |
| Type: | enum |
| Migration Source: | TxPad |
| Remarks: | +/- 32db |
| 2.3.109.29 unattendedport (FI-2848) |
| Type: | bool (Null OK) |
| Default Value: | FALSE |
| 2.3.109.30 versionstamp (FI-2170) |
| Type: | string [47] (Not Modifiable, Null OK) |
| Default Value: | 0000000000-c7a6c673-7479-46b0-839e-014d3d093963 |
| Remarks: | New Guid is generated when the port XML change |
| Rule (RI-261): |
| Type: | Active (Insert/Update) |
| Rule Name: | digitalaccesst1port versionstamp |
| Description: | on change to anything in digitalaccesst1port, update versionstamp |
| Test Condition: | update digitalaccesst1port |
|
| Rule (RI-261): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | digitalaccesst1port versionstamp |
| Description: | on change to anything in digitalaccesst1port, update versionstamp |
| Test Condition: | update digitalaccesst1port |
|
| 2.3.109.31 xml (FI-936) |
| Type: | string [24000] (Null OK) |
| Default Value: | NULL |
| Remarks: | Product configuration XML not used by CCM |
| Rule (RI-197): |
| Type: | Validation (Insert/Update) This field is modified by this rule. |
| Rule Name: | DigitalAccessT1Port.xml validation |
| Description: | Product specific information for each digitalAcces Gateway Port needs to be validated before storing in xml column. Validation is now performed using client side script at Admin pages. This involves reading the display instance xml (from scratch table) for the specific product, then for each parameter , read the corresponding rule xml record (scratch table) and validate the parameter value as defined in the rule. |
| Test Condition: | On Insert/Update of DigitalAccessT1 port (T1CAS gatewy ports) |
|
|
| Uniqueness: | fkdevice + portnum is unique. (MFI-5) |
| 2.3.110 digitdiscardinstruction (TI-105) |
| Description: | Digit Discard Instruction clauses
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.110.1 clause (FI-694) |
| Type: | memo (Not Modifiable, Null OK) |
| Default Value: | NULL |
| 2.3.110.2 digitanalysisid (FI-619) |
| Type: | long (Unique, Not Modifiable) |
| 2.3.110.3 fkdialplan (FI-547) |
| Type: | guid (Cascade Delete, Not Modifiable) |
| Migration Source: | automatic |
| 2.3.110.4 name (FI-541) |
| Type: | string [50] (Not Modifiable) |
| Migration Source: | automatic |
| Remarks: | Removed Unique key constraint on name field |
| 2.3.110.5 pkid (FI-540) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
| 2.3.110.6 resettoggle (FI-3076) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Should this device or group be reset |
| 2.3.110.7 tkreset (FI-3077) |
| Type: | enum |
| Default Value: | 2 |
| Remarks: | Set by DeviceReset stored procedure. |
|
| Uniqueness: | name + fkdialplan is unique. (MFI-36) |
| 2.3.111 digitdiscardinstructionmember (TI-100) |
| Description: | List of tags per Digit Discard Instruction
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.111.1 fkdialplantag (FI-469) |
| Type: | guid (Not Modifiable) |
| Migration Source: | automatic |
| 2.3.111.2 fkdigitdiscardinstruction (FI-468) |
| Type: | guid (Indexed, Cascade Delete, Not Modifiable) |
| Migration Source: | automatic |
| 2.3.111.3 pkid (FI-556) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Migration Source: | Generated |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | fkdialplantag + fkdigitdiscardinstruction is unique. (MFI-20) |
| 2.3.112 directorypluginattribute (TI-259) |
| Description: | attributes to be synced from LDAP server
|
| Fields: |
| 2.3.112.1 dirobjectclassattrname (FI-1832) |
| Type: | string [128] |
| Default Value: | EMPTY |
| 2.3.112.2 fkdirectorypluginconfig (FI-1831) |
| Type: | guid (Cascade Delete, Not Modifiable) |
| 2.3.112.3 pkid (FI-1830) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.112.4 tkldapserverattr (FI-1833) |
| Type: | enum |
|
| Uniqueness: | fkdirectorypluginconfig + tkldapserverattr is unique. (MFI-43) |
| 2.3.113 directorypluginconfig (TI-249) |
| Description: | Configuration data for the corporate Directory connector
|
| Fields: |
| 2.3.113.1 agreementstatus (FI-1711) |
| Type: | long |
| 2.3.113.2 connectedldaphost (FI-1899) |
| Type: | string [128] |
| Default Value: | EMPTY |
| 2.3.113.3 fkldapfilter (FI-1964) |
| Type: | guid (Null OK) |
| Remarks: | Empty means use the default filter for the directory host type associated with the agreement. Otherwise use the specified filter for which the host type should match the associated host type for the agreement. |
| 2.3.113.4 fullsyncstatus (FI-1894) |
| Type: | long (Null OK) |
| Default Value: | -1 |
| 2.3.113.5 highestcommittedusn (FI-1828) |
| Type: | string [128] |
| Default Value: | EMPTY |
| 2.3.113.6 incsyncstatus (FI-1777) |
| Type: | long (Null OK) |
| Default Value: | -1 |
| 2.3.113.7 invocationid (FI-1893) |
| Type: | string [128] |
| Default Value: | EMPTY |
| 2.3.113.8 ldapdn (FI-1714) |
| Type: | string [256] |
| Default Value: | Manager Distinguished Name |
| 2.3.113.9 ldappassword (FI-1715) |
| Type: | string [129] |
| Default Value: | 9e1cb76005b4b718276f4f3662d11f4474dbf844c91298f70fa00d71a9151211 |
| Rule (RI-763): |
| Type: | Validation (Insert/Update) |
| Rule Name: | LDAPPassword length restriction for DirectoryPluginConfig Table |
| Description: | on insert/update to check the lenght of the ldappassword field and throw an error accordingly |
| Test Condition: | On Insert to DirectoryPluginConfig |
| Error Message: | The encrypted form of the password is too large to be stored. Use a shorter or less complex password. |
|
| 2.3.113.10 ldapsynchronizationbase (FI-1716) |
| Type: | string [256] |
| Default Value: | Search Base |
| 2.3.113.11 name (FI-1962) |
| Type: | string [40] (Unique, Indexed) |
| 2.3.113.12 pkid (FI-1710) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.113.13 syncnow (FI-1892) |
| Type: | long (Null OK) |
| Default Value: | 0 |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.114 directorypluginhost (TI-260) |
| Description: | Host names of LDAP servers
|
| Fields: |
| 2.3.114.1 fkdirectorypluginconfig (FI-1835) |
| Type: | guid (Cascade Delete, Not Modifiable) |
| 2.3.114.2 hostname (FI-1836) |
| Type: | string [128] |
| Default Value: | Host Name |
| 2.3.114.3 ldapportnumber (FI-1938) |
| Type: | long |
| 2.3.114.4 pkid (FI-1834) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.114.5 priority (FI-1837) |
| Type: | long |
| 2.3.114.6 sslenabled (FI-1901) |
| Type: | bool |
| Default Value: | FALSE |
|
| Uniqueness: | fkdirectorypluginconfig + hostname is unique. (MFI-44) |
| 2.3.115 directorypluginschedule (TI-261) |
| Description: | Schedule for directory plugin task
|
| Fields: |
| 2.3.115.1 active (FI-1840) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.115.2 fkdirectorypluginconfig (FI-1839) |
| Type: | guid (Unique, Cascade Delete, Not Modifiable) |
| 2.3.115.3 intervalvalue (FI-1843) |
| Type: | long (Null OK) |
| 2.3.115.4 nextexectime (FI-1841) |
| Type: | string [32] |
| Default Value: | EMPTY |
| 2.3.115.5 pkid (FI-1838) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
| 2.3.115.6 repeatable (FI-1842) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.115.7 tkscheduleunit (FI-1844) |
| Type: | enum |
| Default Value: | 2 |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.116 dirgroup (TI-231) |
| Description: | Categorizes users and Application users
|
| Fields: |
| 2.3.116.1 isstandard (FI-2002) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | Created during installation. |
| 2.3.116.2 name (FI-1662) |
| Type: | string [128] (Unique, Indexed) |
| Validation: | ^[a-zA-Z 0-9._-]{1,128}$ |
| 2.3.116.3 pkid (FI-1661) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| Rules: |
| Rule (RI-201): |
| Type: | Validation (Update/Delete) Rule applied when record is inserted or updated. |
| Rule Name: | Standard CCM Super Users Group Restriction |
| Description: | The CCM Super Users Group must contain at least one application user at all times to prevent locking primary administrator out of the system. |
| Test Condition: | ON DELETE FROM ApplicationUserDirGroupMap IF (DirGroup = 'CCM Super User') AND (SELECT COUNT(*) FROM ApplicationUserDirGroupMap = 0) THEN throw exception; ON UPDATE ApplicationUserDirGroupMap IF (DirGroup = 'CCM Super User') AND (old_fkDirGroup <> new_fkDirGroup) THEN throw exception |
| Error Message: | CCM Super User Group must contain at least one application user at all times. |
| Remedy: | Add another Application User to be the CCM Super User before removing the current user. |
|
|
| 2.3.117 dmmsdevice (TI-416) |
| Description: | Cellular Subscriber data not in Device Table
|
| Fields: |
| 2.3.117.1 cnumber (FI-3144) |
| Type: | dn (Null OK) |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Default Value: | NULL |
| Validation: | ^[0-9*#+]{0,50}$ |
| Remarks: | Subscriber cellular number |
| 2.3.117.2 disableappdialrules (FI-3142) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.117.3 enablefollowme (FI-3145) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.117.4 fkdevice (FI-3141) |
| Type: | guid (Unique, Indexed, Cascade Delete) |
| 2.3.117.5 fkdevice_wsm (FI-3143) |
| Type: | guid (Indexed, Cascade Delete) |
| 2.3.117.6 pkid (FI-3140) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.118 dnddynamic (TI-440) |
| Description: | Frequently updated settings for Do Not Disturb (DND)
Insert/Delete is not allowed. |
| Fields: |
| 2.3.118.1 datetimestamp (FI-3292) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | for replication and conflict resolution |
| Rule (RI-400): |
| Type: | Active (Insert/Update) |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| Rule (RI-400): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | Update the DateTimeStamp for Dynamic records |
| Description: | When a record in a Dynamic table is updated, set the DateTimeStamp to the current time value |
| Test Condition: | ON INSERT/UPDATE INTO *Dynamic: LET currentTime = dbinfo('utc_current'); return currentTime (INTO DateTimeStamp); |
|
| 2.3.118.2 dndstatus (FI-3291) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.118.3 fkdevice (FI-3290) |
| Type: | guid (Unique, Cascade Delete) |
| 2.3.118.4 pkid (FI-3289) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.119 dntracelogging (TI-972) |
| Description: | Allows configuration of Called Party DN to trace a call back to the original party, this is in accordance with DOD UCR 2008 specifications related to Dynamic / Destination Call Tracing
|
| Fields: |
| 2.3.119.1 description (FI-9848) |
| Type: | string [200] |
| Default Value: | EMPTY |
| Validation: | ^[^\x00-\x1F""%&<>]{0,50}$ |
| Remarks: | Describes the Traced called party DN, documenting the owner / destination and / or a reason / reference for the trace. |
| 2.3.119.2 directorynumber (FI-9846) |
| Type: | dn (Unique, Indexed, Not Modifiable) |
| DN Type: | DN_TYPE_ALL_DIGITS |
| Validation: | ^[a-dA-D0-9*#]{3,50}$ |
| Remarks: | Indicates the Called Party DN on which tracing is enabled |
| Rule (RI-822): |
| Type: | Validation (Insert) |
| Rule Name: | Limit CallTrace DN count to 50 |
| Description: | Rule to limit Called Party Trace DN count to maximum of 50. Rules fires on insert and checks that there are no more than 50 records in DNTraceLogging table |
| Test Condition: | SELECT COUNT(*) INTO nRows FROM DNTraceLogging; IF (Mode = 'I') and (nRows>50) THEN throw exception; END IF; |
| Error Message: | Exceeded Called Party Trace DN limit of 50 |
| Remedy: | Please reduce the number of DN and try again. |
|
| Rule (RI-822): |
| Type: | Validation (Insert) This field is modified by this rule. |
| Rule Name: | Limit CallTrace DN count to 50 |
| Description: | Rule to limit Called Party Trace DN count to maximum of 50. Rules fires on insert and checks that there are no more than 50 records in DNTraceLogging table |
| Test Condition: | SELECT COUNT(*) INTO nRows FROM DNTraceLogging; IF (Mode = 'I') and (nRows>50) THEN throw exception; END IF; |
| Error Message: | Exceeded Called Party Trace DN limit of 50 |
| Remedy: | Please reduce the number of DN and try again. |
|
| 2.3.119.3 pkid (FI-9845) |
| Type: | guid (Unique, Indexed, Not Modifiable) |
| Default Value: | newid() |
| Remarks: | Unique ID to identify a record. |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.120 dpcallrecordserver (TI-688) |
| Description: | Diagnostic Portal Call Record Server
|
| Fields: |
| 2.3.120.1 alternatename (FI-5556) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Validation: | ^[a-zA-Z0-9._-]{0,255}$ |
| 2.3.120.2 alternateport (FI-5557) |
| Type: | long (Null OK) |
| 2.3.120.3 clusterid (FI-5547) |
| Type: | string [255] (Null OK) |
| Remarks: | This is only for UCM ,UCMBE |
| 2.3.120.4 description (FI-5546) |
| Type: | string [512] |
| Default Value: | EMPTY |
| Validation: | ^[^""%&\\<>]{0,128}$ |
| 2.3.120.5 domainname (FI-5811) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Validation: | ^[0-9A-Za-z_.-]{0,255}$ |
| 2.3.120.6 ikdpcallrecordserver_primary (FI-5548) |
| Type: | guid (Null OK) |
| Remarks: | This is the PKID for Primary (peer) call record server |
| 2.3.120.7 instancename (FI-5812) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Validation: | ^[0-9A-Za-z_.-]{0,255}$ |
| 2.3.120.8 name (FI-5545) |
| Type: | string [255] |
| Validation: | ^[a-zA-Z0-9._-]{1,255}$ |
| Remarks: | Diagnostic Portal CallRecord Server Name or ip address |
| 2.3.120.9 password (FI-5553) |
| Type: | string [255] |
| Default Value: | EMPTY |
| 2.3.120.10 pkid (FI-5544) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| 2.3.120.11 port (FI-5554) |
| Type: | long (Null OK) |
| 2.3.120.12 tkdpdeviceprotocol (FI-5550) |
| Type: | enum |
| Remarks: | TypeDeviceProtocol |
| 2.3.120.13 tkdpproduct (FI-5549) |
| Type: | enum |
| Remarks: | TypeProduct |
| 2.3.120.14 tkdpverificationstatus (FI-5551) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | TypeVerificationStatus - One of the following: 0 (notdone), 1 (Failed) or 2(Success) |
| 2.3.120.15 username (FI-5552) |
| Type: | string [255] |
| Default Value: | EMPTY |
| 2.3.120.16 verificationfailurereason (FI-5558) |
| Type: | string [255] |
| Default Value: | EMPTY |
| 2.3.120.17 verificationtimestamp (FI-5814) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | UTC time of Verification |
| 2.3.120.18 version (FI-5813) |
| Type: | string [50] |
| Default Value: | EMPTY |
|
| Uniqueness: | name + port is unique. (MFI-172) |
| 2.3.121 dpcertificate (TI-1031) |
| Description: | Diagnostic Portal Certificate
|
| Fields: |
| 2.3.121.1 certificate (FI-5818) |
| Type: | string [4096] |
| Remarks: | Diagnostic Portal Certificate |
| 2.3.121.2 issuername (FI-5817) |
| Type: | string [255] (Not Modifiable) |
| Validation: | ^[^""%&\\<>]{0,255}$ |
| 2.3.121.3 pkid (FI-5815) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| 2.3.121.4 serialnumber (FI-5821) |
| Type: | string [42] (Not Modifiable) |
| Remarks: | hex representation of serial number |
| 2.3.121.5 subjectname (FI-5816) |
| Type: | string [255] |
| Validation: | ^[^""%&\\<>]{0,255}$ |
| 2.3.121.6 validfromdate (FI-5819) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | UTC time |
| 2.3.121.7 validtodate (FI-5820) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | UTC time |
|
| Uniqueness: | issuername + serialnumber is unique. (MFI-171) |
| 2.3.122 dpdevice (TI-679) |
| Description: | Diagnostic Portal Device
|
| Fields: |
| 2.3.122.1 alternateaccessname (FI-5484) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Validation: | ^[a-zA-Z0-9._-]{0,255}$ |
| 2.3.122.2 clusterid (FI-5594) |
| Type: | string [255] (Null OK) |
| Remarks: | ClusterID |
| 2.3.122.3 description (FI-5482) |
| Type: | string [512] |
| Default Value: | EMPTY |
| Validation: | ^[^""%&\\<>]{0,128}$ |
| 2.3.122.4 isseeddevice (FI-5485) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | Is seed device |
| 2.3.122.5 name (FI-5481) |
| Type: | string [255] |
| Validation: | ^[a-z0-9._-]{1,255}$ |
| Remarks: | Diagnostic Portal Device - This is groupHost name or IP v4 address |
| Rule (RI-743): |
| Type: | Active (Insert/Update) This field is modified by this rule. |
| Rule Name: | On Insert/Update DPDevice |
| Description: | on insert/update of DPDevice convert data for the name field to lower case |
| Test Condition: | ON INSERT/UPDATE DPDevice convert the value for name field to lowercase |
|
| Rule (RI-743): |
| Type: | Active (Insert/Update) |
| Rule Name: | On Insert/Update DPDevice |
| Description: | on insert/update of DPDevice convert data for the name field to lower case |
| Test Condition: | ON INSERT/UPDATE DPDevice convert the value for name field to lowercase |
|
| 2.3.122.6 nodeid (FI-5593) |
| Type: | string [255] (Null OK) |
| Remarks: | NodeID |
| 2.3.122.7 pkid (FI-5480) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| 2.3.122.8 tkdpproduct (FI-5483) |
| Type: | enum |
| Remarks: | The enum value of the corresponding device type defined in the TypeDPProduct table |
| 2.3.122.9 version (FI-5806) |
| Type: | string [50] (Null OK) |
|
| Uniqueness: | name + tkdpproduct is unique. (MFI-137) |
| 2.3.123 dpdeviceaccess (TI-682) |
| Description: | Diagnostic Portal Device Access Method definition
|
| Fields: |
| 2.3.123.1 alternateport (FI-5498) |
| Type: | long (Null OK) |
| 2.3.123.2 fkdpdevice (FI-5494) |
| Type: | guid (Cascade Delete) |
| Remarks: | DP Device can be there in many groups |
| 2.3.123.3 password (FI-5496) |
| Type: | string [255] |
| Default Value: | EMPTY |
| 2.3.123.4 pkid (FI-5492) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| 2.3.123.5 port (FI-5497) |
| Type: | long (Null OK) |
| Default Value: | NULL |
| 2.3.123.6 tkdpdeviceprotocol (FI-5493) |
| Type: | enum |
| Remarks: | TypeDeviceProtocol |
| 2.3.123.7 tkdpverificationstatus (FI-5499) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | TypeVerificationStatus - One of the following: 0 (notdone), 1 (Failed) or 2(Success) |
| 2.3.123.8 username (FI-5495) |
| Type: | string [255] |
| Default Value: | EMPTY |
| 2.3.123.9 verificationfailurereason (FI-5500) |
| Type: | string [255] |
| Default Value: | EMPTY |
| 2.3.123.10 verificationtimestamp (FI-5807) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | UTC time of Verification |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.125 dpdevicegroupmap (TI-681) |
| Description: | Diagnostic Portal Devices mapping into Groups
|
| Fields: |
| 2.3.125.1 fkdpdevice (FI-5491) |
| Type: | guid (Cascade Delete) |
| Remarks: | DP Device can be there in many groups |
| 2.3.125.2 fkdpgroup (FI-5490) |
| Type: | guid (Cascade Delete) |
| Remarks: | DP Group can have many devices |
| 2.3.125.3 pkid (FI-5489) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
|
| Uniqueness: | fkdpgroup + fkdpdevice is unique. (MFI-139) |
| 2.3.126 dpdevicejobcomponent (TI-683) |
| Description: | Diagnostic Portal Jobs for device and component
|
| Fields: |
| 2.3.126.1 componentpath (FI-5506) |
| Type: | string [1024] |
| Remarks: | "/" separated list of component nodes from root to leaf node. Derived from ListTraceComponent and ListLogComponent command results. |
| 2.3.126.2 customcookiestring (FI-5507) |
| Type: | string [2560] (Null OK) |
| Remarks: | Custom Cookie String |
| 2.3.126.3 fkdpdevice (FI-5502) |
| Type: | guid (Cascade Delete) |
| Remarks: | DP Device can be there in many groups |
| 2.3.126.4 fkdpjob (FI-5503) |
| Type: | guid (Cascade Delete) |
| Remarks: | DP Device can be there in many groups |
| 2.3.126.5 islogcollectable (FI-5508) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.126.6 istracecollectionselected (FI-5604) |
| Type: | bool |
| Default Value: | FALSE |
| Remarks: | True - collect traces associated with the job; False - do not collect traces. |
| 2.3.126.7 istracecomponent (FI-5603) |
| Type: | bool |
| Default Value: | TRUE |
| Remarks: | True(default) - Trace Component and False - Log Component |
| 2.3.126.8 pkid (FI-5501) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| 2.3.126.9 tkdptracelevel (FI-5504) |
| Type: | enum (Null OK) |
| 2.3.126.10 tkdptracelevel_previous (FI-5505) |
| Type: | enum (Null OK) |
| 2.3.126.11 tkdpwebprotocol (FI-5602) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | TypeDPWebProtocol - One of the following: 0 (REST) default, 1 (SOAP) or 2 (Not Applicable) |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.127 dpdeviceproductcomponent (TI-680) |
| Description: | Diagnostic Portal Device Product Component
|
| Fields: |
| 2.3.127.1 fkdpdevice (FI-5488) |
| Type: | guid (Cascade Delete) |
| Remarks: | Product Component Relation to Device |
| 2.3.127.2 name (FI-5487) |
| Type: | string [255] |
| Validation: | ^[]a-zA-Z0-9 !#$%&'()*+,./:;<=>?@[^_{|}~\\-]{1,255}$ |
| Remarks: | Name of the Product component |
| 2.3.127.3 pkid (FI-5486) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
|
| Uniqueness: | name + fkdpdevice is unique. (MFI-138) |
| 2.3.129 dpemail (TI-685) |
| Description: | Diagnostic Portal Email addresses
|
| Fields: |
| 2.3.129.1 name (FI-5527) |
| Type: | string [255] (Unique) |
| Validation: | ^[0-9A-Za-z@_.-]{1,255}$ |
| Remarks: | Email address for notifications |
| 2.3.129.2 pkid (FI-5526) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.130 dpemaillist (TI-1032) |
| Description: | Diagnostic Portal List of Email addresses
|
| Fields: |
| 2.3.130.1 description (FI-5805) |
| Type: | string [512] (Null OK) |
| Validation: | ^[^""%&\\<>:]{0,128}$ |
| 2.3.130.2 name (FI-5804) |
| Type: | string [255] (Unique) |
| Validation: | ^[0-9A-Za-z@_.-]{1,255}$ |
| Remarks: | List of Email addresses for notifications |
| 2.3.130.3 pkid (FI-5803) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.131 dpemaillistmap (TI-1033) |
| Description: | Maps Diagnostic Portal Email address to the List of Email addresses
|
| Fields: |
| 2.3.131.1 fkdpemail (FI-5823) |
| Type: | guid (Cascade Delete) |
| Remarks: | Reference to an Email Address |
| 2.3.131.2 fkdpemaillist (FI-5824) |
| Type: | guid (Cascade Delete) |
| Remarks: | Reference to a list of Diagnostic Portal Email Addresses |
| 2.3.131.3 pkid (FI-5822) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
|
| Uniqueness: | fkdpemail + fkdpemaillist is unique. (MFI-170) |
| 2.3.132 dpftpserver (TI-695) |
| Description: | Defines the FTP Server for the Diagnostic Portal
|
| Fields: |
| 2.3.132.1 description (FI-5585) |
| Type: | string [512] |
| Default Value: | EMPTY |
| Validation: | ^[^""%&\\<>]{0,128}$ |
| 2.3.132.2 destinationdirectory (FI-5591) |
| Type: | string [1024] |
| Default Value: | EMPTY |
| Remarks: | Path |
| 2.3.132.3 name (FI-5584) |
| Type: | string [255] |
| Validation: | ^[a-zA-Z0-9._-]{1,255}$ |
| Remarks: | Diagnostic Portal TFTP Server Name |
| 2.3.132.4 password (FI-5589) |
| Type: | string [255] |
| Default Value: | EMPTY |
| 2.3.132.5 pkid (FI-5583) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| 2.3.132.6 port (FI-5590) |
| Type: | long |
| 2.3.132.7 tkdpdeviceprotocol (FI-5586) |
| Type: | enum |
| 2.3.132.8 tkdpverificationstatus (FI-5587) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | TypeVerificationStatus - One of the following: 0 (notdone), 1 (Failed) or 2(Success) |
| 2.3.132.9 username (FI-5588) |
| Type: | string [255] |
| Default Value: | EMPTY |
| 2.3.132.10 verificationfailurereason (FI-5592) |
| Type: | string [255] |
| Default Value: | EMPTY |
|
| Uniqueness: | name + port is unique. (MFI-146) |
| 2.3.133 dpgroup (TI-678) |
| Description: | Diagnostic Portal Group
|
| Fields: |
| 2.3.133.1 description (FI-5479) |
| Type: | string [512] |
| Default Value: | EMPTY |
| Validation: | ^[^""%&\\<>]{0,128}$ |
| 2.3.133.2 name (FI-5478) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z0-9._-]{1,50}$ |
| Remarks: | Name of Diagnostic Portal Group |
| 2.3.133.3 pkid (FI-5477) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.134 dpjob (TI-684) |
| Description: | Diagnostic PortalJob definition
|
| Fields: |
| 2.3.134.1 creationtime (FI-5521) |
| Type: | long (Null OK) |
| 2.3.134.2 description (FI-5511) |
| Type: | string [512] (Null OK) |
| Validation: | ^[^""%&\\<>]{0,128}$ |
| 2.3.134.3 downloadlocation (FI-5523) |
| Type: | string [1024] |
| Default Value: | EMPTY |
| 2.3.134.4 endtime (FI-5513) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | UTC format (32 bit integer) |
| 2.3.134.5 failurereason (FI-5522) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Remarks: | Reason For Failure |
| 2.3.134.6 frequency (FI-5828) |
| Type: | long |
| Default Value: | 1 |
| Check Constraint: | (Frequency > 0) |
| Remarks: | Frequency of the Diagnostic Portal Job |
| 2.3.134.7 groupname (FI-5809) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Validation: | ^[0-9A-Za-z_.-]{0,50}$ |
| 2.3.134.8 isemailnotificationrequired (FI-5525) |
| Type: | bool |
| Default Value: | FALSE |
| 2.3.134.9 isscheduledtracesetting (FI-5524) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.134.10 macaddress (FI-5520) |
| Type: | string [12] |
| Validation: | ^[0-9a-fA-F]{12}$ |
| Remarks: | MAC Address of subject |
| 2.3.134.11 name (FI-5510) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z0-9._-]{1,50}$ |
| Remarks: | User Defined job name |
| 2.3.134.12 noofbytestransferred (FI-5517) |
| Type: | long (Null OK) |
| 2.3.134.13 nooffilestransferred (FI-5518) |
| Type: | long (Null OK) |
| 2.3.134.14 pkid (FI-5509) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| 2.3.134.15 starttime (FI-5512) |
| Type: | long |
| Default Value: | 0 |
| Remarks: | UTC format (32 bit integer) |
| 2.3.134.16 statusoflastrun (FI-5515) |
| Type: | long (Null OK) |
| 2.3.134.17 templatename (FI-5810) |
| Type: | string [50] |
| Default Value: | EMPTY |
| Validation: | ^[0-9A-Za-z_.-]{0,50}$ |
| 2.3.134.18 timeoflastrun (FI-5516) |
| Type: | long (Null OK) |
| 2.3.134.19 timezone (FI-5514) |
| Type: | string [100] |
| 2.3.134.20 tkdpjobfeature (FI-5808) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | TypeDPJobFeature - One of the following: 0 (Scheduled Collection) or 1 (Scheduled Trace Modification and Collection) |
| 2.3.134.21 tkdpjobstatus (FI-5519) |
| Type: | enum |
| Remarks: | The enum value defined in the TypeDPJobStatus table |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.135 dpjobemaillistmap (TI-686) |
| Description: | Maps Diagnotistic Portal Jobs to list of email addresses for notifications
|
| Fields: |
| 2.3.135.1 fkdpemaillist (FI-5531) |
| Type: | guid (Cascade Delete) |
| Remarks: | Reference to a list of Diagnostic Portal Email Addresses |
| 2.3.135.2 fkdpjob (FI-5530) |
| Type: | guid (Cascade Delete) |
| Remarks: | DP Device can be there in many groups |
| 2.3.135.3 pkid (FI-5529) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
|
| Uniqueness: | fkdpjob + fkdpemaillist is unique. (MFI-140) |
| 2.3.136 dpmailserver (TI-694) |
| Description: | Defines the Mail Server for the Diagnostic Portal
|
| Fields: |
| 2.3.136.1 description (FI-5579) |
| Type: | string [512] |
| Default Value: | EMPTY |
| Validation: | ^[^""%&\\<>]{0,128}$ |
| 2.3.136.2 name (FI-5578) |
| Type: | string [255] |
| Validation: | ^[a-zA-Z0-9._-]{1,255}$ |
| Remarks: | Diagnostic Portal Mail Server Name |
| 2.3.136.3 pkid (FI-5577) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| 2.3.136.4 port (FI-5581) |
| Type: | long |
| Remarks: | Port used for SMTP protocol |
| 2.3.136.5 senderemail (FI-5827) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Validation: | ^[0-9A-Za-z@_.-]{0,255}$ |
| 2.3.136.6 tkdpverificationstatus (FI-5580) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | TypeVerificationStatus - One of the following: 0 (notdone), 1 (Failed) or 2(Success) |
| 2.3.136.7 verificationfailurereason (FI-5582) |
| Type: | string [255] |
| Default Value: | EMPTY |
|
| Uniqueness: | name + port is unique. (MFI-145) |
| 2.3.137 dpntpserver (TI-1034) |
| Description: | Diagnostic Portal NTP Server
|
| Fields: |
| 2.3.137.1 name (FI-5826) |
| Type: | string [255] (Unique) |
| Validation: | ^[0-9A-Za-z_.-]{1,255}$ |
| 2.3.137.2 pkid (FI-5825) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.138 dptemplate (TI-692) |
| Description: | Defines the template for the Diagnostic Portal
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.138.1 description (FI-5572) |
| Type: | string [512] (Null OK) |
| Validation: | ^[^""%&\\<>]{0,128}$ |
| 2.3.138.2 isstandard (FI-5596) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | Created during installation. |
| 2.3.138.3 name (FI-5571) |
| Type: | string [50] (Unique) |
| Validation: | ^[a-zA-Z0-9._-]{1,50}$ |
| Remarks: | Name of Diagnostic Portal Template |
| 2.3.138.4 pkid (FI-5570) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.139 dptemplatecomponentdata (TI-693) |
| Description: | Defines the template Component Data for the Diagnostic Portal
Records may be modified only by installation and/or DB triggers. |
| Fields: |
|
| Uniqueness: | fkdptemplate + fkdptemplatemetacomponentlist is unique. (MFI-144) |
| 2.3.140 dptemplatemetacomponentlist (TI-691) |
| Description: | Defines the TemplateMetaComponentList for Diagnostic Portal
Records may be modified only by installation and/or DB triggers. |
| Fields: |
| 2.3.140.1 componentpath (FI-5567) |
| Type: | string [1024] |
| Remarks: | "/" separated list of component nodes from root to leaf node. Derived from ListTraceComponent and ListLogComponent command results. |
| 2.3.140.2 islogcollectable (FI-5569) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.140.3 isstandard (FI-5595) |
| Type: | bool (Not Modifiable) |
| Default Value: | FALSE |
| Remarks: | Created during installation. |
| 2.3.140.4 istracesetable (FI-5568) |
| Type: | bool |
| Default Value: | TRUE |
| 2.3.140.5 pkid (FI-5565) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| 2.3.140.6 tkdpproduct (FI-5566) |
| Type: | enum |
| Remarks: | The enum value of the corresponding device type defined in the TypeDPProduct table |
|
| Uniqueness: | No multicolumn uniqueness constraints |
| 2.3.141 dptraceserver (TI-687) |
| Description: | Diagnostic Portal Trace Server
|
| Fields: |
| 2.3.141.1 alternatename (FI-5541) |
| Type: | string [255] |
| Default Value: | EMPTY |
| Validation: | ^[a-zA-Z0-9._-]{0,255}$ |
| 2.3.141.2 alternateport (FI-5542) |
| Type: | long (Null OK) |
| 2.3.141.3 description (FI-5534) |
| Type: | string [512] |
| Default Value: | EMPTY |
| Validation: | ^[^""%&\\<>]{0,128}$ |
| 2.3.141.4 homedirectory (FI-5539) |
| Type: | string [1024] |
| Default Value: | EMPTY |
| Validation: | ^[]a-zA-Z0-9 !#$%&'()*+,./:;<=>?@[^_{|}~\\-]{0,1024}$ |
| Remarks: | Home Directory. |
| 2.3.141.5 name (FI-5533) |
| Type: | string [255] |
| Validation: | ^[a-zA-Z0-9._-]{1,255}$ |
| Remarks: | Diagnostic Portal Trace Server Name or ip address |
| 2.3.141.6 password (FI-5537) |
| Type: | string [255] |
| Default Value: | EMPTY |
| 2.3.141.7 pkid (FI-5532) |
| Type: | guid (Unique, Not Modifiable) |
| Default Value: | newid() |
| 2.3.141.8 port (FI-5538) |
| Type: | long |
| 2.3.141.9 tkdpdeviceprotocol (FI-5535) |
| Type: | enum |
| Remarks: | TypeDeviceProtocol |
| 2.3.141.10 tkdpverificationstatus (FI-5540) |
| Type: | enum |
| Default Value: | 0 |
| Remarks: | TypeVerificationStatus - One of the following: 0 (notdone), 1 (Failed) or 2(Success) |
| 2.3.141.11 username (FI-5536) |
| Type: | string [255] |
| Default Value: | EMPTY |
| 2.3.141.12 verificationfailurereason (FI-5543) |
| Type: | string [255] |
| Default Value: | EMPTY |
|
| Uniqueness: | name + port is unique. (MFI-141) |
|