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) {

_______________________________________________
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

Reply via email to