Sorry this is not a GIT patch. Here are two minor fixes to the MySQL ippool.conf file. 1) A Syntax correction for the alternative 'allocate-find' query. 2) There was an issue with the 'start-update' query updating more than it should. I am using IMSI codes as my pool-key. In the case that a phone disconnects, but no Acct-Stop is received the expiry_time is updated every time that this phone reconnects as only the NAS and the pool-key are used as update limiters. By including at least the framedipaddress this is solved. As both the 'stop-clear' and 'alive-update' sections are using the 3 additional qualifiers, it makes sense to use them here too. (I see no reason no to). Regards Chris --- ippool.conf.orig 2009-07-31 15:16:38.000000000 +0200 +++ ippool.conf 2009-07-31 15:17:57.000000000 +0200 @@ -39,7 +39,7 @@ # ## use this query instead # allocate-find = "SELECT framedipaddress FROM ${ippool_table} \ # WHERE pool_name = '%{control:Pool-Name}' \ -# AND expiry_time = NULL \ +# AND expiry_time IS NULL \ # ORDER BY RAND() \ # LIMIT 1 \ # FOR UPDATE" @@ -67,7 +67,10 @@ ## START record arrives start-update = "UPDATE ${ippool_table} \ SET expiry_time = NOW() + INTERVAL ${lease-duration} SECOND \ - WHERE nasipaddress = '%{NAS-IP-Address}' AND pool_key = '${pool-key}'" + WHERE nasipaddress = '%{NAS-IP-Address}' AND pool_key = '${pool-key}' \ + AND username = '%{User-Name}' \ + AND callingstationid = '%{Calling-Station-Id}' \ + AND framedipaddress = '%{Framed-IP-Address}'" ## This series of queries frees an IP number when an accounting ## STOP record arrives