Hi, thank you!

Probably the subject of this email is slightly misleading, the actual issue that we have is that kamailio sticks to the rtpengine node selected in the beginning of the call.
If rtpengine node goes down and there are active calls, kamailio continues to try to communicate with it, when it is already inactive:

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

Regards,
Arsenijs




From: Kiss Zoltán <kiss.zoltan@adertis.hu>
Sent: Tuesday, June 13, 2023 9:19
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: [SR-Users] Re: Cannot achieve rtpengine HA
 

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:

https://github.com/kamailio/kamailio/issues/2713#issuecomment-823138302

 

Please advise how it can be solved.

 

Kind regards,

Arsenijs