Brian Waters | 13d9601 | 2017-12-08 16:53:31 -0600 | [diff] [blame] | 1 | ####################### |
| 2 | # This file contains the description of configuration and general information about the |
| 3 | # "App_Acct" extension. |
| 4 | |
| 5 | # This extension provides a simple Diameter Accounting server. |
| 6 | # The extension does receive the Accounting-Request message, then |
| 7 | # saves the contents of the AVP in a database, as configured here. |
| 8 | # The data is not processed at all. The intent is that a dedicated |
| 9 | # application will then pull from this database and process the data (consolidate |
| 10 | # sessions, ...) |
| 11 | |
| 12 | # In order to enable this extension, the main freeDiameter configuration file |
| 13 | # must contain the following declaration: |
| 14 | # LoadExtension = "extensions/app_acct.fdx" : "/path/to/app_acct.conf" ; |
| 15 | ####################### |
| 16 | |
| 17 | ################# |
| 18 | ## Part I: AVP ## |
| 19 | ################# |
| 20 | |
| 21 | # Configure here the AVPs that must be stored in the database. |
| 22 | # The format is: |
| 23 | # "AVP-dictionary-name" = { |
| 24 | # field = "db-field-name"; |
| 25 | # required; |
| 26 | # multi=N; |
| 27 | # }; |
| 28 | # Where: |
| 29 | # AVP-dictionary-name: |
| 30 | # The name of the AVP, such as "Session-Id". Only this field is mandatory. |
| 31 | # field="...": |
| 32 | # The name of the field in the database where is AVP contents will be saved. |
| 33 | # The default is that the field is named as the AVP-dictionary-name. |
| 34 | # required: |
| 35 | # By default, if the AVP is not in the Diameter message, it is not passed in |
| 36 | # the INSERT statement (will get NULL). If Required is specified for the AVP, |
| 37 | # an error is returned in the Diameter answer, and the data is discarded. |
| 38 | # multi=N: |
| 39 | # If an AVP may appear several times in a request, you may specify a number of |
| 40 | # occurrences to save in the database. The Nth first occurrences of the AVP |
| 41 | # will be saved in fields "db-field-name1", "db-field-name2", ... "db-field-nameN" |
| 42 | # |
| 43 | # In case the default behavior for an AVP is fine, you can use the short syntax: |
| 44 | # "AVP-dictionary-name"; |
| 45 | # |
| 46 | # Note that at the moment, GROUPED AVP are not supported. Also, only the top-level AVPs are |
| 47 | # searched. This behavior can be changed quite easily if needed. |
| 48 | |
| 49 | # You may look at contrib/app_acct_tools/app_acct.conf and database.sql files |
| 50 | # for an example of setup. |
| 51 | |
| 52 | |
| 53 | ####################### |
| 54 | ## Part II: Database ## |
| 55 | ####################### |
| 56 | |
| 57 | # You must specify the connection information to the database here. |
| 58 | # Please note that if the connection is terminated, it will trig the shutdown of the freeDiameter daemon |
| 59 | # For this reason, you should as much as possible use a local database. |
| 60 | |
| 61 | # ConnInfo: |
| 62 | # The connection string to the database. See http://www.postgresql.org/docs/8.4/static/libpq-connect.html |
| 63 | # Example: ConnInfo = "host=localhost port=5432 dbname=acct user=acct password=freediameter"; |
| 64 | |
| 65 | # Table: |
| 66 | # The name of the table to use. The fields and types in this table must be created accordingly to the Part I configuration in this file. |
| 67 | # Example: Table = "incoming"; |
| 68 | |
| 69 | # Timestamp_field: |
| 70 | # Optionally, you can specify a name of a field that will receive the value 'now' when a new record is inserted. |
| 71 | # Default: no timestamp is inserted. |
| 72 | # Example: Timestamp_field = "recorded_on"; |
| 73 | |
| 74 | # Server_name_field: |
| 75 | # Optionally, you can specify a field which will receive the Diameter Identity of the local server for each record saved. |
| 76 | # This is useful especially if you have several Accounting servers and want to check Load-Balancing behavior or so, |
| 77 | # after aggregating all the data. |
| 78 | # Default: no server name inserted. |
| 79 | # Example: Server_name_field = "recorded_serv"; |
| 80 | |
| 81 | |
| 82 | |