On 03.03.22 14:47, Rhys Hanrahan wrote:

Yes, from what I’ve seen in the logs there are multiple branches happening. One between Teams and Kamailio and one between Kamailio and Asterisk.

That's just one branch; the incoming call doesn't count. "Real" additional branches are created by calling functions like "append_branch".

You should definitely ensure (by adding appropriate logging calls) that "rtpengine_manage" is called exactly once per outgoing application/sdp message, with all requisite arguments(*). Anything else is a recipe for confusion. In my experience that's sufficient(**) to get it all working quite nicely.

(*) "trust-address replace-origin replace-session-connection", plus either RTP/AVP or RTP/SAVP

(**) unless the opposite end is broken. Right now, for instance, talking to Zoom Europe requires a heap of "SDES-no-RANDOM_CRYPTO_ALGORITHM" arguments, for both incoming and outgoing calls. Discovering that fix was decidedly nontrivial.

-- 
-- regards
-- 
-- Matthias Urlichs