Hi,
We've builld a set of rtpeniges (tag 11.1.24 compiled for arm) and have been experimenting with the active-switch over setting. We want to scale our set of rtpengines in and out and we don't want to make the kamailio SBC constantly aware of the specifics of which rtpengines use what addresses for rtp. It would be nice if we could use only the direction flags, which is possible if you don't use failover. But we want to use it with the --active-switchover setting in case of failure. It seems to me that this is not a supported usecase and we either need to not use --active-switchover at all or create some super hacky code on the kamailio SBC. But this could just be me not understanding the docs.
We've setup the rtpengines with their own set of floating addresses one public one private, on different NICs. It will also have two routes to the outside, one over a direct connect(with no NAT) and one over and internet gateway (with NAT) It seems from the wiki page about active-switchover that you would also have to setup all the interfaces of all the other machines in every config file.
https://github.com/sipwise/rtpengine/wiki/Redis-keyspace-notificationsSo the interface line will contain 3 times the number of rtpengines. private, public(DNAT) and external (just public). With our 8 sets of IPs we would have something quite large but Here is what it would look like with 2 sets IPs
interfaces = pub/nonfloatingPrivateIP!publicFloaitingIP1;ext/PublicFloatingIP
1;priv/PrivateFloatingIP
1;pub/nonfloatingPrivateIP!publicFloaitingIP
2;ext/PublicFloatingIP2;priv/PrivateFloatingIP
2Where the other rtpengine should have
interfaces = pub/nonfloatingPrivateIP!publicFloaitingIP
2;ext/PublicFloatingIP
2;priv/PrivateFloatingIP
2;pub/nonfloatingPrivateIP!publicFloaitingIP
1;ext/PublicFloatingIP
1;priv/PrivateFloatingIP
1This creates a new problem that the rtpengine that gets failed over to will use the first pub in the list of interfaces to open the port. so if we use ext. The call setup by rtpengine
1 will use PublicFloatingIP
1 and the failover rtpengine
2 will open that port on PublicFloatingIP
2.
If we set it up like in the wiki page the SDP does not get rewritten with ext since we still use direction ext not ext
X. If we also add the number to the direction it works but this creates a kind of difficult spot with the kamailio code where we have to alter the params based on the targeted rtpengine (ext1,2 ext2 ... ).
Is there anyway to just let the kamailio worry about the rough direction of the call without having to customize the
rtpengine_manage parameters for the specific rtpengine we are choosing?. It is also not clear to me If we can know which one will be chosen?
Is this situation outlined above simply not supported by the current implementation of the rtpegine?
PS, I might have totally misread the wiki page but I was unable to find any example that combines the multiple directions feature, multiple interfaces and the --active-switchover.