Description

When called from within an event_route[tm:branch-failure:id], rtpengine_manage() will do an offer instead of a delete, resulting in duplicated sdp lines in body. Is this an omission or is it intentional?

Troubleshooting

Reproduction

event_route[tm:branch-failure:DISPATCH_PROVIDER_FAILOVER] {

    rtpengine_manage("trust-address replace-origin replace-session-connection");

    # next DST - only for 5xx or local timeout
    if ( t_check_status("5[[:digit:]]+") || (t_branch_timeout() && !t_branch_replied()) ) {
        if ( ds_next_dst() ) {
            xlog("L_NOTICE", "--- SCRIPT_DISPATCH_PROVIDER_FAILOVER: A failover destination was selected: Forwarding to $du\n");
            t_on_branch("PROVIDER_BRANCH");
            t_on_branch_failure("DISPATCH_PROVIDER_FAILOVER");
            t_on_failure("NEXT_PROVIDER");
            route(RELAY);
            exit;
        } else {
            xlog("L_NOTICE", "--- DISPATCH_PROVIDER_FAILOVER: PROVIDER DOWN! Failed to route request to provider! Giving Up. Negative response will be sent upstream.\n");
        }
    }
}

Possible Solutions

Explicitly use rtpengine_delete() instead.

Additional Information

version: kamailio 5.3.2 (x86_64/linux) 
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown 
compiled with gcc 8.3.0
Debian 10.3
Linux #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.