avpops offers the interface to configuration file for managing pseudo-variables and AVPs. Starting with OpenSER 1.2.0, many of avpops operations can be done directly in script, but still some of its functionalities are not. The provides as well ways to load/store/delete values from/to a database.
AVPs can be considered as variables per SIP transaction, and they can be specific for a user. Using them, many services can be created directly from the configuration file, e.g., serial-forking, dynamic ringing time-out, white/blacklists.
A very useful function is avp_printf() which allow to combine strings and pseudo-variables to get new values.
# make a SIP uri from caller's username and callee's domain
avp_printf("$avp(i:123)", "sip:$fU@$tU");
avp_check() does testing of pseudo-variables with different operators like equal, regular expression matching, fast matching, bitwise tests … avp_op() can be used for arithmetic operations.