Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kamailio crashes on ws connection when both http_reply_parse and track_cseq_updates are enabled #1277

Closed
mshary opened this Issue Oct 21, 2017 · 1 comment

Comments

Projects
None yet
2 participants
@mshary
Copy link
Contributor

mshary commented Oct 21, 2017

Description

Kamailio gives segfault due to SIGCHLD when a websocket client tries to connect to it.

The problem seems to happen due to following global parameter,

http_reply_parse=yes

Along with following dialog module parameter,

modparam("dialog", "track_cseq_updates", 1)

Troubleshooting

Disabling dialog parameter track_cseq_updates fixes the problem but in my setup i need this to be set since i use uac_auth() method in failure routes.

modparam("dialog", "track_cseq_updates", 0)

Reproduction

The issue is reproducible by setting following in kamailio.cfg

http_reply_parse=yes
modparam("dialog", "track_cseq_updates", 1)

Debugging Data

webrtc-as:/tmp# gdb /usr/local/adx-webrtc/sbin/kamailio core.kamailio.14045.webrtc-as.1508598510
...
Reading symbols from /usr/local/adx-webrtc/sbin/kamailio...done.
[New LWP 14045]

warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
Core was generated by `/usr/local/adx-webrtc/sbin/kamailio -f /usr/local/adx-webrtc/etc/kamailio/kamai'.
Program terminated with signal 11, Segmentation fault.
#0  0xb58a41a6 in dlg_cseq_prepare_msg (msg=0xbfab2cc4) at dlg_cseq.c:81
81				if(get_cseq(msg)->method_id != METHOD_CANCEL) {


(gdb) bt full
#0  0xb58a41a6 in dlg_cseq_prepare_msg (msg=0xbfab2cc4) at dlg_cseq.c:81
        __FUNCTION__ = "dlg_cseq_prepare_msg"
#1  0xb58a53a0 in dlg_cseq_prepare_new_msg (msg=0xbfab2cc4) at dlg_cseq.c:116
        __FUNCTION__ = "dlg_cseq_prepare_new_msg"
#2  0xb58a99b6 in dlg_cseq_msg_sent (data=0xbfab333c) at dlg_cseq.c:369
        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'}, first_line = {type = 2, 
            flags = 2, len = 34, u = {request = {method = {
                  s = 0xb6959fe8 "HTTP/1.1 101 Switching Protocols\r\nSia: SIP/2.0/TLS x.x.x.x:31366;rport=31366\r\nAccess-Control-Allow-Origin: https://web.service.dummy.ok\r\nSec-WebSocket-Protocol: sip\r\nUpgrade: websocket\r\nConne"..., len = 8}, uri = {
                  s = 0xb6959ff1 "101 Switching Protocols\r\nSia: SIP/2.0/TLS x.x.x.x:31366;rport=31366\r\nAccess-Control-Allow-Origin: https://web.service.dummy.ok\r\nSec-WebSocket-Protocol: sip\r\nUpgrade: websocket\r\nConnection: up"..., len = 3}, version = {
                  s = 0xb6959ff5 "Switching Protocols\r\nSia: SIP/2.0/TLS x.x.x.x:31366;rport=31366\r\nAccess-Control-Allow-Origin: https://web.service.dummy.ok\r\nSec-WebSocket-Protocol: sip\r\nUpgrade: websocket\r\nConnection: upgrad"..., len = 19}, method_value = 101}, reply = {version = {
                  s = 0xb6959fe8 "HTTP/1.1 101 Switching Protocols\r\nSia: SIP/2.0/TLS x.x.x.x:31366;rport=31366\r\nAccess-Control-Allow-Origin: https://web.service.dummy.ok\r\nSec-WebSocket-Protocol: sip\r\nUpgrade: websocket\r\nConne"..., len = 8}, status = {
                  s = 0xb6959ff1 "101 Switching Protocols\r\nSia: SIP/2.0/TLS x.x.x.x:31366;rport=31366\r\nAccess-Control-Allow-Origin: https://web.service.dummy.ok\r\nSec-WebSocket-Protocol: sip\r\nUpgrade: websocket\r\nConnection: up"..., len = 3}, reason = {
                  s = 0xb6959ff5 "Switching Protocols\r\nSia: SIP/2.0/TLS x.x.x.x:31366;rport=31366\r\nAccess-Control-Allow-Origin: https://web.service.dummy.ok\r\nSec-WebSocket-Protocol: sip\r\nUpgrade: websocket\r\nConnection: upgrad"..., len = 19}, statuscode = 101}}}, via1 = 0x0, via2 = 0x0, headers = 0xb695c554, last_header = 0xb695a1a0, parsed_flag = 18446744073709551615, h_via1 = 0x0, h_via2 = 0x0, 
          callid = 0x0, to = 0x0, cseq = 0x0, from = 0x0, contact = 0x0, maxforwards = 0x0, route = 0x0, record_route = 0x0, content_type = 0x0, content_length = 0xb695a1a0, authorization = 0x0, expires = 0x0, 
          proxy_auth = 0x0, supported = 0x0, require = 0x0, proxy_require = 0x0, unsupported = 0x0, allow = 0x0, event = 0x0, accept = 0x0, accept_language = 0x0, organization = 0x0, priority = 0x0, 
          subject = 0x0, user_agent = 0x0, server = 0xb695a15c, content_disposition = 0x0, diversion = 0x0, rpid = 0x0, refer_to = 0x0, session_expires = 0x0, min_se = 0x0, sipifmatch = 0x0, 
          subscription_state = 0x0, date = 0x0, identity = 0x0, identity_info = 0x0, pai = 0x0, ppi = 0x0, path = 0x0, privacy = 0x0, body = 0x0, eoh = 0xb695a135 "\r\n", unparsed = 0xb695a135 "\r\n", rcv = {
            src_ip = {af = 0, len = 0, u = {addrl = {0, 0, 0, 0}, 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, 0, 
                  0}, addr32 = {0, 0, 0, 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 = {
                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"}, 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}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, 
            bind_address = 0x0, proto = 0 '\000'}, 
          buf = 0xb6959fe8 "HTTP/1.1 101 Switching Protocols\r\nSia: SIP/2.0/TLS x.x.x.x:31366;rport=31366\r\nAccess-Control-Allow-Origin: https://web.service.dummy.ok\r\nSec-WebSocket-Protocol: sip\r\nUpgrade: websocket\r\nConne"..., len = 335, new_uri = {s = 0x0, len = 0}, dst_uri = {s = 0x0, len = 0}, parsed_uri_ok = 0, parsed_uri = {user = {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}, 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, 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, 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, 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, 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, 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 = {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}, 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 = {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, 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, 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, 0, 0}, 
                    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, 0, 0}, addr32 = {0, 0, 0, 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 = {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"}, 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}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, 
                bind_address = 0x0, proto = 0 '\000'}}}}
        obuf = 0xbfab333c
        direction = 0
        dlg = 0x0
        nval = {s = 0x0, len = 0}
        tbuf = '\000' <repeats 19103 times>, "\027\003\003\002\070\000\000\000\000\000\000\000\001\213I\377\277\315\036\037\313\216\060OW\016\373\034\366\226\332\322\212}5\244a\311\277s\\\340\212B^\022\372\v\372\342L0d\257e6\341\236\343d\000\220\v\354\364\205\023G\245\333dN1\336\261r3\346\203\312,x\226>\310\263h\241\257\264\203<\301\244@R\326\370\063[^J \357\232\203\177\\\376\273\001{\311\004 \261\306G\371\bUe\027\065)\001\221)\364\316\037\r\326N\213\266d\252\214d\032\265\273\303\344\325\203\363\300\362\365\351_\221\273:r\223\251\277+\v\212~\234\301\345&\a\300F\207\236\274\035\366\f\001\217\033k\375%1b\237\001.\030\221\211X\244a<\252\276\223}\202\000\033\237\177\v\276>K5;\036\370&\330@\031\355\240-\376\026<s\211\246\235k\001\260`\211\333\270:mg\311\341`\037\065\313\244\"s\233\365?\233\331\035\242\262\217\061\240\004\370\001u\215\003\306\331>\255\025\324V\f\236\240\256\251o\343j\262\217\263qJ\367\333\314\004\263\023B\311W\240\034U|I\v\366\060\211\244$\277\177 \213\377\376\064#z\222y'5\236\365\355}\273\005\336/\254m\022\034\312\272\025\035\307d\223\361\214\004l\tq\f4\313\346\302:I\210\351\300W\024#\033}\022\343\322\362\214\226\n1\254\321\362\210Z%\352"...
        tbuf_len = 0
        via = 0xa50c6b8c
        hfk = 0x0
        cenv = 0x8430bc4
        __FUNCTION__ = "dlg_cseq_msg_sent"
#3  0x080c5ca9 in sr_event_exec (type=2, data=0xbfab333c) at events.c:231
        ret = 0
        i = 2
#4  0xb5e520cc in msg_send_buffer (dst=0xbfab3964, 
    buf=0xb6959fe8 "HTTP/1.1 101 Switching Protocols\r\nSia: SIP/2.0/TLS x.x.x.x:31366;rport=31366\r\nAccess-Control-Allow-Origin: https://web.service.dummy.ok\r\nSec-WebSocket-Protocol: sip\r\nUpgrade: websocket\r\nConne"..., len=335, flags=0) at ../../forward.h:138
        new_dst = {send_sock = 0x0, to = {s = {sa_family = 0, sa_data = "\000\000\000\000\000\000\f\000\000\000\000\000\000"}, sin = {sin_family = 0, sin_port = 0, sin_addr = {s_addr = 0}, 
              sin_zero = "\f\000\000\000\000\000\000"}, sin6 = {sin6_family = 0, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = "\f\000\000\000\000\000\000\000\210\063\253\277K]\f\b", 
                  __u6_addr16 = {12, 0, 0, 0, 13192, 49067, 23883, 2060}, __u6_addr32 = {12, 0, 3215668104, 135028043}}}, sin6_scope_id = 0}}, id = 0, proto = 0 '\000', send_flags = {f = 0 '\000', 
            blst_imask = 0 '\000'}}
        outb = {
          s = 0xb6959fe8 "HTTP/1.1 101 Switching Protocols\r\nSia: SIP/2.0/TLS x.x.x.x:31366;rport=31366\r\nAccess-Control-Allow-Origin: https://web.service.dummy.ok\r\nSec-WebSocket-Protocol: sip\r\nUpgrade: websocket\r\nConne"..., len = 335}
        netinfo = {data = {s = 0xb5e58f55 "\213E\344\213@\f\211E\344\203}\344", len = -1079299188}, dst = 0x2, rcv = 0xb5e5f19c}
        port = -1079297644
        ip = {af = 168079844, len = 3215668056, u = {addrl = {3051745692, 2769070720, 2769054604, 3215668168}, addr32 = {3051745692, 2769070720, 2769054604, 3215668168}, addr16 = {61852, 46565, 43648, 42252, 
              27532, 42252, 13256, 49067}, addr = "\234\361\345\265\200\252\f\245\214k\f\245\310\063\253\277"}}
        from = 0x0
        local_addr = {s = {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"}, sin6 = {
            sin6_family = 0, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 12 times>, "xq\253\277", __u6_addr16 = {0, 0, 0, 0, 0, 0, 29048, 49067}, __u6_addr32 = {0, 0, 
                  0, 3215683960}}}, sin6_scope_id = 3078193140}}
        con = 0x0
        wsev = {type = 0, buf = 0x0, len = 0, id = 0}
        ret = 0
        __FUNCTION__ = "msg_send_buffer"
#5  0xb5e55fb7 in sl_reply_helper (msg=0xbfab7178, code=101, reason=0xb695c598 "Switching Protocols", tag=0x0) at sl_funcs.c:202
        buf = {
          s = 0xb6959fe8 "HTTP/1.1 101 Switching Protocols\r\nSia: SIP/2.0/TLS x.x.x.x:31366;rport=31366\r\nAccess-Control-Allow-Origin: https://web.service.dummy.ok\r\nSec-WebSocket-Protocol: sip\r\nUpgrade: websocket\r\nConne"..., len = 335}
        dset = {s = 0x0, len = 0}
        dst = {send_sock = 0xb6653088, to = {s = {sa_family = 2, sa_data = "z\206\262\313\353\225\000\000\000\000\000\000\000"}, sin = {sin_family = 2, sin_port = 34426, sin_addr = {s_addr = 2515258290}, 
              sin_zero = "\000\000\000\000\000\000\000"}, sin6 = {sin6_family = 2, sin6_port = 34426, sin6_flowinfo = 2515258290, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {
                    0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, id = 1, proto = 3 '\003', send_flags = {f = 1 '\001', blst_imask = 0 '\000'}}
        dummy_bm = {to_tag_val = {s = 0x82646aa "\213\025\214XA\b\213R\b9\320\017\214\300\002", len = 138042733}}
        backup_mhomed = 0
        ret = -1525898716
        text = {s = 0xb695c598 "Switching Protocols", len = 19}
        backup_rt = 136692883
        ctx = {rec_lev = 224423841, run_flags = 518, last_retcode = 32, jmp_env = {{__jmpbuf = {7, 0, -1525896576, 8, -1079297640, 136726975}, __mask_was_saved = 5, __saved_mask = {__val = {0, 20, 138035965, 
                  138037119, 161, 138035960, 6846744, 7557840, 7558196, 4, 121, 2769068580, 2769070720, 3215669560, 135028043, 0, 2769054604, 3215669560, 136719511, 3059949576, 3063269120, 118, 0, 3063269120, 
                  272, 3215669768, 136726975, 5, 0, 200, 137638064, 137638524}}}}}
        pmsg = {id = 2769057578, pid = 2, tval = {tv_sec = -1079298356, tv_usec = 2}, fwd_send_flags = {f = 2 '\002', blst_imask = 0 '\000'}, rpl_send_flags = {f = 0 '\000', blst_imask = 0 '\000'}, 
          first_line = {type = -14952, flags = -18795, len = -1227359856, u = {request = {method = {s = 0xbfab72e0 "PV\226\266H\002", len = -1079298280}, uri = {s = 0x818b3a5 "\213E\344\351\211\002", 
                  len = -1079298364}, version = {s = 0x50 <Address 0x50 out of bounds>, len = -1079298372}, method_value = -1231752376}, reply = {version = {s = 0xbfab72e0 "PV\226\266H\002", 
                  len = -1079298280}, status = {s = 0x818b3a5 "\213E\344\351\211\002", len = -1079298364}, reason = {s = 0x50 <Address 0x50 out of bounds>, len = -1079298372}, statuscode = 3063214920}}}, 
          via1 = 0x0, via2 = 0xbfab36c4, headers = 0xbfab35a8, last_header = 0x8188cb5, parsed_flag = 13163490031275437096, h_via1 = 0xbfab3518, h_via2 = 0xd606fa1, callid = 0x0, to = 0x0, cseq = 0x0, 
          from = 0x0, contact = 0x0, maxforwards = 0xb691c4b0, route = 0x0, record_route = 0x0, content_type = 0xbfab3d20, content_length = 0x1c0, authorization = 0xbfab35f8, expires = 0x82649bf, 
          proxy_auth = 0x5, supported = 0x0, require = 0x0, proxy_require = 0x0, unsupported = 0x0, allow = 0x0, event = 0xbfab3bac, accept = 0xffffffe4, accept_language = 0x0, organization = 0x1, 
          priority = 0x5, subject = 0x8188c14, user_agent = 0x1c, server = 0xffffffff, content_disposition = 0x0, diversion = 0x73, rpid = 0x0, refer_to = 0x0, session_expires = 0xbfab3598, min_se = 0x8188bff, 
          sipifmatch = 0xb6ae0ff0, subscription_state = 0x0, date = 0x2, identity = 0xbfab39a0, identity_info = 0x18, pai = 0xa50c7729, ppi = 0x0, path = 0xb7677d44, privacy = 0x0, body = 0xa50c7708, 
          eoh = 0x0, unparsed = 0xbfab3ba8 "\200\252\f\245\002", rcv = {src_ip = {af = 93, len = 2769057544, u = {addrl = {3215670764, 224423841, 0, 3215689468}, addr32 = {3215670764, 224423841, 0, 
                  3215689468}, addr16 = {15852, 49067, 28577, 3424, 0, 0, 34556, 49067}, addr = "\354=\253\277\241o`\r\000\000\000\000\374\206\253\277"}}, dst_ip = {af = 3215671656, len = 135931595, u = {
                addrl = {3063006384, 0, 3215670604, 3215670600}, addr32 = {3063006384, 0, 3215670604, 3215670600}, addr16 = {50352, 46737, 0, 0, 15692, 49067, 15688, 49067}, 
                addr = "\260\304\221\266\000\000\000\000L=\253\277H=\253\277"}}, src_port = 15684, dst_port = 49067, proto_reserved1 = 262144, proto_reserved2 = -1079298552, src_su = {s = {sa_family = 35860, 
                sa_data = "\030\bD\f\256\266\300\001\000\000\310\066\253\277"}, sin = {sin_family = 35860, sin_port = 2072, sin_addr = {s_addr = 3064859716}, sin_zero = "\300\001\000\000\310\066\253\277"}, 
              sin6 = {sin6_family = 35860, sin6_port = 2072, sin6_flowinfo = 3064859716, sin6_addr = {__in6_u = {__u6_addr8 = "\300\001\000\000\310\066\253\277\277I&\b\002\000\000", __u6_addr16 = {448, 0, 
                      14024, 49067, 18879, 2086, 2, 0}, __u6_addr32 = {448, 3215668936, 136726975, 2}}}, sin6_scope_id = 0}}, bind_address = 0xbfab3628, proto = -1 '\377'}, buf = 0xb6ae0ff0 "\033", len = 0, 
          new_uri = {s = 0xbfab3648 "\330g\221\266(l\221\266\330g\221\266\020\322\254\266\330\066\253\277\241o`\r", len = 135028043}, dst_uri = {s = 0x0, len = 1}, parsed_uri_ok = -1079298488, parsed_uri = {
            user = {s = 0x8188c14 "\205\300t\a\270\001", len = 32}, passwd = {s = 0x0, len = -1231979188}, host = {s = 0x1 <Address 0x1 out of bounds>, len = 1}, port = {s = 0x0, len = -1231984680}, params = {
              s = 0xb6916c28 "\001", len = -1231984680}, sip_params = {s = 0xb6acd210 "\020", len = -1079298344}, headers = {s = 0xd606fa1 <Address 0xd606fa1 out of bounds>, len = 0}, port_no = 34556, 
            proto = 49067, type = 3215671816, flags = 135931595, transport = {s = 0xb6916c28 "\001", len = 1}, ttl = {s = 0xbfab3dec "\277I&\b\260", len = -1079296536}, user_param = {s = 0xbfab3de4 "\314\001", 
              len = 0}, maddr = {s = 0x0, len = -1241607909}, method = {s = 0x1 <Address 0x1 out of bounds>, len = 0}, lr = {s = 0xbfab36c8 "", len = 2}, r2 = {s = 0xb6632008 "\001", len = 226}, gr = {
              s = 0xb6acd210 "\020", len = -1230188016}, transport_val = {s = 0xb6ae0698 "\002", len = -1230109024}, ttl_val = {s = 0x0, len = -1231661426}, user_param_val = {
              s = 0xf <Address 0xf out of bounds>, len = 0}, maddr_val = {s = 0x0, len = 0}, method_val = {s = 0x0, len = 0}, lr_val = {s = 0x0, len = -1241607909}, r2_val = {
              s = 0xe0 <Address 0xe0 out of bounds>, len = 262144}, gr_val = {s = 0xae <Address 0xae out of bounds>, len = -1}}, parsed_orig_ruri_ok = 0, parsed_orig_ruri = {user = {
              s = 0xf0 <Address 0xf0 out of bounds>, len = -1079298104}, passwd = {s = 0xb695c598 "Switching Protocols", len = 5}, host = {s = 0x0, len = 456}, port = {s = 0x1b4 <Address 0x1b4 out of bounds>, 
              len = -1227359856}, params = {s = 0xbfab72e0 "PV\226\266H\002", len = -1079298136}, sip_params = {
              s = 0x818d27a "\213E\340\353\"\220\353\004\220\353\001\220\213E\320\211\004$\350\263\242\377\377\213E\344\211\004$\350\250\242\377\377\270", len = -1231698536}, headers = {s = 0xb694b754 "sip:", 
              len = 4}, port_no = 62280, proto = 46740, type = ERROR_URI_T, flags = 0, transport = {s = 0x0, len = 224423841}, ttl = {s = 0x0, len = -1079277828}, user_param = {
              s = 0xbfab3828 "\270\321\376\265\255\216&\bt8\253\277", len = 136730906}, maddr = {s = 0xb6632008 "\001", len = -1231979088}, method = {s = 0x0, len = 0}, lr = {
              s = 0xd606fa1 <Address 0xd606fa1 out of bounds>, len = 0}, r2 = {
              s = 0xbfab3798 "h8\253\277\260\327\027\245\220\371\327\266\340r\253\277\350<\253\277/:\031\bH\363\224\266xq\253\277\234\357\224\266", len = 135028043}, gr = {s = 0x0, len = 20}, transport_val = {
              s = 0xb694ef9c "\002", len = 37147}, ttl_val = {s = 0xb695c5a0 "g Protocols", len = -1231753308}, user_param_val = {s = 0xb695c598 "Switching Protocols", len = -1231698536}, maddr_val = {s = 0x0, 
              len = 428}, method_val = {s = 0xbfab3868 "89\253\277\277I&\b\005", len = -1525164112}, lr_val = {s = 0xb6d7f990 "(J\005\n \002", len = -1079282976}, r2_val = {
              s = 0xbfab3ce8 "\310F\253\277[k\006\b\b c\266T\305\225\266\204p3\b\334\215\063\bY\004", len = 135871023}, gr_val = {s = 0xb694f348 "\a", len = -1079283336}}, add_rm = 0xb694ef9c, 
          body_lumps = 0x0, reply_lump = 0xb694f348, 
          add_to_branch_s = "\273\003u\267X\305\225\266\205\266+\b\370;\253\277\000\000\000\000\304\000\000\000=\221\067\b\340\000\000\000\000\027\067\b\310\070\253\277\032Y&\b\b c\266`d\220\266\324}\221\266\033\221", add_to_branch_len = -1231979088, hash_index = 3077903151, msg_flags = 224423841, flags = 3059949576, set_global_address = {s = 0xb6917f8a "7\b\350\004", len = -1231959972}, set_global_port = {
            s = 0xe <Address 0xe out of bounds>, len = 224423841}, force_send_socket = 0x0, path_vec = {s = 0xb7750215 "\201\303\213\265\002", len = -1241591368}, instance = {
            s = 0x8268ead "\213E\364\213P\004\213E\f\211\020\213E\f\307@\024\004", len = -1079297932}, reg_id = 0, ruid = {s = 0x1c <Address 0x1c out of bounds>, len = 136049093}, location_ua = {
            s = 0xbfab38dc "\375B:\b\177G:\b\241", len = 0}, ldv = {flow = {decoded = 16, rcv = {src_ip = {af = 3059949576, len = 3064788156, u = {addrl = {262144, 3215669400, 3053359487, 3059949576}, 
                    addr32 = {262144, 3215669400, 3053359487, 3059949576}, addr16 = {0, 4, 14488, 49067, 37247, 46590, 8200, 46691}, addr = "\000\000\004\000\230\070\253\277\177\221\376\265\b c\266"}}, 
                dst_ip = {af = 3215669364, len = 3215669560, u = {addrl = {136726975, 5, 16777216, 9219348}, addr32 = {136726975, 5, 16777216, 9219348}, addr16 = {18879, 2086, 5, 0, 0, 256, 44308, 140}, 
                    addr = "\277I&\b\005\000\000\000\000\000\000\001\024\255\214"}}, src_port = 31028, dst_port = 104, proto_reserved1 = 7557868, proto_reserved2 = 7558196, src_su = {s = {sa_family = 4, 
                    sa_data = "\000\000x\000\000\000\234\361\345\265\200\252\f\245"}, sin = {sin_family = 4, sin_port = 0, sin_addr = {s_addr = 120}, sin_zero = "\234\361\345\265\200\252\f\245"}, sin6 = {
                    sin6_family = 4, sin6_port = 0, sin6_flowinfo = 120, sin6_addr = {__in6_u = {__u6_addr8 = "\234\361\345\265\200\252\f\245\310\070\253\277K]\f\b", __u6_addr16 = {61852, 46565, 43648, 42252, 
                          14536, 49067, 23883, 2060}, __u6_addr32 = {3051745692, 2769070720, 3215669448, 135028043}}}, sin6_scope_id = 0}}, bind_address = 0x0, proto = 28 '\034'}}}}
        __FUNCTION__ = "sl_reply_helper"
