I don't think Plivo (the underlying core of Profig) is supporting handset registration yet (but it is native to FreeSWITCH, so it should be relatively straightforward).
You're looking for REGEX in callflows (only certain users with codes can get through) and this is totally doable in FreeSWITCH, but, again, I don't know if this functionality is exposed within Plivo (although it's feasible for the underlying core, the APIs may not be done yet).
SIP Desktop apps are WAAAAY easier to work with than Handsets, so if they support any kind of registrations, I would imagine desk apps would be supported.