Hello,
I've noticed that 90% of my SIP traffic is REGISTER requests. I am trying to implement some sort of caching mechanism (which will inherently be faster than doing a RADIUS lookup on every REGISTER request) using exec and a perl script which does a lookup from a memory-cached file.
I'm using exec_msg() to call the perl script; however it is not behaving as I would expect.
Here's the code snippet from my SER config.
if (exec_msg("/usr/local/bin/check_register.pl")) { break; } else { if (!radius_www_authorize("")) {
I am just in preliminary testing stage so I have the perl script merely exiting with 0 status. exec documentation is not clear as to whether it uses the shell return codes to determine the exit status of exec_msg
If I am exit(0)ing from the perl script I would expect the if( to fail, not break and do the radius_www_authorize. Is that not correct?
Thanks for the help!
Regards, Daniel Corbe
Daniel, A quick advice: Replacing RADIUS auth with exec_msg will not be faster. The overhead associated with forking etc is far higher than sending out the RADIUS message. exec_msg is known to make ser hang if too many processes are forked at the same time. g-)
Daniel Corbe wrote:
Hello,
I've noticed that 90% of my SIP traffic is REGISTER requests. I am trying to implement some sort of caching mechanism (which will inherently be faster than doing a RADIUS lookup on every REGISTER request) using exec and a perl script which does a lookup from a memory-cached file.
I'm using exec_msg() to call the perl script; however it is not behaving as I would expect.
Here's the code snippet from my SER config.
if (exec_msg("/usr/local/bin/check_register.pl")) { break; } else { if (!radius_www_authorize("")) {
I am just in preliminary testing stage so I have the perl script merely exiting with 0 status. exec documentation is not clear as to whether it uses the shell return codes to determine the exit status of exec_msg
If I am exit(0)ing from the perl script I would expect the if( to fail, not break and do the radius_www_authorize. Is that not correct?
Thanks for the help!
Regards, Daniel Corbe
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Hello
not counting one could spread the load among various RADIUS servers and that some servers can also cache the user auth tables, which speeds things up a bit more
Cheers !3runo
Greger V. Teigre wrote:
Daniel, A quick advice: Replacing RADIUS auth with exec_msg will not be faster. The overhead associated with forking etc is far higher than sending out the RADIUS message. exec_msg is known to make ser hang if too many processes are forked at the same time. g-)
Daniel Corbe wrote:
I've noticed that 90% of my SIP traffic is REGISTER requests. I am trying to implement some sort of caching mechanism (which will inherently be faster than doing a RADIUS lookup on every REGISTER request) using exec and a perl script which does a lookup from a memory-cached file.