#6  0xb5e56dcc in sl_send_reply (msg=0xbfab7178, code=101, reason=0xb695c598 "Switching Protocols") at sl_funcs.c:303
No locals.
#7  0xb5e4dde5 in send_reply (msg=0xbfab7178, code=101, reason=0xa50ca4ac) at sl.c:281
        r = 0xb695c598 "Switching Protocols"
        t = 0xffffffff
        ret = 1
        __FUNCTION__ = "send_reply"
#8  0xa50b953f in ws_send_reply (msg=0xbfab7178, code=101, reason=0xa50ca4ac, hdrs=0xbfab4068) at ws_handshake.c:109
        __FUNCTION__ = "ws_send_reply"
#9  0xa50be321 in ws_handle_handshake (msg=0xbfab7178) at ws_handshake.c:424
        key = {s = 0xb6965819 "GVs/6jVe4SSceoeJGmIG0g==\r\nSec-WebSocket-Extensions: permessage-deflate; client_max_window_bits\r\nSec-WebSocket-Protocol: sip\r\n\r\n", len = 24}
        headers = {
          s = 0xa50ca880 "Access-Control-Allow-Origin: https://web.service.dummy.ok\r\nSec-WebSocket-Protocol: sip\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Accept: y3st9Xv712JK2HJY6KDEx2nRd0w=\r\n", len = 182}
        reply_key = {s = 0xa50caa80 "y3st9Xv712JK2HJY6KDEx2nRd0w=[", len = 28}
        origin = {
          s = 0xb69656fb "https://web.service.dummy.ok\r\nSec-WebSocket-Version: 13\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36\r\nDNT: 1\r"..., len = 29}
        sha1 = "\313{-\365{\373\327bJ\330rX\350\240\304\307i\321wL"
        hdr_flags = 123
        sub_protocol = 1
        version = 13
        hdr = 0x0
        con = 0xa5aedc90
        wsc = 0xb691c4b0
        __FUNCTION__ = "ws_handle_handshake"
