Hello there,

I'm using dialog module to send keep alive options to callee and caller in order to detect if dialog still up, but when kamailio generates the OPTION and parse it,  gives the following errors:

[root@c4-compute02-srv1 kamailio]# 37(1587) DEBUG: dialog [dlg_hash.c:614]: dlg_lookup(): ref dlg 0x7f89134c1d40 with 1 -> 3
37(1587) DEBUG: dialog [dlg_hash.c:616]: dlg_lookup(): dialog id=2210 found on entry 2350
37(1587) DEBUG: dialog [dlg_req_within.c:427]: dlg_send_ka(): sending OPTIONS to caller
37(1587) DEBUG: tm [uac.c:249]: t_uac_prepare(): DEBUG:tm:t_uac: next_hop=<sip:unknown@62.28.197.25:5060>
37(1587) DEBUG: <core> [dns_cache.c:3293]: dns_srv_sip_resolve(): (62.28.197.25, 0, 0), ip, ret=0
37(1587) DEBUG: tm [uac.c:150]: dlg2hash(): DEBUG: dlg2hash: 14692
37(1587) DEBUG: <core> [parser/msg_parser.c:606]: parse_msg(): SIP Request:
37(1587) DEBUG: <core> [parser/msg_parser.c:608]: parse_msg():  method:  <OPTIONS>
37(1587) DEBUG: <core> [parser/msg_parser.c:610]: parse_msg():  uri:     <sip:unknown@62.28.197.25:5060>
37(1587) DEBUG: <core> [parser/msg_parser.c:612]: parse_msg():  version: <SIP/2.0>
37(1587) DEBUG: <core> [parser/parse_via.c:1254]: parse_via_param(): Found param type 232, <branch> = <z9hG4bK4693.2af96e95000000000000000000000000.0>; state=16
37(1587) DEBUG: <core> [parser/parse_via.c:2642]: parse_via(): end of header reached, state=5
37(1587) DEBUG: <core> [parser/msg_parser.c:496]: parse_headers(): parse_headers: Via found, flags=2
37(1587) DEBUG: <core> [parser/msg_parser.c:498]: parse_headers(): parse_headers: this is the first via
37(1587) DEBUG: <core> [parser/parse_addr_spec.c:172]: parse_to_param(): DEBUG: add_param: tag=90d40279ee5745d8851aa989e6fadfc2
37(1587) DEBUG: <core> [parser/parse_addr_spec.c:894]: parse_addr_spec(): end of header reached, state=29
37(1587) DEBUG: <core> [parser/msg_parser.c:173]: get_hdr_field(): DEBUG: get_hdr_field: <To> [64]; uri=[sip:unknown@62.28.197.6
37(1587) DEBUG: <core> [parser/msg_parser.c:175]: get_hdr_field(): DEBUG: to body [<sip:unknown@62.28.197.6>]
37(1587) DEBUG: <core> [parser/msg_parser.c:153]: get_hdr_field(): get_hdr_field: cseq <CSeq>: <0> <OPTIONS>
37(1587) DEBUG: <core> [parser/msg_parser.c:187]: get_hdr_field(): DEBUG: get_hdr_body : content_length=0
37(1587) ERROR: <core> [parser/msg_parser.c:96]: get_hdr_field(): ERROR: get_hdr_field: bad header
37(1587) DEBUG: <core> [parser/msg_parser.c:280]: get_hdr_field(): get_hdr_field: error exit
37(1587) INFO: <core> [parser/msg_parser.c:338]: parse_headers(): ERROR: bad header field [VC

]
37(1587) DEBUG: topoh [topoh_mod.c:232]: th_prepare_msg(): parsing headers failed37(1587) DEBUG: <core> [parser/msg_parser.c:606]: parse_msg(): SIP Request:
37(1587) DEBUG: <core> [parser/msg_parser.c:608]: parse_msg():  method:  <OPTIONS>
37(1587) DEBUG: <core> [parser/msg_parser.c:610]: parse_msg():  uri:     <sip:unknown@62.28.197.25:5060>
37(1587) DEBUG: <core> [parser/msg_parser.c:612]: parse_msg():  version: <SIP/2.0>
37(1587) DEBUG: <core> [parser/parse_via.c:1254]: parse_via_param(): Found param type 232, <branch> = <z9hG4bK4693.2af96e95000000000000000000000000.0>; state=16
37(1587) DEBUG: <core> [parser/parse_via.c:2642]: parse_via(): end of header reached, state=5
37(1587) DEBUG: <core> [parser/msg_parser.c:496]: parse_headers(): parse_headers: Via found, flags=2
37(1587) DEBUG: <core> [parser/msg_parser.c:498]: parse_headers(): parse_headers: this is the first via
37(1587) DEBUG: <core> [parser/parse_addr_spec.c:172]: parse_to_param(): DEBUG: add_param: tag=90d40279ee5745d8851aa989e6fadfc2
37(1587) DEBUG: <core> [parser/parse_addr_spec.c:894]: parse_addr_spec(): end of header reached, state=29
37(1587) DEBUG: <core> [parser/msg_parser.c:173]: get_hdr_field(): DEBUG: get_hdr_field: <To> [64]; uri=[sip:unknown@62.28.197.6
37(1587) DEBUG: <core> [parser/msg_parser.c:175]: get_hdr_field(): DEBUG: to body [<sip:unknown@62.28.197.6>]
37(1587) DEBUG: <core> [parser/msg_parser.c:153]: get_hdr_field(): get_hdr_field: cseq <CSeq>: <0> <OPTIONS>
37(1587) DEBUG: <core> [parser/parse_addr_spec.c:172]: parse_to_param(): DEBUG: add_param: tag=e34d43e164ad4b7392dc9c6e1058a983
37(1587) DEBUG: <core> [parser/parse_addr_spec.c:894]: parse_addr_spec(): end of header reached, state=29
37(1587) DEBUG: dialog [dlg_cseq.c:215]: dlg_cseq_msg_sent(): traking cseq updates
37(1587) DEBUG: dialog [dlg_hash.c:671]: internal_get_dlg(): ref dlg 0x7f89134c1d40 with 1 -> 4
37(1587) DEBUG: dialog [dlg_hash.c:674]: internal_get_dlg(): dialog callid='13208317017c42128fbf00e1685ee1b3' found on entry 2350, dir=2
37(1587) DEBUG: dialog [dlg_cseq.c:233]: dlg_cseq_msg_sent(): request not going downstream (2)
37(1587) DEBUG: dialog [dlg_hash.c:846]: dlg_unref(): unref dlg 0x7f89134c1d40 with 1 -> 3
37(1587) DEBUG: dialog [dlg_req_within.c:452]: dlg_send_ka(): keep-alive sent to caller
37(1587) DEBUG: dialog [dlg_req_within.c:427]: dlg_send_ka(): sending OPTIONS to callee

I'm using the following dialog configuration:

modparam("dialog","db_url", DBURL)
modparam("dialog","db_mode", 0)
modparam("dialog","enable_stats", 1)
modparam("dialog","dlg_flag", DLG_FLAG)
modparam("dialog","profiles_with_value","concurrentcalls")
modparam("dialog", "detect_spirals", 1)
modparam("dialog","dlg_match_mode", 2)
modparam("dialog", "initial_cbs_inscript", 0)
modparam("dialog", "default_timeout", 3600)
modparam("dialog", "send_bye", 1)
modparam("dialog", "timeout_avp", "$avp(s:timeout_dlg)")
modparam("dialog", "track_cseq_updates", 1)
modparam("dialog", "ka_timer", 10)
modparam("dialog", "ka_interval", 30)


I'm  also using topoh module.

Anyone can help me to identify if I'm doing the proper configuration? 

Thank you for your support

Best Regards 

José Seabra