In modules/rtpengine/rtpengine.c:

>  	}
>  
>  	if (body_out)
>  		*body_out = body;
>  
> +	if (op == OP_DELETE) {
> +		/* Delete the key<->value from the hashtable */
> +		if (!rtpengine_hash_table_remove(&callid)) {

I understand the problem that may appear in that case you said. However, I don't understand why resetting the expiry so something smaller would solve this. Proposals:
1. reset the timer to the hash_entry_tout value
2. also consider from-tag, to-tag, maybe via-branch id (add them in the hash table entry). Then match them all, when deleting the entry; thus the deletion can be done right-away.

I'd go for 2. What do you think?


Reply to this email directly or view it on GitHub.