On Wed, May 02, 2018 at 08:52:03PM +0300, George Diamantopoulos wrote:
- Will $_s() work before the routing part of the
config file, and
specifically with pre-processor definitions? For example in the following:
modparam("nathelper", "sipping_from",
$_s(sip:keepalive@SIP_REALM_DEFINITION
))?
No. Transformations work in route script only.
- Will providing PVs in a dynamic string work with all
functions, even for
those currently not supporting string concatenation? E.g.:
append_hf_value("P-Asserted-Identity", "<$var(new_pai)>");
Only for functions which support PV interpolation. That's most
functions nowadays, but not some of the older ones from OpenSER <= 1.2.
If yes, I assume this will only work for PVs, as
preprocessor defined
strings won't be substituted if the parser finds their labels enclosed in
quotes. In other words, the following won't work:
append_hf_value("P-Asserted-Identity",
"<$var(new_pai);SOME_DEF>");
It will if SOME_DEF was defined via #!subst.
- I assumed this would work in the first example, but
maybe I should ask
explicitly. Will pre-processor defines work with the $_s() PV? Is this
valid at all?
$_s($ru;SOME_PREPROC_DEF=$var(value))
Not if SOME_PREPROC_DEF is a #!defined constant, no. But it will work if
it's a #!subst, as is also the case if it appears in strong constants.
#!subst "/SOME_PREPROC_DEF/xyz/"
$var(x) = 'abc123';
xlog("L_INFO", "$_s($ru;SOME_PREPROC_DEF=$var(x))\n");
May 02 13:57:42
allegro-1.evaristesys.com /usr/local/sbin/kamailio[13998]: INFO:
<script>: sip:s@10.150.20.2;xyz=abc123
-- Alex
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web:
http://www.evaristesys.com/,
http://www.csrpswitch.com/