1
# Id: postgresql.conf,v 1.8.2.11 2003/07/15 11:15:43 pnixon Exp $
3
# Configuration for the SQL module, when doing H323 VoIP billing.
5
# The database schema is available at:
7
# src/radiusd/src/billing/h323_db_postgresql.sql
11
# Database type currently must be rlm_sql_postgresql to work with this setup.
12
driver = "rlm_sql_postgresql"
19
# Database configuration
22
# Database table configuration
26
authcheck_table = "radcheck"
27
authreply_table = "radreply"
29
groupcheck_table = "radgroupcheck"
30
groupreply_table = "radgroupreply"
32
usergroup_table = "usergroup"
34
# Remove stale session if checkrad does not see a double login
35
deletestalesessions = yes
37
# Print all SQL statements when in debug mode (-x)
39
sqltracefile = ${logdir}/sqltrace.sql
41
# number of sql connections to make to server
44
# Radius server name so you can tell which radius server handled a request
45
# when you have multiple radius servers and one database.
46
radius_server_name = myservername
48
#######################################################################
49
# Query config: Username
50
#######################################################################
51
# This is the username that will get substituted, escaped, and added
52
# as attribute 'SQL-User-Name'. '%{SQL-User-Name}' should be used below
53
# everywhere a username substitution is needed so you you can be sure
54
# the username passed from the client is escaped properly.
56
# Uncomment the next line, if you want the sql_user_name to mean:
58
# Use Stripped-User-Name, if it's there.
59
# Else use User-Name, if it's there,
60
# Else use hard-coded string "none" as the user name.
62
#sql_user_name = "%{Stripped-User-Name:-%{User-Name:-none}}"
64
sql_user_name = "%{User-Name}"
67
#######################################################################
69
#######################################################################
70
# accounting_onoff_query - query for Accounting On/Off packets
71
# accounting_update_query - query for Accounting update packets
72
# accounting_update_query_alt - query for Accounting update packets
73
# (alternate in case first query fails)
74
# accounting_start_query - query for Accounting start packets
75
# accounting_start_query_alt - query for Accounting start packets
76
# (alternate in case first query fails)
77
# accounting_stop_query - query for Accounting stop packets
78
# accounting_stop_query_alt - query for Accounting start packets
79
# (alternate in case first query doesn't
80
# affect any existing rows in the table)
81
#######################################################################
83
# Note: The VoIP accouting does not need Alternate queries in the shipped
84
# configuration as all queries are INSERTS, hence should always work.
85
# If they do not work then you probably have duplicate records in your table.
88
accounting_start_query = "INSERT into ${acct_table1}%{h323-call-type} \
89
(RadiusServerName, UserName, NASIPAddress, AcctTime, CalledStationId, \
90
CallingStationId, AcctDelayTime, h323gwid, h323callorigin, h323setuptime, H323ConnectTime, callid) \
91
values('${radius_server_name}', '%{SQL-User-Name}', \
92
'%{NAS-IP-Address}', now(), '%{Called-Station-Id}', \
93
'%{Calling-Station-Id}', '%{Acct-Delay-Time:-0}', '%{h323-gw-id}', \
94
'%{h323-call-origin}', strip_dot('%{h323-setup-time}'), strip_dot('%{h323-connect-time}'), pick_id('%{h323-conf-id}', '%{call-id}'))"
97
accounting_stop_query = "INSERT into ${acct_table2}%{h323-call-type} \
98
(RadiusServerName, UserName, NASIPAddress, AcctTime, \
99
AcctSessionTime, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, \
100
AcctDelayTime, H323RemoteAddress, CiscoNASPort, h323callorigin, callid, \
101
h323connecttime, h323disconnectcause, h323disconnecttime, h323gwid, h323setuptime) \
102
values('${radius_server_name}', '%{SQL-User-Name}', '%{NAS-IP-Address}', now(), '%{Acct-Session-Time:-0}', \
103
'%{Acct-Input-Octets:-0}', '%{Acct-Output-Octets:-0}', '%{Called-Station-Id}', '%{Calling-Station-Id}', \
104
'%{Acct-Delay-Time:-0}', NULLIF('%{h323-remote-address}', '')::inet, NULLIF('%{Cisco-NAS-Port}', ''), \
105
'%{h323-call-origin}', pick_id('%{h323-conf-id}', '%{call-id}'), strip_dot('%{h323-connect-time}'), '%{h323-disconnect-cause}', \
106
strip_dot('%{h323-disconnect-time}'), '%{h323-gw-id}', strip_dot('%{h323-setup-time}'))"