[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


Hi Daniel,

would it be inappropriate to increase the branch number to the maximum
possible, by default?

Regards,
Carlos

On Tue, Sep 30, 2014 at 5:28 AM, Daniel-Constantin Mierla <miconda at gmail.com
> wrote:

>  Hello,
>
>
> 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:
>
>
> http://www.kamailio.org/dokuwiki/dokuphp/tutorials:avpops#serial_forking
>
>  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:
>
>
> http://kamailio.org/docs/modules/4.1.x/modules/tm.html#tm.serial_forking
>
>  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:
> http://www.kamailio.org/wiki/features/new-in-3.2.x#functions).
> Unfortunately, I wasn't able to prevent the MAX_BRANCHES limit from being
> reached.
>
>  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
>
> Cheers,
> Daniel
>
> --
> 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
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>


-- 
Carlos
http://caruizdiaz.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20140930/cbeede48/attachment.html>


More information about the sr-users mailing list