<div dir="ltr"><div><div>Hi,<br><br>after setting track_cseq_updates to 1 in module dialog (and calling dlg_manage() from request_route) I'm getting reproducible crashes in both stable (4.2.2) and dev (4.3.0-dev3, 2015-01-28) releases.<br><br>I made the change to cope with CSeq not being incremented when sending another INVITE with authentication information with by calling uac_auth()/append_branch()/t_relay(). The SIP trunk on the asterisk server I'm forwarding the request to requires so and sends me an "401 Unauthorized" message after the first INVITE.<br><br>Anyone using it would help me with the configuration?<br><br>Should I post to the dev list?<br><br></div><br>Thanks for any help,<br></div>Fernando Aquilino<br><div><div><br><br><br>-------------------- kamailio.cfg --------------------<br><br>modparam("uac","credential","username:domain:password")<br>modparam("uac","auth_realm_avp","$avp(i:101)")<br>modparam("uac","auth_username_avp","$avp(i:102)")<br>modparam("uac","auth_password_avp","$avp(i:103)")<br>modparam("uac","restore_mode","none")<br><br>modparam("dialog", "track_cseq_updates", 1)<br>modparam("dialog", "dlg_flag", 4)<br><br>...<br><br>failure_route["serial"] {<br><br>        if (t_check_status("401|407")) {<br>                if (isflagset(auth_sent)) {<br>                        xlog("Authentication failed on SIP Trunk: $ru");<br><br>                } else {<br><br>                        #realm<br>                        $avp(i:101) = "asterisk";<br>                        #username<br>                        $avp(i:102) = "user123";<br>                        #password<br>                        $avp(i:103) = "pass123";<br><br>                        if (uac_auth()) {<br>                               <br>                                setflag(auth_sent);<br>                                t_on_failure("serial");<br>                                append_branch();<br>                                t_relay();<br>                        }<br>                }<br>                exit;<br>        }<br><br><br>        if (!t_next_contacts()) {<br>                exit;<br>        }<br><br>        t_on_failure("serial");<br>        t_relay();<br>}<br><br>------------------------------------------------------------<br><br><br>-------------------- debug log --------------------<br><br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9838]: DEBUG: dialog [dlg_cseq.c:215]: dlg_cseq_msg_sent(): traking cseq updates<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9838]: DEBUG: dialog [dlg_hash.c:633]: dlg_lookup(): ref dlg 0x7f9eeb4aec20 with 1 -> 2<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9838]: DEBUG: dialog [dlg_hash.c:635]: dlg_lookup(): dialog id=9870 found on entry 2115<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9838]: DEBUG: dialog [dlg_cseq.c:249]: dlg_cseq_msg_sent(): uac auth request - cseq inc needed<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9838]: DEBUG: dialog [dlg_var.c:248]: print_lists(): Internal var-list ((nil)):<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9838]: DEBUG: dialog [dlg_var.c:258]: print_lists(): Dialog var-list (0x7f9eeb4b2f38):<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9838]: DEBUG: dialog [dlg_var.c:263]: print_lists(): cseq_diff=1 (flags 1)<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9856]: CRITICAL: <core> [pass_fd.c:275]: receive_fd(): EOF on 20<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9856]: DEBUG: <core> [tcp_main.c:3445]: handle_ser_child(): dead child 10, pid 9838 (shutting down?)<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9856]: DEBUG: <core> [io_wait.h:598]: io_watch_del(): DBG: io_watch_del (0x96cfe0, 20, -1, 0x0) fd_no=37 called<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9828]: ALERT: <core> [main.c:727]: handle_sigs(): child process 9838 exited by a signal 11<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9828]: ALERT: <core> [main.c:730]: handle_sigs(): core was not generated<br>Jan 28 17:40:12 kamailio /usr/sbin/kamailio[9828]: INFO: <core> [main.c:742]: handle_sigs(): terminating due to SIGCHLD<br><br>------------------------------------------------------------<br><br><br>-------------------- core dump* --------------------<br><br>root@kamailio:/etc/kamailio# gdb kamailio core<br>GNU gdb (GDB) 7.4.1-debian<br>Copyright (C) 2012 Free Software Foundation, Inc.<br>License GPLv3+: GNU GPL version 3 or later <<a href="http://gnu.org/licenses/gpl.html">http://gnu.org/licenses/gpl.html</a>><br>This is free software: you are free to change and redistribute it.<br>There is NO WARRANTY, to the extent permitted by law.  Type "show copying"<br>and "show warranty" for details.<br>This GDB was configured as "x86_64-linux-gnu".<br>For bug reporting instructions, please see:<br><<a href="http://www.gnu.org/software/gdb/bugs/">http://www.gnu.org/software/gdb/bugs/</a>>...<br>Reading symbols from /usr/sbin/kamailio...Reading symbols from /usr/lib/debug/.build-id/62/86ce2a5e0241120986e5ec3ed803be5b945076.debug...done.<br>done.<br>[New LWP 3077]<br><br>warning: Can't read pathname for load map: Input/output error.<br>[Thread debugging using libthread_db enabled]<br>Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".<br>Core was generated by `                                       '.<br>Program terminated with signal 11, Segmentation fault.<br>#0  0x00007fbe4ba33dae in memcpy (__len=18446744073709551522, __src=0x7fbe47c9f121, __dest=0x7ffff12ada6d) at /usr/include/x86_64-linux-gnu/bits/string3.h:52<br>52      return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));<br><br><br><br>(gdb) bt<br>#0  0x00007fbe4ba33dae in memcpy (__len=18446744073709551522, __src=0x7fbe47c9f121, __dest=0x7ffff12ada6d) at /usr/include/x86_64-linux-gnu/bits/string3.h:52<br>#1  dlg_cseq_msg_sent (data=0x7ffff12bda40) at dlg_cseq.c:298<br>#2  0x0000000000000000 in ?? ()<br><br><br><br>(gdb) bt full<br>#0  0x00007fbe4ba33dae in memcpy (__len=18446744073709551522, __src=0x7fbe47c9f121, __dest=0x7ffff12ada6d) at /usr/include/x86_64-linux-gnu/bits/string3.h:52<br>No locals.<br>#1  dlg_cseq_msg_sent (data=0x7ffff12bda40) at dlg_cseq.c:298<br>        msg = {id = 0, pid = 0, tval = {tv_sec = 0, tv_usec = 0}, fwd_send_flags = {f = 0 '\000', blst_imask = 0 '\000'}, rpl_send_flags = {f = 0 '\000', blst_imask = 0 '\000'},<br>          first_line = {type = 1, flags = 1, len = 44, u = {request = {method = {<br>                  s = 0x7fbe47c9f038 "INVITE <a href="mailto:sip%3A030636111@192.168.2.151">sip:030636111@192.168.2.151</a> SIP/2.0\r\nRecord-Route: <sip:192.168.2.160;lr;did=34e.1782>\r\nRecord-Route: <sip:192.168.2.163;lr>\r\nCSeq: 1 INVITE\r\nVia: SIP/2.0/UDP 192.168.2.160;branch=z9hG4bKa7ee.0"..., len = 6}, uri = {<br>                  s = 0x7fbe47c9f03f "<a href="mailto:sip%3A030636111@192.168.2.151">sip:030636111@192.168.2.151</a> SIP/2.0\r\nRecord-Route: <sip:192.168.2.160;lr;did=34e.1782>\r\nRecord-Route: <sip:192.168.2.163;lr>\r\nCSeq: 1 INVITE\r\nVia: SIP/2.0/UDP 192.168.2.160;branch=z9hG4bKa7ee.0337c5a7"..., len = 27}, version = {<br>                  s = 0x7fbe47c9f05b "SIP/2.0\r\nRecord-Route: <sip:192.168.2.160;lr;did=34e.1782>\r\nRecord-Route: <sip:192.168.2.163;lr>\r\nCSeq: 1 INVITE\r\nVia: SIP/2.0/UDP 192.168.2.160;branch=z9hG4bKa7ee.0337c5a75bfeebaef0700dd30e433800.1\r\n"..., len = 7}, method_value = 1}, reply = {version = {<br>                  s = 0x7fbe47c9f038 "INVITE <a href="mailto:sip%3A030636111@192.168.2.151">sip:030636111@192.168.2.151</a> SIP/2.0\r\nRecord-Route: <sip:192.168.2.160;lr;did=34e.1782>\r\nRecord-Route: <sip:192.168.2.163;lr>\r\nCSeq: 1 INVITE\r\nVia: SIP/2.0/UDP 192.168.2.160;branch=z9hG4bKa7ee.0"..., len = 6}, status = {<br>                  s = 0x7fbe47c9f03f "<a href="mailto:sip%3A030636111@192.168.2.151">sip:030636111@192.168.2.151</a> SIP/2.0\r\nRecord-Route: <sip:192.168.2.160;lr;did=34e.1782>\r\nRecord-Route: <sip:192.168.2.163;lr>\r\nCSeq: 1 INVITE\r\nVia: SIP/2.0/UDP 192.168.2.160;branch=z9hG4bKa7ee.0337c5a7"..., len = 27}, reason = {<br>                  s = 0x7fbe47c9f05b "SIP/2.0\r\nRecord-Route: <sip:192.168.2.160;lr;did=34e.1782>\r\nRecord-Route: <sip:192.168.2.163;lr>\r\nCSeq: 1 INVITE\r\nVia: SIP/2.0/UDP 192.168.2.160;branch=z9hG4bKa7ee.0337c5a75bfeebaef0700dd30e433800.1\r\n"..., len = 7}, statuscode = 1}}}, via1 = 0x7fbe504594b8, via2 = 0x7fbe50456778, headers = 0x7fbe50459230,<br>          last_header = 0x7fbe504598c8, parsed_flag = 134284414, h_via1 = 0x7fbe50458810, h_via2 = 0x7fbe50459320, callid = 0x7fbe5044fee0, to = 0x7fbe504598c8,<br>          cseq = 0x7fbe50459020, from = 0x7fbe5045a3b0, contact = 0x0, maxforwards = 0x0, route = 0x0, record_route = 0x7fbe50459230, content_type = 0x0, content_length = 0x0,<br>          authorization = 0x0, expires = 0x0, proxy_auth = 0x0, supported = 0x7fbe50459108, require = 0x0, proxy_require = 0x0, unsupported = 0x0, allow = 0x0, event = 0x0,<br>          accept = 0x0, accept_language = 0x0, organization = 0x0, priority = 0x0, subject = 0x0, user_agent = 0x7fbe50459a60, server = 0x0, content_disposition = 0x0,<br>          diversion = 0x0, rpid = 0x0, refer_to = 0x0, session_expires = 0x0, min_se = 0x0, sipifmatch = 0x0, subscription_state = 0x0, date = 0x0, identity = 0x0,<br>          identity_info = 0x0, pai = 0x0, ppi = 0x0, path = 0x0, privacy = 0x0, body = 0x0, eoh = 0x0,<br>          unparsed = 0x7fbe47c9f2d8 "Contact: \"Fernando Aquilino\" <<a href="http://sip:200@192.168.1.72:5060">sip:200@192.168.1.72:5060</a>>\r\nAllow: INVITE,ACK,OPTIONS,BYE,CANCEL,SUBSCRIBE,NOTIFY,REFER,MESSAGE,INFO,PING,PRACK\r\nContent-Length: 252\r\nContent-Type: application/sdp\r\nMax-F"..., rcv = {src_ip = {af = 0, len = 0, u = {addrl = {0, 0}, addr32 = {0, 0, 0, 0}, addr16 = {0, 0, 0, 0, 0, 0, 0, 0},<br>                addr = '\000' <repeats 15 times>}}, dst_ip = {af = 0, len = 0, u = {addrl = {0, 0}, addr32 = {0, 0, 0, 0}, addr16 = {0, 0, 0, 0, 0, 0, 0, 0},<br>                addr = '\000' <repeats 15 times>}}, src_port = 0, dst_port = 0, proto_reserved1 = 0, proto_reserved2 = 0, src_su = {s = {sa_family = 0,<br>                sa_data = '\000' <repeats 13 times>}, sin = {sin_family = 0, sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"}, sin6 = {<br>                sin6_family = 0, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},<br>                    __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, bind_address = 0x0, proto = 0 '\000'},<br>          buf = 0x7fbe47c9f038 "INVITE <a href="mailto:sip%3A030636111@192.168.2.151">sip:030636111@192.168.2.151</a> SIP/2.0\r\nRecord-Route: <sip:192.168.2.160;lr;did=34e.1782>\r\nRecord-Route: <sip:192.168.2.163;lr>\r\nCSeq: 1 INVITE\r\nVia: SIP/2.0/UDP 192.168.2.160;branch=z9hG4bKa7ee.0"..., len = 1357, new_uri = {s = 0x0, len = 0}, dst_uri = {s = 0x0, len = 0}, parsed_uri_ok = 0, parsed_uri = {user = {<br>              s = 0x0, len = 0}, passwd = {s = 0x0, len = 0}, host = {s = 0x0, len = 0}, port = {s = 0x0, len = 0}, params = {s = 0x0, len = 0}, sip_params = {s = 0x0, len = 0},<br>            headers = {s = 0x0, len = 0}, port_no = 0, proto = 0, type = ERROR_URI_T, flags = 0, transport = {s = 0x0, len = 0}, ttl = {s = 0x0, len = 0}, user_param = {s = 0x0,<br>              len = 0}, maddr = {s = 0x0, len = 0}, method = {s = 0x0, len = 0}, lr = {s = 0x0, len = 0}, r2 = {s = 0x0, len = 0}, gr = {s = 0x0, len = 0}, transport_val = {s = 0x0,<br>              len = 0}, ttl_val = {s = 0x0, len = 0}, user_param_val = {s = 0x0, len = 0}, maddr_val = {s = 0x0, len = 0}, method_val = {s = 0x0, len = 0}, lr_val = {s = 0x0,<br>              len = 0}, r2_val = {s = 0x0, len = 0}, gr_val = {s = 0x0, len = 0}}, parsed_orig_ruri_ok = 0, parsed_orig_ruri = {user = {s = 0x0, len = 0}, passwd = {s = 0x0,<br>              len = 0}, host = {s = 0x0, len = 0}, port = {s = 0x0, len = 0}, params = {s = 0x0, len = 0}, sip_params = {s = 0x0, len = 0}, headers = {s = 0x0, len = 0}, port_no = 0,<br>            proto = 0, type = ERROR_URI_T, flags = 0, transport = {s = 0x0, len = 0}, ttl = {s = 0x0, len = 0}, user_param = {s = 0x0, len = 0}, maddr = {s = 0x0, len = 0}, method = {<br>              s = 0x0, len = 0}, lr = {s = 0x0, len = 0}, r2 = {s = 0x0, len = 0}, gr = {s = 0x0, len = 0}, transport_val = {s = 0x0, len = 0}, ttl_val = {s = 0x0, len = 0},<br>            user_param_val = {s = 0x0, len = 0}, maddr_val = {s = 0x0, len = 0}, method_val = {s = 0x0, len = 0}, lr_val = {s = 0x0, len = 0}, r2_val = {s = 0x0, len = 0}, gr_val = {<br>              s = 0x0, len = 0}}, add_rm = 0x0, body_lumps = 0x0, reply_lump = 0x0, add_to_branch_s = '\000' <repeats 57 times>, add_to_branch_len = 0, hash_index = 0, msg_flags = 0,<br>          flags = 0, set_global_address = {s = 0x0, len = 0}, set_global_port = {s = 0x0, len = 0}, force_send_socket = 0x0, path_vec = {s = 0x0, len = 0}, instance = {s = 0x0,<br>            len = 0}, reg_id = 0, ruid = {s = 0x0, len = 0}, location_ua = {s = 0x0, len = 0}, ldv = {flow = {decoded = 0, rcv = {src_ip = {af = 0, len = 0, u = {addrl = {0, 0},<br>                    addr32 = {0, 0, 0, 0}, addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, addr = '\000' <repeats 15 times>}}, dst_ip = {af = 0, len = 0, u = {addrl = {0, 0}, addr32 = {0, 0, 0,<br>                      0}, addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, addr = '\000' <repeats 15 times>}}, src_port = 0, dst_port = 0, proto_reserved1 = 0, proto_reserved2 = 0, src_su = {s = {<br>                    sa_family = 0, sa_data = '\000' <repeats 13 times>}, sin = {sin_family = 0, sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"},<br>                  sin6 = {sin6_family = 0, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},<br>                        __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, bind_address = 0x0, proto = 0 '\000'}}}}<br>---Type <return> to continue, or q <return> to quit---<br>        obuf = 0x7ffff12bda40<br>        direction = 1<br>        t = <optimized out><br>        ninc = <optimized out><br>        vinc = <optimized out><br>        dlg = 0x7fbe47c9a8e0<br>        nval = {s = 0xa0ce84 "2", len = 1}<br>        pval = <optimized out><br>        tbuf = "INVITE <a href="mailto:sip%3A030636111@192.168.2.151">sip:030636111@192.168.2.151</a> SIP/2.0\r\nRecord-Route: <sip:192.168.2.160;lr;did=34e.1782>\r\nRecord-Route: <sip:192.168.2.163;lr>\r\nCSeq: 1 INVITE\r\nVia: SIP/2.0/UDP 192.168.2.160;branch=z9hG4bKa7ee.0"...<br>        tbuf_len = 237<br>        via = <optimized out><br>        __FUNCTION__ = "dlg_cseq_msg_sent"<br>#2  0x0000000000000000 in ?? ()<br>No symbol table info available.<br>(gdb)<br><br><br>------------------------------------------------------------<br>*I generated a core dump by running kamailio from the shell as "kamailio -D -d -E -l <a href="http://192.168.2.160:5060">192.168.2.160:5060</a>"</div></div></div>