#10 0x080655ce in do_action (h=0xbfab4be0, a=0xb6950d68, msg=0xbfab7178) at action.c:1054
        ret = -5
        v = 5
        dst = {send_sock = 0xb692b968, to = {s = {sa_family = 37147, sa_data = "\376\265\200\000\000\000\000\200\000\000\216\000\000"}, sin = {sin_family = 37147, sin_port = 46590, sin_addr = {s_addr = 128}, 
              sin_zero = "\000\200\000\000\216\000\000"}, sin6 = {sin6_family = 37147, sin6_port = 46590, sin6_flowinfo = 128, sin6_addr = {__in6_u = {
                  __u6_addr8 = "\000\200\000\000\216\000\000\000\377\377\377\377\000\000\000", __u6_addr16 = {32768, 0, 142, 0, 65535, 65535, 0, 0}, __u6_addr32 = {32768, 142, 4294967295, 0}}}, 
              sin6_scope_id = 124}}, id = -1079293400, proto = -65 '\277', send_flags = {f = 73 'I', blst_imask = 38 '&'}}
        tmp = 0xb5fe911b "\201\303\235@"
        new_uri = 0x0
        end = 0x837178c "core: rvalue.c"
        crt = 0xb68ce36c " "
        cmd = 0xb66643f8
        len = 161
        user = 0
        uri = {user = {s = 0x80000 <Address 0x80000 out of bounds>, len = 176}, passwd = {s = 0xffffffff <Address 0xffffffff out of bounds>, len = 0}, host = {s = 0xf4 <Address 0xf4 out of bounds>, len = 1}, 
          port = {s = 0x0, len = 32}, params = {s = 0x0, len = -1079293560}, sip_params = {
            s = 0x81897cc "\205\300\017\237\300\017\266\320\213E\020\211\020\213E\b\213@\004\211\302\203\342\371\213E\b\211P\004\351\341\004", len = -1079283504}, headers = {s = 0xb694e8e4 "]\017", 
            len = -1079283336}, port_no = 65535, proto = 65535, type = 3062691928, flags = 116, transport = {s = 0x0, len = -1241664416}, ttl = {s = 0xb6d7f990 "(J\005\n \002", len = -1079282976}, 
          user_param = {
            s = 0xbfab48f8 "\030I\253\277\240\b\375\265\274\033\226\266$J\253\277\350I\253\277 \356\275\265\220\371\327\266\340r\253\277\210J\253\277\256\301\266\265xq\253\277\b\344\224\266\070J\253\277\064J\253\277", len = -1241708491}, maddr = {
            s = 0xb6965688 "Host: test.dummy.ok:8443\r\nConnection: upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok\r\nSec-WebSocket-Version: 13\r\nUser-Agent: Mozilla/5.0 (Ma"..., len = -1231756347}, method = {s = 0x4 <Address 0x4 out of bounds>, len = -1079291832}, lr = {s = 0xbfab5044 "", len = -1231898264}, r2 = {
            s = 0x4 <Address 0x4 out of bounds>, len = 0}, gr = {s = 0x0, len = -1241664416}, transport_val = {s = 0xbfab4918 "\210J\253\277\256\301\266\265xq\253\277\b\344\224\266\070J\253\277\064J\253\277", 
            len = -1241708384}, ttl_val = {s = 0xb6961bbc "\210V\226\266\004", len = -1079293404}, user_param_val = {s = 0xbfab49e8 "\241", len = -1245843936}, maddr_val = {s = 0xb6d7f990 "(J\005\n \002", 
            len = -1079282976}, method_val = {s = 0xbfab4a88 "\370J\253\277\205\343\023\bxq\253\277\b\344\224\266\064K\253\277K]\f\b", len = -1246314066}, lr_val = {s = 0xbfab7178 "\001", len = -1231756280}, 
          r2_val = {s = 0xbfab4a38 "", len = -1079293388}, gr_val = {s = 0x0, len = 176}}
        next_hop = {user = {s = 0x2 <Address 0x2 out of bounds>, len = 0}, passwd = {s = 0xbfab47e8 "\001", len = -1525164112}, host = {s = 0xb6d7f990 "(J\005\n \002", len = -1079282976}, port = {
            s = 0xbfab4898 "\210I\253\277\314\227\030\b\320p\253\277\344\350\224\266xq\253\277\377\377\377\377X\370\214\266t", len = 134681845}, params = {s = 0xbfab47e0 "", len = -1231755036}, sip_params = {
            s = 0xbfab7178 "\001", len = -1}, headers = {s = 0x0, len = 0}, port_no = 1, proto = 0, type = 2769803184, flags = 3067607440, transport = {s = 0xbfab72e0 "PV\226\266H\002", len = -1079294008}, 
          ttl = {s = 0x9629dd1a <Address 0x9629dd1a out of bounds>, len = -827108235}, user_param = {s = 0x0, len = -1079293752}, maddr = {s = 0x818919c "\205\300\017\204S\005", len = -1079293788}, method = {
            s = 0xb68cfc04 "\001", len = -1079291828}, lr = {s = 0xbfab5048 "\354\253\214", len = -1079291836}, r2 = {s = 0xbfab86fc "\201T\232\236", len = -1079290936}, gr = {
            s = 0x81a44f4 "\205\300\017\204^\036", len = -1231869952}, transport_val = {s = 0x2 <Address 0x2 out of bounds>, len = -1079291988}, ttl_val = {s = 0xbfab4fa8 "xP\253\277\033\221\376\265\005", 
            len = -1079291996}, user_param_val = {s = 0xb6906460 "\020", len = -1079293752}, maddr_val = {s = 0xb5fe911b "\201\303\235@", len = 224423841}, method_val = {s = 0x0, len = -1079293816}, lr_val = {
            s = 0x80c5d4b "\211E\364\213E\364\351\373\001", len = 0}, r2_val = {s = 0x8371700 "core", len = -1231326200}, gr_val = {s = 0xb5fe911b "\201\303\235@", len = -1232235660}}
        u = 0x80c5d4b
        port = 49067
        dst_host = 0x83b0000
        i = -1231756280
        flags = 0
        avp = 0xbfab7178
        st = {flags = 3215675148, id = 20232, name = {n = 0, s = {s = 0x0, len = 262144}, re = 0x0}, avp = 0x1}
        sct = 0xbfab4d58
        sjt = 0xbfab7178
        rve = 0xbfab4af8
        mct = 0xbfab70d0
        rv = 0x2
        rv1 = 0x813e385
        c1 = {cache_type = 3215689468, val_type = 3215673384, c = {avp_val = {n = 135827584, s = {s = 0x8189080 "\205\300\017\204l\006", len = -1079293948}, re = 0x8189080}, pval = {rs = {
                s = 0x8189080 "\205\300\017\204l\006", len = -1079293948}, ri = -1231868804, flags = -1079291988}}, i2s = "\250O\253\277\244O\253\277\374\206\253\277(S\253\277\024\070\032\b\033"}
        s = {s = 0xd606fa1 <Address 0xd606fa1 out of bounds>, len = 0}
        srevp = {0xbfab86fc, 0xbfab52f8}
        mod_f_params = {{type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NUMBER_ST, u = {number = 1, 
              string = 0x1 <Address 0x1 out of bounds>, str = {s = 0x1 <Address 0x1 out of bounds>, len = 0}, data = 0x1, attr = 0x1, select = 0x1}}, {type = RVE_FREE_FIXUP_ST, u = {number = 0, string = 0x0, 
              str = {s = 0x0, len = 19}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {
            type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, 
              data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, 
              string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}}
        __FUNCTION__ = "do_action"
#11 0x08070ea0 in run_actions (h=0xbfab4be0, a=0xb6950d68, msg=0xbfab7178) at action.c:1549
        t = 0xb6950d68
        ret = -1
        mod = 0x1000000
        ms = 0
        __FUNCTION__ = "run_actions"
#12 0x080714f5 in run_actions_safe (h=0xbfab70d0, a=0xb6950d68, msg=0xbfab7178) at action.c:1614
        ctx = {rec_lev = 1, run_flags = 0, last_retcode = 0, jmp_env = {{__jmpbuf = {-1525164112, -1227359856, -1079282976, -1079292984, -1775117030, -827108235}, __mask_was_saved = 0, __saved_mask = {__val = {
                  3215674584, 136726975, 5, 0, 32, 138085432, 138095523, 318, 138084352, 0, 3063092684, 3063090588, 3215676716, 2, 0, 3215689468, 3215674488, 135871193, 3063203816, 3063203824, 0, 135826431, 
                  3062687824, 3215689468, 3063203816, 3063306390, 0, 3215689468, 3215676520, 135919377, 3062916228, 0}}}}}
        ret = -1231763484
        ign_on_break = 0
#13 0x081897cc in rval_get_int (h=0xbfab70d0, msg=0xbfab7178, i=0xbfab5800, rv=0xb6951848, cache=0x0) at rvalue.c:912
        r_avp = 0x2
        avp_val = {n = 476, s = {s = 0x1dc <Address 0x1dc out of bounds>, len = 2}, re = 0x1dc}
        pval = {rs = {s = 0xbfab4e08 "\002", len = 136726975}, ri = 5, flags = 0}
        tmp = {s = 0x0, len = 428}
        s = 0x0
        r = 0
        ret = 0
        destroy_pval = 0
        __FUNCTION__ = "rval_get_int"
#14 0x0818d6b6 in rval_expr_eval_int (h=0xbfab70d0, msg=0xbfab7178, res=0xbfab5800, rve=0xb6951844) at rvalue.c:1910
        i1 = 0
        i2 = 0
        ret = -1
        c1 = {cache_type = RV_CACHE_SELECT, val_type = 10, c = {avp_val = {n = 0, s = {s = 0x0, len = 0}, re = 0x0}, pval = {rs = {s = 0x0, len = 0}, ri = -1241664416, flags = -1079292072}}, 
          i2s = "\240\b\375\265\000\034\226\266dP\253\277\030P\253\277 \356\275\265\220\371"}
        c2 = {cache_type = 110, val_type = RV_NONE, c = {avp_val = {n = -1241664416, s = {s = 0xb5fdb460 "4\303", len = -1227359856}, re = 0xb5fdb460}, pval = {rs = {s = 0xb5fdb460 "4\303", len = -1227359856}, 
              ri = -1079282976, flags = -1079292104}}, i2s = "5\b\375\265\237V\226\266a\303\224\266\n\000\000\000K]\f\b\226X"}
        rv1 = 0xb699c7ac
        rv2 = 0xffffffff
        __FUNCTION__ = "rval_expr_eval_int"
#15 0x080650b2 in do_action (h=0xbfab70d0, a=0xb6952088, msg=0xbfab7178) at action.c:1030
        ret = -5
        v = 0
        dst = {send_sock = 0xb5f5895f, to = {s = {sa_family = 0, sa_data = "\000\000\000\000\000\000\374\206\253\277\030X\253\277"}, sin = {sin_family = 0, sin_port = 0, sin_addr = {s_addr = 0}, 
              sin_zero = "\374\206\253\277\030X\253\277"}, sin6 = {sin6_family = 0, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {
                  __u6_addr8 = "\374\206\253\277\030X\253\277\331:\031\b\004\261\231\266", __u6_addr16 = {34556, 49067, 22552, 49067, 15065, 2073, 45316, 46745}, __u6_addr32 = {3215689468, 3215677464, 
                    135871193, 3063525636}}}, sin6_scope_id = 3063525644}}, id = 0, proto = -1 '\377', send_flags = {f = 139 '\213', blst_imask = 24 '\030'}}
        tmp = 0x0
        new_uri = 0x952 <Address 0x952 out of bounds>
        end = 0x81a69ee "\270"
        crt = 0x0
        cmd = 0xd
        len = 0
        user = 0
        uri = {user = {s = 0x0, len = -1079288484}, passwd = {s = 0x0, len = 0}, host = {s = 0x0, len = 3}, port = {s = 0x2 <Address 0x2 out of bounds>, len = -1}, params = {
            s = 0xffffffff <Address 0xffffffff out of bounds>, len = -1079289992}, sip_params = {s = 0x8188263 "\211\004$\350US\355\377\203\304\034[^_]\303U\211\345\203\354\070\213E\b\005\272\001", 
            len = -1235017728}, headers = {s = 0x1bc <Address 0x1bc out of bounds>, len = 137828236}, port_no = 37181, proto = 2103, type = 224, flags = 137828096, transport = {s = 0x0, len = -1079288976}, 
          ttl = {s = 0x0, len = -1241729631}, user_param = {s = 0x0, len = -1217954492}, maddr = {s = 0x0, len = -1241729638}, method = {s = 0xb76a2433 "\201\303\301[\017", len = -1079288488}, lr = {
            s = 0xe <Address 0xe out of bounds>, len = -1241729638}, r2 = {s = 0x1 <Address 0x1 out of bounds>, len = 13}, gr = {s = 0xbfab5e24 "T\346o\267a", len = 13}, transport_val = {
            s = 0xb7797ff4 "|=\026", len = -1079288432}, ttl_val = {s = 0xb5f5895f "", len = -1079288472}, user_param_val = {
            s = 0xb767525f "\213\225t\372\377\377\071\302\017\205\362\361\377\377\270\377\377\377\177+\205x\373\377\377\071\302\017\207\337\361\377\377\001\225x\373\377\377\200?", len = -1079288432}, 
          maddr_val = {s = 0xb5f5895f "", len = 0}, method_val = {s = 0x0, len = 135821446}, lr_val = {s = 0xb6632008 "\001", len = 0}, r2_val = {s = 0x0, len = -1231759392}, gr_val = {s = 0xb694d390 "\a", 
            len = 137828096}}
        next_hop = {user = {s = 0xbfab580c "", len = 0}, passwd = {s = 0xb695c598 "Switching Protocols", len = -1525164112}, host = {s = 0xb6d7f990 "(J\005\n \002", len = -1079282976}, port = {
            s = 0xbfab5868 "hZ\253\277P\334\030\b\320p\253\277xq\253\277\064Z\253\277\210\333\224\266", len = 135850740}, params = {s = 0xb694d7e0 "\002", len = -1079283336}, sip_params = {
            s = 0xbfab5a34 "\001", len = 32}, headers = {s = 0xb694d390 "\a", len = 0}, port_no = 55264, proto = 46740, type = ERROR_URI_T, flags = 0, transport = {s = 0x128 <Address 0x128 out of bounds>, 
            len = -1079290008}, ttl = {s = 0x82649bf "\213E\340\203\300$\201\304\274", len = 184}, user_param = {s = 0x0, len = 0}, maddr = {s = 0x2 <Address 0x2 out of bounds>, len = 0}, method = {
            s = 0xbfab86fc "\201T\232\236", len = -1079289960}, lr = {s = 0x826591a "\353\a\220\353\004\220\353\001\220\201\304\314", len = -1235017720}, r2 = {s = 0xb6994f3c "\020", len = -1079290104}, gr = {
            s = 0x81882be "\211E\360\203}\360", len = -1231677704}, transport_val = {s = 0x0, len = 0}, ttl_val = {s = 0x0, len = 0}, user_param_val = {s = 0x8371700 "core", len = 0}, maddr_val = {s = 0x0, 
            len = 32}, method_val = {s = 0xbfab86fc "\201T\232\236", len = -1079289992}, lr_val = {
            s = 0x8187886 "\203\304l[^_]\303U\211\345\203\354\030\213E\b\213@\004\215P\377\213E\b\211P\004\213E\b\213@\004\205\300u\v\213E\b\211\004$\350\360\365\377\377\311\303U\211\345WVS\201\354\374", 
            len = -1235017720}, r2_val = {s = 0x0, len = 0}, gr_val = {s = 0x0, len = 0}}
        u = 0x1
        port = 49067
        dst_host = 0xb699d424
        i = -1231671128
        flags = 0
        avp = 0xb6966620
        st = {flags = 3063268760, id = 55264, name = {n = 0, s = {s = 0x0, len = 0}, re = 0x0}, avp = 0x0}
        sct = 0x1
        sjt = 0x1
        rve = 0xb6951844
        mct = 0x0
        rv = 0xbfab5a34
        rv1 = 0x0
        c1 = {cache_type = RV_CACHE_EMPTY, val_type = 3063207912, c = {avp_val = {n = -1231698528, s = {s = 0xb695c5a0 "g Protocols", len = 0}, re = 0xb695c5a0}, pval = {rs = {s = 0xb695c5a0 "g Protocols", 
                len = 0}, ri = -1217068523, flags = -1525164112}}, i2s = "\260\327\027\245\220\371\327\266\340r\253\277hV\253\277^\323\030\b\340\327"}
        s = {s = 0xb5fe911b "\201\303\235@", len = 213}
        srevp = {0x19c, 0xbfab56c8}
        mod_f_params = {{type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NUMBER_ST, u = {number = 1, 
              string = 0x1 <Address 0x1 out of bounds>, str = {s = 0x1 <Address 0x1 out of bounds>, len = 0}, data = 0x1, attr = 0x1, select = 0x1}}, {type = RVE_FREE_FIXUP_ST, u = {number = 0, string = 0x0, 
              str = {s = 0x0, len = 19}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {
            type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, 
              data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, 
              string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}}
        __FUNCTION__ = "do_action"
#16 0x08070ea0 in run_actions (h=0xbfab70d0, a=0xb6950c28, msg=0xbfab7178) at action.c:1549
        t = 0xb6952088
        ret = 1
        mod = 0xb6920320
        ms = 0
        __FUNCTION__ = "run_actions"
#17 0x08065552 in do_action (h=0xbfab70d0, a=0xb6952124, msg=0xbfab7178) at action.c:1045
        ret = 1
        v = 1
        dst = {send_sock = 0x0, to = {s = {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"}, sin6 = {
              sin6_family = 0, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = "\000\000\000\000\000\000\000\000\\c\253\277\005\000\000", __u6_addr16 = {0, 0, 0, 0, 25436, 49067, 5, 0}, 
                  __u6_addr32 = {0, 0, 3215680348, 5}}}, sin6_scope_id = 7}}, id = 0, proto = 0 '\000', send_flags = {f = 0 '\000', blst_imask = 0 '\000'}}
        tmp = 0xb578cee7 "\211n\370)~\374\306\004."
        new_uri = 0x128 <Address 0x128 out of bounds>
        end = 0xb7773d4c "malloc.c"
        crt = 0xb5792ff4 "\360\256"
        cmd = 0xb665c1e4
        len = -1217064161
        user = -1250349068
        uri = {user = {s = 0xbfe2bb61 <Address 0xbfe2bb61 out of bounds>, len = 1084160162}, passwd = {s = 0x153911c2 <Address 0x153911c2 out of bounds>, len = 1892152629}, host = {
            s = 0x19945161 <Address 0x19945161 out of bounds>, len = 1918852815}, port = {s = 0xcb18b54e <Address 0xcb18b54e out of bounds>, len = -1526424657}, params = {s = 0xbfab6248 "", len = 0}, 
          sip_params = {s = 0x1 <Address 0x1 out of bounds>, len = -1525164112}, headers = {s = 0xa04b0c0 "\350\267\004\n\032", len = -1231472044}, port_no = 25176, proto = 49067, type = 3077518168, flags = 0, 
          transport = {s = 0x0, len = 1}, ttl = {s = 0x0, len = 0}, user_param = {s = 0x0, len = 0}, maddr = {s = 0xb6d7f990 "(J\005\n \002", len = -1079282976}, method = {
            s = 0xbfab6308 "Hc\253\277^\323\030\b\004{\223\266\300m\253\277\270\033\226\266\004{\223\266", len = 135840547}, lr = {s = 0xb6961b94 " ", len = -1231676050}, r2 = {s = 0x0, len = -1235017720}, 
          gr = {s = 0x0, len = -1079287036}, transport_val = {s = 0xbfab62a8 "ph\253\277TV\226\266\001", len = -1525164112}, ttl_val = {s = 0xb6d7f990 "(J\005\n \002", len = -1079282976}, user_param_val = {
            s = 0xbfab6308 "Hc\253\277^\323\030\b\004{\223\266\300m\253\277\270\033\226\266\004{\223\266", len = 135821446}, maddr_val = {s = 0xb6632008 "\001", len = -1231676488}, method_val = {
            s = 0x837178c "core: rvalue.c", len = 137859433}, lr_val = {s = 0x81 <Address 0x81 out of bounds>, len = 137828096}, r2_val = {s = 0xbfab6870 "", len = -1231661484}, gr_val = {
            s = 0x1 <Address 0x1 out of bounds>, len = 0}}
        next_hop = {user = {s = 0x0, len = 168079552}, passwd = {s = 0xbfab6178 "\250a\253\277K]\f\b", len = -1241607809}, host = {s = 0xb6632008 "\001", len = -1079287468}, port = {
            s = 0xffffffff <Address 0xffffffff out of bounds>, len = -1079287272}, params = {s = 0xbfab6164 "\254Ps", len = 16777216}, sip_params = {s = 0x8caf54 <Address 0x8caf54 out of bounds>, 
            len = 6846808}, headers = {s = 0x7350ac <Address 0x7350ac out of bounds>, len = 7557292}, port_no = 4, proto = 0, type = 118, flags = 2769803184, transport = {s = 0xb6d7f990 "(J\005\n \002", 
            len = -1079287384}, ttl = {s = 0x80c5d4b "\211E\364\213E\364\351\373\001", len = 0}, user_param = {s = 0x1 <Address 0x1 out of bounds>, len = 2}, maddr = {s = 0x1 <Address 0x1 out of bounds>, 
            len = 188}, method = {s = 0x0, len = 0}, lr = {s = 0xa517d7b0 "\200\326", len = -1227359856}, r2 = {s = 0xbfab72e0 "PV\226\266H\002", len = -1079287160}, gr = {
            s = 0x826591a "\353\a\220\353\004\220\353\001\220\201\304\314", len = -1235017720}, transport_val = {s = 0xb6961b94 " ", len = 168079552}, ttl_val = {s = 0x0, len = -1}, 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 = {s = 0x6af42c0 <Address 0x6af42c0 out of bounds>, 
            len = -1500340898}}
        u = 0xb6b4aef8
        port = 49067
        dst_host = 0x20
        i = 1893571582
        flags = -1235017720
        avp = 0xff565002
        st = {flags = 28, id = 1, name = {n = 168077040, s = {s = 0xa04a6f0 "", len = 0}, re = 0xa04a6f0}, avp = 0xb6993a54}
        sct = 0xb6961bb8
        sjt = 0xbfab6dc0
        rve = 0xb694df34
        mct = 0xb6937b04
        rv = 0x0
        rv1 = 0x0
        c1 = {cache_type = 4436732, val_type = 3077202798, c = {avp_val = {n = -1217954492, s = {s = 0xb7677d44 "\200\275\064\373\377\377", len = -1079287276}, re = 0xb7677d44}, pval = {rs = {
                s = 0xb7677d44 "\200\275\064\373\377\377", len = -1079287276}, ri = -1241729638, flags = 8}}, i2s = "\330f\253\277\000\000\000\000\025\002u\267\270\321\376\265\255\216&\bTa"}
        s = {s = 0xbfab64f0 "", len = -1242200692}
        srevp = {0x0, 0xbfab61a8}
        mod_f_params = {{type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NUMBER_ST, u = {number = 1, 
              string = 0x1 <Address 0x1 out of bounds>, str = {s = 0x1 <Address 0x1 out of bounds>, len = 0}, data = 0x1, attr = 0x1, select = 0x1}}, {type = RVE_FREE_FIXUP_ST, u = {number = 0, string = 0x0, 
              str = {s = 0x0, len = 19}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {
            type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, 
              data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, 
              string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}}
        __FUNCTION__ = "do_action"
#18 0x08070ea0 in run_actions (h=0xbfab70d0, a=0xb694aee0, msg=0xbfab7178) at action.c:1549
        t = 0xb6952124
        ret = 1
        mod = 0x1
        ms = 0
        __FUNCTION__ = "run_actions"
#19 0x08065596 in do_action (h=0xbfab70d0, a=0xb69521c0, msg=0xbfab7178) at action.c:1049
        ret = 1
        v = 0
        dst = {send_sock = 0xb77d07e5, to = {s = {sa_family = 29104, sa_data = "\253\277\030\000\000\000\030BD\265\000\000\000"}, sin = {sin_family = 29104, sin_port = 49067, sin_addr = {s_addr = 24}, 
              sin_zero = "\030BD\265\000\000\000"}, sin6 = {sin6_family = 29104, sin6_port = 49067, sin6_flowinfo = 24, sin6_addr = {__in6_u = {__u6_addr8 = "\030BD\265\000\000\000\000D}g\267s\000\000", 
                  __u6_addr16 = {16920, 46404, 0, 0, 32068, 46951, 115, 0}, __u6_addr32 = {3041149464, 0, 3077012804, 115}}}, sin6_scope_id = 3041149457}}, id = -1218216444, proto = -72 '\270', send_flags = {
            f = 1 '\001', blst_imask = 126 '~'}}
        tmp = 0xbfab72e0 "PV\226\266H\002"
        new_uri = 0xb77e4910 ""
        end = 0xbfab6ec4 "\377\377\377\377\364?~\267\304T\005\b\005"
        crt = 0xb6d7f990 "(J\005\n \002"
        cmd = 0x0
        len = -1525164112
        user = -1218199836
        uri = {user = {s = 0xb696560c "", len = 138085432}, passwd = {s = 0x83b2ba3 "parse_headers", len = 334}, host = {s = 0x83b0000 "core", len = 23}, port = {s = 0xb5792ff4 "\360\256", len = 0}, params = {
            s = 0xbfab86fc "\201T\232\236", len = 33}, sip_params = {s = 0xb578c8d8 "\205\300u\f\213D$\034\203\304([\303\215v", len = -1231660904}, headers = {
            s = 0xbfab6d28 "xn\253\277*F*\bWV\226\266=\201;\b\006", len = 137189177}, port_no = 22111, proto = 46742, type = 10, flags = 46, transport = {s = 0x0, len = 1}, ttl = {
            s = 0xb6d7f990 "(J\005\n \002", len = -1079282976}, user_param = {s = 0xbfab6e78 "", len = 136988202}, maddr = {
            s = 0xb6965657 "TTP/1.1\r\nVia: SIP/2.0/TLS x.x.x.x:31366\r\nHost: test.dummy.ok:8443\r\nConnection: upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok\r\nSec-W"..., len = 138117437}, method = {s = 0x6 <Address 0x6 out of bounds>, len = -1079284392}, lr = {s = 0xb57b3148 "\f \001", len = 0}, r2 = {s = 0xbfab71af "", len = 10}, gr = {
            s = 0x0, len = -1218199836}, transport_val = {s = 0xd696910 <Address 0xd696910 out of bounds>, len = -1079284332}, ttl_val = {
            s = 0xb77d0166 "\213M\340\205\300u3\211\360\213]\364\213u\370\213}\374\211\354]\303\215t&", len = -1218155984}, user_param_val = {s = 0x805b926 "GLIBC_2.0", len = -1079277828}, maddr_val = {
            s = 0x805524e "libc.so.6", len = -1216756928}, method_val = {s = 0xbfab0002 "\237\266", len = -1216520544}, lr_val = {s = 0x805524e "libc.so.6", len = -1216594520}, r2_val = {
            s = 0xb77e3ff4 "\f\317\001", len = -1218221656}, gr_val = {s = 0x3 <Address 0x3 out of bounds>, len = -1079284204}}
        next_hop = {user = {s = 0x13e <Address 0x13e out of bounds>, len = 138084352}, passwd = {s = 0x83b0000 "core", len = -1216774156}, host = {s = 0xb77993c0 "", len = 0}, port = {
            s = 0xbfab6c48 "\334l\253\277m\314x\265\t", len = -1217754692}, params = {s = 0x2 <Address 0x2 out of bounds>, len = 0}, sip_params = {s = 0xb76a9a1d "\211\301e\203=\f", len = -1250349068}, 
          headers = {s = 0xa0548a0 "", len = 0}, port_no = 27868, proto = 49067, type = 3044592749, flags = 9, transport = {s = 0xb7797ff4 "|=\026", len = -1217780685}, ttl = {s = 0xa054c46 "\r\n", 
            len = -1079284616}, user_param = {s = 0xb76a88ed "e\203=\f", len = 0}, maddr = {s = 0x1 <Address 0x1 out of bounds>, len = -1079282940}, method = {s = 0x1 <Address 0x1 out of bounds>, 
            len = -1216774156}, lr = {s = 0xbfab7270 "", len = -1253817830}, r2 = {s = 0xbfab7248 "", len = -1217965473}, gr = {s = 0xbfab7270 "", len = -1253817831}, transport_val = {
            s = 0x1 <Address 0x1 out of bounds>, len = 0}, ttl_val = {s = 0xb578c790 "\203\370\377t\016\061\300\213\\$\024\213t$\030\203\304\034\303\213\206\220", len = -1231661592}, user_param_val = {
            s = 0xc0 <Address 0xc0 out of bounds>, len = -1231661592}, maddr_val = {s = 0xb6632008 "\001", len = -1250349068}, method_val = {s = 0xb76a51d6 "\201\303\036.\017", len = -1253817831}, lr_val = {
            s = 0x8800001 <Address 0x8800001 out of bounds>, len = 0}, r2_val = {s = 0xbfab86fc "\201T\232\236", len = 2}, gr_val = {s = 0x0, len = -1235017720}}
        u = 0x0
        port = 2113
        dst_host = 0x5
        i = 134566308
        flags = 138095523
        avp = 0x5
        st = {flags = 3215683192, id = 24330, name = {n = 138084352, s = {s = 0x83b0000 "core", len = 4}, re = 0x83b0000}, avp = 0xb6974be0}
        sct = 0x80554c4
        sjt = 0xb779c000
        rve = 0xb6937ee0
        mct = 0xb779c340
        rv = 0xbfab72e0
        rv1 = 0x0
        c1 = {cache_type = RV_CACHE_EMPTY, val_type = 3215682552, c = {avp_val = {n = -1231676640, s = {s = 0xb6961b20 "\001", len = -1235017720}, re = 0xb6961b20}, pval = {rs = {s = 0xb6961b20 "\001", 
                len = -1235017720}, ri = 23, flags = -1231598660}}, i2s = "\210V\226\266\000\000\000\000\374\206\253\277\310l\253\277\000\000\000\000\220\371"}
        s = {s = 0x80c5d4b "\211E\364\213E\364\351\373\001", len = 0}
        srevp = {0x0, 0xbfab6be8}
        mod_f_params = {{type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NUMBER_ST, u = {number = 1, 
              string = 0x1 <Address 0x1 out of bounds>, str = {s = 0x1 <Address 0x1 out of bounds>, len = 0}, data = 0x1, attr = 0x1, select = 0x1}}, {type = RVE_FREE_FIXUP_ST, u = {number = 0, string = 0x0, 
              str = {s = 0x0, len = 19}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {
            type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, 
              data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, 
              string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}}
        __FUNCTION__ = "do_action"
#20 0x08070ea0 in run_actions (h=0xbfab70d0, a=0xb69521c0, msg=0xbfab7178) at action.c:1549
        t = 0xb69521c0
        ret = -1
        mod = 0x40000001
        ms = 0
        __FUNCTION__ = "run_actions"
#21 0xa5174a69 in xhttp_process_request (orig_msg=0xb6d7f828, 
    new_buf=0xb6965650 "GET / HTTP/1.1\r\nVia: SIP/2.0/TLS x.x.x.x:31366\r\nHost: test.dummy.ok:8443\r\nConnection: upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok"..., new_len=584) at xhttp_mod.c:282
        ret = 0
        tmp_msg = {id = 1, pid = 0, tval = {tv_sec = 0, tv_usec = 0}, fwd_send_flags = {f = 0 '\000', blst_imask = 0 '\000'}, rpl_send_flags = {f = 1 '\001', blst_imask = 0 '\000'}, first_line = {type = 1, 
            flags = 2, len = 16, u = {request = {method = {
                  s = 0xb6965650 "GET / HTTP/1.1\r\nVia: SIP/2.0/TLS x.x.x.x:31366\r\nHost: test.dummy.ok:8443\r\nConnection: upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok"..., len = 3}, uri = {
                  s = 0xb6965654 "/ HTTP/1.1\r\nVia: SIP/2.0/TLS x.x.x.x:31366\r\nHost: test.dummy.ok:8443\r\nConnection: upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok\r\nSe"..., len = 1}, version = {
                  s = 0xb6965656 "HTTP/1.1\r\nVia: SIP/2.0/TLS x.x.x.x:31366\r\nHost: test.dummy.ok:8443\r\nConnection: upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok\r\nSec-"..., len = 8}, method_value = 16384}, reply = {version = {
                  s = 0xb6965650 "GET / HTTP/1.1\r\nVia: SIP/2.0/TLS x.x.x.x:31366\r\nHost: test.dummy.ok:8443\r\nConnection: upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok"..., len = 3}, status = {
                  s = 0xb6965654 "/ HTTP/1.1\r\nVia: SIP/2.0/TLS x.x.x.x:31366\r\nHost: test.dummy.ok:8443\r\nConnection: upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok\r\nSe"..., len = 1}, reason = {
                  s = 0xb6965656 "HTTP/1.1\r\nVia: SIP/2.0/TLS x.x.x.x:31366\r\nHost: test.dummy.ok:8443\r\nConnection: upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok\r\nSec-"..., len = 8}, statuscode = 16384}}}, via1 = 0xb6961b20, via2 = 0x0, headers = 0xb6974be0, last_header = 0xb695c510, parsed_flag = 18446744073709551615, 
          h_via1 = 0xb6974be0, h_via2 = 0x0, callid = 0x0, to = 0x0, cseq = 0x0, from = 0x0, contact = 0x0, maxforwards = 0x0, route = 0x0, record_route = 0x0, content_type = 0x0, content_length = 0x0, 
          authorization = 0x0, expires = 0x0, proxy_auth = 0x0, supported = 0x0, require = 0x0, proxy_require = 0x0, unsupported = 0x0, allow = 0x0, event = 0x0, accept = 0x0, accept_language = 0xb6961e60, 
          organization = 0x0, priority = 0x0, subject = 0x0, user_agent = 0xb6961d94, server = 0x0, content_disposition = 0x0, diversion = 0x0, rpid = 0x0, refer_to = 0x0, session_expires = 0x0, min_se = 0x0, 
          sipifmatch = 0x0, subscription_state = 0x0, date = 0x0, identity = 0x0, identity_info = 0x0, pai = 0x0, ppi = 0x0, path = 0x0, privacy = 0x0, body = 0x0, eoh = 0xb6965896 "\r\n", 
          unparsed = 0xb6965896 "\r\n", rcv = {src_ip = {af = 2, len = 4, u = {addrl = {2515258290, 0, 0, 0}, addr32 = {2515258290, 0, 0, 0}, addr16 = {52146, 38379, 0, 0, 0, 0, 0, 0}, 
                addr = "\262\313\353\225", '\000' <repeats 11 times>}}, dst_ip = {af = 2, len = 4, u = {addrl = {1548587732, 0, 0, 0}, addr32 = {1548587732, 0, 0, 0}, addr16 = {37588, 23629, 0, 0, 0, 0, 0, 0}, 
                addr = "\324\222M\\", '\000' <repeats 11 times>}}, src_port = 31366, dst_port = 8443, proto_reserved1 = 1, proto_reserved2 = 0, src_su = {s = {sa_family = 2, 
                sa_data = "z\206\262\313\353\225\000\000\000\000\000\000\000"}, sin = {sin_family = 2, sin_port = 34426, sin_addr = {s_addr = 2515258290}, sin_zero = "\000\000\000\000\000\000\000"}, sin6 = {
                sin6_family = 2, sin6_port = 34426, sin6_flowinfo = 2515258290, sin6_addr = {__in6_u = {__u6_addr8 = "\000\000\000\000\000\000\000\000\001\000\000\000\310J~\267", __u6_addr16 = {0, 0, 0, 0, 1, 
                      0, 19144, 46974}, __u6_addr32 = {0, 0, 1, 3078507208}}}, sin6_scope_id = 0}}, bind_address = 0xb6653088, proto = 3 '\003'}, 
          buf = 0xb6965650 "GET / HTTP/1.1\r\nVia: SIP/2.0/TLS x.x.x.x:31366\r\nHost: test.dummy.ok:8443\r\nConnection: upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok"..., len = 584, new_uri = {s = 0x0, len = 0}, dst_uri = {s = 0x0, len = 0}, parsed_uri_ok = 0, parsed_uri = {user = {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}, 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, 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, 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, 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, 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, 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 = {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}, 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 = {s = 0x0, len = 0}}, add_rm = 0x0, body_lumps = 0x0, reply_lump = 0xb695c638, add_to_branch_s = '\000' <repeats 57 times>, 
          add_to_branch_len = 0, hash_index = 0, msg_flags = 0, 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, 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, 0, 0}, 
                    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, 0, 0}, addr32 = {0, 0, 0, 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 = {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"}, 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}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, 
                bind_address = 0x0, proto = 0 '\000'}}}}
        msg = 0xbfab7178
        ra_ctx = {rec_lev = 3, run_flags = 0, last_retcode = 1, jmp_env = {{__jmpbuf = {-1525164112, -1227359856, -1079282976, -1079283672, -1770382054, -827108235}, __mask_was_saved = 0, __saved_mask = {
                __val = {3215683976, 3045741472, 3063305636, 544, 3215684288, 3059949576, 2779660224, 2779665395, 129, 3046232728, 0, 3215689468, 3215683944, 136838447, 3059949576, 3063305672, 138083373, 
                  138084317, 213, 3077899005, 3046232728, 136883713, 3215685216, 0, 100, 0, 21, 129, 3215683976, 136875280, 3215684288, 3077898773}}}}}
        __FUNCTION__ = "xhttp_process_request"
#22 0xa5175b68 in xhttp_handler (msg=0xb6d7f828) at xhttp_mod.c:357
        ret = 0
        fake_msg = 0xb6965650 "GET / HTTP/1.1\r\nVia: SIP/2.0/TLS x.x.x.x:31366\r\nHost: test.dummy.ok:8443\r\nConnection: upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok"...
        fake_msg_len = 584
        pmatch = {rm_so = 0, rm_eo = 0}
        c = 32 ' '
        __FUNCTION__ = "xhttp_handler"
#23 0x081283de in nonsip_msg_run_hooks (msg=0xb6d7f828) at nonsip_hooks.c:111
        r = 1
        ret = 1
#24 0x08150a47 in receive_msg (
    buf=0xa054a28 "GET / HTTP/1.1\r\nHost: test.dummy.ok:8443\r\nConnection: Upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok\r\nSec-WebSocket-Version: 13\r\nUser-Agent:"..., len=544, rcv_info=0xa5aedca4) at receive.c:189
        msg = 0xb6d7f828
        ctx = {rec_lev = 5333888, run_flags = 4, last_retcode = 119, jmp_env = {{__jmpbuf = {-1238976092, 89, -1079281576, 135028043, 0, -1243844620}, __mask_was_saved = 0, __saved_mask = {__val = {0, 32, 
                  3077898773, 3053375928, 136744621, 3215685780, 0, 28, 136726975, 5, 0, 92, 3059949576, 3059949576, 213, 3077202798, 3053359487, 3059949576, 3215685780, 3063306712, 3055991204, 3055962697, 
                  16777216, 11526868, 4540512, 8193, 65560, 121, 65536, 3078045309, 3078198264, 3078045004}}}}}
        ret = -1216774156
        inb = {
          s = 0xa054a28 "GET / HTTP/1.1\r\nHost: test.dummy.ok:8443\r\nConnection: Upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok\r\nSec-WebSocket-Version: 13\r\nUser-Agent:"..., len = 544}
        netinfo = {data = {s = 0xb5dc6ff4 "\310Y\033", len = 10}, dst = 0x1000000, rcv = 0xafe31c}
        __FUNCTION__ = "receive_msg"
