From mailing-lists@phoenixinternet.net Tue Apr 10 04:02:02 2012 From: "Gilbert T. Gutierrez, Jr." To: sr-users@lists.kamailio.org Subject: [SR-Users] Variable $fu Kamailio 3.2 Date: Mon, 09 Apr 2012 18:58:38 -0700 Message-ID: <4F8393CE.8020802@phoenixinternet.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1537286738==" --===============1537286738== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit I wrote the code below to rewrite an extension to a phone number (It is called in route[LOCATION]). This code works fine with MULTIDOMAIN enabled but when I run it as a single domain the line $fu=$var(b); does not seem to work.. You can see that I have several xlog lines outputting the variable values into my /var/log/messages. $var(b) has the correct value in it, so I do not know what is happening. I have also included the /var/log/messages output which I redacted the phone number, domain, and extension for security purposes. I am sure I am going about this backwards, but can someone provide me some guidance as to what is going wrong? Thank you, Gilbert # Rewrite - Gilbert route[REWRITE] { # This section rewrites the outbound calling number so that caller id works correctly. #!ifdef WITH_REWRITE # lookup an outbound number to replace the extension with $var(b)="NO REV"; sql_xquery("ca","select number from pioutalias where username='$fU'","ra"); # determine if a outbound number exists if ($xavp(ra=>number)) { $var(b)="sip:" + $xavp(ra=>number) + "@" + $fd; xlog("L_INFO","var(b): '$var(b)'"); xlog("L_INFO","fu: '$fu'"); # Assign the outbound calling number $fu=$var(b); xlog("L_INFO","New fu: '$fu'"); } sql_result_free("ra"); # see if it found a number and log if it did not if ($var(b)=="NO REV") xlog("L_INFO","No number found for extension: '$fu'"); #!endif } /var/log/messages output Apr 9 14:38:38 tempfax /usr/sbin/kamailio[6088]: INFO: