Hi,
You have to move the IP address of the original rtpengine node to the „failover” node also.
All of the virtual interfaces must exist on both nodes and you have to enable non local IP bind support in the Linux kernel to achive this.
Regards,
Zoltan
From: Arsenijs Kabihno <a.kabihno@dynatech.lv>
Sent: Monday, June 12, 2023 9:18 AM
To: sr-users@lists.kamailio.org
Subject: [SR-Users] Cannot achieve rtpengine HA
Hello,
We are trying to achieve rtpengine HA solely with kamailio and rtpengine module.
In the following example call goes to rtpengine node 10.5.0.183:22222 and then we stop rtpengine service on this node to simulate failure.
Client is triggering re-INVITE, but, apparently, kamailio sticks to initially selected rtpengine, producing the following errors:
Jun 12 06:59:48 ap07stvp.xxxxxxx.xxx docker[9373]: 27(33) INFO: {2 2 INVITE jdl9kq6fv51jcv1agk2e} <script>: RTPENGINE branch_id:0 ruri: <null>, method:INVITE, status:200, extra_id: z9hG4bK55018600,
rtpengine_answer: replace-origin replace-session-connection SIP-source-address direction=priv1 direction=pub1 SIP-source-address via-branch=extra rtcp-mux-offer generate-mid DTLS=passive SDES-off ICE=force RTP/SAVPF
Jun 12 06:59:49 ap07stvp.xxxxxxx.xxx docker[9373]: 27(33) NOTICE: {2 2 INVITE jdl9kq6fv51jcv1agk2e} acc [acc.c:287]: acc_log_request(): ACC: transaction answered: timestamp=1686553189;method=INVITE;from_tag=fcn109nfe9;to_tag=01284cc8-bc58-4104-9629-8e6bb827d97f;call_id=jdl9kq6fv51jcv1agk2e;code=200;reason=OK;src_user=90362;src_domain=10.181.0.1;src_ip=10.5.0.145;dst_ouser=123;dst_user=123;dst_domain=10.181.0.1
Jun 12 06:59:49 ap07stvp.xxxxxxx.xxx docker[9373]: 31(37) INFO: {2 2 INVITE jdl9kq6fv51jcv1agk2e} <script>: RTPENGINE branch_id:0 ruri: <null>, method:INVITE, status:200, extra_id: z9hG4bK55018600,
rtpengine_answer: replace-origin replace-session-connection SIP-source-address direction=priv1 direction=pub1 SIP-source-address via-branch=extra rtcp-mux-offer generate-mid DTLS=passive SDES-off ICE=force RTP/SAVPF
Jun 12 06:59:49 ap07stvp.xxxxxxx.xxx docker[9373]: 51(57) INFO: {1 2 ACK jdl9kq6fv51jcv1agk2e} <script>: RTPENGINE branch_id:0 ruri:
sip:10.5.2.192:5060, method:ACK, status:<null>, extra_id: <null>, rtpengine_offer: replace-origin replace-session-connection SIP-source-address direction=pub1 direction=priv1 SIP-source-address rtcp-mux-demux DTLS=off SDES-off
ICE=remove RTP/AVP
Jun 12 06:59:49 ap07stvp.xxxxxxx.xxx docker[9373]: 51(57) INFO: {1 2 ACK jdl9kq6fv51jcv1agk2e} <script>: RTPENGINE branch_id:0 ruri:
sip:10.5.2.192:5060, method:ACK, status:<null>, extra_id: <null>, rtpengine_offer: replace-origin replace-session-connection SIP-source-address direction=pub1 direction=priv1 SIP-source-address rtcp-mux-demux DTLS=off SDES-off
ICE=remove RTP/AVP
Jun 12 07:01:26 ap07stvp.xxxxxxx.xxx docker[9373]: 27(33) INFO: {2 3 INVITE jdl9kq6fv51jcv1agk2e} <script>: RTPENGINE branch_id:0 ruri: <null>, method:INVITE, status:200, extra_id: z9hG4bK20888040,
rtpengine_answer: replace-origin replace-session-connection SIP-source-address direction=priv1 direction=pub1 SIP-source-address via-branch=extra rtcp-mux-offer generate-mid DTLS=passive SDES-off ICE=force RTP/SAVPF
Jun 12 07:01:26 ap07stvp.xxxxxxx.xxx docker[9373]: 27(33) ERROR: {2 3 INVITE jdl9kq6fv51jcv1agk2e} rtpengine [rtpengine.c:3070]: send_rtpp_command(): can't send command "offer" to RTPEngine <udp:10.5.0.183:22222>
Jun 12 07:01:26 ap07stvp.xxxxxxx.xxx docker[9373]: 54(60) INFO: {1 3 ACK jdl9kq6fv51jcv1agk2e} <script>: RTPENGINE branch_id:0 ruri:
sip:10.5.2.192:5060, method:ACK, status:<null>, extra_id: <null>, rtpengine_offer: replace-origin replace-session-connection SIP-source-address direction=pub1 direction=priv1 SIP-source-address rtcp-mux-demux DTLS=off SDES-off
ICE=remove RTP/AVP
Jun 12 07:01:26 ap07stvp.xxxxxxx.xxx docker[9373]: 54(60) ERROR: {1 3 ACK jdl9kq6fv51jcv1agk2e} rtpengine [rtpengine.c:2706]: rtpp_function_call(): no available proxies
We also found Daniel answer on similar issue here:
Please advise how it can be solved.
Kind regards,
Arsenijs