Use $var when you want to manipulate values inside a route block, for example, when you want to store a value that will live only in the scope of that route block. When the route block exits, it will be automatically deallocated.
Use $avp when you want to store a value that you want to read anywhere. It will live as long as the SIP transaction lives.
- $var is stored in private memory, it is per process. This means that only the process that created it can read it. - $avp is stored in shared memory. It can be accessed from any process in kamailio's process list (childs)
- $var has local route block scope. - $avp has SIP transaction scope.
- Both $avp and $var are automatically freed.
On Fri, Apr 19, 2013 at 10:50 AM, Victor V. Kustov coyote@bks.tv wrote:
В Fri, 19 Apr 2013 10:56:26 +0200 "Olle E. Johansson" oej@edvina.net пишет:
- $avp is stored in transactions (in shared memory), so if you set
them while processing a request you have them when processing responses and failures.
is memory freeing automatically or i need to do it myself?
-- SY, Victor JID: coyote@bks.tv JID: coyote@bryansktel.ru I use FREE operation system: 3.8.4-calculate GNU/Linux
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users