#25 0x082395df in receive_tcp_msg (
    tcpbuf=0xa5aede60 "GET / HTTP/1.1\r\nHost: test.dummy.ok:8443\r\nConnection: Upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok\r\nSec-WebSocket-Version: 13\r\nUser-Agent:"..., len=544, rcv_info=0xa5aedca4, con=0xa5aedc90) at tcp_read.c:1279
        buf = 0xa054a28 "GET / HTTP/1.1\r\nHost: test.dummy.ok:8443\r\nConnection: Upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: https://web.service.dummy.ok\r\nSec-WebSocket-Version: 13\r\nUser-Agent:"...
        bsize = 65535
        blen = 65535
        __FUNCTION__ = "receive_tcp_msg"
#26 0x0823b42f in tcp_read_req (con=0xa5aedc90, bytes_read=0xbfab7f24, read_flags=0xbfab7f1c) at tcp_read.c:1447
        bytes = 544
        total_bytes = 544
        resp = 1
        size = 0
        req = 0xa5aedd04
        dst = {send_sock = 0x2001, to = {s = {sa_family = 54276, sa_data = "\264\266@74\245\001\000\000\000\020\000\000"}, sin = {sin_family = 54276, sin_port = 46772, sin_addr = {s_addr = 2771662656}, 
              sin_zero = "\001\000\000\000\020\000\000"}, sin6 = {sin6_family = 54276, sin6_port = 46772, sin6_flowinfo = 2771662656, sin6_addr = {__in6_u = {
                  __u6_addr8 = "\001\000\000\000\020\000\000\000\001\000\000\000\001\000\000", __u6_addr16 = {1, 0, 16, 0, 1, 0, 1, 0}, __u6_addr32 = {1, 16, 1, 1}}}, sin6_scope_id = 16}}, id = -1079279848, 
          proto = 4 '\004', send_flags = {f = 0 '\000', blst_imask = 0 '\000'}}
        c = 0 '\000'
        ret = 0
        __FUNCTION__ = "tcp_read_req"
