CSV Configuration File Creation

The Comma Separated Values (CSV) file is a text format file supported by spreadsheet applications. You can import a CSV file into the Oracle Enterprise Communications Broker (OECB) that contains its configuration, or you can export the current configuration on the OECB to the CSV file. You can also upload parts of your OECB configuration separately, such as users, dial plans, and routes. You can perform the upload manually or set the system to perform a periodic upload, automatically.

In the CSV file format, each row is defined on its own line and each column is separated by a comma.

You can create your own CSV configuration files, but be aware of the following rules for proper formatting.

  • The OECB ignores empty lines.
  • If an entry contains a comma, enclose it in quotes to prevent it from being treated as a separator.
  • The first non-empty line must be the keyword “object:”, followed by the configuration object name that is being configured (shown below as “sip-interface”).
    object:sip-interface
  • The second non-empty line must state the operation to perform, which can be ADD, MODIFY, or DELETE.
    operation: ADD
  • The third non-empty line must state the parameter name of the object to be configured, and each parameter name must be in its own column. This row defines the “labels” for each column for the subsequent rows. Only the attributes you want defined need to be present. You can specify the parameter names in any order, but the data in subsequent rows must be consistent with the “labels” that you define in this row.
    state,realm-id,description
  • The fourth non-empty rows define instances (values) for the configuration object, each instance in its own column. In the following example, the third line defines a new sip-interface with state “enabled”, realm-id “public”, and description “public SIP interface”. These values are based on the “labels” defined in the second row.
    enabled,public,public SIP interface
  • On all subsequent rows, you can define any number of instances.
  • The next row with an “object” keyword selects a new configuration object that is based on the previous object. You continue to input the data for this object according to the rules stated above. The following example shows a “sip-port” object added that is related to the sip-interface object.
    object:sip-port
    operation:ADD
    address,port,transport-protocol
    192.168.1.1,5060,UDP
    192.168.1.1,5061,TCP
  • In the preceding example, “sip-port” is a sub-object of “sip-interface” that creates new sip-ports from the last sip-interface instance (of realm-id “public”).
  • Note that the Description field displays all text as one continuous line, unless you insert line breaks. When you want to insert line breaks in the Description field, for example between sentences that you want displayed on separate lines, do the following:
    • From the GUI, in the Description field of a Configuration object, add Line1 to the end of the line where you want the first break to occur. Add Line2 to the end of the next line where you want a break to occur, and so on.
    • In a CSV configuration file, add \010Line1 to the end of the line where you want the first break to occur. Add \010Line2 to the end of the next line where you want a break to occur, and so on.

Note:

After you create the initial CSV configuration file, you can set the OECB to automatically upload updated versions of the file. See "Automatically Upload Updated CSV Configuration Files" and "Configure Automatic CSV File Uploads."

Caveats

  • Files are written to the volatile directory of the file system on the system. For the Acme Packet 4500, this is the “/ramdrv/” directory. For the appliance and virtual machines, it is the “/var/” directory.
  • Import and export occurs to and from the editing configuration.
  • All error messages are printed to the screen, where the command was issued. Line numbers are provided with the error when possible.
  • Objects and attributes cannot be set to instances (values) that are not allowed. For example, you cannot set an IP address to "enabled". Parsing continues normally after this error.
  • If an object cannot be written (i.e. key field is missing), then that object is discarded and parsing continues as normal.
  • The import is additive. Each object that is imported is expected to be new to the configuration. If there is already an object with the same key present, it generates an error 409 and is discarded. Parsing continues as normal after the error.