On Mon, May 28, 2018 at 04:55:30PM +0200, [email protected] wrote:
> I know that the default behaviour of two aliases in kamailio.aliases result
> in parallel forking.
> 
> I'm wondering if its possible to do serial forking instead? For example, in
> case that the first INVITE has no 180/183, or neither 100 Trying, then send
> the INVITE to the second entry?

Offcourse, fiddle with t_set_fr on a per call basis or the
fr_inv_timer/fr_timer:
http://www.kamailio.org/docs/modules/5.2.x/modules/tm.html#tm.f.t_set_fr

SERIALRELAY is used in stead of the normal RELAY route, it loads available
endpoints with t_load_contacts:
http://www.kamailio.org/docs/modules/5.2.x/modules/tm.html#tm.f.t_load_contacts
and fetches the first one with t_next_contacts.
In the failure route keep calling t_next_contacts till there are no more.

route[SERIALRELAY] {
        if (is_method("INVITE|SUBSCRIBE")) {
                t_on_branch("MANAGE_BRANCH");
                t_on_reply("MANAGE_REPLY");
        }
        if (is_method("INVITE")) {
                t_load_contacts();
                t_next_contacts();

                t_on_failure("SERIAL_FAILURE");
        }

        if (!t_relay()) {
                sl_reply_error();
        }

        break;
}

failure_route[SERIAL_FAILURE] {
        if (!t_next_contacts())
        {
                send_reply("408","Timeout or nobody available");

                exit;
        }

        t_on_branch("MANAGE_BRANCH");
        t_on_reply("MANAGE_REPLY");
        t_on_failure("SERIAL_FAILURE");

        t_relay();
}


_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to