FOP2 supports device and user mode, and it works fine.
What it does not work fine is FreePBX that comes with a broken .agi script for when you log users in or out.
FOP2 relies on the Asterisk Manager, the .agi script fires an UserEvent that fop2 intercepts to know if a user is logged in or out, and the device it was logged into. But the .agi does not work on recent asterisk versions, I think it only works in asterisk 1.4
This was discussed several times in this forum, you can search for them and find soulutions:
View Post 129
there are several more posts about it..