User Tools

Site Tools


tutorials:faq:main

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
tutorials:faq:main [2020/10/19 21:05]
miconda
tutorials:faq:main [2021/08/27 08:02]
miconda [Media Streams]
Line 360: Line 360:
  
 !!! No, //however// Kamailio can be configured to proxy media if needed.  !!! No, //however// Kamailio can be configured to proxy media if needed. 
-  * [[http://www.kamailio.org/docs/modules/stable/|See rtpproxy, iptrtpproxyand mediaproxy]]+  * [[http://www.kamailio.org/docs/modules/stable/|See rtpengine, rtpproxy, lrkproxyor mediaproxy]]
  
 ??? What codecs are supported by Kamailio? ??? What codecs are supported by Kamailio?
Line 606: Line 606:
  
 However, if return code is 0, the next action after function() is not executed. It can be used only of positive or negative response code. However, if return code is 0, the next action after function() is not executed. It can be used only of positive or negative response code.
 +
 +On the other hand, the pseudo-variables (including $rc) have to be compared as an integer, the rules for evaluating return code of the functions do not apply, for example:
 +
 +<code c>
 +$var(x) = 0;
 +if($var(x) == 0) {
 +  # do something
 +}
 +</code>
 +
 +To compare the return code of a function with a number is recommended to use the value stored in $rc, because the priority of the operators can convert function return code to internal-true or internal-false. Therefore the next approach should be used:
 +
 +<code c>
 +function_returns_four();
 +$var(rc4) = $rc;
 +if($var(rc4)==4) {
 +   # it goes here
 +} else {
 +   # it doesn't go here
 +}
 +...
 +function_returns_two();
 +$var(rc2) = $rc;
 +if($var(rc4)==$var(rc2)) {
 +   # it doesn't go here
 +} else {
 +   # it goes here
 +}
 +...
 +if (function_returns_four() && $rc ieq 6 ) {
 +   # it doesn't go here
 +} else if ($rc ieq 4) {
 +   # it goes here
 +} else {
 +   # it doesn't go here
 +}
 +</code>
 +
 +Note that $rc is overwritten by a new function call, therefore store its value in another variable (like $var(...)) if it is needed for longer time.
 +
 +For pseudo-variables, the non-zero value is evaluated to true and zero to false, for example:
 +
 +<code c>
 +$var(x) = 1;
 +if($var(x)) {
 +  # do something
 +}
 +</code>
  
 ??? How is the SIP request retransmission handled? ??? How is the SIP request retransmission handled?
tutorials/faq/main.txt ยท Last modified: 2021/08/27 08:11 by miconda