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