Hi!
The scripts to update cfg, select and RPC docs in /doc/scripts/cdefs2doc doesn't work for me. Even though I replace the andrei directory reference with a local one and install the modules, it fails to work. Anyone that can update these and produce a working version, so that we can update the reference docs?
The scripts is using an in-source code documentation that may be documented somewhere, but it seems to be the way to get all RPCs and selects documentat, so I would like to be able to run it - possibly automatically for -dev version, like doxygen.
But the first step would be to run it and update docs for the coming release :-)
The perl scripts are in /doc/scripts and are called from various makefiles under /doc.
Thank you for your help! I failed miserably...
/O ;-)
wiki devel doc says about avp value:
Generic data value
It allows to store any type of data built in shared memory.
but current modules that use xavp don't seem to do so.
perhaps the wiki text is not up to date. it also uses api function
xavp_add, which does not exist.
and even if the doc would be correct, it does not make sense to require
that user of the api needs to deal with shared mem allocation.
xapv_add_value should hide such details.
-- juha
if an UA registers an ar two times with same +sip.instance and reg-id,
will registrar replace the earlier one with the new one? this kind of
thing can happen, for example, when the UA has lost connection with
outbound proxy and re-registers.
based on what i have understood from the ob rfc, registrar should replace
the old location entry with same +sip.instance and reg-id, but i haven't
looked kamailio code. if it does, things get simpler in t_serial, because
i don't need to care about reg-id at all and can just compare
+sip.instance values of contacts.
-- juha
i got rid of the crash by changing
xavp_rm(xavp, xavp_list);
calls to
xavp_rm(xavp, NULL);
where xavp_list is
xavp_list = xavp_get(&contacts_avp, NULL);
i.e., pointer to the first xavp with the given name, and xavp is also
pointer to the first xavp in the list.
looks like the first version of xavp_rm caused _xavp_list_crt to point
to already removed xavp.
what i try to accomplish is to pop xavps from the head of the list one at
a time.
-- juha
as i mentioned, my proxy is crashing at timer after transaction when
trying to free xavps:
(gdb) where
#0 xavp_destroy_list_unsafe (head=0xb4b07210) at xavp.c:354
#1 0xb68e2283 in free_cell (dead_cell=0xb4b065a8) at h_table.c:240
#2 0xb68fd7c9 in wait_handler (ti=1310418435, wait_tl=0xb4b065f0,
data=0xb4b065a8) at timer.c:674
#3 0x08145cb3 in timer_list_expire () at timer.c:894
#4 timer_handler () at timer.c:959
#5 timer_main () at timer.c:998
#6 0x0809d85b in main_loop () at main.c:1708
#7 0x0809f18e in main (argc=17, argv=0xbf90e054) at main.c:2563
in tm module code, i have called a few times xavp_rm and have not got any
errors to syslog.
any idea why the crash happens or, if it is my fault, what i'm doing wrong?
-- juha
Hi dev team,
Would be good to have strdup in pkg_ style and use our memory manager,
something like this (or using macroses):
char *pkg_strdup(const char *s) {
char *p = pkg_malloc(strlen(s) + 1);
if(p) { strcpy(p, s); }
return p;
}