# HG changeset patch # User Sebastien Decugis # Date 1273217592 -32400 # Node ID 7842bed901cabcadd7ee26bf45d2ca4305e7cf74 # Parent 638193371ea60b8d8bbef9f978d9f800a51de20c Updated documentation diff -r 638193371ea6 -r 7842bed901ca INSTALL --- a/INSTALL Fri May 07 15:03:15 2010 +0900 +++ b/INSTALL Fri May 07 16:33:12 2010 +0900 @@ -12,21 +12,20 @@ make make tests -Note: instead of passing options on the command line, you can use a CMake front-end (for example cmake-gui) +Note: instead of passing options on the command line, you can use a CMake front-end (for example ccmake or cmake-gui) or edit the CCmakeCache.txt file directly. Note that there are dependencies on external tools that may not be enforced by the configure script. See the specific INSTALL.distro files matching your situation. -make install has not been tested yet and will probably not behave as expected! +make install has not been tested yet and will probably not behave as expected. You can configure which extensions to build with CMake: IGNORE_ALL_EXTENSIONS:BOOL=OFF (or the following are ignored) -BUILD_APP_TEST:BOOL=ON -BUILD_RT_ANY:BOOL=ON -BUILD_RT_DEBUG:BOOL=ON -BUILD_RT_DEFAULT:BOOL=ON BUILD_SAMPLE:BOOL=ON +BUILD_DICT_NASREQ:BOOL=ON +BUILD_APP_RADGW:BOOL=ON +... You can change the default configuration file pathname: DEFAULT_CONF_FILE:STRING=/path/to/some/freeDiameter.conf diff -r 638193371ea6 -r 7842bed901ca INSTALL.FreeBSD --- a/INSTALL.FreeBSD Fri May 07 15:03:15 2010 +0900 +++ b/INSTALL.FreeBSD Fri May 07 16:33:12 2010 +0900 @@ -48,4 +48,45 @@ 8) make, run, enjoy :) +------------------------------ +app_acct test ADDITIONAL STEPS +------------------------------ +Here is additional steps in order to run the test for app_acct +1) Install the required packages + # pkg_add -v -r postgresql84-client + # pkg_add -v -r postgresql84-server + +2) Prepare access to the database: + # echo postgresql_enable=YES >> /etc/rc.conf + # /usr/local/etc/rc.d/postgresql initdb + # su - pgsql + > /usr/local/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start + > /usr/local/bin/createuser root + Shall the new user be allowed to create databases? (y/n) y + > logout + # /usr/local/bin/createdb root + # /usr/local/bin/psql root + root=# CREATE TABLE incoming_test ( + root(# recorded_on timestamp with time zone NOT NULL, + root(# "Accounting-Record-Type" integer, + root(# "Session-Id" bytea, " + root(# "Accounting-Record-Number" integer, + root(# "Route-Record1" bytea, + root(# "Route-Record2" bytea, + root(# "Route-Record3" bytea, + root(# "Route-Record4" bytea ); + root=# \q + +3) configure the sources + # ccmake . + BUILD_APP_ACCT:BOOL=ON + TEST_APP_ACCT:BOOL=ON + TEST_APP_ACCT_CONNINFO:STRING="user=root dbname=root" + +4) run the test + # freeDiameter/tests/testappacct -d + or + # make test + + diff -r 638193371ea6 -r 7842bed901ca INSTALL.Ubuntu --- a/INSTALL.Ubuntu Fri May 07 15:03:15 2010 +0900 +++ b/INSTALL.Ubuntu Fri May 07 16:33:12 2010 +0900 @@ -5,7 +5,8 @@ Additionnaly, these ones may be useful: mercurial gdb - + +In order to build app_acct extension, you will also need the package libpq-dev. -Tested working: Ubuntu Intrepid, Jaunty, Karmic. Debian Lenny. -Tested not working: Ubuntu Hardy. +Tested not working: Ubuntu Hardy (too old). +Tested working: Ubuntu Intrepid, Jaunty, Karmic, Lucid. Debian Lenny. diff -r 638193371ea6 -r 7842bed901ca doc/app_acct.conf.sample --- a/doc/app_acct.conf.sample Fri May 07 15:03:15 2010 +0900 +++ b/doc/app_acct.conf.sample Fri May 07 16:33:12 2010 +0900 @@ -46,6 +46,134 @@ # Note that at the moment, GROUPED AVP are not supported. Also, only the top-level AVPs are # search. This behavior can be changed quite easily if needed. +# The following list is informative only. +# You may also consult RFC4005 sections 10.2.1 and 10.2.2 for other examples +# "Origin-Host"; +# "Origin-Realm"; +# "Destination-Realm"; +# "Destination-Host"; +# "Session-Id"; +# "Origin-State-Id"; +# "Accounting-Record-Type"; +# "Accounting-Record-Number"; +# "User-Name"; +# "Event-Timestamp"; +# "Acct-Application-Id"; +# "Accounting-Sub-Session-Id"; +# "Acct-Session-Id"; +# "Acct-Multi-Session-Id"; +# "Origin-AAA-Protocol"; +# "Acct-Delay-Time"; +# "NAS-Identifier"; +# "NAS-IP-Address"; +# "NAS-IPv6-Address"; +# "NAS-Port"; +# "NAS-Port-Id"; +# "NAS-Port-Type"; +# "Service-Type"; +# "Termination-Cause"; +# "Accounting-Input-Octets"; +# "Accounting-Input-Packets"; +# "Accounting-Output-Octets"; +# "Accounting-Output-Packets"; +# "Acct-Authentic"; +# "Acct-Link-Count"; +# "Acct-Session-Time"; +# "Acct-Tunnel-Connection"; +# "Acct-Tunnel-Packets-Lost"; +# "Callback-Id"; +# "Callback-Number"; +# "Called-Station-Id"; +# "Calling-Station-Id"; +# "Connect-Info"; +# "Originating-Line-Info"; +# "Authorization-Lifetime"; +# "Session-Timeout"; +# "Idle-Timeout"; +# "Port-Limit"; +# "Accounting-Realtime-Required"; +# "Acct-Interim-Interval"; +# "Filter-Id"; +# "NAS-Filter-Rule"; +# "Qos-Filter-Rule"; +# "Login-IP-Host"; +# "Login-IPv6-Host"; +# "Login-LAT-Group"; +# "Login-LAT-Node"; +# "Login-LAT-Port"; +# "Login-LAT-Service"; +# "Login-Service"; +# "Login-TCP-Port"; +# "Route-Record" = { multi=5; }; # Record the last 5 hops of the message + +# This is the database table corresponding to this list: +# CREATE TABLE app_acct ( +# "recorded_on" timestamp with time zone NOT NULL, +# "Origin-Host" bytea NOT NULL, +# "Origin-Realm" bytea NOT NULL, +# "Destination-Realm" bytea, +# "Destination-Host" bytea, +# "Session-Id" bytea NOT NULL, +# "Origin-State-Id" integer, +# "Accounting-Record-Type" integer NOT NULL, +# "Accounting-Record-Number" integer NOT NULL, +# "User-Name" bytea, +# "Event-Timestamp" bytea, +# "Acct-Application-Id" integer, +# "Accounting-Sub-Session-Id" bigint, +# "Acct-Session-Id" bytea, +# "Acct-Multi-Session-Id" bytea, +# "Origin-AAA-Protocol" integer, +# "Acct-Delay-Time" integer, +# "NAS-Identifier" bytea, +# "NAS-IP-Address" bytea, +# "NAS-IPv6-Address" bytea, +# "NAS-Port" integer, +# "NAS-Port-Id" bytea, +# "NAS-Port-Type" integer, +# "Service-Type" integer, +# "Termination-Cause" integer, +# "Accounting-Input-Octets" bigint, +# "Accounting-Input-Packets" bigint, +# "Accounting-Output-Octets" bigint, +# "Accounting-Output-Packets" bigint, +# "Acct-Authentic" integer, +# "Acct-Link-Count" integer, +# "Acct-Session-Time" integer, +# "Acct-Tunnel-Connection" bytea, +# "Acct-Tunnel-Packets-Lost" integer, +# "Callback-Id" bytea, +# "Callback-Number" bytea, +# "Called-Station-Id" bytea, +# "Calling-Station-Id" bytea, +# "Connect-Info" bytea, +# "Originating-Line-Info" bytea, +# "Authorization-Lifetime" integer, +# "Session-Timeout" integer, +# "Idle-Timeout" integer, +# "Port-Limit" integer, +# "Accounting-Realtime-Required" integer, +# "Acct-Interim-Interval" integer, +# "Filter-Id" bytea, +# "NAS-Filter-Rule" bytea, +# "QoS-Filter-Rule" bytea, +# "Login-IP-Host" bytea, +# "Login-IPv6-Host" bytea, +# "Login-LAT-Group" bytea, +# "Login-LAT-Node" bytea, +# "Login-LAT-Port" bytea, +# "Login-LAT-Service" bytea, +# "Login-Service" integer, +# "Login-TCP-Port" integer, +# "Route-Record1" bytea, +# "Route-Record2" bytea, +# "Route-Record3" bytea, +# "Route-Record4" bytea, +# "Route-Record5" bytea +# ); + + + ####################### ## Part II: Database ## @@ -71,3 +199,4 @@ +