Hi David,

Whence the impression that sets aren't compatible with rtpengine_manage()?

https://kamailio.org/docs/modules/5.7.x/modules/rtpengine.html#rtpengine.f.set_rtpengine_set

   "Sets the ID of the RTP proxy set to be used for the next 
rtpengine_delete(), 
    rtpengine_offer(), rtpengine_answer() or rtpengine_manage() command. The 
parameter 
    can be an integer or a config variable holding an integer."

Or are you using an earlier version of Kamailio in which this may not have been 
true?

-- Alex

> On 8 Nov 2023, at 18:52, David Cunningham <[email protected]> wrote:
> 
> Hi Alex,
> 
> Thank you for the reply. We use a large weight of 99999999 to send almost all 
> calls to the 22.x and 33.x servers without using sets. We avoided sets 
> because our Kamailio configuration uses rtpengine_manage(), which according 
> to the documentation is not compatible with set_rtpengine_set(). I'll try it 
> without the 11.x server and the large weights, and see if the calls are 
> evenly distributed between the 22.x and 33.x servers then.
> 
> Thanks again.
> 
> 
> On Thu, 9 Nov 2023 at 10:25, Alex Balashov via sr-users 
> <[email protected]> wrote:
> Hi,
> 
> From the docs:
> 
> "The balancing inside a set is done automatically by the module based on the 
> weight of each RTPEngine from the set. The default weight is 1, if another 
> RTPEngine should be used twice as often as the first one, one would specify 
> the weight 2 for this server, for example."
> 
> I am unsure as to what effect such large values as 99999999 might have on 
> this arithmetic.
> 
> It seems to me that if what you really want to accomplish is to evenly 
> distribute calls between 22.22.22.22 and 33.33.33.33, with 11.11.11.11 only 
> as a last-resort backup, then you should put the first two into one naive set 
> without any weights, e.g.
> 
>    modparam("rtpengine_sock", "1 == udp:22.22.22.22:7724 
> udp:33.33.33.33:7724")
> 
> Then put 11.11.11.11 into a set of its own:
> 
>    modparam("rtpengine_sock", "2 == udp:11.11.11.11:22724")
> 
> By default, set 1 should be invoked:
> 
>    set_rtpengine_set("1");
>    rtpengine_{offer,manage}("...");
> 
> According to the docs, rtpengine_offer() will return a negative value if 
> there is a failure of both:
> 
>    "The function will return true on success and false (-1) on various 
> failures, like 
>     using rtp_engine_offer() on a SIP MESSAGE request or communication with 
> rtpengine fails."
> 
> Presumably, rtpengine_manage() does the same. Accordingly, you can do 
> something like:
> 
>    set_rtpengine_set("1");
> 
>    if(!rtpengine_offer("...")) {
>        if($rc == -1) {
>            set_rtpengine_set("2"); 
>            rtpengine_offer("...");
>        }
>    }
> 
> Exact details and your mileage may vary.
> 
> -- Alex
> 
> > On 8 Nov 2023, at 15:33, David Cunningham via sr-users 
> > <[email protected]> wrote:
> > 
> > Hello,
> > 
> > We have a Kamailio configuration with the following, however all the load 
> > is going to the server at 22.22.22.22 (hiding the real IP obviously) 
> > instead of being shared evenly between 22.22.22.22 and 33.33.33.33. Can 
> > anyone please tell me why? The rtpengine server at 11.11.11.11 is intended 
> > to only receive calls if the other two are offline. Thank you very much.
> > 
> > #!define RTPENGINE_ADDR "udp:11.11.11.11:7724=1 
> > udp:22.22.22.22:7724=99999999 udp:33.33.33.33:7724=99999999"
> > 
> > modparam( "rtpengine", "rtpengine_sock", RTPENGINE_ADDR )
> > 
> > -- 
> > David Cunningham, Voisonics Limited
> > http://voisonics.com/
> > USA: +1 213 221 1092
> > New Zealand: +64 (0)28 2558 3782
> > __________________________________________________________
> > Kamailio - Users Mailing List - Non Commercial Discussions
> > To unsubscribe send an email to [email protected]
> > Important: keep the mailing list in the recipients, do not reply only to 
> > the sender!
> > Edit mailing list options or unsubscribe:
> 
> -- 
> Alex Balashov
> Principal Consultant
> Evariste Systems LLC
> Web: https://evaristesys.com
> Tel: +1-706-510-6800
> 
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions
> To unsubscribe send an email to [email protected]
> Important: keep the mailing list in the recipients, do not reply only to the 
> sender!
> Edit mailing list options or unsubscribe:
> 
> 
> -- 
> David Cunningham, Voisonics Limited
> http://voisonics.com/
> USA: +1 213 221 1092
> New Zealand: +64 (0)28 2558 3782

-- 
Alex Balashov
Principal Consultant
Evariste Systems LLC
Web: https://evaristesys.com
Tel: +1-706-510-6800

__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!
Edit mailing list options or unsubscribe:

Reply via email to