<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Hi, Răzvan!</div><div><br></div><div>I’m using topology_hiding() function - and loose_route() will always false.</div><div>match_dialog() in this route return TRUE and $DLG_status return 5 (dialog ended)</div><div><br></div><div>route[BYE] {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; xlog("L_DEBUG", "~~~~~ Enter in [BYE] section ~~~~~");</div><div>&nbsp; &nbsp; &nbsp; &nbsp; xlog("---- DIALOG status [$DLG_status]"); #DEBUG</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; $avp(radius_user) = $dlg_val("incoming_gate");</div><div>&nbsp; &nbsp; &nbsp; &nbsp; $var(setup_time) = $dlg_val("start_time»);</div><div>}</div><div><br></div><div><div>Nov &nbsp;9 09:23:54 ops /usr/sbin/opensips[26665]: ~~~~~ Enter in [BYE] section ~~~~~</div><div>Nov &nbsp;9 09:23:54 ops /usr/sbin/opensips[26665]: ---- DIALOG status [5]</div><div>Nov &nbsp;9 09:23:54 ops /usr/sbin/opensips[26665]: DBG:dialog:fetch_dlg_value: looking for &lt;"incoming_gate"&gt;</div><div>Nov &nbsp;9 09:23:54 ops /usr/sbin/opensips[26665]: DBG:dialog:fetch_dlg_value: var NOT found!</div><div>Nov &nbsp;9 09:23:54 ops /usr/sbin/opensips[26665]: ERROR:core:do_assign: no value in right expression</div><div>Nov &nbsp;9 09:23:54 ops /usr/sbin/opensips[26665]: ERROR:core:do_assign: error at line: 501</div><div>Nov &nbsp;9 09:23:54 ops /usr/sbin/opensips[26665]: DBG:dialog:fetch_dlg_value: looking for &lt;"start_time"&gt;</div><div>Nov &nbsp;9 09:23:54 ops /usr/sbin/opensips[26665]: DBG:dialog:fetch_dlg_value: var NOT found!</div><div>Nov &nbsp;9 09:23:54 ops /usr/sbin/opensips[26665]: ERROR:core:do_assign: no value in right expression</div><div>Nov &nbsp;9 09:23:54 ops /usr/sbin/opensips[26665]: ERROR:core:do_assign: error at line: 502</div></div><div><br></div><div><br></div><div apple-content-edited="true">
<div style="color: rgb(0, 0, 0); font-family: Helvetica;  font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Best regards,</div><div>Alexander Mustafin</div><div><a href="mailto:mustafin.aleksandr@gmail.com">mustafin.aleksandr@gmail.com</a></div><div><br></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>

<br><div><div>08 нояб. 2013 г., в 17:03, Răzvan Crainea &lt;<a href="mailto:razvan@opensips.org">razvan@opensips.org</a>&gt; написал(а):</div><br class="Apple-interchange-newline"><blockquote type="cite"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">So basically you're saying that after the loose_route() call you can no longer access the dialog variable? Are you sure you are calling the BYE route only in this place?</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">You should check if you are really in a dialog context. Inside the BYE route, just print the $DLG_status variable. If it is NULL, then match_dialog() and loose_route() failed to match a dialog, therefore you won't be able to retrieve the value.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">Adding the match_dialog() call inside the BYE route only makes sense if the dialog was not mached yet. So in your case, it makes sense only if you call route(BYE); from a different part of script.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">You can't really extract internal dialog values, unless you explicitely save them as values, or take them from the request.</span></blockquote></div><br></body></html>