dialup.conf custom attributes failure in freeradius 2.2
Miha Petkovsek
miha.petkovsek at gmail.com
Mon Jan 28 08:58:15 CET 2013
Hi, I need some help with inserting custom attributes to MySQL server. It seems that version 2.2 broke it, at least on my server… When I revert back to 2.1 it immediately starts to work with same config files.
Below are config files and traces for both versions.
Any idea?
thanks,
brm
----------------------
Relevant part of dialup.conf (modified to include custom attributes):
accounting_start_query = " \
INSERT INTO ${acct_table1} \
(acctsessionid, acctuniqueid, username, \
imsi, imei, ms_timezone, \
rat_type, user_location_info, realm, \
nasipaddress, nasportid, \
nasporttype, acctstarttime, acctstoptime, \
acctsessiontime, acctauthentic, connectinfo_start, \
connectinfo_stop, acctinputoctets, acctoutputoctets, \
calledstationid, callingstationid, acctterminatecause, \
servicetype, framedprotocol, framedipaddress, \
acctstartdelay, acctstopdelay) \
VALUES \
('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', \
'%{SQL-User-Name}', \
'%{3GPP-IMSI}', '%{3GGP-IMEISV}', '%{3GPP-MS-TimeZone}', \
'%{3GPP-RAT-type}', '%{3GPP-User-Location-Info}', '%{Realm}', \
'%{NAS-IP-Address}', '%{NAS-Port}', \
'%{NAS-Port-Type}', '%S', NULL, \
'0', '%{Acct-Authentic}', '%{Connect-Info}', \
'', '0', '0', \
'%{Called-Station-Id}', '%{Calling-Station-Id}', '', \
'%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', \
'%{%{Acct-Delay-Time}:-0}', '0')"
Slightly modified dictionary.3gpp file to include custom attributes:
# new attributes
ATTRIBUTE 3GGP-IMEISV 20 string
ATTRIBUTE 3GPP-RAT-type 21 byte
ATTRIBUTE 3GPP-User-Location-Info 22 octets
ATTRIBUTE 3GPP-MS-TimeZone 23 integer has_tag
# set RAT-TYPE
VALUE 3GPP-RAT-Type Reserved 0
VALUE 3GPP-RAT-Type UTRAN 1
VALUE 3GPP-RAT-Type GERAN 2
VALUE 3GPP-RAT-Type WLAN 3
VALUE 3GPP-RAT-Type GAN 4
VALUE 3GPP-RAT-Type HSPA-Evolution 5
VALUE 3GPP-RAT-Type IEEE-802-16e 101
VALUE 3GPP-RAT-Type 3GPP2-eHRPD 102
VALUE 3GPP-RAT-Type 3GPP2-HRPD 103
VALUE 3GPP-RAT-Type 3GPP2-1xRTT 104
VALUE 3GPP-RAT-Type 3GPP-EPS 105
This is the accounting start record from debug mode:
rad_recv: Accounting-Request packet from host xxxxxxxx port 54002, id=50, length=375
Acct-Status-Type = Start
Event-Timestamp = "Jan 26 2013 18:20:08 CET"
Framed-IP-Address = xxxxxxx
Called-Station-Id = "xxxxxx"
Calling-Station-Id = "xxxxxxx"
NAS-IP-Address = xxxxxxx
NAS-Identifier = "xxxxxxx"
Service-Type = Framed-User
NAS-Port-Type = Virtual
Acct-Session-Id = "5BB9DD25a7846fd9"
3GPP-IMSI = "xxxxxxx"
3GPP-IMSI-MCC-MNC = "xxxxxxx"
3GPP-NSAPI = "5"
3GGP-IMEISV = "xxxxxxx"
3GPP-RAT-type = UTRAN
3GPP-User-Location-Info = 0x0192f307000a79be
3GPP-Charging-ID = 2810474457
3GPP-PDP-Type = IP
3GPP-Selection-Mode = "0"
Error on version 2.2:
...
+- entering group accounting {...}
[sql] expand: %{Calling-Station-Id} -> xxxxxxxx
[sql] sql_set_user escaped user --> 'xxxxxxxxx'
[sql] WARNING: Unknown module "3GPP-IMSI" in string expansion "%', '%{3GGP-IMEISV}', '%{3GPP-MS-TimeZone}', '%{3GPP-RAT-type}', '%{3GPP-User-Location-Info}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', '%S', NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '%{%{Acct-Delay-Time}:-0}', '0')"
[sql] expand: /var/log/radius/sqltrace.sql -> /var/log/radius/sqltrace.sql
rlm_sql (sql): Reserving sql socket id: 24
rlm_sql_mysql: query: INSERT INTO radacct (acctsessionid, acctuniqueid, username, imsi, imei, ms_timezone, rat_type, user_location_info, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctstoptime, acctsessiontime, acctauthentic, connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, acctstartdelay, acctstopdelay) VALUES ('5BB9DD25a7846393', 'b158b29df3a9d9e4', 'xxxxxxxxx', '
rlm_sql_mysql: MYSQL check_error: 1064 received
[sql] Couldn't insert SQL accounting START record - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1
Success on version 2.1:
…
+- entering group accounting {...}
[sql] expand: %{Calling-Station-Id} -> XXXXXXXXXXX
[sql] sql_set_user escaped user --> 'XXXXXXXXXXX'
[sql] expand: %{Acct-Delay-Time} ->
[sql] ... expanding second conditional
[sql] expand: INSERT INTO radacct (acctsessionid, acctuniqueid, username, imsi, imei, ms_timezone, rat_type, user_location_info, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctstoptime, acctsessiontime, acctauthentic, connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, acctstartdelay, acctstopdelay) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{3GPP-IMSI}', '%{3GGP-IMEISV}', '%{3GPP-MS-TimeZone}', '%{3GPP-RAT-type}', '%{3GPP-User-Location-Info}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', '%S', NU
[sql] expand: /var/log/radius/sqltrace.sql -> /var/log/radius/sqltrace.sql
rlm_sql (sql): Reserving sql socket id: 24
rlm_sql_mysql: query: INSERT INTO radacct (acctsessionid, acctuniqueid, username, imsi, imei, ms_timezone, rat_type, user_location_info, sgsnipaddress, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctstoptime, acctsessiontime, acctauthentic, connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, acctstartdelay, acctstopdelay) VALUES ('5BB9DD25a7846fd9', '03de33c93bd3a02b', 'XXXXXXXXXXX', 'XXXXXXXXXXX', 'XXXXXXXXXXX', '0x04fc', 'UTRAN', '0x0192f307000a79be', '', 'XXXXXXXXXXX', '', 'Virtual', '2013-01-26 18:20:06', NULL, '0', '', '', '', '0', '0', 'XXXXXXXXXXX', 'XXXXXXXXXXX', '', 'Framed-User', 'GPRS-PDP-Context', 'XXXXXXXXXXX', '0', '0')
rlm_sql (sql): Released sql socket id: 24
++[sql] returns ok
[attr_filter.accounting_response] expand: %{User-Name} ->
++[attr_filter.accounting_response] returns noop
Sending Accounting-Response of id 50 to XXXXXXXXXXX port 54002
Finished request 0.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20130128/a2b4e2e8/attachment-0001.html>
More information about the Freeradius-Users
mailing list