[OpenSIPS-Users] ERROR:dialog:dlg_validate_dialog:

Satish Patel satish.txt at gmail.com
Wed Mar 18 05:17:02 CET 2015


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?

Following is scenario. Only getting error in BYE message.

[UA]--------[OpenSIP]-------[Freeswitch]---------[Opensip]---------[SIP
Provide]


ERROR:dialog:dlg_validate_dialog: failed to validate remote contact:
dlg=[sip:16463737221 at 188.178.235.222:5061;transport=udp] ,
req=[sip:188.178.235.222;lr;ftag=840e2e35;did=1f4.ca6a6956]

I am using fix_route_dialog() in loose_route()

if (has_totag()) {
                # sequential request withing a dialog should
                # take the path determined by record-routing
                if (loose_route() || match_dialog())  {
                        if ($DLG_status!=NULL && !validate_dialog() ) {
                                xlog(" in-dialog bogus request \n");
                                fix_route_dialog();
                         }

                        xlog("L_INFO", "Loose route failed on
$hdr(route)\n");
                        if (is_method("BYE")) {
                                #setflag(ACC_DO); # do accounting ...
                                #setflag(ACC_FAILED); # ... even if the
transaction fails
                        } else if (is_method("INVITE")) {
                                # even if in most of the cases is useless,
do RR for
                                # re-INVITEs alos, as some buggy clients do
change route set
                                # during the dialog.
                                record_route();
                        }

                        if (check_route_param("nat=yes"))
                                setflag(NAT);

                        # route it out to whatever destination was set by
loose_route()
                        # in $du (destination URI).
                        route(relay);
                     }  else {

                        if ( is_method("ACK") ) {
                                if ( t_check_trans() ) {
                                        # non loose-route, but stateful
ACK; must be an ACK after
                                        # a 487 or e.g. 404 from upstream
server
                                        xlog("non loose-route section\n");
                                        t_relay();
                                        exit;
                                } else {
                                        # ACK without matching transaction
->
                                        # ignore and discard
                                        xlog("ACK without matching
transaction\n");
                                        exit;
                                }
                        }
                        xlog("L_INFO", "destination uri after loose_route:
<$du>\n");
                        sl_send_reply("404","Not here");
                }
                exit;
        }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20150318/b9cbc570/attachment.htm>


More information about the Users mailing list