The AGI get variable operation, which I presume is used by your class library, expects a variable name, not an expression. It may well accept a function name and parameters, as well.
the function get_full_variable is called from a thread created in perl, but the curious is that if I call the function from an agi script from the dialplan returns the callerid of the channel.