<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">1. Init Route (new)<br>
<br>
A route to be executed at startup only - this will allow the script<br>
writer to load stuff from DB , to populate memcache-ul, so, to prepare<br>
the routing process. More or less you can do this first time load even<br>
now, but you need to check all the time if you already did it or not (if<br>
not yet loaded, load it now)...<br></blockquote></div><br><div>I just wanted to say that I&#39;d have a lot of use for this. I&#39;ve got some scenarios together with memcache and love it. However if/once you allow using an external cache store, this need may disappear.</div>

<div><br></div><div>I had some other requests. I hope you don&#39;t mind me sticking them in here:</div><div>1. Something else I&#39;ve mentioned (and I think I stuck on the tracker) is that I think some of the module needs to be able to load arbitrary data while returning rows. This is by far my #1 request. I feel like I&#39;m always playing tricks to do this different ways. </div>

<div><br></div><div>For example:</div><div>A. Trusted module should allow loading of AVPs based on trusted entry. An example of use for this would be call limit for source IP. Another example would be an &quot;Account Code&quot; Which would be inserted as a header when this source IP is used. So maybe even the option to load multiple values.</div>

<div><br></div><div>B. DB Routing module should set an avp indicating WHICH rule # was used and which Gateway ID # was used. Furthermore both the rule and the gateway should allow setting custom AVPs. An example of this is: I only have 5 channels to 411. Or Gateway Id #100 only has 5 available channels. That&#39;s actually really important since today, if Gateway Id #100 only has 5 channels, but gets picked first, I&#39;ll have to roll off it every time to find out it&#39;s full rather than &quot;smartly&quot; skipping it. I&#39;m sure there are more examples of this.</div>

<div><br></div><div>The basic idea is that every module that &quot;returns&quot; a value should also return some sort of primary key that was used for that value. Then it can be logged into ACC. Displayed on logging &quot;Sending call to Gateway #100&quot;</div>

<div><br></div><div><br></div><div>2. Native combined CDR format. One row, start, answer, end, duration. Yes, I know, not a B2BUA.. It&#39;ll have limitations, and a bit fat disclaimer and I&#39;m sure we&#39;ll have &quot;that talk&quot; again. :)<br>

</div><div><br></div><div>3. New DRouting fifo commands: route lookup, route count, route last reload, route table dump (ek?). Sometimes it&#39;s good to know that what&#39;s in memory is really what you expected. However, that&#39;s not very useful in production. </div>

<div><br></div><div>4. Memcache: cache_fetch should return time to expiry for retrieved objects. </div><div><br></div><div>5. Memcache: full cache purge fifo option (not just 1 object, but everything)</div><div><br></div>

<div>6. Memcache: partial cache purge (not sure how to do this. Idea is &quot;Purge all accountcodes&quot; or &quot;Purge all account limits&quot; (to force loading new ones)</div><div><br></div><div>7. Dialog: dlg_list should show profiles dialog belongs to. The dialog table (when db is used) should also show this.</div>

<div><br></div><div>That&#39;s it for now. As always, I appreciate everyone&#39;s hard work to make this product what it is. Thank you!</div><div>-Brett</div><div><br></div>