Thank you for all of the references, Alex.

I’m still experimenting a bit but have a much better grasp on how things can be 
done.

Much appreciated.


> On Dec 13, 2019, at 12:47, Alex Balashov <[email protected]> wrote:
> 
> Hello Michael,
> 
> There are internal API functions which handle pseudovariable
> interpolation in string arguments, e.g. pv_get_spec_value().
> 
> You can see one-off uses of this for example in the fixup functions
> (functions which preliminarily process and validate arguments, often,
> but not always beginning with w_, for "wrapper"). 
> 
> You can see how this works in the 'uac' module, for example:
> 
> https://github.com/kamailio/kamailio/blob/master/src/modules/uac/auth.c#L266
> 
> But in my opinion, the most sensible packaging of this functionality is
> done in the dispatcher module. You'll note that ds_select_*() share a
> wrapper called w_ds_select_addr():
> 
> https://github.com/kamailio/kamailio/blob/master/src/modules/dispatcher/dispatcher.c#L549
> 
> There is this nice macro, proprietary to the dispatcher module, called
> GET_VALUE():
> 
> https://github.com/kamailio/kamailio/blob/master/src/modules/dispatcher/dispatcher.c#L560
> 
> That's defined here:
> 
> https://github.com/kamailio/kamailio/blob/master/src/modules/dispatcher/dispatcher.c#L507
> 
> And it takes advantage of a core API function called get_is_fparam():
> 
> https://github.com/kamailio/kamailio/blob/master/src/core/sr_module.c#L1656
> 
> As you can see, it can evaluate all kinds of interpolated values.
> 
> So, I'd just use that.
> 
> -- Alex
> 
> On Fri, Dec 13, 2019 at 12:10:02PM -0600, Michael Iedema wrote:
> 
>> Hi all,
>> 
>> I’m trying to write a basic Kamailio module from scratch and have run into 
>> an area where I’m in need of a couple pointers (pun not intended). :-) I 
>> have the module loading correctly and can call a function in my routing 
>> script like this:
>> 
>> mymod_getinfo(“5551234”);
>> 
>> This, for now, just triggers a print of the submitted parameter.
>> 
>> What I’d like to do next is have it accept and print the From URI in 
>> configuration script like so:
>> 
>> mymod_getinfo(“$fU”);
>> 
>> For now, this prints the string literal of “$fU” and I’m trying to extract 
>> the value of the referenced variable and print that. The example module 
>> “print” does not involve this concept of pseudo-variables. The skeleton 
>> module example in the wiki also does not mention variables.
>> 
>> I’ve looked into other modules to see how it works but they all seem to have 
>> a slightly different handling of this task. Can someone point me to an 
>> example in the modules which accomplishes this?
>> 
>> What I’ve been searching for is a replace_all function which accepts a 
>> string containing pseudo-variables and returns a new string with them all 
>> replaced with their corresponding values.
>> 
>> Thanks in advance and apologies if I’ve overlooked a relevant piece of 
>> developer documentation or if I’m looking at this incorrectly.
>> 
>> Regards,
>> -Michael
>> 
>> 
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> [email protected]
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> 
> -- 
> 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/
> 
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> [email protected]
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users


_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to