BelledonneCommunications / flexisip

Linphone.org mirror for flexisip (git://git.linphone.org/flexisip.git)
http://flexisip.org
GNU Affero General Public License v3.0
140 stars 68 forks source link

fork-late group call when none initially registered, doesn't fork any #137

Open smititelu opened 2 years ago

smititelu commented 2 years ago

Hi,

I am trying the fork-late option with a (static-file) group call and I found the issue that it needs at least one of the group member to be REGISTER(ed) first, before group INVITE, so the next group members that REGISTER later to receive that forked INVITE.

If no group members initially registered, fork-late does not work for group members that REGISTER later; no forked INVITE is sent by flexisip.

Debugging the master branch code, I've found this function ForkContextBase::addBranch(). This part of the code inside the function does not get called for any of the late group members, if no group members are initially registered:

        if (mCurrentPriority != -1 && mCurrentPriority <= br->mPriority) {
                mCurrentBranches.push_back(br);
                mAgent->injectRequestEvent(br->mRequest);
        }

I am currently thinking how to make this work, but so far haven't found any solution that won't make flexisip "Abort()".

Let me know if you are aware of this issue and can give me some code advice to try.

Thank you, Stefan