#27 0x0823ecf8 in handle_io (fm=0xb6b4d404, events=1, idx=-1) at tcp_read.c:1679
        ret = 0
        n = 0
        read_flags = 1
        con = 0xa5aedc90
        s = 16
        resp = 1
        t = 1478278877
        __FUNCTION__ = "handle_io"
#28 0x08230b80 in io_wait_loop_epoll (h=0x8452f40, t=2, repeat=0) at io_wait.h:1065
        n = 1
        r = 0
        fm = 0xb6b4d404
        revents = 1
        __FUNCTION__ = "io_wait_loop_epoll"
#29 0x0823ffca in tcp_receive_loop (unix_sock=66) at tcp_read.c:1791
        __FUNCTION__ = "tcp_receive_loop"
#30 0x0822776c in tcp_init_children () at tcp_main.c:4796
        r = 0
        i = -1
        reader_fd_1 = 66
        pid = 0
        si_desc = "tcp receiver (tls:y.y.y.y:8443)\000\000\000\001\000\000\000\000\000\000\000\252\066\000\000\000\000\000\000\000\000\000\000\340\062\064\245\241o`\r8\202\253\277\372\205$\b\377\377\377\377\263\362\071\b\001\000\000\000a\200$\b\000\000\000\000\001\000\000\000hu4\b\241o`\r\263\066\000\000(\000\000\000\070\202\253\277\004\000\000\000\304\323\000?"
        si = 0x0
        __FUNCTION__ = "tcp_init_children"
