On 09.02.2016 10:13, Juha Heinanen wrote:
My understanding has been that rtpengine_delete() without a branch param,
should delete the whole call specified by just the callid.  Is that not
the case?
It deletes the call. The question is to which rtpengine machine is the delete() command sent. Right now the matching is done based on both callid and viabranch, no matter the command. So this scenario might happen:

offer:
    (callid, viabranch1) -> node1
    (callid, viabranch2) -> node1

delete:
    (callid, "") -> node X (the lookup failed, because "" is not found among viabranch1/2, and thus a new node is selected)

I think this scenario should be considered, and node1 to be returned also for (callid, ""), right?

Regards,
Stefan