<div dir="ltr"><div>I am getting following error in log, I can understand my contact: and Route: values mismatching here. why it is happening? is there a way to get rid on this error?<br><br></div><div>Following is scenario. Only getting error in BYE message. <br></div><div><br></div><div>[UA]--------[OpenSIP]-------[Freeswitch]---------[Opensip]---------[SIP Provide]<br></div><div><br><br>ERROR:dialog:dlg_validate_dialog: failed to validate remote contact: dlg=[sip:16463737221@188.178.235.222:5061;transport=udp] , req=[sip:188.178.235.222;lr;ftag=840e2e35;did=1f4.ca6a6956]<br><br></div>I am using fix_route_dialog() in loose_route() <br><br>if (has_totag()) {<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # sequential request withing a dialog should<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # take the path determined by record-routing<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â if (loose_route() || match_dialog())Â {<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â if ($DLG_status!=NULL && !validate_dialog() ) {<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â xlog(" in-dialog bogus request \n");<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â fix_route_dialog();<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â } <br><br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â xlog("L_INFO", "Loose route failed on $hdr(route)\n");<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â if (is_method("BYE")) {<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â #setflag(ACC_DO); # do accounting ...<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â #setflag(ACC_FAILED); # ... even if the transaction fails<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â } else if (is_method("INVITE")) {<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # even if in most of the cases is useless, do RR for<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # re-INVITEs alos, as some buggy clients do change route set<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # during the dialog.<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â record_route();<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }<br><br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â if (check_route_param("nat=yes")) <br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â setflag(NAT);<br><br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # route it out to whatever destination was set by loose_route()<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # in $du (destination URI).<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â route(relay);<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }Â else {<br><br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â if ( is_method("ACK") ) {<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â if ( t_check_trans() ) {<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # non loose-route, but stateful ACK; must be an ACK after <br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # a 487 or e.g. 404 from upstream server<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â xlog("non loose-route section\n");<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â t_relay();<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â exit;<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â } else {<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # ACK without matching transaction -><br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # ignore and discard<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â xlog("ACK without matching transaction\n");<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â exit;<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â xlog("L_INFO", "destination uri after loose_route: <$du>\n");<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â sl_send_reply("404","Not here");<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }<br>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â exit;<br>Â Â Â Â Â Â Â }<br><br><br><br><div><br><br><br></div></div>