[SR-Users] carrierroute cr_route fails with pvars

Ole Kaas obk at tet.dk
Thu May 13 18:40:18 CEST 2010


Den 03/05/2010 kl. 12.13 skrev marius zbihlei:
> You are right, if you use 2 PV in the cr_route function things will go badly.
> 
> The reason is that the core function get_str_fparam() returns a pointer to a static buffer, and in total there are three(3) static buffers to return, so after a fourth call the first value (if cached which is the case in your proof) will be overwritten by the fourth. A solution is to increase the number of buffers to a number larger than 3 (but still small - keep in mind that each buffer is 1kB). I have tested with 6 and it works.
> 

So maybe this can't be fixed (easily) without a performace penalty? At least a note in the doc would have saved me some trouble - or maybe an error message in the log (if possible). 

> Please modify PV_PRINT_BUF_NO in sr_module.c(line 1418) to a larger value , compile and retest.
> 

Ok, I'll check it out when I upgrade to 3.0.1 or later. For now I've made a workaround in the config with some "if" constructs.

Thanks,
Ole
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20100513/f4e77d0b/attachment.htm>


More information about the sr-users mailing list