<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>#!defines are preprocessor directives, think about them like
copy+paste and then config interpreter tries to understand the
config content.</p>
<p>As one example in the wiki, the value of a define can be even a
script snippet -- see the define of IDLOOP:</p>
<p> * <a class="moz-txt-link-freetext" href="https://www.kamailio.org/wiki/cookbooks/5.5.x/core#define">https://www.kamailio.org/wiki/cookbooks/5.5.x/core#define</a><br>
</p>
<p>Your example fails because it results in copying and surrounding
the value with quotes, so the interpreter sees:</p>
<p>""bar""</p>
<p>practically, it is empty string followed by token 'bar' and
followed by another empty string.</p>
<p>It is the expected behaviour, similar to what happens in C with
#define macros. One must know what sets in the value and use the
appropriate pre-processor directive.<br>
</p>
<p>Cheers,<br>
Daniel<br>
</p>
<div class="moz-cite-prefix">On 09.12.21 18:13, Ben Kaufman wrote:<br>
</div>
<blockquote type="cite"
cite="mid:DM4PR11MB54071F3224286CC9722E5348A4709@DM4PR11MB5407.namprd11.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style>@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}@font-face
{font-family:"Courier New \,serif";
panose-1:0 0 0 0 0 0 0 0 0 0;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
font-size:10.0pt;
font-family:"Courier New",serif;}span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}span.EmailStyle23
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}div.WordSection1
{page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">Sorry, I noticed the file discrepancy after
sending the email. I did make sure to retest with #!defenvs
and it does work.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">With regards to quoted/unquoted envvars,
I’m not expecting that a quoted environmental variable would
do anything with the quotes, but right now, Kamailio will fail
to start when using #!defenvs with a quoted variable. If I
set:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> export FOO= "\"bar\"\"<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">and use:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> #!defenvs FOO<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Kamailio will fail to start. I would
expect it to have literal quotes in the string.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<table class="MsoNormalTable" style="border-collapse:collapse"
cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><b><span
style="font-size:12.0pt;color:black">Ben Kaufman</span></b><span
style="font-size:12.0pt;color:black"><o:p></o:p></span></p>
</td>
</tr>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><i><span
style="font-size:10.0pt;color:black">Sr. VoIP
Engineer</span></i><span
style="font-size:10.0pt;color:black"><o:p></o:p></span></p>
</td>
</tr>
<tr style="height:12.0pt">
<td style="padding:0in 0in 0in 0in;height:12.0pt"><br>
</td>
</tr>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><span
style="font-size:10.0pt;color:black">P: <o:p></o:p></span></p>
</td>
</tr>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><span
style="font-size:10.0pt;color:black">E: <a
href="mailto:bkaufman@bcmone.com"
moz-do-not-send="true"
class="moz-txt-link-freetext">
bkaufman@bcmone.com</a><o:p></o:p></span></p>
</td>
</tr>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><span
style="font-size:10.0pt;color:black">24 hour
client support:
<a href="tel:+18556396300" moz-do-not-send="true">855.639.6300</a><o:p></o:p></span></p>
</td>
</tr>
<tr style="height:6.0pt">
<td style="padding:0in 0in 0in 0in;height:6.0pt"><br>
</td>
</tr>
</tbody>
</table>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Daniel-Constantin Mierla
<a class="moz-txt-link-rfc2396E" href="mailto:miconda@gmail.com"><miconda@gmail.com></a> <br>
<b>Sent:</b> Thursday, December 9, 2021 11:02 AM<br>
<b>To:</b> Kamailio (SER) - Users Mailing List
<a class="moz-txt-link-rfc2396E" href="mailto:sr-users@lists.kamailio.org"><sr-users@lists.kamailio.org></a>; Ben Kaufman
<a class="moz-txt-link-rfc2396E" href="mailto:bkaufman@bcmone.com"><bkaufman@bcmone.com></a><br>
<b>Subject:</b> Re: [SR-Users] Unquoted values from
#!defenv<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p>The example snippet you gave is with #!devenv, not with
#!devenvs. Is it what you tested in this case?<o:p></o:p></p>
<p>Cheers,<br>
Daniel<o:p></o:p></p>
<div>
<p class="MsoNormal">On 09.12.21 15:57, Ben Kaufman wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Thank you. It’s tested and working with
this simple config:<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal" style="background:#0C0C0C"><span
style="font-size:10.0pt;color:white">#!KAMAILIO<br>
<br>
loadmodule "xlog"<br>
loadmodule "pv"<br>
loadmodule "evrexec"<br>
<br>
modparam("evrexec", "exec",
"name=evrexec:timer;wait=1000;workers=1;")<br>
<br>
c HOME<br>
<br>
request_route{<br>
forward();<br>
}<br>
<br>
event_route[evrexec:timer] {<br>
xlog("L_N", "HOME: " + HOME + "\n");<br>
}</span><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Regards,<o:p></o:p></p>
<p class="MsoNormal"><br>
Kaufman<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Daniel-Constantin Mierla
<a href="mailto:miconda@gmail.com"
moz-do-not-send="true">
<miconda@gmail.com></a> <br>
<b>Sent:</b> Thursday, December 9, 2021 3:55 AM<br>
<b>To:</b> Kamailio (SER) - Users Mailing List <a
href="mailto:sr-users@lists.kamailio.org"
moz-do-not-send="true">
<sr-users@lists.kamailio.org></a>; Ben Kaufman <a
href="mailto:bkaufman@bcmone.com"
moz-do-not-send="true">
<bkaufman@bcmone.com></a><br>
<b>Subject:</b> Re: [SR-Users] Unquoted values from
#!defenv<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p>I pushed the code to enclose the value in between quotes.
Can you test and see if works now?<o:p></o:p></p>
<p>Cheers,<br>
Daniel<o:p></o:p></p>
<div>
<p class="MsoNormal">On 08.12.21 19:07, Daniel-Constantin
Mierla wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p>I expected the quoted mode parameter does the work -- I
will check and push the update.<o:p></o:p></p>
<p>Regarding support for undefined env values, maybe add
something like #!trydefenv, because I find #!defenv useful
at is it, to be used when the env variable must be set for
proper working of kamailio (e.g., DB url) and fail to
start if not set.<o:p></o:p></p>
<p>Cheers,<br>
Daniel<o:p></o:p></p>
<div>
<p class="MsoNormal">On 08.12.21 17:17, Ben Kaufman wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Daniel,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Is the #!defenvs feature still a work
in progress? I wrote a change to add #!defenvn and
#!defenvns to allow for undefined environmental
variables, and noticed that the string quoting on
#!defenvs doesn’t do anything except log the quoting
mode in /src/core/ pp_define_set().<o:p></o:p></p>
<div>
<table class="MsoNormalTable"
style="border-collapse:collapse" cellspacing="0"
cellpadding="0" border="0">
<tbody>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><b><span
style="font-size:12.0pt;color:black">Ben
Kaufman</span></b><o:p></o:p></p>
</td>
</tr>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><i><span
style="font-size:10.0pt;color:black">Sr.
VoIP Engineer</span></i><o:p></o:p></p>
</td>
</tr>
<tr style="height:12.0pt">
<td style="padding:0in 0in 0in 0in;height:12.0pt"><br>
</td>
</tr>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><span
style="font-size:10.0pt;color:black">P: </span><o:p></o:p></p>
</td>
</tr>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><span
style="font-size:10.0pt;color:black">E: <a
href="mailto:bkaufman@bcmone.com"
moz-do-not-send="true"
class="moz-txt-link-freetext">
bkaufman@bcmone.com</a></span><o:p></o:p></p>
</td>
</tr>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><span
style="font-size:10.0pt;color:black">24 hour
client support:
<a href="tel:+18556396300"
moz-do-not-send="true">855.639.6300</a></span><o:p></o:p></p>
</td>
</tr>
<tr style="height:6.0pt">
<td style="padding:0in 0in 0in 0in;height:6.0pt"><br>
</td>
</tr>
</tbody>
</table>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> sr-users <a
href="mailto:sr-users-bounces@lists.kamailio.org"
moz-do-not-send="true">
<sr-users-bounces@lists.kamailio.org></a> <b>On
Behalf Of </b>Ben Kaufman<br>
<b>Sent:</b> Tuesday, December 7, 2021 9:12 AM<br>
<b>To:</b> Kamailio (SER) - Users Mailing List <a
href="mailto:sr-users@lists.kamailio.org"
moz-do-not-send="true">
<sr-users@lists.kamailio.org></a><br>
<b>Subject:</b> Re: [SR-Users] Unquoted values from
#!defenv<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thank you. I’ve been using -A to set
values thus far as CMD arguments to the container’s
ENTRYPOINT. If submitting a pull request, would it be
preferrable to allow #!defenv/#!defenvs to accept
undefined values, or to add new keywords like
#!ifdefenv/#!ifdefenvs ?<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<table class="MsoNormalTable"
style="border-collapse:collapse" cellspacing="0"
cellpadding="0" border="0">
<tbody>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><b><span
style="font-size:12.0pt;color:black">Ben
Kaufman</span></b><o:p></o:p></p>
</td>
</tr>
<tr style="height:6.0pt">
<td style="padding:0in 0in 0in 0in;height:6.0pt"><br>
</td>
</tr>
</tbody>
</table>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Daniel-Constantin
Mierla <<a href="mailto:miconda@gmail.com"
moz-do-not-send="true"
class="moz-txt-link-freetext">miconda@gmail.com</a>>
<br>
<b>Sent:</b> Tuesday, December 7, 2021 2:22 AM<br>
<b>To:</b> Ben Kaufman <<a
href="mailto:bkaufman@bcmone.com"
moz-do-not-send="true"
class="moz-txt-link-freetext">bkaufman@bcmone.com</a>>;
Kamailio (SER) - Users Mailing List <<a
href="mailto:sr-users@lists.kamailio.org"
moz-do-not-send="true"
class="moz-txt-link-freetext">sr-users@lists.kamailio.org</a>><br>
<b>Subject:</b> Re: [SR-Users] Unquoted values from
#!defenv<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p>The current behaviour targets the use of existing
values from the environment variables. If you need other
kind of features, you can propose pull requests. Or you
can eventually have a start script that sets defines
with -A cli parameter based on env variables.<o:p></o:p></p>
<p>Cheers,<br>
Daniel<o:p></o:p></p>
<div>
<p class="MsoNormal">On 06.12.21 21:56, Ben Kaufman
wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Thank you :)<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">A follow up question would be on
the usability of the #!defenv (and probably #!defenvs)
usability with #!ifdef. In the scenario below, if the
environmental variable WITH_DEBUGGER is not defined,
then Kamailio will fail to start, thus the #!ifdef is
somewhat limited. It makes sense for scenarios where
someone might toggle the setting editing the config
file, but it would be very convenient to toggle the
environmental variable instead, particularly in
containerized environments. Any thoughts on how best
to control this?<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">#!defenv WITH_DEBUGGER<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">#!ifdef WITH_DEBUGGER<o:p></o:p></p>
<p class="MsoNormal">loadmodule "debugger"<o:p></o:p></p>
<p class="MsoNormal">. . . <o:p></o:p></p>
<p class="MsoNormal">#!endif<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<table class="MsoNormalTable"
style="border-collapse:collapse" cellspacing="0"
cellpadding="0" border="0">
<tbody>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><b><span
style="font-size:12.0pt;color:black">Ben
Kaufman</span></b><o:p></o:p></p>
</td>
</tr>
<tr style="height:6.0pt">
<td style="padding:0in 0in 0in 0in;height:6.0pt"><br>
</td>
</tr>
</tbody>
</table>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Daniel-Constantin
Mierla <a href="mailto:miconda@gmail.com"
moz-do-not-send="true">
<miconda@gmail.com></a> <br>
<b>Sent:</b> Monday, December 6, 2021 3:55 AM<br>
<b>To:</b> Kamailio (SER) - Users Mailing List <a
href="mailto:sr-users@lists.kamailio.org"
moz-do-not-send="true">
<sr-users@lists.kamailio.org></a>; Ben
Kaufman <a href="mailto:bkaufman@nexvortex.com"
moz-do-not-send="true">
<bkaufman@nexvortex.com></a><br>
<b>Subject:</b> Re: [SR-Users] Unquoted values
from #!defenv<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p>Hello,<o:p></o:p></p>
<p>#!substdef does not set the value inside quoted
string, it replaces inside a string value, so it does
not put quotes around replacement part. So it does it
it is written in the docs. There is #!substdefs witch
can create a define with quoted value.<o:p></o:p></p>
<p>Note that defines are standalone-token replacement,
you can define an ID to a number, to a keyword (e.g.,
src_ip), to a quoted string or even a multi-line
script snippet, like:<o:p></o:p></p>
<p>#!define IDLOOP $var(i) = 0; \<br>
while($var(i)<5) { \<br>
xlog("++++ $var(i)\n"); \<br>
$var(i) = $var(i) + 1; \<br>
}<o:p></o:p></p>
<p>See the core cookbook for more details.<o:p></o:p></p>
<p>Anyhow, as using env variable values as quoted string
is useful and setting them with quotes might look odd,
I added #!defenvs:<o:p></o:p></p>
<p> * <a
href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.kamailio.org%2Fwiki%2Fcookbooks%2Fdevel%2Fcore%23defenvs&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990886102%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=rzHyN6OflNNZgm1%2BnXypY01FK1VzlvMnQlOLrWJKOsQ%3D&reserved=0"
moz-do-not-send="true">
https://www.kamailio.org/wiki/cookbooks/devel/core#defenvs</a><o:p></o:p></p>
<p>Cheers,<br>
Daniel<o:p></o:p></p>
<div>
<p class="MsoNormal">On 30.11.21 22:40, Ben Kaufman
wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Hello all,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Looking for some clarification
regarding quoting and !#defenv . I understand that
the example below fails because the environmental
variable HOME is not quoted, thus when used in the
xlog() call it fails. How is it possible to
evaluate and/or use the value of the environmental
variable if defined as a preprocessor variable?
Looking at the documentation the reason for this
directive is “<span
style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#333333;background:white">It
is a simplified alternative of using <strong><span
style="font-family:"Arial",sans-serif">#!substdef</span></strong> with <strong><span
style="font-family:"Arial",sans-serif">$env(NAME)</span></strong> in
the replacement part.</span>” But #!substdef would
allow setting the value inside of a quoted string,
so does it really meet that requirement?<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">I’m aware that I could use
$env(HOME) rather than a preprocessor directive of
HOME. I’m just trying to understand the usage of
the #!defenv feature.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">#!KAMAILIO</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">## Tested in 5.5.2</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">loadmodule "xlog"</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">loadmodule "pv"</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">loadmodule "evrexec"</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">modparam("evrexec",
"exec", "name=evrexec:timer;wait=1000;workers=1;")</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">#!defenv HOME</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">request_route{</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> forward();</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">}</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">event_route[evrexec:timer]
{</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> xlog("L_N", "HOME: " +
HOME + "\n");</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">}</span><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<table class="MsoNormalTable"
style="border-collapse:collapse" cellspacing="0"
cellpadding="0" border="0">
<tbody>
<tr>
<td style="padding:0in 0in 0in 0in">
<p class="MsoNormal"><b><span
style="font-size:12.0pt;color:black">Ben
Kaufman</span></b><o:p></o:p></p>
</td>
</tr>
<tr style="height:6.0pt">
<td style="padding:0in 0in 0in 0in;height:6.0pt"><br>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
<br>
<br>
<br>
<o:p></o:p></p>
<pre>__________________________________________________________<o:p></o:p></pre>
<pre>Kamailio - Users Mailing List - Non Commercial Discussions<o:p></o:p></pre>
<pre> * <a href="mailto:sr-users@lists.kamailio.org" moz-do-not-send="true" class="moz-txt-link-freetext">sr-users@lists.kamailio.org</a><o:p></o:p></pre>
<pre>Important: keep the mailing list in the recipients, do not reply only to the sender!<o:p></o:p></pre>
<pre>Edit mailing list options or unsubscribe:<o:p></o:p></pre>
<pre> * <a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990886102%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=2NWUk3x3DCLxvb4OlaEJ8GzLrhHiWpUTVxRDca1dj%2Bk%3D&reserved=0" moz-do-not-send="true">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><o:p></o:p></pre>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre>Daniel-Constantin Mierla -- <a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990896055%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=peqyJs2i3MG1EvbYtvTXhBuntpcp7mlcv96WlXQ0QrI%3D&reserved=0" moz-do-not-send="true">www.asipto.com</a><o:p></o:p></pre>
<pre><a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990896055%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=IP0%2F2k1ZMggRrbWxv3UTktcdzG0eJwazc21%2BKwgKWyM%3D&reserved=0" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990906011%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=dhO6eU%2Bj5WF0Vbnj%2BwfCmxncnIdhTKv4GW0ObmQ9E%2Fw%3D&reserved=0" moz-do-not-send="true">www.linkedin.com/in/miconda</a><o:p></o:p></pre>
<pre>Kamailio Advanced Training - Online<o:p></o:p></pre>
<pre> Feb 21-24, 2022 (America Timezone)<o:p></o:p></pre>
<pre> * <a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.asipto.com%2Fsw%2Fkamailio-advanced-training-online%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990906011%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=kgyYXUBFZNWfxWw%2BvpEpHTGte72Y8L4rjdBGTXT59K8%3D&reserved=0" moz-do-not-send="true">https://www.asipto.com/sw/kamailio-advanced-training-online/</a><o:p></o:p></pre>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre>Daniel-Constantin Mierla -- <a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990915967%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=MtBR%2Fch0b%2BCp%2BcHB6CyDgWi1hHM4XiNCMFBi%2B4PPXHI%3D&reserved=0" moz-do-not-send="true">www.asipto.com</a><o:p></o:p></pre>
<pre><a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990915967%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=r1zg8PV6pOBnLBurftA4W3tXgcxmZqpGLmQTJP8Yn7w%3D&reserved=0" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990915967%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=q7r01%2BF74BubqDi2XTUgX9DamSLXTaLcac%2FzvrlwY9s%3D&reserved=0" moz-do-not-send="true">www.linkedin.com/in/miconda</a><o:p></o:p></pre>
<pre>Kamailio Advanced Training - Online<o:p></o:p></pre>
<pre> Feb 21-24, 2022 (America Timezone)<o:p></o:p></pre>
<pre> * <a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.asipto.com%2Fsw%2Fkamailio-advanced-training-online%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990925922%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=PkAex7o15U23zww3%2BAF4fHCK65L7KzmU9w%2Bx0M5o0RA%3D&reserved=0" moz-do-not-send="true">https://www.asipto.com/sw/kamailio-advanced-training-online/</a><o:p></o:p></pre>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<pre>__________________________________________________________<o:p></o:p></pre>
<pre>Kamailio - Users Mailing List - Non Commercial Discussions<o:p></o:p></pre>
<pre> * <a href="mailto:sr-users@lists.kamailio.org" moz-do-not-send="true" class="moz-txt-link-freetext">sr-users@lists.kamailio.org</a><o:p></o:p></pre>
<pre>Important: keep the mailing list in the recipients, do not reply only to the sender!<o:p></o:p></pre>
<pre>Edit mailing list options or unsubscribe:<o:p></o:p></pre>
<pre> * <a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990925922%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=7ZgHLhOOBDLuCkj9pnX9PQgQh9Wenm0S0QXwfrQzJDo%3D&reserved=0" moz-do-not-send="true">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><o:p></o:p></pre>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre>Daniel-Constantin Mierla -- <a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990935880%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=vjpOo1IP%2FD2N%2BMSls0yYJ%2FgBzA2q7awWh8Ac9B%2FKZpk%3D&reserved=0" moz-do-not-send="true">www.asipto.com</a><o:p></o:p></pre>
<pre><a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990935880%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=vph2821YA8T1rveeJyho1yZaPDuWvQ6Kc8G7m%2BC6P2Q%3D&reserved=0" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990935880%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=ZCh%2BwrYRRCQNRYbiY9ZwQfCXpIDboKstzohxF%2BX3h2Y%3D&reserved=0" moz-do-not-send="true">www.linkedin.com/in/miconda</a><o:p></o:p></pre>
<pre>Kamailio Advanced Training - Online<o:p></o:p></pre>
<pre> Feb 21-24, 2022 (America Timezone)<o:p></o:p></pre>
<pre> * <a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.asipto.com%2Fsw%2Fkamailio-advanced-training-online%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990945838%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=%2FtRwCARMqZa07vuRFmvC0KgDio53Icch4IR4w77ku%2Bc%3D&reserved=0" moz-do-not-send="true">https://www.asipto.com/sw/kamailio-advanced-training-online/</a><o:p></o:p></pre>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre>Daniel-Constantin Mierla -- <a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990945838%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=wHe2PK9V3cLvn2JfU95yQBHn6dGEPZd%2BD7cjIWKOngU%3D&reserved=0" moz-do-not-send="true">www.asipto.com</a><o:p></o:p></pre>
<pre><a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990955800%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=6HqpCa53LJlAIGp%2FoUNzEjlh2CCLo7jlusfkmMjkqOw%3D&reserved=0" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990955800%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=bm9GbJPDtqSLFPwBXWUYbfTUyj9H8hGeSJw3FnZRlvs%3D&reserved=0" moz-do-not-send="true">www.linkedin.com/in/miconda</a><o:p></o:p></pre>
<pre>Kamailio Advanced Training - Online<o:p></o:p></pre>
<pre> Feb 21-24, 2022 (America Timezone)<o:p></o:p></pre>
<pre> * <a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.asipto.com%2Fsw%2Fkamailio-advanced-training-online%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990965750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=ehw6onALMvWGPIEjq4HQZxrP4muNE4r0ntazRtTtAIk%3D&reserved=0" moz-do-not-send="true">https://www.asipto.com/sw/kamailio-advanced-training-online/</a><o:p></o:p></pre>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<pre>__________________________________________________________<o:p></o:p></pre>
<pre>Kamailio - Users Mailing List - Non Commercial Discussions<o:p></o:p></pre>
<pre> * <a href="mailto:sr-users@lists.kamailio.org" moz-do-not-send="true" class="moz-txt-link-freetext">sr-users@lists.kamailio.org</a><o:p></o:p></pre>
<pre>Important: keep the mailing list in the recipients, do not reply only to the sender!<o:p></o:p></pre>
<pre>Edit mailing list options or unsubscribe:<o:p></o:p></pre>
<pre> * <a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990965750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=XJtCHNvDc354q25irJ6DYFUoSPPw%2FtC8nXPc0GZu3NM%3D&reserved=0" moz-do-not-send="true">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><o:p></o:p></pre>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre>Daniel-Constantin Mierla -- <a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990965750%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=TnSHmnSeswhQhNdUicYa0XnlV9ts7n0tUPyfAOl97KM%3D&reserved=0" moz-do-not-send="true">www.asipto.com</a><o:p></o:p></pre>
<pre><a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990975711%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=zTwUcRryqHHXpjH1AHfW747nOAZsFQfAqjse00GyoTc%3D&reserved=0" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990975711%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=kBfvIpDAi6%2Fo7p%2ByC0tbz1AOrw4Ku2PdFp9JNOs9QkU%3D&reserved=0" moz-do-not-send="true">www.linkedin.com/in/miconda</a><o:p></o:p></pre>
<pre>Kamailio Advanced Training - Online<o:p></o:p></pre>
<pre> Feb 21-24, 2022 (America Timezone)<o:p></o:p></pre>
<pre> * <a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.asipto.com%2Fsw%2Fkamailio-advanced-training-online%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7Cd99fd09975ff46f9a2a808d9bb358e16%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637746660990975711%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=JZMpIU65eFPz%2Bm53rjO7JXSuSFfLNfupZOGPM2%2BvJ28%3D&reserved=0" moz-do-not-send="true">https://www.asipto.com/sw/kamailio-advanced-training-online/</a><o:p></o:p></pre>
</div>
</blockquote>
<pre class="moz-signature" cols="72">--
Daniel-Constantin Mierla -- <a class="moz-txt-link-abbreviated" href="http://www.asipto.com">www.asipto.com</a>
<a class="moz-txt-link-abbreviated" href="http://www.twitter.com/miconda">www.twitter.com/miconda</a> -- <a class="moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - Online
Feb 21-24, 2022 (America Timezone)
* <a class="moz-txt-link-freetext" href="https://www.asipto.com/sw/kamailio-advanced-training-online/">https://www.asipto.com/sw/kamailio-advanced-training-online/</a></pre>
</body>
</html>