CommuniGate Pro
Version 5.4
Applications
 
 
CLI/API

Command Line Interface/API

The CommuniGate Pro Server provides a Command Line Interface (CLI) for Server administrating. This interface can be used as an alternative for the Web Administrator interface.

CLI can also be used as the Application Program Interface (API), so the Server can be managed via scripts and other programs that issue the CLI commands to the Server.

CLI Access

The CommuniGate Pro Server provides several methods to access its CLI:

When the CLI is used over the PWD connection, the CLI commands are accepted as soon as the user is authenticated. For each CLI command the Server checks the authenticated user access rights.

If a command produces some data, the data is sent after the protocol line with the positive response. The CR-LF combination is sent after the data.

Below is a sample PWD session with CLI commands:
C: telnet servername.com 106
S: 200 CommuniGate Pro at mail.servername.com PWD Server 5.3 ready
C: USER postmaster
S: 300 please send the PASS
C: PASS postmasterpassword
S: 200 login OK
C: CreateAccount "user1"
S: 200 OK
C: CreateAccount "user1"
S: 501 Account with this name already exists
C: RenameAccount "user1" into "user2"
S: 200 OK
C: CreateDomain "client1.com"
S: 200 OK
C: CreateAccount "user1@client1.com" TextMailbox
S: 200 OK
C: ListDomains
S: 200 data follow
S: (mail.servername.com, client1.com, client2.com)
C: QUIT
S: 200 CommuniGate Pro PWD connection closed

The CommuniGate Pro Perl Interface document contains a set of the Perl language utilities that allow a Perl script to access the CommuniGate Pro CLI API via the PWD protocol. The document also contains links to several useful sample Perl scripts (automated Account registration and removal, etc.)

The CommuniGate Pro Java Interface document contains the set of the Java language classes that allow a Java program to access the CommuniGate Pro CLI API via the PWD protocol. The document also contains links to several sample Java programs.

The CommuniGate Pro CLI uses the standard Data Formats to parse commands and to format the output results.

Note: These Dictionary format syntax rules allow you to specify a string without the


CLI Syntax

The CommuniGate Pro CLI uses the standard Data Formats to parse commands and to format the output results.

Note: These Dictionary format syntax rules allow you to specify a string without the quotation marks if the string contains alphanumerical symbols only. You should use the quotation marks if a string contains the dot (.), comma (,), and other non-alphanumerical symbols.

In spite of the fact that the standard Data formats can use several text lines, all data (including arrays and dictionaries) you specify as CLI parameters should be stored on one command line.

If a CLI command produces some output in the array or dictionary format, the output data can be presented on several lines.


Domain Set Administration

A user should have the Users Server access right to use the Domain Set Administration CLI commands.

The following commands are available for the System Administrators only:

LISTDOMAINS
Use this command to get the list of domains. The command produces output data - an array with the names of all server domains.
MAINDOMAINNAME
Use this command to get the name of the Main Domain. The command produces output data - a string with the Main Domain name.
GETDOMAINDEFAULTS
Use this command to get the server-wide default Domain Settings. The command produces an output - a dictionary with the default Domain Settings.
UPDATEDOMAINDEFAULTS newSettings
Use this command to change the server-wide default Domain settings.
newSettings : dictionary
This dictionary is used to update the default Domain settings dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified.
SETDOMAINDEFAULTS newSettings
Use this command to change the server-wide default Domain settings.
newSettings : dictionary
This dictionary is used to replace the server-wide default Domain settings dictionary.
GETCLUSTERDOMAINDEFAULTS
UPDATECLUSTERDOMAINDEFAULTS newSettings
SETCLUSTERDOMAINDEFAULTS newSettings
These commands are available in the Dynamic Cluster only.
Use these commands instead of the [GET|UPDATE|SET]DOMAINDEFAULTS commands to work with the cluster-wide default Domain Settings.
GETSERVERACCOUNTDEFAULTS
Use this command to get the server-wide Default Account settings. The command produces an output - a dictionary with the global default Account settings.
UPDATESERVERACCOUNTDEFAULTS newSettings
Use this command to update the server-wide Default Account settings.
newSettings : dictionary
This dictionary is used to update the Default Account settings dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified.
SETSERVERACCOUNTDEFAULTS newSettings
Use this command to set the server-wide Default Account settings.
newSettings : dictionary
This dictionary is used to replace the server-wide Default Account settings dictionary.
GETCLUSTERACCOUNTDEFAULTS
UPDATECLUSTERACCOUNTDEFAULTS newSettings
SETCLUSTERACCOUNTDEFAULTS newSettings
These commands are available in the Dynamic Cluster only.
Use these commands instead of the [GET|UPDATE|SET]SERVERACCOUNTDEFAULTS commands to work with the cluster-wide Default Account settings.
GETSERVERACCOUNTPREFS
Use this command to get the server-wide Default Account Preferences. The command produces an output - a dictionary with the default Preferences.
SETSERVERACCOUNTPREFS newSettings
Use this command to change the server-wide Default Account Preferences.
newSettings : dictionary
This dictionary is used to replace the server-wide Default Account Preferences. All old server-wide Default Account Preferences are removed.
UPDATESERVERACCOUNTPREFS newSettings
Use this command to change the server-wide Default Account Preferences.
newSettings : dictionary
This dictionary is used to update the Default Account Preferences. It does not have to contain all settings data, the omitted Preferences will be left unmodified.
GETCLUSTERACCOUNTPREFS
SETCLUSTERACCOUNTPREFS newSettings
UPDATECLUSTERACCOUNTPREFS newSettings
These commands are available in the Dynamic Cluster only.
Use these commands instead of the [GET|SET|UPDATE]SERVERACCOUNTPREFS commands to work with the cluster-wide Default Account Preferences.
CREATEDOMAIN domainName [ settings ]
Use this command to create a new secondary Domain.
domainName : string
This parameter specifies the Domain name to create.
settings : dictionary
This optional parameter specifies the Domain settings.
RENAMEDOMAIN oldDomainName into newDomainName
Use this command to rename a Domain.
oldDomainName : string
This parameter specifies the name of an existing secondary Domain.
newDomainName : string
This parameter specifies the new Domain name.
DELETEDOMAIN oldDomainName [ force ]
Use this command to remove a Domain.
domainName : string
This parameter specifies the name of the Domain to be removed.
force
This optional parameter specifies that the Domain should be removed even if it is not empty. All Domain objects (Accounts, Groups, etc.) will be removed.
CREATESHAREDDOMAIN domainName [ settings ]
Use this command to create a new shared secondary Domain in a Dynamic Cluster.
domainName : string
This parameter specifies the Domain name to create.
settings : dictionary
This optional parameter specifies the Domain settings.
CREATEDIRECTORYDOMAIN domainName [ settings ]
Use this command to create a new directory-based Domain.
domainName : string
This parameter specifies the Domain name to create.
settings : dictionary
This optional parameter specifies the Domain settings.
This operation is allowed only when the Directory-based Domains are enabled.
RELOADDIRECTORYDOMAINS
Use this command to tell the server to scan the Domains Directory subtree so it can find all additional Directory-based Domains created directly in the Directory, bypassing the CommuniGate Pro Server.
This operation is allowed only when the Directory-based Domains are enabled.
LISTSERVERTELNUMS [ FILTER filter] limit
Use this command to read Telnum numbers created in all (non-clustered) Domains. The command produces an output - a dictionary where each key is a Telnum number, and its value is the Account name it is assigned to. An numeric element for an empty ("") key is added, it contains the total number of Telnum numbers created.
filter : string
If this optional parameter is specified, only the telnum numbers containing the specified string are returned.
limit : number
The maximum number of Telnum numbers to return.
LISTCLUSTERTELNUMS [ FILTER filter] limit
The same as LISTSERVERTELNUMS, but for shared Cluster Domains.
GETSERVERTRUSTEDCERTS
Use this command to get the server-wide set of Trusted Certificates. The command produces an output - an array of datablocks. Each datablock contains one X.509 certificate data.
SETSERVERTRUSTEDCERTS newCertificates
Use this command to set the server-wide set of Trusted Certificates.
newCertificates : array
This array should contain datablocks with X.509 certificate data. It is used to replace the server-wide list of Trusted Certificates.
GETCLUSTERTRUSTEDCERTS
SETCLUSTERTRUSTEDCERTS newCertificates
These commands are available in the Dynamic Cluster only.
Use these commands instead of the [Get|Set]ServerTrustedCerts commands to work with the cluster-wide set of Trusted Certificates.
GETDIRECTORYINTEGRATION
Use this command to get the server-wide Directory Integration settings. The command produces an output - a dictionary with the Directory Integration settings.
SETDIRECTORYINTEGRATION newSettings
Use this command to set the server-wide Directory Integration settings.
newSettings : dictionary
This dictionary is used to replace the server-wide Directory Integration settings dictionary.
GETCLUSTERDIRECTORYINTEGRATION
SETCLUSTERDIRECTORYINTEGRATION newSettings
These commands are available in the Dynamic Cluster only.
Use these commands instead of the [Get|Set]DirectoryIntegration commands to work with the cluster-wide Directory Integration settings.

Domain Administration

A user should have the Users Server access right or the Domain Administration access right to use the Domain Administration CLI commands.

GETDOMAINSETTINGS [ domainName ]
Use this command to get the Domain settings. The command produces an output - a dictionary with the domainName settings. Only the explicitly set (not the default) settings are included into that dictionary.
domainName : string
This optional parameter specifies the name of an existing Domain.
GETDOMAINEFFECTIVESETTINGS [ domainName ]
Use this command to get the Domain settings. The command produces an output - a dictionary with the domainName settings. Both the explicitly set and the default settings are included into that dictionary.
domainName : string
This optional parameter specifies the name of an existing Domain.
UPDATEDOMAINSETTINGS [ domainName ] newSettings
Use this command to update the Domain settings.
domainName : string
This optional parameter specifies the name of an existing Domain.
newSettings : dictionary
This dictionary is used to update the Domain settings dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified. If a new setting value is specified as the string default, the Domain setting value is removed, so the default Domain settings value will be used.
If this command is used by a Domain Administrator, it will update only those Domain Settings that this Domain Administrator is allowed to modify.
GETACCOUNTDEFAULTS [ domainName ]
Use this command to get the default Account settings for the specified Domain. The command produces an output - a dictionary with the default settings.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the Administrator Domain.
UPDATEACCOUNTDEFAULTS [ domainName ] newSettings
Use this command to modify the Default Account settings for the specified Domain.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
newSettings : dictionary
This dictionary is used to modify the Domain Default Account settings. The dictionary does not have to contain all settings data, the omitted settings will be left unmodified. If a new setting value is specified as the string default, the setting value is removed, so the global Server Default Account Settings will be used.
If this command is used by a Domain Administrator, it will update only those Default Account settings this Administrator is allowed to modify.
GETACCOUNTDEFAULTPREFS [ domainName ]
Use this command to get the Default Account Preferences for the specified Domain. The command produces an output - a dictionary with the default Preferences.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
SETACCOUNTDEFAULTPREFS [ domainName ] newSettings
Use this command to change the Default Account Preferences for the specified Domain.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the authenticated user Domain.
newSettings : dictionary
This dictionary is used to replace the Default Account Preferences. All old Default Account Preferences are removed.
This command can be used by Domain Administrators only if they have the WebUserSettings access right.
UPDATEACCOUNTDEFAULTPREFS [ domainName ] newSettings
Use this command to change the Default Account Preferences for the specified Domain.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the authenticated user Domain.
newSettings : dictionary
This dictionary is used to modify the Domain Default Account Preferences. It does not have to contain all Preferences data, the omitted elements will be left unmodified.
If a new element value is specified as the string default, the Default Preferences value is removed, so the default Server-wide (or Cluster-wide) Account Preferences value will be used.
This command can be used by Domain Administrators only if they have the WebUserSettings access right.
GETACCOUNTTEMPLATE [ domainName ]
Use this command to get the Account Template settings. The command produces an output - a dictionary with the Template settings.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
UPDATEACCOUNTTEMPLATE [ domainName ] newSettings
Use this command to modify the Account Template settings.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
newSettings : dictionary
This dictionary is used to modify the Domain Account Template. All new Accounts in the specified Domain will be created with the Template settings. The dictionary does not have to contain all settings data, the omitted settings will be left unmodified. If a new setting value is specified as the string default, the Template setting value is removed.
If this command is used by a Domain administrator, it will update only those Template settings that the Domain administrator is allowed to modify.
GETDOMAINALIASES domainName
Use this command to get the list of Domain Aliases. The command produces an output - an array with the Domain alias names.
domainName : string
This parameter specifies the name of an existing Domain.
GETDOMAINMAILRULES domainName
Use this command to get the list of Domain Queue Rules. The command produces an output - an array of the Queue Rules specified for the Domain.
domainName : string
This parameter specifies the name of an existing Domain.
SETDOMAINMAILRULES domainName newRules
Use this command to set the Domain Queue Rules.
domainName : string
This parameter specifies the name of an existing Domain.
newRules : array
This array should contain the Domain Queue Rules. All old Domain Queue Rules are removed.
This command can be used by Domain Administrators only if they have the RulesAllowed access right.
GETDOMAINSIGNALRULES domainName
Use this command to get the list of Domain Signal Rules. The command produces an output - an array of the Signal Rules specified for the Domain.
domainName : string
This parameter specifies the name of an existing Domain.
SETDOMAINSIGNALRULES domainName newRules
Use this command to set the Domain Signal Rules.
domainName : string
This parameter specifies the name of an existing Domain.
newRules : array
This array should contain the Domain Signal Rules. All old Domain Signal Rules are removed.
This command can be used by Domain Administrators only if they have the SignalRulesAllowed access right.
LISTADMINDOMAINS [ domainName ]
Use this command to get the list of Domains that can be administered by Domain Administrator Accounts in the specified domainName Domain. The command produces an output - an array with the Domain names.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the authenticated user Domain.
LISTDOMAINOBJECTS domainName [ FILTER filter ] limit [ ACCOUNTS ] [ ALIASES ] [ FORWARDERS ] [COOKIE cookie
Use this command to get a list of Domain objects.
domainName : string
This parameter specifies the Domain name.
filter : string
This optional parameter specifies a filter string: only objects with names including this string as a substring are listed.
limit : numeric string
This parameter specifies the maximum number of objects to list.
ACCOUNTS, ALIASES, FORWARDERS
These keywords specify which Domain objects should be listed.
cookie : string
This optional parameter specifies a "cookie" string.

The command produces output data - an array with the following elements:

  • a numeric string with the total number of Domain Accounts
  • a dictionary with Domain Objects. Each dictionary key is a Domain Object name. The dictionary value depends on the Domain Object type:
    Account
    the dictionary object is a string (the Account file extension)
    Account Alias
    the dictionary object is an array. Its only element is a string with the Alias owner (Account) name
    Forwarder
    the dictionary object is an array. Its only element is an array. Its only element is a string with the Forwarder address
  • a numeric string with the total number of Domain Aliases
  • a numeric string with the total number of Domain Forwarders
  • a new "cookie" string (optional, exists only if there was the COOKIE cookie part in the command

To list Objects in large Domains, specify some reasonable limit value (below 10,000) and specify and empty cookie string. If not all Objects are returned, issue the command again, using the new cookie value specified in the response array. When all Objects are returned, the new cookie value in the response is an empty string.

LISTACCOUNTS [ domainName ]
Use this command to get the list of all Accounts in the Domain. The command produces output data - a dictionary with the keys listing all Accounts in the specified (or default) Domain.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
LISTDOMAINTELNUMS domainName [ FILTER filter] limit
Use this command to read Telnum numbers created in the specified Domain. The command produces an output - a dictionary where each key is a Telnum number, and its value is the Account name it is assigned to. An numeric element for an empty ("") key is added, it contains the total number of Telnum numbers created.
domainName : string
This parameter specifies the Domain name.
filter : string
If this optional parameter is specified, only the telnum numbers containing the specified string are returned.
limit : number
The maximum number of Telnum numbers to return.
INSERTDIRECTORYRECORDS domainName
Use this command to insert records for Domain objects (Accounts, Groups, Mailing Lists, Forwarders) into the Directory.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the authenticated user Domain.
This command can be used by Domain Administrators only if they have the CentralDirectory access right.
DELETEDIRECTORYRECORDS domainName
Use this command to delete Domain object records from the Directory.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the authenticated user Domain.
This command can be used by Domain Administrators only if they have the CentralDirectory access right.

The following commands are available for the System Administrators only:

SETDOMAINALIASES domainName newAliases
Use this command to set the Domain aliases.
domainName : string
This parameter specifies the name of an existing Domain.
newAliases : array
This array should contain the Domain alias name strings. All old Domain aliases are removed.
SETDOMAINSETTINGS domainName newSettings
Use this command to change the Domain settings.
domainName : string
This parameter specifies the name of an existing Domain.
newSettings : dictionary
This dictionary is used to replace the Domain settings dictionary. All old Domain settings are removed.
SETACCOUNTDEFAULTS [ domainName ] newSettings
Use this command to change the Default Account settings for the specified Domain.
domainName : string
This parameter specifies the Domain name.
newSettings : dictionary
This dictionary is used to replace the Domain Default Account settings. All old Account Default settings are removed.
SETACCOUNTTEMPLATE [ domainName ] newSettings
Use this command to change the Account Template settings.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
newSettings : dictionary
This dictionary is used to update the Domain Account Template. All new Accounts in the specified Domain will be created with the Template settings. All old Account Template settings are removed.
GETDOMAINLOCATION [ domainName ]
Use this command to get the Domain file directory path (relative to the Server base directory). The command produces an output - a string with the Domain file path.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
SUSPENDDOMAIN domainName
Use this command to suspend a Domain, so all currently active Accounts are closed and no Account can be opened in this Domain.
domainName : string
This parameter specifies the name of the Domain to be suspended.
RESUMEDOMAIN domainName
Use this command to resume a Domain, so Accounts can be opened in this Domain.
domainName : string
This parameter specifies the name of the Domain to be resumed.

Account Administration

A user should have the Users Server access right or the Domain Administration access right to use the Account Administration CLI commands.

CREATEACCOUNT accountName [accountType] [ LEGACY ] [settings]
Use this command to create new accounts.
accountName : string
This parameter specifies the name for the new Account.
The name can contain the @ symbol followed by the Domain name, in this case the Account is created in the specified Domain. If the Domain name is not specified, the command applies to the administrator Domain.
accountType : MultiMailbox | TextMailbox | MailDirMailbox | AGrade | BGrade | CGrade
This optional parameter specifies the type of the Account to create. If no Account type is specified a MultiMailbox-type Account is created.
LEGACY
This optional flag tells the system to create an Account with a Legacy (visible for legacy mailers) INBOX.
settings : dictionary
This optional parameter specifies the initial Account settings. Account is created using the settings specified in the Account Template for the target Domain. If the settings parameter is specified, it is used to modify the Template settings.

This command can be used by Domain Administrators only if they have the CanCreateAccounts access right.
If this command is used by a Domain Administrator, it will use only those Account settings this Administrator is allowed to modify.
RENAMEACCOUNT oldAccountName into newAccountName
Use this command to rename Accounts.
oldAccountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newAccountName : string
This parameter specifies the new Account name. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have the CanCreateAccounts access right.
DELETEACCOUNT oldAccountName
Use this command to remove Accounts.
oldAccountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have the CanCreateAccounts access right.
SETACCOUNTTYPE accountName accountType
Use this command to change the Account type.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
accountType : MultiMailbox | AGrade | BGrade | CGrade
This parameter specifies the new Account type. The current Account type must also belong to this type set.
This command can be used by Domain Administrators only if they have the CanCreateAccounts access right.
GETACCOUNTSETTINGS accountName
Use this command to get the Account settings. The command produces an output - a dictionary with the Account settings. Only the explicitly set (not the default) Account settings are included into the dictionary.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
You can also specify the single asterisk (*) symbol instead of an Account name. This will indicate the current authenticated Account.
Note: All users can send the GETACCOUNTSETTINGS command for their own Accounts.
UPDATEACCOUNTSETTINGS accountName newSettings
Use this command to update the Account settings.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newSettings : dictionary
This dictionary is used to update the Account settings dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified. If a new setting value is specified as the string default, the Account setting value is removed, so the default Account setting value will be used.
If this command is used by a Domain Administrator, it will update only those Account settings this Administrator is allowed to modify.
GETACCOUNTEFFECTIVESETTINGS accountName
Use this command to get the effective Account settings. The command produces an output - a dictionary with the Account settings. Both the explicitly set and the default Account settings are included into the dictionary.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
You can also specify the single asterisk (*) symbol instead of an Account name. This will indicate the current authenticated Account.
Note: All users can send the GETACCOUNTEFFECTIVESETTINGS command for their own Accounts.
SETACCOUNTPASSWORD accountName PASSWORD newPassword [ METHOD method] [ CHECK ]
Use this command to update the Account password.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newPassword : string
This string specifies the new Account password. The new password will be stored using the effective Password Encryption setting of the target Account.
method : string
This optional parameter specifies the Account Access Mode. If this mode is "SIP", the the Alternative SIP Password Setting is modified, if this mode is RADIUS, then the Alternative RADIUS Password Setting is modified. In all other cases, the CommuniGate Password setting is modified. The new password will be stored using the effective Password Encryption setting of the target Account.
To use this command, the user should have the "Basic Settings" Domain Administration right for the target Account Domain.
Any user can modify her own Account password. In this case, or when the CHECK keyword is explicitly specified, the operation succeeds only when the Account CanModifyPassword effective Setting is enabled.
VERIFYACCOUNTPASSWORD accountName PASSWORD password
Use this command to verify the Account password.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
password : string
This string is used to specify the password to check (in the clear text format).
To use this command, the user should have any Domain Administration right for the target Account Domain.
GETACCOUNTALIASES accountName
Use this command to get the list of Account aliases. The command produces an output - an array with the Account alias names.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
SETACCOUNTALIASES accountName newAliases
Use this command to set the Account aliases.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newAliases : array
This array should contain the Account alias name strings. All old Account aliases are removed.
This command can be used by Domain Administrators only if they have the CanCreateAliases access right.
GETACCOUNTTELNUMS accountName
Use this command to get the list of telephone numbers assigned to the Account. The command produces an output - an array with the assigned numbers.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
SETACCOUNTTELNUMS accountName newAliases
Use this command to assign telephone numbers to the Account.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newAliases : array
This array should contain the telephone number strings. All old numbers assigned to the Account are removed.
This command can be used by Domain Administrators only if they have the CanCreateTelnums access right.
MODIFYACCOUNTTELNUMS accountName parameters
Use this command to change telephone numbers assigned to the Account.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
parameters : dictionary
This dictionary should contain the op string element specifying the requested operation:
add
the parameters dictionary must contain the telnum string element with a telnum number to be added (atomically) to the set of Telnums assigned to the specified Account. If this set already contains this Telnum, an error code is returned.
del
the parameters dictionary must contain the telnum string element with a telnum number to be removed (atomically) from the set of Telnums assigned to the specified Account. If this set does not contain this Telnum, an error code is returned.
pop
The parameters dictionary must not contain any other elements. The first Telnum assigned to the specified Account is atomically removed from the Account Telnum set, and copied into the command result dictionary. If the Account Telnum set was empty, no error code is returned, and no element is copied into the command result dictionary.
The command produces an output - a dictionary. For the pop operation, this dictionary can contain the telnum string element - the Telnum removed from the Account Telnum set.
This command can be used by Domain Administrators only if they have the CanCreateTelnums access right.
GETACCOUNTMAILRULES accountName
Use this command to get the list of Account Queue Rules. The command produces an output - an array of the Queue Rules specified for the Account.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
SETACCOUNTMAILRULES accountName newRules
Use this command to set the Account Queue Rules.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newRules : array
This array should contain the Account Queue Rules. All old Account Queue Rules are removed.
This command can be used by Domain Administrators only if they have the RulesAllowed access right.
This command can be used by any Account user to modify own Rules (subject to "allowed actions" restrictions).
GETACCOUNTSIGNALRULES accountName
Use this command to get the list of Account Signal Rules. The command produces an output - an array of the Signal Rules specified for the Account.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
SETACCOUNTSIGNALRULES accountName newRules
Use this command to set the Account Signal Rules.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newRules : array
This array should contain the Account Signal Rules. All old Account Signal Rules are removed.
This command can be used by Domain Administrators only if they have the SignalRulesAllowed access right.
UPDATEACCOUNTMAILRULE accountName newRule
UPDATEACCOUNTMAILRULE accountName DELETE oldRule
UPDATEACCOUNTSIGNALRULE accountName newRule
UPDATEACCOUNTSIGNALRULE accountName DELETE oldRule
Use these commands to update an Account Queue or Signal Rule.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newRule : array
This parameter should be an array, its first element specifies the Rule priority, its second element specifies the Rule name. The optional third, forth, and fifth elements specify the Rule conditions, Rule actions, and Rule comment.
If the parameter array contains less than 4 elements, the array first element is used to update the priority of the already existing Rule with the name specified as the second array element. If such a Rule does not exist, the command returns an error.
If the parameter array contains 4 or more elements, the entire parameter array is stored as a new Rule. If there is an existing Rule with the same name, it is removed.
oldRule : string
This string parameter (specified after the DELETE keyword) specifies a name of the Rule to be removed. If such a Rule does not exist, the command does nothing and it does not return an error.
The UpdateAccountMailRule command can be used by Domain Administrators only if they have the RulesAllowed access right.
The UpdateAccountSignalRule command can be used by Domain Administrators only if they have the SignalRulesAllowed access right.
This command can be used by any Account user to modify own Rules (subject to "allowed actions" restrictions).
GETACCOUNTRPOPS accountName
Use this command to get the list of Account RPOP records. The command produces an output - a dictionary with RPOP records specified for the Account.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
SETACCOUNTRPOPS accountName newRecords
Use this command to set the Account RPOP records.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newRecords : dictionary
This dictionary should contain the Account RPOP records. All old Account RPOP records are removed.
This command can be used by Domain Administrators only if they have the CanModifyRPOP access right.
GETACCOUNTRSIPS accountName
Use this command to get the list of Account RSIP records. The command produces an output - a dictionary with RSIP records specified for the Account.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
SETACCOUNTRSIPS accountName newRecords
Use this command to set the Account RSIP records.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newRecords : dictionary
This dictionary should contain the Account RSIP records. All old Account RSIP records are removed.
This command can be used by Domain Administrators only if they have the CanModifyRSIP access right.
UPDATESCHEDULEDTASK accountName taskData
Use this command to set the Account Scheduled Task records.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
taskData : dictionary
This dictionary should contain the Scheduled Task data:
id
the Scheduled Task name string. If there is no existing task with this name, a new Scheduled Task record is created.
program
the Scheduled Task program name string. It should be a name of the Real-Time Application available for the Account Domain environment. If this element is not specfied, an existing Scheduled Task record (if any) is deleted.
parameter
an optional simple Object. When the Scheduled Task program is launched, this Object is passed to it as its startParameter element.
when
a timestamp (GMT time) specifying when the Scheduled Task should be launched.
period
an optional parameter - a day, week, month, or year string, or a number. When specified, the Scheduled Task is automatically re-scheduled after the specified period of time (if this parameter is a number, then it specified the number of seconds).
If this parameter is not specified, the Scheduled Task record is removed as soon as the Task is launched.
When a Scheduled Task is launched, its main entry point is launched. The Task startParameter array contains the following elements:
  • startParameter[0] is the Scheduled Task name string
  • startParameter[1] is the timestamp specifying the moment the Task was started
  • startParameter[2] (optional) is the Scheduled Task parameter data
This command can be used by Domain Administrators with the CanModifyRSIP access right for the target Account.
GETACCOUNTRIGHTS accountName
Use this command to get the array of the Server or Domain access rights granted to the specified user. The command produces output data - an array listing all Account Server Access rights.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name.
GETACCOUNTINFO accountName [Key keyName | ( keyList) ]
Use this command to get an element of the Account "info" dictionary. The command produces an output - see below.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above). You can also specify the single asterisk (*) symbol instead of an Account name. This will indicate the current authenticated Account.
keyList : array
This optional parameter specifies the names of the info keys to retrieve.
Note that when Account "info" data are stored in .info dictionary files, the "info" elements have dictionary names starting with the hash (#) symbol. You should NOT include the hash symbol into the keyName parameter of the GETACCOUNTINFO command.
Sample:
GETACCOUNTINFO "user1@domain1.com" (LastLogin LastLoginAddress)
Note: the "info" element names are case-sensitive.
The output is a dictionary with all those "info" elements that exist and are specified in the keyList array.
keyName : string
This optional parameter specifies the name of the requested "info" element. It can be specified only if the keyList parameter is not specified.
Note that when Account "info" data are stored in .info dictionary files, the "info" elements have dictionary names starting with the hash symbol. You should NOT include the hash symbol into the keyName parameter of the GETACCOUNTINFO command.
Sample:
GETACCOUNTINFO "user1@domain1.com" Key LastLogin
Note: the "info" element names are case-sensitive.
The output is the specified "info" element. If the element is not found, the output is an empty string - two quotation marks ("").
Note: All users can use the GETACCOUNTINFO command to retrieve elements from their own Account "info" data.
GETACCOUNTPREFS accountName
Use this command to get the Account Preferences. The command produces an output - a dictionary with the Account Preferences.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
Note: All users can use the GETACCOUNTPREFS command to retrieve their own Account Preferences.
UPDATEACCOUNTPREFS accountName newSettings
Use this command to modify the Account Preferences.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newSettings : dictionary
This dictionary is used to update the Account Preferences dictionary. It does not have to contain all Preferences data, the omitted elements will be left unmodified. If a new Preferences value is specified as the string default, the Preferences value is removed, so the default Preferences value will be used.
This command can be used by Domain Administrators only if they have the WebUserSettings access right.
SETACCOUNTPREFS accountName newSettings
Use this command to set the Account Preferences.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
newSettings : dictionary
This dictionary should contain the new Account Preferences. All old Account Preferences are removed.
This command can be used by Domain Administrators only if they have the WebUserSettings access right.
GETACCOUNTEFFECTIVEPREFS accountName
Use this command to get the effective Account Preferences. The command produces an output - a dictionary with Account Preferences. Both the explicitly set and the default settings are included into that dictionary.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
Note: All users can use this command to retrieve their own effective Preferences.
KILLACCOUNTSESSIONS accountName
Use this command to interrupt all Account sessions (POP, IMAP, FTP, WebUser, etc.).
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
Note: All Domain Administrators can use this command.

The following command manage the Account Access Rights. These command can be used by the Account owner and by Domain Administrators who have the CanImpersonate access right.

GETACCOUNTACL accountName [ AUTH authAccountName]
Use this command to get the Account Rights ACLs (Access Control Lists). The command produces an output - a dictionary with the ACL elements.
accountName : string
This parameter specifies the name of an existing Account (target Account). The asterisk (*) symbol can be used to specify the current authenticated Account.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed. If this name is specified, the ACL info is returned only if the specified Account has the Admin access right for the target Account.
SETACCOUNTACL accountName [ AUTH authAccountName] newACL
Use this command to modify the access control list for the Account Access Rights.
accountName : string
This parameter specifies the name of an existing Account (target Account). The asterisk (*) symbol can be used to specify the current authenticated Account.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed. If this name is specified, the ACL info is updated only if the specified Account has the Admin access right for target Account.
newACL : dictionary
This parameter specifies the access right elements to be modified. Each dictionary key specifies an identifier, and the key value should be a string with access right symbols.
If the key value string starts with the minus ("-") symbol, access rights specified in the string are removed from the access right element.
If the key value string starts with the plus ("+") symbol, access rights specified in the string are added to the access right element.
In other cases, access rights specified in the string replace the set of rights in the access right element.
If the access right element for the specified key did not exist, it is created.
If the new access right element has empty set of access rights, the element is removed.
GETACCOUNTACLRIGHTS accountName AUTH authAccountName
This command produces an output - a string with the effective access rights for the given authAccountName.
accountName : string
This parameter specifies the name of an existing Account (target Account). The asterisk (*) symbol can be used to specify the current authenticated Account.
authAccountName : string
This parameter specifies the name of an Account whose effective access rights for the target Account should be retrieved.

The following commands are available for the System Administrators only:

SETACCOUNTSETTINGS accountName newSettings
Use this command to change the Account settings.
accountName : string
This parameter specifies the name of an existing Account.
newSettings : dictionary
This dictionary is used to replace the Account settings dictionary. All old Account settings are removed.
GETACCOUNTLOCATION accountName
Use this command to get the Account file directory path (for multi-mailbox Accounts) or the Account INBOX Mailbox path (for single-mailbox Accounts). The command produces an output - a string with the Account file path. The path is relative to the file directory of the Account Domain.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
GETACCOUNTPRESENCE accountName
Use this command to get the Account "presence" status. The command produces an output - a string with the Account presence state or a null-object.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name (see above).

The AccessMode Account and Domain Setting specifies Enabled Services. The Setting value can be one of the following:


Group Administration

A user should have the Users Server access right or the Domain Administration access right to use the Groups Administration CLI commands.

LISTGROUPS [ domainName ]
Use this command to get the list of all Groups in the Domain. The command produces output data - an array with the names of all Groups in the specified (or default) Domain.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
CREATEGROUP groupName [settings]
Use this command to create new Groups.
groupName : string
This parameter specifies the name for the new Group.
The name can contain the @ symbol followed by the Domain name, in this case the Group is created in the specified Domain. If the Domain name is not specified, the command applies to the administrator Domain.
settings : dictionary
This optional parameter specifies the initial Group settings and the members list.
This command can be used by Domain Administrators only if they have the CanCreateGroups access right.
RENAMEGROUP oldGroupName into newGroupName
Use this command to rename Groups.
oldGroupName : string
This parameter specifies the name of an existing Group. The name can include the Domain name (see above).
newGroupName : string
This parameter specifies the new Group name. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have the CanCreateGroups access right.
DELETEGROUP groupName
Use this command to remove Groups.
groupName : string
This parameter specifies the name of an existing Group. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have the CanCreateGroups access right.
GETGROUP groupName
Use this command to get the Group settings. The command produces an output - a dictionary with the Group settings and members.
groupName : string
This parameter specifies the name of an existing Group. The name can include the Domain name (see above).
SETGROUP groupName newSettings
Use this command to set the Group settings.
groupName : string
This parameter specifies the name of an existing Group. The name can include the Domain name (see above).
newSettings : dictionary
This dictionary is used to replace the Group settings dictionary.
This command can be used by Domain Administrators only if they have the CanCreateGroups access right.

Forwarder Administration

A user should have the Users Server access right or the Domain Administration access right to use the Forwarders Administration CLI commands.

LISTFORWARDERS [ domainName ]
Use this command to get the list of all Forwarders in the Domain. The command produces output data - an array with the names of all Forwarders in the specified (or default) Domain.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
CREATEFORWARDER forwarderName TO address
Use this command to create new Forwarders.
forwarderName : string
This parameter specifies the name for the new Forwarder.
The name can contain the @ symbol followed by the Domain name, in this case the Forwarder is created in the specified Domain. If the Domain name is not specified, the command applies to the administrator Domain.
address : string
This parameter specifies the E-mail address the Forwarder should reroute E-mail messages and Signals to.
This command can be used by Domain Administrators only if they have the CanCreateForwarders access right.
RENAMEFORWARDER oldForwarderName INTO newForwarderName
Use this command to rename Forwarders.
oldForwarderName : string
This parameter specifies the name of an existing Forwarder. The name can include the Domain name (see above).
newForwarderName : string
This parameter specifies the new Forwarder name. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have the CanCreateForwarders access right.
DELETEFORWARDER forwarderName
Use this command to remove Forwarders.
forwarderName : string
This parameter specifies the name of an existing Forwarder. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have the CanCreateForwarders access right.
GETFORWARDER forwarderName
Use this command to get the Forwarder address. The command produces an output - a string with the E-mail address this Forwarder reroutes all E-mail messages and Signals to.
forwarderName : string
This parameter specifies the name of an existing Forwarder. The name can include the Domain name (see above).
FINDFORWARDERS domainName TO forwarderAddress
Use this command to find all Forwarders pointing to the specified address. The command produces an output - an array with the found Forwarder names.
domainName : string
This parameter specifies the Domain name.
forwarderAddress : string
This parameter specifies an E-mail address to look for.

Named Task Administration

A user should have the Users Server access right or the Domain Administration access right to use the Named Task Administration CLI commands.

LISTDOMAINNAMEDTASKS [ domainName ]
Use this command to get the list of all Named Tasks in the Domain. The command produces output data - a dictionary where the keys are the Named Task names, and the values are dictionaries, containing the Task owner name, the task Real Name, and the name of the Real-Time Application program this Named Task runs.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
LISTACCOUNTNAMEDTASKS accountName
Use this command to get the list of all Named Tasks owned by the specified Account. The command produces output data - a dictionary containing the same data as the LISTDOMAINNAMEDTASKS command result.
accountName : string
This parameter specifies the owner Account name.
CREATENAMEDTASK taskName FOR accountName
Use this command to create new Named Tasks.
taskName : string
This parameter specifies the name for the new Named Task.
The name can contain the @ symbol followed by the Domain name, in this case the Group is created in the specified Domain. If the Domain name is not specified, the command applies to the administrator Domain.
accountName : string
This parameter specifies the owner Account name. It must not contain the @ symbol and a Domain name, as this owner Account must be in the same Domain as the Named Task itself.
This command can be used by Domain Administrators only if they have the CanCreateNamedTasks access right.
RENAMENAMEDTASK oldTaskName into newTaskName
Use this command to rename Named Tasks.
oldTaskName : string
This parameter specifies the name of an existing Named Task. The name can include the Domain name (see above).
newTaskName : string
This parameter specifies the new Named Task name.
This command can be used by Domain Administrators only if they have the CanCreateNamedTasks access right.
DELETENAMEDTASK taskName
Use this command to remove Named Tasks.
taskName : string
This parameter specifies the name of an existing Named Task. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have the CanCreateNamedTasks access right.
GETNAMEDTASK taskName
Use this command to get the Named Task settings. The command produces an output - a dictionary with the Named Task settings.
taskName : string
This parameter specifies the name of an existing Named Task. The name can include the Domain name (see above).
UPDATENAMEDTASK taskName newSettings
Use this command to set the Group settings.
taskName : string
This parameter specifies the name of an existing Named Task. The name can include the Domain name (see above).
newSettings : dictionary
This dictionary is used to update the Named Task settings dictionary.
This command can be used by Domain Administrators only if they have the CanCreateNamedTasks access right.

Access Rights Administration

A user should have the Master Server access right to use the Access Rights Administration CLI commands.

SETACCOUNTRIGHTS accountName newRights
Use this command to set the Account Server Access rights.
accountName : string
This parameter specifies the name of an existing Account. The name can include the Domain name.
newRights : array
This array should contain the Access Right codes. All old Account access rights are removed.
To set access rights for an Account in a secondary Domain (i.e. Domain Administration Rights), the user may have only the Users Server access right.

Mailbox Administration

A user should be the Mailbox owner, or should have the Users Server access right or the CanAccessMailboxes Domain Administration access right to use the Mailbox Administration CLI commands.

LISTMAILBOXES accountName [ FILTER filter] [ AUTH authAccountName]
Use this command to get the list of Account Mailboxes. The command produces an output - a dictionary.
each dictionary key specifies a Mailbox name;
if the authAccountName user is not specified or if the specified user has the Select access right for this Mailbox, the key value contains a dictionary with Mailbox information;
if the specified authAccountName does not have the Select access right, the key value contains an empty array;
if there is a 'mailbox folder' with the dictionary key, but there is no 'regular' Mailbox with that name, the key value is an empty array;
if there is a 'mailbox folder' with the dictionary key, and there is also a 'regular' Mailbox with that name, the key value is an array with one element - the information for the 'regular' Mailbox (either a dictionary or an empty array).
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
filter : string
This optional parameter specifies the filter string to apply to Account Mailbox names. The filter can use the same wildcard symbols "*" and "%" as the IMAP LIST command. If the filter is not specified, the filter string "*" is assumed, and all Account Mailboxes are returned.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf the LIST operation should be executed. If this name is specified, the output includes only those Mailboxes for which the specified Account has the Lookup Mailbox access right.
CREATEMAILBOX accountName MAILBOX mailboxName [ CLASS mailboxClass ] [ AUTH authAccountName]
Use this command to create a Mailbox in the specified Account.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
mailboxName : string
This parameter specifies the name for the new Mailbox.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf this operation should be executed.
mailboxClass : string
This optional parameter specifies the Mailbox class for the new Mailbox
DELETEMAILBOX accountName MAILBOX mailboxName [ AUTH authAccountName]
DELETEMAILBOX accountName MAILBOXES mailboxName [ AUTH authAccountName]
Use this command to remove a Mailbox from the specified Account. If the keyword MAILBOXES is used, all nested Mailboxes (submailboxes) are deleted, too.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
mailboxName : string
This parameter specifies the name of the Mailbox to be deleted.
authaccountname : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed. If this name is specified, the Mailbox is deleted only if the specified Account has the Create access right for the 'outer' Mailbox (this means that an Account should have the Create access right for the Archive Mailbox in order to delete the Archive/March Mailbox), and the specified Account should have the DELETE right for the specified Mailbox.
RENAMEMAILBOX accountName MAILBOX mailboxName INTO newMailboxName [ AUTH authAccountName]
RENAMEMAILBOX accountName MAILBOXES mailboxName INTO newMailboxName [ AUTH authAccountName]
Use this command to rename a Mailbox in the specified Account. If the keyword MAILBOXES is used, all nested Mailboxes (submailboxes) are renamed, too.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
mailboxName : string
This parameter specifies the name of the Mailbox to be renamed.
newMailboxName : string
This parameter specifies the new name for the Mailbox.
authaccountname : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed. If this name is specified, the Mailbox is created only if the specified Account has a right to perform the DELETEMAILBOX operation with the original Mailbox name and the CREATEMAILBOX operation with the new Mailbox name (see above).
GETMAILBOXINFO accountName MAILBOX mailboxName [ AUTH authAccountName]
Use this command to get the internal information about the Account Mailbox. The command produces an output - a dictionary with the Mailbox internal information.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
mailboxName : string
This parameter specifies the name of an existing Mailbox in the specified Account.
authaccountname : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed. If this name is specified, the Mailbox info is returned only if the specified Account has the Select Mailbox access right.
GETMAILBOXACL accountName MAILBOX mailboxName [ AUTH authAccountName]
Use this command to get the access control list for the Account Mailbox. The command produces an output - a dictionary with the Mailbox access elements.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
mailboxName : string
This parameter specifies the name of an existing Mailbox in the specified Account.
authaccountname : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed. If this name is specified, the ACL info is returned only if the specified Account has the Admin access right for the specified Mailbox.
SETMAILBOXACL accountName MAILBOX mailboxName [ AUTH authAccountName] newACL
Use this command to modify the access control list for the Account Mailbox.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
mailboxName : string
This parameter specifies the name of an existing Mailbox in the specified Account.
authaccountname : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed. If this name is specified, the ACL info is updated only if the specified Account has the Admin access right for the specified Mailbox.
newACL : dictionary
This parameter specifies the access right elements to be modified. Each dictionary key specifies an identifier, and the key value should be a string with access right symbols.
If the key value string starts with the minus ("-") symbol, access rights specified in the string are removed from the access right element.
If the key value string starts with the plus ("+") symbol, access rights specified in the string are added to the access right element.
In other cases, access rights specified in the string replace the set of rights in the access right element.
If the access right element for the specified key did not exist, it is created.
If the new access right element has empty set of access rights, the element is removed.
GETMAILBOXRIGHTS accountName MAILBOX mailboxName AUTH authAccountName
This command produces an output - a string with the effective Mailbox access rights for the given authAccountName.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
mailboxName : string
This parameter specifies the name of an existing Mailbox in the specified Account.
authaccountname : string
This parameter specifies the name of an Account whose effective access rights should be retrieved.
SETMAILBOXCLASS accountName MAILBOX mailboxName [ AUTH authAccountName ] CLASS newClass
Use this command to set the "class" of an Account Mailbox.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
mailboxName : string
This parameter specifies the name of an existing Mailbox in the specified Account.
authaccountname : string
This optional parameter specifies the name of an Account whose Mailbox access rights should be used.
newClass : string
The Mailbox class.
GETMAILBOXSUBSCRIPTION accountName
This command produces an output - an array with the list of Account "subscribed Mailboxes".
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
SETMAILBOXSUBSCRIPTION accountName newSubscription
Use this command to set the Account "subscribed Mailboxes" list.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
newSubscription : array
The list of subscribed Mailboxes. Each array element should be a string with a Mailbox name.
GETMAILBOXALIASES accountName
This command produces an output - a dictionary. Each dictionary key is the name of an existing Mailbox alias, and the key value is a string with the name of Mailbox this alias points to.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
SETMAILBOXALIASES accountName newAliases
Use this command to set the Account Mailbox aliases.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
newAliases : dictionary
The set of new Mailbox aliases.

Alert Administration

A user should have the Users Server access right or the CanPostAlerts Domain Administration access right to use the Alert Administration CLI commands.

GETDOMAINALERTS [ domainName ]
Use this command to get the Domain Alerts. The command produces an output - a dictionary with the Domain alert strings and time stamps.
domainName : string
This optional parameter specifies the name of an existing Domain.
SETDOMAINALERTS [ domainName ] newAlerts
Use this command to change the Domain alerts.
domainName : string
This optional parameter specifies the name of an existing Domain.
newAlerts : dictionary
This dictionary is used to replace the Domain alert dictionary. All old Domain alerts are removed.
POSTDOMAINALERT domainName ALERT newAlert
Use this command to post a Domain-wide alert message.
domainName : string
This parameter specifies the name of an existing Domain.
newAlert : string
This string specifies the Alert text.
REMOVEDOMAINALERT domainName ALERT timeStamp
Use this command to remove a Domain-wide alert message.
domainName : string
This parameter specifies the name of an existing Domain.
timeStamp : string
This string specifies the time stamp of the Alert message to be removed.
GETACCOUNTALERTS accountName
Use this command to get the Account Alerts. The command produces an output - a dictionary with the Account alert strings and time stamps.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
SETACCOUNTALERTS accountName newAlerts
Use this command to change the Account alerts.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
newAlerts : dictionary
This dictionary is used to replace the Account alert dictionary. All old Account alerts are removed.
POSTACCOUNTALERT accountName ALERT newAlert
Use this command to post an Account alert message.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
newAlert : string
This string specifies the Alert text.
REMOVEACCOUNTALERT accountName ALERT timeStamp
Use this command to remove an Account alert message.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
timeStamp : string
This string specifies the time stamp of the Alert message to be removed.

The following commands are available for the System Administrators only:

GETSERVERALERTS
Use this command to get the list of the server-wide Alerts. The command produces an output - a dictionary with the server alert strings and time stamps.
SETSERVERALERTS newAlerts
Use this command to change the server-wide Alerts.
newAlerts : dictionary
This dictionary is used to replace the server-wide Alert dictionary. All old server-wide alerts are removed.
POSTSERVERALERT newAlert
Use this command to post a server-wide Alert message.
newAlert : string
This string specifies the Alert text.
REMOVESERVERALERT timeStamp
Use this command to remove a server-wide Alert message.
timeStamp : string
This string specifies the time stamp of the Alert message to be removed.
GETCLUSTERALERTS
SETCLUSTERALERTS newAlerts
POSTCLUSTERALERT newAlert
REMOVECLUSTERALERT timeStamp
These commands are available in the Dynamic Cluster only.
Use these commands instead of the [Get|Set|Post|Remove]ServerAlert[s] commands to work with the cluster-wide Alerts.

File Storage Administration

The following commands allow an authenticated user to deal with files in the Account File Storage area. To access File Storage:

If a file name ends with the slash (/) symbol, it specifies a file directory name.

READSTORAGEFILE accountName FILE fileName [ OFFSET position ] [ SIZE sliceSize ] [ AUTH authAccountName]
Use this command to retrieve a file from the Account File Storage. This command produces an output - a array of 3 elements. The first element is a datablock with the content of the specified file, the second element is a timestamp with the file modification date, and the third element is a number equal to the current file size.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
fileName : string
This parameter specifies the name of the File Storage file to be retrieved.
position : number
If this parameter is specified the File Storage file is read starting from the specified file position.
sliceSize : number
If this parameter is specified, no more than the specified number of file data bytes is returned.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed.

The authenticated user should be the Account owner, or should have the Users Server access right or the CanAccessWebSites Domain Administration access right to use the following Account File Storage Administration CLI commands.

WRITESTORAGEFILE accountName FILE fileName [ OFFSET position ] [ AUTH authAccountName] DATA fileData
Use this command to store a file in the Account File Storage.
If a File Storage file with the specified name already exists, the old file is removed.
If the fileName specifies a directory (it ends with the slash (/) symbol) the command creates a directory. In this case, the OFFSET position part must be absent, and the fileData parameter must be an empty datablock.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
fileName : string
This parameter specifies the name for the File Storage file.
position : offset
If this parameter is absent, or it exists and it is the zero number, the existing file (if any) is removed first, and a new file is created.
If this parameter is a non-zero number, its value must be positive; the File Storage file is rewritten/extended starting from the specified file position. The file should already exist, and the specified position should not be larger than the current file size.
If this option is BEG, then the file should already exist, the file is rewritten from the beginning, but its old data beyond the end of the fileData (if any) is not removed.
If this option is END, then the fileData is appended to the end of the file. If the file does not exist, it is created.
If this option is NEW, then the file must not exist, a new file is created and fileData is stored in it.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed.
fileData : datablock
This parameter contains the file data.
RENAMESTORAGEFILE accountName FILE oldFileName INTO newFileName [ AUTH authAccountName]
Use this command to rename a file or a file directory in the Account File Storage.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
oldFileName : string
This parameter specifies the name of an existing File Storage file or file directory.
newFileName : string
This parameter specifies the new name for the File Storage file or file directory.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed.
DELETESTORAGEFILE accountName FILE fileName [ AUTH authAccountName]
Use this command to remove a file or a file directory from the Account File Storage.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
fileName : string
This parameter specifies the name of an existing File Storage file or file directory.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed.
LISTSTORAGEFILES accountName [ PATH filePath] [ AUTH authAccountName]
Use this command to list all files in the File Storage top directory or in one of its subdirectories. This command produces an output - a dictionary, where each key is a name of the File Storage file, and the key value is a dictionary for a regular file and an empty array for subdirectories.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
filePath : string
This optional parameter specifies the name of the File Storage subdirectory. You can omit this parameter along with the PATH keyword, in this case the command returns the list of files in the top File Storage directory.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed.
GETSTORAGEFILEINFO accountName [ PATH filePath] [ AUTH authAccountName]
Use this command to get the statistical information about all files in the Account File Storage. This command produces an output - an array with 2 number elements. The first element contains the total size of all File Storage files, the second element contains the number of files in the File Storage.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed.
READSTORAGEFILEATTR accountName FILE fileName [ attributes ] [ AUTH authAccountName]
Use this command to read attributes of an Account File Storage file or file directory. This command produces an output - an array of XML elements containing file or file directory attributes.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
fileName : string
This parameter specifies the name of an existing File Storage file or file directory.
attributes : array
This optional parameter specifies an array of strings. If specified, only file attributes with names included into this array are retrieved.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed.
UPDATESTORAGEFILEATTR accountName FILE fileName attributes [ AUTH authAccountName]
Use this command to update attributes of an Account File Storage file or file directory.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
fileName : string
This parameter specifies the name of an existing File Storage file or file directory.
attributes : array
This parameter specifies an array of XML elements - the new file attribute values.
authAccountName : string
This optional parameter specifies the name of an Account on whose behalf the operation should be executed.
GETFILESUBSCRIPTION accountName
This command produces an output - an array with the list of Account "subscribed files".
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
SETFILESUBSCRIPTION accountName newSubscription
Use this command to set the Account "subscribed files" list.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
newSubscription : array
The list of subscribed files. Each array element should be a string with a file name.

Mailing Lists Administration

A user should have the Users Server access right or the Domain Administrator access right to use the Mailing List Administration CLI commands.

LISTLISTS [ domainName ]
Use this command to get the list of all mailing lists in the Domain. The command produces output data - an array of strings. Each string is the name of a mailing list in the specified (or default) Domain.
domainName : string
This optional parameter specifies the Domain name.
GETDOMAINLISTS [ domainName ]
Use this command to get the list of all mailing lists in the Domain. The command produces output data - a dictionary. Each dictionary key is the name of a mailing list in the specified (or default) Domain. The key value is a numeric string with the actual number of the list subscribers ("-1" if the current number of subscribers is not known).
domainName : string
This optional parameter specifies the Domain name.
GETACCOUNTLISTS accountName
Use this command to get the list of all mailing lists belonging to the specified Account. The command produces output data - a dictionary. Each dictionary key is the name of a mailing list belonging to the specified (or default) Account. The key value is a numeric string with the actual number of the list subscribers ("-1" if the current number of subscribers is not known).
accountName : string
This parameter specifies the list's owner Account name.
CREATELIST listName for accountName
Use this command to create a mailing list.
listName : string
This parameter specifies the name of an existing mailing list. It can include the Domain name. If the Domain name is not specified, the user Domain is used by default.
accountName : string
This parameter specifies the name of the mailing list owner. It should be the name of an already existing Account in the mailing list Domain.
Domain Administrators can use this command if they have the CanCreateLists Domain access right.
RENAMELIST listName into newName
Use this command to rename a mailing list.
listName : string
This parameter specifies the name of an existing mailing list. It can include the Domain name. If the Domain name is not specified, the user Domain is used by default.
newName : string
This parameter specifies the new name for the mailing list (without the Domain part).
Domain Administrators can use this command if they have the CanCreateLists Domain access right.
DELETELIST listName
Use this command to remove a mailing list.
listName : string
This parameter specifies the name of an existing mailing list. It can include the Domain name. If the Domain name is not specified, the user Domain is used by default.
Domain Administrators can use this command if they have the CanCreateLists Domain access right.

The following commands can be used by the mailing list owner, by a Domain Administrator with the CanAccessLists access right, or by a Server Administrator with the Users Server access right.

GETLIST listName
Use this command to retrieve list settings. The command produces an output - a dictionary with the listName mailing list settings.
listName : string
This parameter specifies the name of an existing mailing list. It can include the Domain name. If the Domain name is not specified, the user Domain is used by default.
UPDATELIST listName newSettings
Use this command to modify list settings.
listName : string
This parameter specifies the name of an existing mailing list. It can include the Domain name. If the Domain name is not specified, the user Domain is used by default.
newSettings : dictionary
This dictionary is used to update the mailing list settings dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified.
LIST listName operation [silently] [confirm] subscriber
Use this command to update the subscribers list.
listName : string
This parameter specifies the name of an existing mailing list. It can include the Domain name. If the Domain name is not specified, the user Domain is used by default.
operation : subscribe | feed | digest | index | null | banned | unsubscribe
This parameter specifies the operation (see the LIST module section for the details).
silently
This optional parameter tells the server not to send the Welcome/Bye message to the subscriber.
confirm
This optional parameter tells the server to send a confirmation request to the subscriber.
subscriber : E-mail address
The subscriber address. It can include the comment part used as the subscriber's real name.
Sample:
LIST MyList@mydomain.com FEED confirm "Bill Jones" <BJones@company.com>
LISTSUBSCRIBERS listName [ FILTER filter [ limit ] ]
Use this command to retrieve list subscribers. The command produces an output - an array with subscribers' E-mail addresses.
listName : string
This parameter specifies the name of an existing mailing list. It can include the Domain name. If the Domain name is not specified, the user Domain is used by default.
filter : string
If this optional parameter is specified, only the addresses containing the specified string are returned.
limit : number
This optional parameter limits the number of subscriber addresses returned.
READSUBSCRIBERS listName [ FILTER filter [ limit ] ]
Use this command to retrieve list subscribers. The command produces an output - an array, where the first element is a number - the total number of list subscribers, and the second element is an array of subscriber descriptor dictionaries.
listName : string
This parameter specifies the name of an existing mailing list. It can include the Domain name. If the Domain name is not specified, the user Domain is used by default.
filter : string
If this optional parameter is specified, only subscribers with addresses containing the specified string are returned.
limit : number
This optional parameter limits the number of subscriber dictionaries returned.

A dictionary describing a subscriber has the following elements:

Sub
E-mail address string
RealName
an optional string with Real name
mode
a string with subscription mode (index, digest, null, etc.)
subscribeTime
timestamp data specifying the moment when this user subscribed.
posts
number of postings on this list
lastBounceTime
optional timestamp data specifying the last time when messages sent to this user failed.
bounces
optional numeric data specifying the number of failed delivery reports received for this user.
GETSUBSCRIBERINFO listName NAME subscriberAddress
Use this command to retrieve information about a list subscriber. The command produces an output - a dictionary with subscriber information.
listName : string
This parameter specifies the name of an existing mailing list. It can include the Domain name. If the Domain name is not specified, the user Domain is used by default.
subscriberAddress : string
This parameter specifies the E-mail address of the list subscriber.
If the subscriber does not exist, an empty dictionary is returned. Otherwise, the dictionary contains the following elements:
mode
This string element specified the subscription mode (digest, index, etc.) This element is equal to unsubscribe if the address has been unsubscribed, but has not been removed from the list. This element is equal to subscribe if a user has started subscription, but the subscription has not been confirmed.
confirmationID
This element contains the subscriber's Confirmation ID string.
timeSubscribed
This string element specifies when the address was subscribed (in the ACAP date/time format).
posts
This string element may contain the strings special, moderateAll, prohibited, or the string with the number of messages posted from this address. If the next postings from this address are to be moderated, the element contains an array with one string element that contains the number of postings to be moderated.
bounces
This optional string element contains the number of bounces received from this address.
lastBounced
This optional string element specifies the last time when messages to this address bounced were bounced. The data and time are specified in the ACAP format.
RealName
This optional string element contains the real name of the subscriber.
SETPOSTINGMODE listName FOR subscriberAddress [ UNMODERATED | MODERATEALL | PROHIBITED | SPECIAL | numberOfModerated ]
Use this command to set the posting mode for the specified subscriber.
listName : string
This parameter specifies the name of an existing mailing list. It can include the Domain name. If the Domain name is not specified, the user Domain is used by default.
subscriberAddress : string
This parameter specifies the E-mail address of the list subscriber.
postingMode : number
This optional parameter limits the number of subscriber addresses returned.
The command sets the posting mode the specified subscriber. If numberOfModerated (a number) is specified, the posting mode set requires moderation of the first numberOfModerated messages from this subscriber.
PROCESSBOUNCE listName [FATAL] FOR subscriberAddress
Use this command to perform the same action the List Manager performs when it receives a bounce message for the subscriber address.
listName : string
This parameter specifies the name of an existing mailing list. It can include the Domain name. If the Domain name is not specified, the user Domain is used by default.
subscriberAddress : string
This parameter specifies the E-mail address of the list subscriber.
Use the FATAL keyword to emulate a "fatal" bounce. Otherwise the command emulates a non-fatal bounce.

Web Skins Administration

The following commands can be used to manage CommuniGate Pro Skins used for the CommuniGate Pro WebUser Interface.

A user should have the Users Server access right or the CanModifySkins Domain Administration access right to modify the Domain Skins.

LISTDOMAINSKINS [domainName]
Use this command to list custom Domain Skins. The command produces an output - an array with Skin names.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
CREATEDOMAINSKIN [domainName SKIN] skinName
Use this command to create a custom Domain Skin.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain. If it is specified, it should be followed with the SKIN keyword.
skinName : string
This parameter specifies the name of the new Skin.
To create the unnamed Domain Skin, specify an empty string as the skinName parameter value.
A named Domain Skin can be created only when the unnamed Domain Skin exists.
RENAMEDOMAINSKIN [domainName SKIN] skinName INTO newSkinName
Use this command to rename a custom named Domain Skin.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain. If it is specified, it should be followed with the SKIN keyword.
skinName : string
This parameter specifies the name of an existing named Skin.
newSkinName : string
This parameter specifies the new name for the Skin.
DELETEDOMAINSKIN [domainName SKIN] skinName
Use this command to delete a custom Domain Skin.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain. If it is specified, it should be followed with the SKIN keyword.
skinName : string
This parameter specifies the name of the Skin to be deleted.
To delete the unnamed Domain Skin, specify an empty string as the skinName parameter value.
The unnamed Domain Skin can be deleted only when no named Domain Skin exists.
LISTDOMAINSKINFILES [ domainName SKIN] skinName
Use this command to list files in a custom Domain Skin. The command produces an output - a dictionary with Skin file names as keys. The dictionary element values are dictionaries with file attributes.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain. If it is specified, it must be followed with the SKIN keyword.
skinName : string
This parameter specifies the name of an existing Domain Skin.
READDOMAINSKINFILE [ domainName SKIN] skinName FILE fileName
Use this command to read a file from a custom Domain Skin. The command produces an output - an array. The first array element is a datablock with the Skin file content, the second array element is a timestamp with the file modification date.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain. If it is specified, it must be followed with the SKIN keyword.
skinName : string
This parameter specifies the name of an existing Domain Skin.
fileName : string
This parameter specifies the name of an existing file in the specified Domain Skin.
STOREDOMAINSKINFILE [ domainName SKIN] skinName FILE fileName DATA fileContent
STOREDOMAINSKINFILE [ domainName SKIN] skinName FILE fileName DELETE
Use this command to store a file into a custom Domain Skin, or to delete a file from a custom Domain Skin.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain. If it is specified, it must be followed with the SKIN keyword.
skinName : string
This parameter specifies the name of an existing Domain Skin.
fileName : string
This parameter specifies the Skin file name.
fileContent : datablock
This datablock contains file content. This parameter is specified only if the DATA keyword is used.
If the DATA keyword is specified and the Skin contains a file with the same name, the old file is deleted. The file with the specified name is removed from the Skin Cache (in the Dynamic Cluster the file is removed from Skin caches on all cluster members).

The following commands are available for the System Administrators only:

LISTSERVERSKINS
Use this command to list custom Server Skins. The command produces an output - an array with Skin names.
CREATESERVERSKIN skinName
Use this command to create a custom Server Skin.
skinName : string
This parameter specifies the name of the new Skin.
RENAMESERVERSKIN skinName INTO newSkinName
Use this command to rename a custom Server Skin.
skinName : string
This parameter specifies the name of an existing Skin.
newSkinName : string
This parameter specifies the new name for the Skin.
DELETESERVERSKIN skinName
Use this command to delete a custom Server Skin.
skinName : string
This parameter specifies the name of the Skin to be deleted.
LISTSERVERSKINFILES skinName
Use this command to list files in a custom Domain Skin. The command produces an output - a dictionary with Skin file names as keys. The dictionary element values are dictionaries with file attributes.
skinName : string
This parameter specifies the name of an existing Server Skin.
READSERVERSKINFILE skinName FILE fileName
Use this command to read a file from a custom Server Skin. The command produces an output - an array. The first array element is a datablock with the Skin file content, the second array element is a timestamp with the file modification date.
skinName : string
This parameter specifies the name of an existing Server Skin.
fileName : string
This parameter specifies the name of an existing file in the specified Server Skin.
STORESERVERSKINFILE skinName FILE fileName DATA fileContent
STORESERVERSKINFILE skinName FILE fileName DELETE
Use this command to store a file into a custom Server Skin, or to delete a file from a custom Server Skin.
skinName : string
This parameter specifies the name of an existing Server Skin.
fileName : string
This parameter specifies the Skin file name.
fileContent : datablock
This datablock contains the file content. This parameter is specified only if the DATA keyword is used.
If the DATA keyword is specified and the Skin contains a file with the same name, the old file is deleted. The file with the specified name is removed from the Skin Cache (in the Dynamic Cluster the file is removed from Skin caches on all cluster members).
LISTCLUSTERSKINS
CREATECLUSTERSKIN skinName
RENAMECLUSTERSKIN skinName INTO newSkinName
DELETECLUSTERSKIN skinName
These commands are available in the Dynamic Cluster only.
Use these commands instead of the [List|Create|Rename|Delete]ServerSkin[s] commands to work with the cluster-wide Skins.
LISTCLUSTERSKINFILES skinName
READCLUSTERSKINFILE skinName FILE fileName
STORECLUSTERSKINFILE skinName FILE fileName DATA fileContent
STORECLUSTERSKINFILE skinName FILE fileName DELETE
These commands are available in the Dynamic Cluster only.
Use these commands instead of the [List|Read|Store]ServerSkinFile[s] commands to work with files in the cluster-wide Skins.

Web Interface Integration

The following commands can be used to integrate the CommuniGate Pro WebUser Interface with third-party applications.

CREATEWEBUSERSESSION accountName ADDRESS ip-address [ FOR orig-address ] [ WML | IMode ] [ SKIN skinName ]
Use this command to create a WebUser session for the specified Account. The command produces an output - a string that contains the WebUser Session ID. This string can be used to compose a URL that will allow the client browser to "enter" the WebUser Session. That URL can have the following format:
http://cgateproserver:port/Session/rrrrrrrrrrrr/Mailboxes.wssp
where rrrrrrrrrrrr is the Session ID string returned.
accountName : string
This parameter specifies the Account name.
ip-address : string or IP address
This parameter specifies the IP address and port of the client browser.
If the Account has the "Fixed IP" Preference setting enabled, connections to the session will be allowed from this IP address only.
orig-address : string
This parameter specifies the original IP address of the client browser, if the client connects via a proxy. The ip-address parameter specifies the proxy IP address.
If the Account has the "Fixed IP" Preference setting enabled, connections to the session will be allowed from the proxy IP address only and only from this original IP address (passed by the proxy in the X-FORWARDED-FOR HTTP header field).
skinName : string
This optional parameter specifies the Skin to use for the newly created session.
The optional WML or IMode keywords can be used to emulate login via a WML or I-Mode browser.
The authenticated user should have the Users Server access right or the CanCreateWebUserSessions Domain Administration access right to create WebUser Sessions.
CREATEXIMSSSESSION accountName ADDRESS ip-address [ FOR orig-address ]
Use this command to create a XIMSS session for the specified Account. The command produces an output - a string that contains the XIMSS Session ID. This string can be used to compose a URL that will allow the client browser to work with the XIMSS Session using HTTP Binding.
accountName : string
This parameter specifies the Account name.
ip-address : string
orig-address : string
These parameters have the same meaning as for the CREATEWEBUSERSESSION command.

The authenticated user should have the Users Server access right or the CanCreateWebUserSessions Domain Administration access right to create XIMSS Sessions.
FINDACCOUNTSESSION accountName [ ADDRESS ip-address [ FOR proxied-address ] ] [ PROTOCOL protocol ] [ TRANSPORT transport ] [ CLIENT client ]
Use this command to find an existing session for the specified Account. The command produces an output - a string that contains the Session ID.
accountName : string
This parameter specifies the Account name.
ip-address : string or IP address
This optional parameter specifies the IP address of the client browser. If it is specified, the command will find only those sessions that have the "Fixed IP" Preference disabled or have the same login IP address as the specified one.
proxied-address : string
This optional parameter specifies the IP address of the client browser, if this browser is located behind an HTTP proxy. The ip-address then specifies the IP address of that proxy.
protocol : string
This optional parameter specifies the Session protocol (WebUser, XIMSS, XMPP, etc.) If specified, only the sessions created with the specified protocol are searched.
transport : string
This optional parameter specifies the Session transport (HTTP, XIMSS, XMPP, etc.) If specified, only the sessions created with the specified transport are searched.
client : string
This optional parameter specifies the Session client. If specified, only the sessions created with the specified client (if the client has informed the session about its name) are searched.
The authenticated user should have the Users Server access right or the CanCreateWebUserSessions Domain Administration access right to use this command.
GETSESSION sessionID [ DOMAIN domainName ]
Use this command to retrieve Session data. The command produces an output - a dictionary with the session dataset (specified in the WSSP section of this manual).
sessionID : string
This parameter specifies the Session ID.
domainName : string
This optional parameter specifies the name of Domain the session Account belongs to.
The authenticated user should have the Users Server access right to retrieve Session data if the domainName parameter is not specified. If the domainName is specified, the authenticated user should have the CanCreateWebUserSessions Domain Administration access right for the specified Domain.
This operation resets the session inactivity timer.
KILLSESSION sessionID [ DOMAIN domainName ]
Use this command to terminate a Session.
sessionID : string
This parameter specifies the Session ID.
domainName : string
This optional parameter specifies the name of Domain the session Account belongs to.
The authenticated user should have the Users Server access right to terminate a Session if the domainName parameter is not specified. If the domainName is specified, the authenticated user should have the CanCreateWebUserSessions Domain Administration access right for the specified Domain.

Real-Time Application Administration

The following commands can be used to manage CommuniGate Pro Real-Time Application Environments.

A user should have the Users Server access right or the CanModifyPBXApps Domain Administration access right to modify the Domain Real-Time Application Environment.

CREATEDOMAINPBX domainName [ FILE language ]
Use this command to create the Domain Real-Time Application Environment or to create its national subset.
domainName : string
This parameter specifies the Domain name.
language : language
This optional parameter specifies a national subset name.
DELETEDOMAINPBX domainName FILE language
Use this command to remove a national subset from the Domain Real-Time Application Environment.
domainName : string
This parameter specifies the Domain name.
language : language
This parameter specifies a national subset name.
LISTDOMAINPBXFILES domainName [ FILE language ]
Use this command to list files in the Domain Real-Time Application Environment. The command produces an output - a dictionary with file names used as keys. The dictionary element values are dictionaries with file attributes.
domainName : string
This optional parameter specifies the Domain name. If the Domain name is not specified, the command applies to the administrator Domain.
language : language
This optional parameter specifies a national subset name.
READDOMAINPBXFILE domainName FILE fileName
Use this command to read a file from the Domain Real-Time Application Environment. The command produces an output - a datablock with the file contents.
domainName : string
This parameter specifies the Domain name.
fileName : string
This parameter specifies the file name. To retrieve a file from a national subset, specify the name as language/fileName.
STOREDOMAINPBXFILE domainName FILE fileName DATA fileContent
STOREDOMAINPBXFILE domainName FILE fileName DELETE
Use this command to store a file into the Domain Real-Time Application Environment, or to delete a file from the Domain Real-Time Application Environment.
domainName : string
This parameter specifies the Domain name.
fileName : string
This parameter specifies the file name. To store a file into a national subset, specify the name as language/fileName.
fileContent : datablock
This parameter is specified only if the DATA keyword is used. It should contain the file contents.
If the DATA keyword is specified and the environment contains a file with the specified name, the old file is deleted. The file with the specified name is removed from the Environment cache (in the Dynamic Cluster the file is removed from all cluster members caches).

The following commands are available for the System Administrators only:

CREATESERVERPBX language
Use this command to create the Server-wide Real-Time Application Environment or to create its national subset.
language : language
This parameter specifies a national subset name.
DELETESERVERPBX language
Use this command to remove a national subset of the Server-wide Real-Time Application Environment.
language : language
This parameter specifies a national subset name.
LISTSERVERPBXFILES [ language ]
Use this command to list files in the Server-wide Real-Time Application Environment. The command produces an output - a dictionary with file names used as keys. The dictionary element values are dictionaries with file attributes.
language : string
This optional parameter specifies a national subset name.
READSERVERPBXFILE fileName
Use this command to read a file from the Server-wide Real-Time Application Environment. The command produces an output - a datablock with the file contents.
fileName : string
This parameter specifies the file name. To retrieve a file from a national subset, specify the name as language/fileName.
STORESERVERPBXFILE fileName DATA fileContent
STORESERVERPBXFILE fileName DELETE
Use this command to store a file into the Server-wide Real-Time Application Environment, or to delete a file from the Server-wide Real-Time Application Environment.
fileName : string
This parameter specifies the file name. To store a file into a national subset, specify the name as language/fileName.
fileContent : datablock
This parameter is specified only if the DATA keyword is used. It should contain the file contents.
If the DATA keyword is specified and the environment contains a file with the specified name, the old file is deleted. The file with the specified name is removed from the Environment cache (in the Dynamic Cluster the file is removed from all cluster members caches).
CREATECLUSTERPBX language
DELETECLUSTERPBX language
LISTCLUSTERPBXFILES [ language ]
READCLUSTERPBXFILE fileName
STORECLUSTERPBXFILE fileName DATA fileContent
STORECLUSTERPBXFILE fileName DELETE
These commands are available in the Dynamic Cluster only.
Use these commands instead of the [List|Read|Store]ServerPBXFile[s] commands to work with files in the cluster-wide Real-Time Application Environment.

Real-Time Application Control

The following commands can be used to manage CommuniGate Pro Real-Time Application Tasks.

STARTPBXTASK accountName PROGRAM programName [ ENTRY entryName ] [ PARAM parameter ]
Use this command to start a new PBX Task. The command produces an output - a string with the Task ID.
accountName : string
This parameter specifies the name of an Account. The Task is started on this Account behalf.
The name can include the Domain name. If the Domain name is not specified, the current user Domain is used by default.
programName : string
The name of the program (the .sppr file) to start.
entryName : string
This optional parameter specifies the program entry point. If this parameter is not specified, the main entry point is used.
parameter : object
This optional parameter specifies the program parameter. The program code can retrieve it using the following code:
Vars().startParameter
SENDTASKEVENT taskID EVENT eventName [ PARAM parameter ]
Use this command to send an Event to an existing PBX Task.
taskID : string
This parameter specifies the Task ID.
eventName : string
The name of the Event to send.
parameter : object
This optional parameter specifies the Event parameter.
KILLNODE taskID
Use this command to kill an existing PBX Task.
taskID : string
This parameter specifies the Task ID.
READNODESTATUS taskID
Use this command to read the current application status of an existing PBX Task. The command produces an output - the application status object.
taskID : string
This parameter specifies the Task ID.

Account Services

The following commands can be used to manage various CommuniGate Pro Account Services.

REMOVEACCOUNTSUBSET accountName SUBSET subsetName
Use this command to remove an Account "dataset" (such as the RepliedAddresses dataset).

A user should be the Account owner or should have the BasicSettings Domain Administration access right to use this command.

accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
subsetName : string
This parameter specifies the name of an existing data subset in the specified Account.
DATASET accountName parameters
Use this command to manage Account "datasets". The command produces an output - a dictionary with the operation results.

A user should be the Account owner or should have the BasicSettings Domain Administration access right to use this command.

accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
parameters : dictionary
This dictionary should contain:
subsetName
a string element specifying the target dataset or the dataset subset
what
a string element specifying the operation to apply.
Other dictionary elements are operation-specific.
The following is the list of supported operations (the what values) and the additional parameters dictionary elements used for each operation:
listSubsets
this operation lists all subsets of the specified dataset. To list all top-level datasets in the Account, specify the an empty string as the subsetName value. The resulting dictionary contains the found subset names as keys and empty strings as values.
createSet
this operation creates the specified dataset.
removeSet
this operation removes the specified dataset.
listEntries
this operation lists subset entries. The resulting dictionary contains the found entry names as keys and the entry attribute name-value dictionaries as values.
attribute, data
optional string elements; they specify the name and the value of an entry attribute. If specified, the result includes only the entries that have the specified attribute with the specified value.
mode
an optional string element; if it is absent or its value is eq, then the specified attribute should have the specified value;
if its value is beg, then the beginning of the specified attribute value should match the specified value.
if its value is end, then the tail of the specified attribute value should match the specified value.
if its value is incl, then the specified attribute value should include the specified value.
setEntry
this operation creates a new entry or updates an existing entry.
data
a dictionary with the attribute name-value pairs; they are used to update an existing entry or to create a new one.
entryName
the entry name string; if the entry with the specified name does not exist, it is created. If this element is absent, a unique entry name is generated.
ifExists
if this element exists, then the new entry cannot be created, and only an existing entry can be updated; if this element is absent and the specified dataset is not found, the dataset is created.
deleteEntry
this operation removes the specified entry from the specified dataset.
entryName
the entry name string
addRandomEntry
this operation adds a new entry to the specified dataset or the dataset subset. A unique name is generated and assigned to this entry. If the operation succeeds, the resulting dictionary has the string entryName element with the entry name generated.
data
a dictionary with the attribute name-value pairs. It must contain the addressbook.Email attribute.
entryLimit
an optional numeric value; if specified and positive, then the operation checks the the current number of subset entries does not exceed this limit.
If the dataset already contains an entry with the same addressbook.Email attribute value, the dataset is not modified.
findAddress
this operation finds an entry with the specified addressbook.Email attribute value. The operation result is a dictionary. If an entry is found, its name is returned as the dictionary element with an empty-string name.
address
a string with an E-mail address to look for
ROSTER accountName parameters
Use this command to manage Account Roster. The command produces an output - a dictionary with the operation results.

A user should be the Account owner or should have the BasicSettings Domain Administration access right to use this command.

accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
parameters : dictionary
This dictionary should contain the what string element, specifying the operation to apply: List, Update, remove, Presence, probe. Other dictionary elements are operation-specific.
BALANCE accountName parameters
Use this command to manage Account Billing Balances. The command produces an output - a dictionary with the operation results (as specified in the Billing section).

A user should be the Account owner or should have the CanCreditAccounts Domain Administration access right to use this command.

accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
parameters : dictionary
This dictionary should contain the op string element, specifying the operation to apply: list, reserve, release, charge, credit, read, readAll, history, remove. Other dictionary elements are operation-specific, they are specified in the Billing section.

Server Settings

A user should have the Settings Server access right to use the Server Settings CLI commands.

LISTMODULES
Use this command to list all Server modules. The command produces an output - an array with all module names.
GETMODULE moduleName
Use this command to get the module settings. The command produces an output - a dictionary with the module settings.
moduleName : string
This parameter specifies the name of a CommuniGate Pro Server module.
SETMODULE moduleName newSettings
Use this command to set the module settings.
moduleName : string
This parameter specifies the name of a CommuniGate Pro Server module.
newSettings : dictionary
This dictionary is used to set the module settings dictionary.
UPDATEMODULE moduleName newSettings
Use this command to update the module settings.
moduleName : string
This parameter specifies the name of a CommuniGate Pro Server module.
newSettings : dictionary
This dictionary is used to update the module settings dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified.
GETQUEUESETTINGS
Use this command to get the Queue settings. The command produces an output - a dictionary with the Queue settings.
SETQUEUESETTINGS newSettings
Use this command to set the Queue settings.
newSettings : dictionary
This dictionary is used to set the Queue settings dictionary.
GETSIGNALSETTINGS
Use this command to get the Signal component settings. The command produces an output - a dictionary with the component settings.
SETSIGNALSETTINGS newSettings
Use this command to set the Signal component settings.
newSettings : dictionary
This dictionary is used to set the component settings dictionary.
GETMEDIASERVERSETTINGS
Use this command to read the Media Server component settings. The command produces an output - a dictionary with the component settings.
SETMEDIASERVERSETTINGS newSettings
Use this command to set the Media Server component settings.
newSettings : dictionary
This dictionary is used to set the component settings dictionary.
GETSESSIONSETTINGS
Use this command to get the user Sessions settings. The command produces an output - a dictionary with the Sessions settings.
SETSESSIONSETTINGS newSettings
Use this command to set the user Sessions settings.
newSettings : dictionary
This dictionary is used to set the Sessions settings dictionary.
GETCLUSTERSETTINGS
Use this command to get the Cluster settings. The command produces an output - a dictionary with the Cluster settings.
SETCLUSTERSETTINGS newSettings
Use this command to set the Cluster settings.
newSettings : dictionary
This dictionary is used to set the Cluster settings dictionary.
GETNETWORK
Use this command to retrieve the Network settings. The command produces an output - a dictionary with the server Network settings.
SETNETWORK newSettings
Use this command to set the server Network Settings.
newSettings : dictionary
New server Network settings.
GETBANNED
Use this command to retrieve the Banned Message Lines settings. The command produces an output - a dictionary with the server Banned Message Lines settings.
SETBANNED newSettings
Use this command to set the server Banned Message Line Settings.
newSettings : dictionary
New server Banned settings.
GETCLUSTERNETWORK
SETCLUSTERNETWORK newSettings
Use these commands to retrieve and update the Cluster-wide Network settings.
GETCLUSTERBANNED
SETCLUSTERBANNED newSettings
Use these commands to retrieve and update the Cluster-wide Banned Message Lines settings.
GETSERVERMAILRULES
Use this command to read the Server-Wide Automated Mail Processing Rules. The command produces an output - an array of the Server Queue Rules.
SETSERVERMAILRULES newRules
Use this command to set the Server-Wide Automated Mail Processing Rules.
newRules : array
An array of new Server Queue Rules.
GETSERVERSIGNALRULES
Use this command to read the Server-Wide Automated Signal Processing Rules. The command produces an output - an array of the Server Signal Rules.
SETSERVERSIGNALRULES newRules
Use this command to set the Server-Wide Automated Signal Processing Rules.
newRules : array
An array of new Server Signal Rules.
GETCLUSTERMAILRULES
SETCLUSTERMAILRULES newRules
GETCLUSTERSIGNALRULES
SETCLUSTERSIGNALRULES newRules
Use these commands to retrieve and update the Cluster-wide Rules.
GETROUTERTABLE
Use this command to read the Router Table. The command produces an output - a (multi-line) string with the Router Table text.
SETROUTERTABLE newTable
Use this command to set the Router Table.
newTable : string
A (multi-line) string containing the text of the new Router Table
Note: multiple lines should be separated with the \e symbols.
GETROUTERSETTINGS
Use this command to read the Router settings. The command produces an output - a dictionary with the Router settings.
SETROUTERSETTINGS newSettings
Use this command to set the Router settings.
newSettings : dictionary
A dictionary containing new Router settings.
GETCLUSTERROUTERTABLE
SETCLUSTERROUTERTABLE newTable
GETCLUSTERROUTERSETTINGS
SETCLUSTERROUTERSETTINGS newSettings
Use these commands to deal with the Cluster-Wide Router Table and settings.
REFRESHOSDATA
Use this command to make the Server re-read the IP data from the server OS: the set of the local IP addresses, and the set of the DNS addresses.
GETLANIPS
Use this command to retrieve the set of LAN IP Addresses. The command produces an output - a (multi-line) string with LAN IP addresses and address ranges.
SETLANIPS newAddresses
Use this command to update the set of LAN IP Addresses.
newAddresses : string
This (multi-line) string parameter contains the set of addresses and address ranges forming the new set of LAN IP Addresses.
GETCLUSTERLANIPS
Use this command to retrieve the set of Cluster-wide LAN IP Addresses. The command produces an output - a (multi-line) string with Cluster-wide LAN IP addresses and address ranges.
SETCLUSTERLANIPS newAddresses
Use this command to update the set of Cluster-wide LAN IP Addresses.
newAddresses : string
This (multi-line) string parameter contains the set of addresses and address ranges forming the new set of Cluster-wide LAN IP Addresses.

The following command sets have the same parameters and outputs as the GETLANIPS | SETLANIPS | GETCLUSTERLANIPS | SETCLUSTERLANIPS command set:

GETCLIENTIPS
SETCLIENTIPS newAddresses
GETCLUSTERCLIENTIPS
SETCLUSTERCLIENTIPS newAddresses
Use these commands to retrieve and set Server-wide and Cluster-wide Client IP Addresses.
GETBLACKLISTEDIPS
SETBLACKLISTEDIPS newAddresses
GETCLUSTERBLACKLISTEDIPS
SETCLUSTERBLACKLISTEDIPS newAddresses
Use these commands to retrieve and set Server-wide and Cluster-wide Blacklisted IP Addresses.
GETWHITEHOLEIPS
SETWHITEHOLEIPS newAddresses
GETCLUSTERWHITEHOLEIPS
SETCLUSTERWHITEHOLEIPS newAddresses
Use these commands to retrieve and set Server-wide and Cluster-wide WhiteHole IP Addresses.
GETNATEDIPS
SETNATEDIPS newAddresses
GETCLUSTERNATEDIPS
SETCLUSTERNATEDIPS newAddresses
Use these commands to retrieve and set Server-wide and Cluster-wide NATed IP Addresses.
GETNATSITEIPS
SETNATSITEIPS newAddresses
GETCLUSTERNATSITEIPS
SETCLUSTERNATSITEIPS newAddresses
Use these commands to retrieve and set Server-wide and Cluster-wide NAT Site IP Addresses.
GETDEBUGIPS
SETDEBUGIPS newAddresses
GETCLUSTERDEBUGIPS
SETCLUSTERDEBUGIPS newAddresses
Use these commands to retrieve and set Server-wide and Cluster-wide Debug IP Addresses.
GETDENIEDIPS
SETDENIEDIPS newAddresses
GETCLUSTERDENIEDIPS
SETCLUSTERDENIEDIPS newAddresses
Use these commands to retrieve and set Server-wide and Cluster-wide Denied IP Addresses.

A user should have the Settings or User Server access right or the to use the following CLI commands.

ROUTE address [ mail | access | signal ]
Use this command to get the routing for the specified address.
address : string
This parameter specifies the E-mail address to be processed with the CommuniGate Pro Router.
mail or access or signal
This optional flag specifies the Routing type (see the Router section for more details). The default mode is access.
This command produces an output - an array of three strings:
module
the name of the CommuniGate Pro module the address is routed to, or SYSTEM if the address is routed to a built-in destination (like NULL).
host
the object/queue handled by the specified module: an Internet domain name for the SMTP module, a local Account name for the Local Delivery module, etc.
address
the address inside the queue (E-mail address for SMTP, Real-To: address for Local Delivery, etc.)
GETIPSTATE ip-address [ TEMP ]
Use this command to get the type assigned to the specified address. The command produces an output - a string with the IP address type.
If the TEMP keyword is specified, the temporary Client IP Addresses set is checked.
ip-address : string or IP address
This parameter specifies the IP Address to check.

A user should have the Master Server access right to use the following CLI commands.

GETSERVERINTERCEPT
Use this command to read the Lawful Intercept settings. The command produces an output - a dictionary with the Intercept settings.
SETSERVERINTERCEPT newSettings
Use this command to set the Lawful Intercept settings.
newSettings : dictionary
A dictionary containing new Intercept settings.
GETCLUSTERINTERCEPT
SETCLUSTERINTERCEPT newSettings
These commands are the same as the GETSERVERINTERCEPT and SETSERVERINTERCEPT commands, but they deal with the Cluster-Wide Lawful Intercept settings.

Monitoring

A user should have the Monitoring Server access right to use the Server Monitoring CLI commands.

GETSTATELEMENT ObjectID
Use this command to retrieve the current value of a Server statistics (SNMP) element.
ObjectID : string
The object ID of the Server statistics element (see the Statistics section for more details).
This command produces an output - a number, string, or other object with the Server statistics element value.
SETSTATELEMENT ObjectID [ INC | SET ] setValue
Use this command to update the current value of a Server statistics (SNMP) element. Only the "Custom" elements can be updated.
ObjectID : string
The object ID of the Server statistics element (see the Statistics section for more details).
setValue : numeric string
if the INC keyword is used, this value is added to the Element value, if the SET keyword is used, this value is assigned to the Element.
GETNEXTSTATNAME ObjectID
Use this command to enumerate available Server statistics (SNMP) elements.
ObjectID : string
An empty string or the object ID of the already found Server statistics element (see the Statistics section for more details).
This command produces an output - a string with the ObjectID of the next statistics element.
If the ObjectID parameter is an empty string, the ObjectID of the first available Server statistics element is returned.
If a statistics element for the specified ObjectID is not found, or if the found element is the last available one, the command returns an error.
GETDIALOGINFO DialogID
Use this command to retrieve the information about a Signal Dialog object.
DialogID : number
The Dialog ID.
This command produces an output - a dictionary with the Dialog status data.
SHUTDOWN
Use this command to stop the CommuniGate Pro Server.

Statistics

The Account-Level Statistics data is collected if the Account Statistics option is enabled.
To enable this option, open the General pages in the Settings realm of the CommuniGate Pro WebAdmin Interface, and find the Local Account Manager panel on the Other page.

GETACCOUNTSTAT accountName [ KEY keyName ]
Use this command to retrieve statistics data about the specified Account.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
keyName : string
This optional parameter specifies the name of the statistical entry to retrieve.
This command produces an output - a number or a timeStamp with the specified statistical information, or (if the KEY keyword and the keyName parameter are not specified) a dictionary with all available statistical data.
If the statistical data for the specified key does not exist, an empty string is returned.
To use this command, the user should have the Domain Administration right for the target Account Domain. All users can retrieve the Account statistics data for their own accounts.
RESETACCOUNTSTAT accountName [ KEY keyName ]
Use this command to reset statistics data about the specified Account.
accountName : string
This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the current authenticated Account.
keyName : string
This optional parameter specifies the name of the statistical entry to reset.
If the KEY keyword and the keyName parameter are not specified, all Account statistical entries are reset.
To use this command, the user should have the "Basic Settings" Domain Administration right for the target Account Domain.

The following Account statistics data keys are implemented:
Key Name  Value
StatReset The date & time when the last parameterless RESETACCOUNTSTAT command was sent to this Account
MessagesReceived The total number of messages delivered to the Account
BytesReceived The total size of all messages delivered to the Account
MessagesSent The total number of messages sent on the Account behalf
BytesSent The total size of all messages sent on the Account behalf
CallsReceived The total number of calls received for the Account
CallsSent The total number of calls placed on the Account behalf
Logins The total number of successful Account authentications

GETDOMAINSTAT domainName [ KEY keyName ]
Use this command to retrieve statistics data about the specified Domain.
domainName : string
This parameter specifies the name of an existing Domain. The asterisk (*) symbol can be used to specify the Domain of the current authenticated Account.
keyName : string
This optional parameter specifies the name of the statistical entry to retrieve.
This command produces an output - a string with the specified statistical information, or (if the KEY keyword and the keyName parameter are not specified) a dictionary with all available statistical data.
To use this command, the user should have the Domain Administration right for the target Domain.
RESETDOMAINSTAT domainName [ KEY keyName ]
Use this command to reset statistics data about the specified Domain.
domainName : string
This parameter specifies the name of an existing Domain. The asterisk (*) symbol can be used to specify the Domain of the current authenticated Account.
keyName : string
This optional parameter specifies the name of the statistical entry to reset.
If the KEY keyword and the keyName parameter are not specified, all Domain statistical entries are reset.
To use this command, the user should have the "Basic Settings" Domain Administration right for the target Domain.

The following Domain statistics data keys are implemented:
Key Name  Value
StatReset The date & time when the last parameterless RESETDOMAINSTAT command was sent to this Domains
MessagesReceived The total number of messages delivered to the Domain Accounts
BytesReceived The total size of all messages delivered to the Domain Accounts
MessagesSent The total number of messages sent on the Domain Accounts behalf
BytesSent The total size of all messages sent on the Domain Accounts behalf


Directory Administration

A user should have the Directory Server access right to use the Directory Administration CLI commands.

LISTDIRECTORYUNITS [ SHARED ]
Use this command to retrieve the list of all Directory units created. If the SHARED keyword is used, the cluster-wide Units are listed.

This command produces an output - a dictionary, where the keys are Directory Unit mount points, and the values are Directory Unit names.

CREATEDIRECTORYUNIT unitName [ SHARED ] [ REMOTE ] mountPoint
Use this command to create a new Directory Unit.
unitName : string
This parameter specifies the new Unit name.
mountPoint : string
This parameter specifies the new Unit mount point (mount DN).
If the SHARED keyword is used, a cluster-wide Directory Unit is created.
If the REMOTE keyword is used, a Remote (LDAP-based) Directory Unit is created, otherwise a Local (File-based) Directory Unit is created.
RELOCATEDIRECTORYUNIT unitName [ SHARED ] newMountPoint
Use this command to re-mount an existing Directory Unit on a different mount point.
unitName : string
This parameter specifies the Directory Unit name. If the SHARED keyword is used, this is a cluster-wide Directory Unit name.
mountPoint : string
This parameter specifies the new mount point (mount DN).
DELETEDIRECTORYUNIT unitName [ SHARED ]
Use this command to remove an existing Directory Unit.
unitName : string
This parameter specifies the Directory Unit name. If the SHARED keyword is used, this is a cluster-wide Directory Unit name.
GETDIRECTORYUNIT unitName [ SHARED ]
Use this command to retrieve the Directory Unit settings.
unitName : string
This parameter specifies the Directory Unit name. If the SHARED keyword is used, this is a cluster-wide Directory Unit name.
This command produces an output - a dictionary with the Directory Unit settings.
SETDIRECTORYUNIT unitName [ SHARED ] newSettings
Use this command to remove an existing Directory Unit.
unitName : string
This parameter specifies the Directory Unit name. If the SHARED keyword is used, this is a cluster-wide Directory Unit name.
newSettings : dictionary
This parameter specifies the new Directory Unit settings.
GETDIRECTORYACCESSRIGHTS [ SHARED ]
Use this command to retrieve the Directory Access Rights. If the SHARED keyword is used, the cluster-wide Access Rights are retrieved.

This command produces an output - an array of Access Rights elements.

SETDIRECTORYACCESSRIGHTS [ SHARED ] newAccessRights
Use this command to set the Directory Access Rights. If the SHARED keyword is used, the cluster-wide Access Rights are set.
newAccessRights : array
This parameter specifies the new Directory Access Rights.

Miscellaneous Commands

WRITELOG logLevel logRecord
Use this command to store a record into the Server Log.
logLevel : number
This parameter specifies the record log level.
logRecord : string
This parameter specifies the string to be placed into the Server Log.
Log records generated with this command have the SYSTEM prefix.
To use this command, the user should have the "Can Monitor" Server Administration right.
RELEASESMTPQUEUE queueName
Use this command to release an SMTP queue.
queueName : string
This parameter specifies the queue (domain) name to release.
In a Dynamic Cluster environment, this command releases the specified SMTP queue on all servers.
To use this command, the user should have the "Can Monitor" Server Administration right.
REJECTQUEUEMESSAGE messageID [errorText]
Use this command to reject a message from the Server Queue.
messageID : number
This parameter specifies the message ID.
errorText : string
This optional parameter specifies the text to be included into the error report (bounce) sent to the message sender. If this parameter is NONDN, no DSN report message is generated.
To use this command, the user should have the "Can Reject Queues" Server Administration right.
GETMESSAGEQUEUEINFO moduleName QUEUE queueName
Use this command to read information about a module message Queue.
moduleName : string
This parameter specifies the module name.
queueName : string
This parameter specifies the module queue name.
This command produces an output - a dictionary with the specified queue information.
If the module does not have the specified queue, the dictionary is empty. Otherwise it contains the following elements:
nTotal
a number - the total number of messages in the queue
size
a number - the total size of all messages in the queue
delayedTill
(optional) a timestamp - the effective release time for this queue
lastError
(optional) a string with the last problem report
GETCURRENTCONTROLLER
Use this command to get the IP address of the current Dynamic Cluster Controller.
This command produces an output - a string with the Cluster Controller IP Address.
To use this command, the user should have the "Can Monitor" Server Administration right.
GETTEMPCLIENTIPS
Use this command to retrieve the set of temporary Client IP Addresses. The command produces an output - a string with Temporary Client IP addresses separated with the comma (,) symbols.
To use this command, the user should have the "Can Monitor" Server Administration right.
GETTEMPBLACKLISTEDIPS
Use this command to retrieve the set of Temporary Blacklisted IP Addresses. The command produces an output - a string with Temporary Blacklisted IP addresses separated with the comma (,) symbols.
Each IP address may have a -nnnn suffix, where nnnn is either the number of seconds this address will remain blacklisted for, or the * symbol indicating permanent address blacklisting.
To use this command, the user should have the "Can Monitor" Server Administration right.
SETTEMPBLACKLISTEDIPS addresses
Use this command to add addresses to the Temporary Blacklisted IP Addresses list.
addresses : number
A string with a list of IP addresses, using the output format of the GetTempBlacklistedIPs command.
To use this command, the user should have the "Server Settings" Server Administration right.

Index

Domain Set Administration
LISTDOMAINS, MAINDOMAINNAME
GETDOMAINDEFAULTS, UPDATEDOMAINDEFAULTS, SETDOMAINDEFAULTS, GETCLUSTERDOMAINDEFAULTS, UPDATECLUSTERDOMAINDEFAULTS, SETCLUSTERDOMAINDEFAULTS
GETSERVERACCOUNTDEFAULTS, UPDATESERVERACCOUNTDEFAULTS, SETSERVERACCOUNTDEFAULTS, GETCLUSTERACCOUNTDEFAULTS, UPDATECLUSTERACCOUNTDEFAULTS, SETCLUSTERACCOUNTDEFAULTS
GETSERVERACCOUNTPREFS, SETSERVERACCOUNTPREFS, UPDATESERVERACCOUNTPREFS, GETCLUSTERACCOUNTPREFS, SETCLUSTERACCOUNTPREFS, UPDATECLUSTERACCOUNTPREFS
CREATEDOMAIN, RENAMEDOMAIN, DELETEDOMAIN, CREATESHAREDDOMAIN, CREATEDIRECTORYDOMAIN, RELOADDIRECTORYDOMAINS
LISTSERVERTELNUMS, LISTCLUSTERTELNUMS
GETSERVERTRUSTEDCERTS, SETSERVERTRUSTEDCERTS, GETCLUSTERTRUSTEDCERTS, SETCLUSTERTRUSTEDCERTS
GETDIRECTORYINTEGRATION, GETCLUSTERDIRECTORYINTEGRATION, SETCLUSTERDIRECTORYINTEGRATION
Domain Administration
GETDOMAINSETTINGS, GETDOMAINEFFECTIVESETTINGS, UPDATEDOMAINSETTINGS, SETDOMAINSETTINGS
GETACCOUNTDEFAULTS, UPDATEACCOUNTDEFAULTS, SETACCOUNTDEFAULTS
GETACCOUNTDEFAULTPREFS, UPDATEACCOUNTDEFAULTPREFS, SETACCOUNTDEFAULTPREFS
GETDOMAINALIASES, SETDOMAINALIASES
GETACCOUNTTEMPLATE, UPDATEACCOUNTTEMPLATE, SETACCOUNTTEMPLATE
GETDOMAINMAILRULES, SETDOMAINMAILRULES, GETDOMAINSIGNALRULES, SETDOMAINSIGNALRULES,
LISTADMINDOMAINS
LISTDOMAINOBJECTS, LISTACCOUNTS, LISTDOMAINTELNUMS
INSERTDIRECTORYRECORDS, DELETEDIRECTORYRECORDS
GETDOMAINLOCATION,
SUSPENDDOMAIN, RESUMEDOMAIN
Account Administration
CREATEACCOUNT, RENAMEACCOUNT, DELETEACCOUNT
SETACCOUNTTYPE, GETACCOUNTSETTINGS, UPDATEACCOUNTSETTINGS, GETACCOUNTEFFECTIVESETTINGS, SETACCOUNTSETTINGS
SETACCOUNTPASSWORD, VERIFYACCOUNTPASSWORD
GETACCOUNTALIASES, SETACCOUNTALIASES, GETACCOUNTTELNUMS, SETACCOUNTTELNUMS MODIFYACCOUNTTELNUMS
GETACCOUNTMAILRULES, SETACCOUNTMAILRULES, GETACCOUNTSIGNALRULES, SETACCOUNTSIGNALRULES, UPDATEACCOUNTMAILRULE, UPDATEACCOUNTMAILRULE, UPDATEACCOUNTSIGNALRULE, UPDATEACCOUNTSIGNALRULE
GETACCOUNTRPOPS, SETACCOUNTRPOPS, GETACCOUNTRSIPS, SETACCOUNTRSIPS, UPDATESCHEDULEDTASK, GETACCOUNTRIGHTS, GETACCOUNTINFO
GETACCOUNTPREFS, UPDATEACCOUNTPREFS, SETACCOUNTPREFS, GETACCOUNTEFFECTIVEPREFS
KILLACCOUNTSESSIONS
GETACCOUNTACL, SETACCOUNTACL, GETACCOUNTACLRIGHTS
GETACCOUNTLOCATION GETACCOUNTPRESENCE
Group Administration
LISTGROUPS, CREATEGROUP, RENAMEGROUP, DELETEGROUP, GETGROUP, SETGROUP
Forwarder Administration
LISTFORWARDERS, CREATEFORWARDER, RENAMEFORWARDER, DELETEFORWARDER, GETFORWARDER FINDFORWARDERS
Named Task Administration
LISTDOMAINNAMEDTASKS, LISTACCOUNTNAMEDTASKS, CREATENAMEDTASK, RENAMENAMEDTASK, DELETENAMEDTASK, GETNAMEDTASK, UPDATENAMEDTASK
Access Rights Administration
SETACCOUNTRIGHTS
Mailbox Administration
LISTMAILBOXES, CREATEMAILBOX, DELETEMAILBOX, RENAMEMAILBOX, SETMAILBOXCLASS
GETMAILBOXINFO, GETMAILBOXACL, SETMAILBOXACL, GETMAILBOXRIGHTS
GETMAILBOXSUBSCRIPTION, SETMAILBOXSUBSCRIPTION
GETMAILBOXALIASES, SETMAILBOXALIASES
Alert Administration
GETDOMAINALERTS, SETDOMAINALERTS, POSTDOMAINALERT, REMOVEDOMAINALERT
GETACCOUNTALERTS, SETACCOUNTALERTS, POSTACCOUNTALERT, REMOVEACCOUNTALERT
GETSERVERALERTS, SETSERVERALERTS, POSTSERVERALERT, REMOVESERVERALERT, GETCLUSTERALERTS, SETCLUSTERALERTS, POSTCLUSTERALERT, REMOVECLUSTERALERT
File Storage Administration
READSTORAGEFILE, WRITESTORAGEFILE, RENAMESTORAGEFILE, DELETESTORAGEFILE, LISTSTORAGEFILES, GETSTORAGEFILEINFO READSTORAGEFILEATTR UPDATESTORAGEFILEATTR GETFILESUBSCRIPTION SETFILESUBSCRIPTION
Mailing Lists Administration
LISTLISTS, GETDOMAINLISTS, GETACCOUNTLISTS
CREATELIST, RENAMELIST, DELETELIST, GETLIST, UPDATELIST
LIST, LISTSUBSCRIBERS, READSUBSCRIBERS
GETSUBSCRIBERINFO, SETPOSTINGMODE, PROCESSBOUNCE
Web Skins Administration
LISTDOMAINSKINS, CREATEDOMAINSKIN, RENAMEDOMAINSKIN, DELETEDOMAINSKIN, LISTDOMAINSKINFILES, READDOMAINSKINFILE, STOREDOMAINSKINFILE
LISTSERVERSKINS, CREATESERVERSKIN, RENAMESERVERSKIN, DELETESERVERSKIN, LISTSERVERSKINFILES, READSERVERSKINFILE, STORESERVERSKINFILE
LISTCLUSTERSKINS, CREATECLUSTERSKIN, RENAMECLUSTERSKIN, DELETECLUSTERSKIN, LISTCLUSTERSKINFILES, READCLUSTERSKINFILE, STORECLUSTERSKINFILE, STORECLUSTERSKINFILE
Web Interface Integration
CREATEWEBUSERSESSION, CREATEXIMSSSESSION, FINDACCOUNTSESSION, GETSESSION, KILLSESSION
Real-Time Application Administration
CREATEDOMAINPBX, DELETEDOMAINPBX, LISTDOMAINPBXFILES, READDOMAINPBXFILE, STOREDOMAINPBXFILE
CREATESERVERPBX, DELETESERVERPBX, LISTSERVERPBXFILES, READSERVERPBXFILE, STORESERVERPBXFILE
CREATECLUSTERPBX, DELETECLUSTERPBX, LISTCLUSTERPBXFILES, READCLUSTERPBXFILE, STORECLUSTERPBXFILE
Real-Time Application Control
STARTPBXTASK, SENDTASKEVENT, KILLNODE, READNODESTATUS
Account Services
REMOVEACCOUNTSUBSET DATASET ROSTER BALANCE
Server Settings
LISTMODULES, GETMODULE, SETMODULE, UPDATEMODULE
GETQUEUESETTINGS, SETQUEUESETTINGS, GETSIGNALSETTINGS, SETSIGNALSETTINGS, GETMEDIASERVERSETTINGS, SETMEDIASERVERSETTINGS
GETSESSIONSETTINGS, SETSESSIONSETTINGS
GETCLUSTERSETTINGS, SETCLUSTERSETTINGS
GETNETWORK, SETNETWORK, GETCLUSTERNETWORK, SETCLUSTERNETWORK
GETBANNED, GETCLUSTERBANNED, SETBANNED, SETCLUSTERBANNED
GETSERVERMAILRULES, SETSERVERMAILRULES, GETCLUSTERMAILRULES, SETCLUSTERMAILRULES
GETSERVERSIGNALRULES, SETSERVERSIGNALRULES, GETCLUSTERSIGNALRULES, SETCLUSTERSIGNALRULES
GETROUTERTABLE, SETROUTERTABLE, GETCLUSTERROUTERTABLE, SETCLUSTERROUTERTABLE
GETROUTERSETTINGS, SETROUTERSETTINGS, GETCLUSTERROUTERSETTINGS, SETCLUSTERROUTERSETTINGS
REFRESHOSDATA
GETLANIPS, SETLANIPS, GETCLUSTERLANIPS, SETCLUSTERLANIPS
GETCLIENTIPS, SETCLIENTIPS, GETCLUSTERCLIENTIPS, SETCLUSTERCLIENTIPS
GETBLACKLISTEDIPS, SETBLACKLISTEDIPS, GETCLUSTERBLACKLISTEDIPS, SETCLUSTERBLACKLISTEDIPS
GETWHITEHOLEIPS, SETWHITEHOLEIPS, GETCLUSTERWHITEHOLEIPS, SETCLUSTERWHITEHOLEIPS
GETNATEDIPS, SETNATEDIPS, GETCLUSTERNATEDIPS, SETCLUSTERNATEDIPS
GETNATSITEIPS, SETNATSITEIPS, GETCLUSTERNATSITEIPS, SETCLUSTERNATSITEIPS
GETDEBUGIPS, SETDEBUGIPS, GETCLUSTERDEBUGIPS, SETCLUSTERDEBUGIPS
GETDENIEDIPS, SETDENIEDIPS, GETCLUSTERDENIEDIPS, SETCLUSTERDENIEDIPS
ROUTE GETIPSTATE
GETSERVERINTERCEPT, SETSERVERINTERCEPT, GETCLUSTERINTERCEPT, SETCLUSTERINTERCEPT
Monitoring
GETSTATELEMENT, SETSTATELEMENT, GETNEXTSTATNAME, GETDIALOGINFO, SHUTDOWN
Statistics
GETACCOUNTSTAT, RESETACCOUNTSTAT, GETDOMAINSTAT, RESETDOMAINSTAT
Directory Administration
LISTDIRECTORYUNITS, CREATEDIRECTORYUNIT, RELOCATEDIRECTORYUNIT, DELETEDIRECTORYUNIT, GETDIRECTORYUNIT, SETDIRECTORYUNIT, GETDIRECTORYACCESSRIGHTS, SETDIRECTORYACCESSRIGHTS
Miscellaneous Commands
WRITELOG, RELEASESMTPQUEUE, REJECTQUEUEMESSAGE, GETMESSAGEQUEUEINFO, GETCURRENTCONTROLLER, GETTEMPCLIENTIPS, GETTEMPBLACKLISTEDIPS, SETTEMPBLACKLISTEDIPS,

CommuniGate® Pro Guide. Copyright © 1998-2012, Stalker Software, Inc.