[SR-Users] is $td.did avp a normal avp?

Juha Heinanen jh at tutpro.com
Tue Apr 26 15:01:22 CEST 2011


Daniel-Constantin Mierla writes:

> this tells that the avp list was null. The message is printed 6 times 
> since ser added 5 more avp lists - kamailio used to have 1, the first, 
> corresponding to FROM_URI list in ser notation. So, it looks like all 
> the avps list were null when the core cleaned the received message. If 
> there was an avp in any of the lists and it was not deleted, then the 
> lists are null because they were moved to transaction.
> 
> Could it be that this avp is deleted automatically somewhere in a
> module?

i haven't found that kind of action in s domain module.  avps are
destroyed only when whole domain is deleted.

-- juha

modules_s/domain$ egrep -i avp *.c
domain.c:	if (d->attrs) destroy_avp_list(&d->attrs);
domain.c:	str name_s = STR_STATIC_INIT(AVP_DID);
domain.c:	if (add_avp_list(&d->attrs, AVP_CLASS_DOMAIN | AVP_NAME_STR | AVP_VAL_STR,
domain.c:	str avp_val;
domain.c:		/* Get AVP name */
domain.c:			avp_val.s = 0;
domain.c:			avp_val.len = 0;
domain.c:			avp_val = rec->fld[2].v.lstr;
domain.c:		flags = AVP_CLASS_DOMAIN | AVP_NAME_STR;
domain.c:		if (rec->fld[1].v.int4 == AVP_VAL_STR) {
domain.c:			/* String AVP */
domain.c:			v.s = avp_val;
domain.c:			flags |= AVP_VAL_STR;
domain.c:			/* Integer AVP */
domain.c:			str2int(&avp_val, (unsigned*)&v.n);
domain.c:		if (add_avp_list(&d->attrs, flags, name, v) < 0) {
domain_mod.c:#include "../../usr_avp.h"
domain_mod.c:		destroy_avp_list(&d->attrs);
domain_mod.c:	str name_s = STR_STATIC_INIT(AVP_DID);
domain_mod.c:	if (flags & AVP_TRACK_FROM) {
domain_mod.c:	if (add_avp_list(&p->attrs, AVP_CLASS_DOMAIN | AVP_NAME_STR | AVP_VAL_STR,
domain_mod.c:			set_avp_list((unsigned long)flags, &d->attrs);
domain_mod.c:			set_avp_list((unsigned long)flags, &d->attrs);
domain_mod.c:			flags = AVP_TRACK_FROM | AVP_CLASS_DOMAIN;
domain_mod.c:			flags = AVP_TRACK_TO | AVP_CLASS_DOMAIN;
domain_rpc.c:	avp_t* a;
domain_rpc.c:		name = get_avp_name(a);
domain_rpc.c:		get_avp_val(a, &val);
domain_rpc.c:		if (a->flags & AVP_VAL_STR) {



More information about the sr-users mailing list