Re: RTPEngine and branch_route

David Tek via sr-users <[email protected]>
Newsgroups gmane.comp.voip.ser
Message-ID <CAE1ziPuDeXr7CeDvx+UonOYjC+ckPGW+J+fCi02pA6_pe5YEoA@mail.gmail.com>
Ihor,

Thanks for the reply,

I actually tried using via-branch=extra to resolve my issue, and I almost
had it fixed but couldn't figure out what the ;branch= would contain on the
outbound branch. If I hadn't gotten a solution from Richard, I was going to
write the via-branch=$T_Branch_idx  on the request and the last character
of the branch= of the top via header as the via-branch= on the reply.

However, I like Richard's solution better, it seems safer.

I do like the idea of using the branch id to track client type, though I
was using parameters on the Route headers.

Thanks.

David

On Thu, Aug 7, 2025 at 11:10 AM Ihor Olkhovskyi via sr-users <
[email protected]> wrote:

> David,
>
> I'm having exact the same setup with different type of clients behind
> Kamailio.
>
> I'm using approach like
>
> modparam("rtpengine", "extra_id_pv", "$avp(via_branch_extra_id)")
>
> ...
> $avp(via_branch_extra_id) = "srtp"; # For one type of clients
> ...
> $avp(via_branch_extra_id) = "dtls"; # For other type of clients
> ...
> rtpengine_manage("... via-branch=extra")
> ....
> So, basically relying not on Via branch, but client type.
>
> Maybe this will give a hint
>
> Le jeu. 7 août 2025 à 03:07, David Tek via sr-users <
> [email protected]> a écrit :
>
>> Hello,
>>
>> Using Kamailio 6.0.2.
>>
>> I'm running a registrar that can fork incoming calls to two or more
>> registered users. Some users are WebRTC and others are not, so RTPEngine
>> needs to handle them differently.
>>
>> In the branch route, I call:
>> rtpengine_manage("via-branch=auto replace-origin");
>>
>> However, the via-branch passed to RTPEngine doesn't match the branch ID
>> of the actual INVITEs sent out.
>>
>> When one branch answers, the others get a CANCEL, but the CANCEL/200 OK
>> sent to RTPEngine includes a different via-branch than the one used for
>> the original INVITE. This causes media handling issues.
>>
>> I saw that the docs suggest using $T_branch(name) or AVPs to set the
>> correct branch name, but $T_branch(name) seems deprecated or removed.
>>
>> In previous setups, branching was done on a separate instance, so
>> identifying the right branch was easier. Now that it's local, I’m unsure
>> how to arm rtpengine_manage() with the correct via-branch.
>>
>> *TL;DR:*
>> When doing local forking, how can I set the correct via-branch value for
>> each leg in rtpengine_manage()?
>>
>> Thanks,
>> David
>>
>> __________________________________________________________
>> Kamailio - Users Mailing List - Non Commercial Discussions --
>> [email protected]
>> To unsubscribe send an email to [email protected]
>> Important: keep the mailing list in the recipients, do not reply only to
>> the sender!
>>
>
>
> --
> Best regards,
> Ihor (Igor)
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions --
> [email protected]
> To unsubscribe send an email to [email protected]
> Important: keep the mailing list in the recipients, do not reply only to
> the sender!
>

__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the sender!
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.