Hi!
On initial INVITE requests, topoh will add the following cookies to the
messages (th_msg_received):
Via: ...;TH=div
TH: dih
When the message is forwarded, the cookie will be parsed again in
th_msg_sent():th_get_cookie().
th_get_cookie tries to parse the cookie from the header, and if this
fails, from the Via header:
th_get_via_cookie(msg, msg->via1);
But I guess msg->via1 points to the newly added Via header. So,
shouldn't this be th_get_via_cookie(msg, msg->via2); instead? But of
course when processing replies then I guess it must be via1. So, maybe
there should be different code for requests and responses.
I found this because I accidentially deleted the TH header with keep_hf();
regards
Klaus
On Mon, 07 Oct 2013 15:07:37 +0200
sr-dev-request(a)lists.sip-router.org wrote:
> Date: Mon, 07 Oct 2013 11:56:10 +0100
> From: Hugh Waite <hugh.waite(a)crocodile-rcs.com>
> To: sr-dev(a)lists.sip-router.org
> Subject: Re: [sr-dev] git:master: Merge branch 'tteras/mohqueue'
> Message-ID: <5252934A.1090909(a)crocodile-rcs.com>
> Content-Type: text/plain; charset=UTF-8; format=flowed
>
> Hi,
> When I try to build (using the .spec file for CentOS) I get this
> compile error.
>
> mohq_funcs.c: In function 'mohq_debug':
> mohq_funcs.c:2327: error: too few arguments to function
> 'get_debug_level'
Sorry about this. Should have tested better in the real branch, instead
of old releases. I added minimal fix that should fix the build error.
And asked the author to look at better solution, e.g. remove the whole
debug helper and use core functions directly if feasible (now that
per-module debugging is possible). Then again, the debug helper seems
to have per-queue things, so it might be needed to some degree.
- Timo
Hi,
We've had some more crashes on the current master build.
(gdb) bt
#0 qm_insert_free (qm=0x7fc1e1b9e010, p=<value optimized out>) at
mem/q_malloc.c:181
#1 qm_free (qm=0x7fc1e1b9e010, p=<value optimized out>) at
mem/q_malloc.c:527
#2 0x000000000055027f in reset_ruid (msg=0x7fc1e1c35360) at
parser/msg_parser.c:911
#3 free_sip_msg (msg=0x7fc1e1c35360) at parser/msg_parser.c:730
#4 0x00000000004a4012 in receive_msg (buf=<value optimized out>,
len=<value optimized out>, rcv_info=<value optimized out>) at receive.c:297
#5 0x000000000052a251 in tcp_read_req (con=0x7fc1ca4c6e00,
bytes_read=0x7fff041b327c, read_flags=0x7fff041b3274) at tcp_read.c:1387
#6 0x000000000052c53b in handle_io (fm=<value optimized out>, events=1,
idx=-1) at tcp_read.c:1617
#7 0x000000000052eb69 in io_wait_loop_epoll (unix_sock=<value optimized
out>) at io_wait.h:1092
#8 tcp_receive_loop (unix_sock=<value optimized out>) at tcp_read.c:1728
#9 0x00000000004fc0eb in tcp_init_children () at tcp_main.c:4959
#10 0x000000000046c3d5 in main_loop () at main.c:1702
#11 0x000000000046dec9 in main (argc=<value optimized out>, argv=<value
optimized out>) at main.c:2533
(gdb) frame 2
#2 0x000000000055027f in reset_ruid (msg=0x7fc1e1c35360) at
parser/msg_parser.c:911
911 pkg_free(msg->ruid.s);
(gdb) p msg->ruid
$7 = {s = 0x845d20 "", len = 20}
Might this be related to the changes made on Sept 19th to the
free_sip_msg functions?
Regards,
Hugh
--
Hugh Waite
Principal Design Engineer
Crocodile RCS Ltd.