#31 0x080f00e7 in main_loop () at main.c:1704
        i = 4
        pid = 13993
        si = 0x0
        si_desc = "udp receiver child=3 sock=y.y.y.y:5080\000\062\064\245\001\000\000\000\001\000\000\000\364\237\342\265\000\260\063\245\016\020\000\000\250\370~\245\250\370~\245\000\000\000\000`\310\342\265\364o\334\265\001\000\000\000\000\000\000\000\374\206\253\277H\204\253\277\377\241&\b\324\253\231\266\367\001>\265\235\346\065\b\350\367\065\bn\000\000"
        nrprocs = 4
        woneinit = 1
        __FUNCTION__ = "main_loop"
#32 0x080f679b in main (argc=13, argv=0xbfab8874) at main.c:2631
        cfg_stream = 0x9ab5008
        c = -1
        r = 0
        tmp = 0xbfab9908 ""
        tmp_len = 1
        port = 0
        proto = 0
        options = 0x8354d18 ":f:cm:M:dVIhEeb:l:L:n:vKrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:x:X:"
        ret = -1
        seed = 2660914305
        rfd = 4
        debug_save = 0
        debug_flag = 0
        dont_fork_cnt = 0
        n_lst = 0xbfab87a0
        p = 0x805ce5c "[\201\303\264\202;"
        st = {st_dev = 15, __pad1 = 0, st_ino = 12628, st_mode = 16832, st_nlink = 2, st_uid = 0, st_gid = 0, st_rdev = 0, __pad2 = 0, st_size = 60, st_blksize = 4096, st_blocks = 0, st_atim = {
        n = 1
        r = 0
        fm = 0xb6b4d404
        revents = 1
        __FUNCTION__ = "io_wait_loop_epoll"
#29 0x0823ffca in tcp_receive_loop (unix_sock=66) at tcp_read.c:1791
        __FUNCTION__ = "tcp_receive_loop"
#30 0x0822776c in tcp_init_children () at tcp_main.c:4796
        r = 0
        i = -1
        reader_fd_1 = 66
        pid = 0
        si_desc = "tcp receiver (tls:y.y.y.y:8443)\000\000\000\001\000\000\000\000\000\000\000\252\066\000\000\000\000\000\000\000\000\000\000\340\062\064\245\241o`\r8\202\253\277\372\205$\b\377\377\377\377\263\362\071\b\001\000\000\000a\200$\b\000\000\000\000\001\000\000\000hu4\b\241o`\r\263\066\000\000(\000\000\000\070\202\253\277\004\000\000\000\304\323\000?"
        si = 0x0
        __FUNCTION__ = "tcp_init_children"
#31 0x080f00e7 in main_loop () at main.c:1704
        i = 4
        pid = 13993
        si = 0x0
        si_desc = "udp receiver child=3 sock=y.y.y.y:5080\000\062\064\245\001\000\000\000\001\000\000\000\364\237\342\265\000\260\063\245\016\020\000\000\250\370~\245\250\370~\245\000\000\000\000`\310\342\265\364o\334\265\001\000\000\000\000\000\000\000\374\206\253\277H\204\253\277\377\241&\b\324\253\231\266\367\001>\265\235\346\065\b\350\367\065\bn\000\000"
        nrprocs = 4
        woneinit = 1
        __FUNCTION__ = "main_loop"
#32 0x080f679b in main (argc=13, argv=0xbfab8874) at main.c:2631
        cfg_stream = 0x9ab5008
        c = -1
        r = 0
        tmp = 0xbfab9908 ""
        tmp_len = 1
        port = 0
        proto = 0
        options = 0x8354d18 ":f:cm:M:dVIhEeb:l:L:n:vKrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:x:X:"
        ret = -1
        seed = 2660914305
        rfd = 4
        debug_save = 0
        debug_flag = 0
        dont_fork_cnt = 0
        n_lst = 0xbfab87a0
        p = 0x805ce5c "[\201\303\264\202;"
        st = {st_dev = 15, __pad1 = 0, st_ino = 12628, st_mode = 16832, st_nlink = 2, st_uid = 0, st_gid = 0, st_rdev = 0, __pad2 = 0, st_size = 60, st_blksize = 4096, st_blocks = 0, st_atim = {
---Type <return> to continue, or q <return> to quit---
            tv_sec = 1506010457, tv_nsec = 983334802}, st_mtim = {tv_sec = 1508597914, tv_nsec = 354506842}, st_ctim = {tv_sec = 1508598507, tv_nsec = 860710419}, __unused4 = 0, __unused5 = 0}
        __FUNCTION__ = "main"


(gdb) info locals
__FUNCTION__ = "dlg_cseq_prepare_msg"

(gdb) list
76	
77		if(msg->first_line.type==SIP_REPLY) {
78			/* reply to local transaction -- nothing to do */
79			if (parse_headers(msg, HDR_VIA2_F, 0)==-1
80					|| (msg->via2==0) || (msg->via2->error!=PARSE_OK)) {
81				if(get_cseq(msg)->method_id != METHOD_CANCEL) {
82					LM_DBG("no second via in this message \n");
83					return 3;
84				}
85			}

Log Messages

Oct 21 15:08:30 webrtc-as webrtc[14045]: INFO: tls [tls_server.c:420]: tls_accept(): tls_accept: new connection from x.x.x.x:aaaaa using TLSv1/SSLv3 AES256-GCM-SHA384 256 
Oct 21 15:08:30 webrtc-as webrtc[14045]: INFO: tls [tls_server.c:423]: tls_accept(): tls_accept: local socket: y.y.y.y:bbbb 
Oct 21 15:08:30 webrtc-as webrtc[14045]: INFO: tls [tls_server.c:434]: tls_accept(): tls_accept: client did not present a certificate 
Oct 21 15:08:30 webrtc-as kernel: [2587094.669038] kamailio[14045] segfault at 18 ip b58a41a6 sp bfaa2970 error 4 in dialog.so[b5885000+98000] 
Oct 21 15:08:31 webrtc-as webrtc[14077]: CRITICAL: <core> [pass_fd.c:277]: receive_fd(): EOF on 63 
Oct 21 15:08:31 webrtc-as webrtc[13959]: ALERT: <core> [main.c:740]: handle_sigs(): child process 14045 exited by a signal 11 
Oct 21 15:08:31 webrtc-as webrtc[13959]: ALERT: <core> [main.c:743]: handle_sigs(): core was generated 
Oct 21 15:08:31 webrtc-as webrtc[13959]: INFO: <core> [main.c:755]: handle_sigs(): terminating due to SIGCHLD 
Oct 21 15:08:31 webrtc-as webrtc[14076]: INFO: <core> [main.c:810]: sig_usr(): signal 15 received 
Oct 21 15:08:31 webrtc-as webrtc[14075]: INFO: <core> [main.c:810]: sig_usr(): signal 15 received 
Oct 21 15:08:31 webrtc-as webrtc[13961]: INFO: <core> [main.c:810]: sig_usr(): signal 15 received 
Oct 21 15:08:31 webrtc-as webrtc[14069]: INFO: <core> [main.c:810]: sig_usr(): signal 15 received 
Oct 21 15:08:31 webrtc-as webrtc[13962]: INFO: <core> [main.c:810]: sig_usr(): signal 15 received 
...

SIP Traffic

Not Available - Kamailio crash upon HTTP WS Upgrade.

Possible Solutions

In kamailio/modules/dialog/dlg_cseq.c commenting out IF condition at line 81, then rebuilding kamailio binary seems to fix the problem, i.e.

    if(msg->first_line.type==SIP_REPLY) {
        /* reply to local transaction -- nothing to do */
        if (parse_headers(msg, HDR_VIA2_F, 0)==-1
                || (msg->via2==0) || (msg->via2->error!=PARSE_OK)) {
===>      //if(get_cseq(msg)->method_id != METHOD_CANCEL) {
                LM_DBG("no second via in this message \n");
                return 3;
===>      //}
        }
    }

Additional Information

  • Kamailio Version - output of kamailio -v
version: kamailio 4.4.6 (i386/linux) becbde
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: becbde -dirty
compiled on 15:01:17 Oct 21 2017 with gcc 4.7.2
  • Operating System:
Linux webrtc-as 3.16.0-0.bpo.4-686-pae #1 SMP Debian 3.16.36-1+deb8u2~bpo70+1 (2016-10-19) i686 GNU/Linux

miconda added a commit that referenced this issue Oct 25, 2017

miconda added a commit that referenced this issue Oct 25, 2017

dialog: safety check for handling http replies in cseq update code
- reported by GH #1277

(cherry picked from commit ba7f663)
@miconda

This comment has been minimized.

Copy link
Member

miconda commented Oct 25, 2017

Should be fixed in master and 5.0 branch. Probably it can be backported to 4.4 branch as well.

@miconda miconda closed this Oct 25, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.