[SR-Users] Call Group versus MAX_BRANCHES limit
Carlos Ruiz Díaz
carlos.ruizdiaz at gmail.com
Tue Sep 30 15:05:37 CEST 2014
would it be inappropriate to increase the branch number to the maximum
possible, by default?
On Tue, Sep 30, 2014 at 5:28 AM, Daniel-Constantin Mierla <miconda at gmail.com
> On 29/09/14 22:47, João Vitor Arruda wrote:
> Hi folks,
> I have a question related with the limited number of branches being 12
> in config.h
> #define MAX_BRANCHES 12 /*!< maximum number of branches
> per transaction */
> I am trying to implement a Call Group that consists in trying each
> member of the group (that can result in a parallel forking when lookup() is
> used) in sequence (similar to serial forking).
> Currently I have written code that is similar to the one described here:
> The only difference is that for each member I call lookup() and then in
> the failure_route(), I pull the next member from the stack and call
> lookup() again. The code works fine when used for groups with less than 12
> members. However, call groups with 12 or more members fails as I can never
> reach remaining extensions once MAX_BRANCHES limit is reached.
> I've tried another approach using the functions described here:
> but it too uses a new branch for every group member until the 12 limit
> is reached out.
> I also tried to use the functions "remove_branch(index)" and
> "clear_branches()" (both of which are poorly documented. In fact the only
> reference I ever found for these functions was here:
> Unfortunately, I wasn't able to prevent the MAX_BRANCHES limit from being
> Ultimately, my goal is to have a limitless Call Group. Do you have any
> suggestions? (other than increasing the hard coded MAX_BRANCHES limit)
> the easiest is probably recompiling with more branches. There was someone
> saying that he is going to submit a patch on making the number of branches
> more dynamic, but I haven't seen it back.
> From routing point of view, you can try a workaround with:
> - append 11 branches to the same sip address (see append_branch()
> function) and relay
> - be sure you allow traffic from server itself
> - now you get 12 INVITE coming back to kamailio, so you get 12 INVITE
> requests and you can set 12 different destinations for each, ending up with
> 144 over-all branches in the group call
> - if you need more, you can loop back again one or more of those INVITE
> requests with branches pointing to same SIP address
> Daniel-Constantin Mierlahttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the sr-users