<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I'm not sure that process persistence is what Brett was looking for but rather Dialog persistence. &nbsp;I have found that local memcache support is very fast and takes care of this type of need quite well. &nbsp;<div><br></div><div>Using a unique key, made up perhaps of the SIP call-id and type of value like "B2Bwhatever_callerid" and the value you desire it to contain will allow you to store, retrieve, and delete the value at will from any point in call processing. &nbsp;Plus you can pass in an expire time so it will be deleted in the event something goes wrong with the call. &nbsp;If you want to get real fancy you could even set up a memcached server and do those same functions from distributed Proxies.</div><div><br></div><div><a href="http://www.opensips.org/Resources/DocsTutMemcache">http://www.opensips.org/Resources/DocsTutMemcache</a>.</div><div><br></div><div>There are always a thousand ways to do any one thing in opensips, like storing the avp to the database&nbsp;</div><div><br></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case "INVITE" :<br>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;avp_db_store("$ci", "$avp(s:epochtime)"); #epochtime set in "set variables route" - store it to db with call id as uuid.<br><span class="Apple-tab-span" style="white-space:pre">                                </span>....</div><div><br></div><div>and grabbing it back</div><div><br></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case "BYE" :<br>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;avp_db_load("$ci", "a"); #get all records from db stored with this call id as uuid.<br>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#this caused epochtime avp to become multi.<br>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;avp_db_delete("$ci", "a"); #get rid of db entries for this call</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>....<br><br></div><div>(this example doesn't exactly match your need but you get the idea) but memcache is one way to do this job.</div><div><br></div><div><br></div><div>Richard</div><div><br><div><div><div>On Oct 13, 2010, at 3:13 AM, Anca Vamanu wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<div text="#000000" bgcolor="#ffffff">
Hi Brett,<br>
<br>
I think using script variables should work -
<a class="moz-txt-link-freetext" href="http://www.opensips.org/Resources/DocsCoreVar#varscript">http://www.opensips.org/Resources/DocsCoreVar#varscript</a>.<br>
<br>
Regards,<br>
Anca<br>
<br>
On 10/13/2010 01:31 AM, Brett Woollum wrote:
<blockquote cite="mid:343801054.4881286922680153.JavaMail.root@mail" type="cite">
  <style type="text/css">p { margin: 0; }</style>
  <div style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Hi
Anca,<br>
  <br>
I figured out the solution that you were referring to. I added the
local_route section and changed the header in there, and it works.<br>
  <br>
The only problem now is that the AVP variable I set in route doesn't
seem to be persistent into the new request inside local_route. This is
a problem because I need some way to send the variables to local_route
so that I can put them into the new request. Is there a way to make an
AVP variable persistent into the local_route as well? Or maybe there is
a better way to make these variables accessible from inside local_route?<br>
  <br>
Here is my working code (with statically set caller id. I need to make
this dynamic):<br>
  <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">local_route
{<br>
&nbsp;&nbsp;&nbsp; if (is_method("INVITE")) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; remove_hf("From");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; append_hf("From: \"TEST3\"
<a class="moz-txt-link-rfc2396E" href="sip:12345@1.2.3.4">&lt;sip:12345@1.2.3.4&gt;</a>;tag=$ft\r\n");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; #exit;<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; if (is_method("BYE") ) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; acc_log_request("internally generated BYE");<br>
&nbsp;&nbsp;&nbsp; }<br>
}</span><br>
  <br>
  <div><span style="font-family: arial,helvetica,sans-serif;">Brett
Woollum</span><br style="font-family: arial,helvetica,sans-serif;">
  <span style="font-family: arial,helvetica,sans-serif;"><a class="moz-txt-link-abbreviated" href="mailto:Brett@Woollum.com">Brett@Woollum.com</a></span><br>
  </div>
  <br>
  <br>
----- Original Message -----<br>
From: "Anca Vamanu" <a class="moz-txt-link-rfc2396E" href="mailto:anca@opensips.org">&lt;anca@opensips.org&gt;</a><br>
To: <a class="moz-txt-link-abbreviated" href="mailto:users@lists.opensips.org">users@lists.opensips.org</a><br>
Sent: Tuesday, October 12, 2010 2:37:55 AM GMT -08:00 US/Canada Pacific<br>
Subject: Re: [OpenSIPS-Users] B2BUA "From" Header &amp; Caller-ID
Question<br>
  <br>
Hi Brett,<br>
  <br>
The b2bua generates a new request with the info from the received one.
The problem is with the changes upon a request not being visible to the
following functions called from the script. <br>
So you have to change the header on the generated one, in local route.<br>
  <br>
