Hi,
I have designed and implemented a wireless access system that includes a Captive Portal, Radius server and OpenWRT-based routers. The system supports subscriber management/activation, usage accounting, billing, Paypal/Adscends payment centers, among others. To support internal ad-insertion, you will modify the access controller daemon. Here, you can choose from several implementations such as chilli and coova-chilli. If you are deploying several wireless routers, I would suggest to have an external centralized Captive Portal system. Aside from ad-insertion, may I know other functions/features you have in mind? I believe my skills and experiences can help you get this project done.
Thank you,
ixwarrior