0

Dears,

I use Opensips 3.2

Here is my script:

store_dlg_value("is_sended_inv","0");
notify_on_event("E_UL_CONTACT_INSERT", $avp(filter), "LATE_FORKING", 45);
notify_on_event("E_UL_CONTACT_UPDATE", $avp(filter), "LATE_FORKING", 45);
...

## Handle late forking route
route[LATE_FORKING] {
    # handle incoming calls for mobile devices woken up by push notifications
    $var(is_sended_inv) = $dlg_val(is_sended_inv);
    xlog("L_INFO", "[LATE_FORKING] [var(is_sended_inv)=$var(is_sended_inv)] New contact [$avp(uri)] registered for user [$avp(aor)], inserting new branch to ongoing call\n");
    # take the contact described by the E_UL_CONTACT_INSERT
    # event and inject it as a new branch into the original
    # transaction
    if(!$var(is_sended_inv)) {
        t_inject_branches("event", "last");
        xlog("L_INFO", "[LATE_FORKING] t_inject_branches event\n");
        store_dlg_value("is_sended_inv","1");
    }
}

When Register sent many times, t_inject_branches got called back many times, resulted in a lot of Invite sending (same CSeq number).

How can call t_inject_branches only one time when use event routing in same Dialog?

Thank you for your help.

I tried store_dlg_value

Van Minh
  • 11
  • 1

0 Answers0