Regards,<br>
Anca<br>
  <br>
  <br>
On 10/12/2010 10:24 AM, Brett Woollum wrote:
  <blockquote cite="mid:1553385795.4311286868252240.JavaMail.root@mail">
    <style>p { margin: 0; }</style>
    <div style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">In
addition,
the uac_replace_from(display,uri); function does not seem to
work either. I tested this function by putting:<br>
    <br>
    <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">uac_replace_from("TEST",
    <a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="about:blank" target="_blank">"sip:12345@1.2.3.4"</a>);</span><br>
    <br>
immediately above the call to B2B_INIT_REQUEST and the outbound "From:"
header remains unchanged (incorrect).<br>
    <br>
    <div><span style="font-family: arial,helvetica,sans-serif;">Brett
Woollum</span><br style="font-family: arial,helvetica,sans-serif;">
    <span style="font-family: arial,helvetica,sans-serif;"><a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Brett@Woollum.com" target="_blank">Brett@Woollum.com</a></span><br>
    </div>
    <br>
    <br>
----- Original Message -----<br>
From: "Brett Woollum" <a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:brett@woollum.com" target="_blank">&lt;brett@woollum.com&gt;</a><br>
To: "users-request" <a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:users@lists.opensips.org" target="_blank">&lt;users@lists.opensips.org&gt;</a><br>
Sent: Monday, October 11, 2010 11:53:39 PM GMT -08:00 US/Canada Pacific<br>
Subject: [OpenSIPS-Users] B2BUA "From" Header &amp; Caller-ID Question<br>
    <br>
    <style>p { margin: 0; }</style>
    <div style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Hello,<br>
    <br>
I have a working implementation of the B2BUA modules for OpenSIPS. One
problem I am having is that the B2BUA module doesn't seem to respect
the "From:" header that I updated before B2B_INIT was called (at the
end of the script). Before I call B2B_INIT, my script looks up the
correct caller-id from a database and replaces the "From:" header with
the new information. Here is that code:<br>
    <br>
    <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">xlog("This
is
an external call...");</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;">
    <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">avp_db_query("select
id
from subscriber where username=\"$fU\" AND domain=\"1.2.3.4\"",
"$avp(s:subscriber_id)");</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;">
    <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">if(is_avp_set("$avp(s:subscriber_id)")){&nbsp;

    </span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;">
    <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; avp_db_query("select
external_cid_name,external_cid_uri,external_cid_uri_domain from cid
where subscriber_id=\"$avp(s:subscriber_id)\"",
"$avp(s:external_cid_name);$avp(s:external_cid_uri);$avp(s:external_cid_uri_domain)");</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;">
    <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; remove_hf("From");</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;">
    <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; append_hf("From: \"$avp(s:external_cid_name)\"
    <a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="about:blank" target="_blank">&lt;sip:$avp(s:external_cid_uri)@$avp(s:external_cid_uri_domain)&gt;</a>;tag=$ft\r\n");</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;">
    <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">}</span><br>
    <br>
The resulting "From": header is perfect (it includes the new caller-id
information) and works without problems when I don't use the B2BUA
module. It seems as though the B2BUA module (which is called last in
the script) does not respect the new header, and instead processes the
call using whatever was in $fu when the script started. Unfortunately
$fu is not writable, so I can't directly change it. <br>
    <br>
What are some possible work-arounds to get the B2BUA module to create
the new call but include the "From:" header that I've updated earlier
in the script? <br>
    <br>
Any ideas are greatly appreciated!<br>
    <br>
    <div><span style="font-family: arial,helvetica,sans-serif;">Brett
Woollum</span><br style="font-family: arial,helvetica,sans-serif;">
    <span style="font-family: arial,helvetica,sans-serif;"><a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Brett@Woollum.com" target="_blank">Brett@Woollum.com</a></span><br>
    </div>
    <br>
    </div>
    <br>
_______________________________________________
Users mailing list
    <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
    <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
    </div>
    <pre><fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Users mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
  </pre>
  </blockquote>
  <br>
  <br>
  <pre class="moz-signature">-- 
Anca Vamanu
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="http://www.voice-system.ro/" target="_blank">www.voice-system.ro</a>
  </pre>
  <br>
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
  </div>
  <pre wrap=""><fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
  </pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">-- 
Anca Vamanu
<a class="moz-txt-link-abbreviated" href="http://www.voice-system.ro/">www.voice-system.ro</a>
</pre>
</div>

_______________________________________________<br>Users mailing list<br><a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>http://lists.opensips.org/cgi-bin/mailman/listinfo/users<br></blockquote></div><br></div></div></body></html>