[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