following Volga's advice, I added lookup(location)  after the subscribe but to no avail, that event doesn't want to pop.

        xlog("callid=$ci: Route[userlocation]:we call t_newtran and subscribe for E_UL_CONTACT_INSERT");
        # prepare transaction for branch injection; it is mandatory
        # to create the transaction before the subscription, otherwise
        # the EBR module will not pass the transaction ID into the
        # notification route
        t_newtran();
        # keep the transaction alive (even if all branches will
        # terminate) until the FR INVITE timer hits (we want to wait
        # for new possible contacts being registered)
        t_wait_for_new_branches();
        # subscribe to new contact registration event,
        # but for our callee only
        $avp(filter) = "aor=" + $tU + "@" + $td;
        $avp(filter) = "aor=*";
        xlog("callid=$ci: Route[userlocation]: filter avp(filter) [$avp(filter)]");         #async( wait_for_event("E_UL_CONTACT_INSERT",$avp(filter), 40), "fork_call");
notify_on_event("E_UL_CONTACT_INSERT",$avp(filter),"fork_call", 180);

        if (lookup("location"))
        {
            route(relay);
        }


Is there somebody out there who did this on 3.1 ?


version: opensips 3.1.0 (x86_64/linux)
flags: STATS: On, EXTRA_DEBUG, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll, sigio_rt, select.
git revision: 58804282f
main.c compiled on 08:25:14 Jul 24 2020 with gcc 8

On 21/08/2020 15:40, johan wrote:

Hello, using opensips3.1 I don't arrive at catching event E_UL_CONTACT_INSERT.

As you can see in below logs,

the route seems to be correctly armed, but the event is not triggered on the registration of the user.

Can somebody give a hint on what I am overlooking ?

Do I need to enable the events in usrloc ?


wkr,

    xlog("callid=$ci: Route[userlocation]:avp(messagepn) [$avp(messagepn)] avp(callpn) [$avp(callpn)]");
    if (($avp(callpn)!="null") or ($avp(messagepn)!=null))
    {
        xlog("callid=$ci: Route[userlocation]:we call t_newtran and subscribe for E_UL_CONTACT_INSERT");
        # prepare transaction for branch injection; it is mandatory
        # to create the transaction before the subscription, otherwise
        # the EBR module will not pass the transaction ID into the
        # notification route
        t_newtran();
        # keep the transaction alive (even if all branches will
        # terminate) until the FR INVITE timer hits (we want to wait
        # for new possible contacts being registered)
        t_wait_for_new_branches();
        # subscribe to new contact registration event,
        # but for our callee only
*$avp(filter) = "aor=" + $tU + "@" + $td;*
        #$avp(filter) = "aor=*";
        xlog("callid=$ci: Route[userlocation]: filter avp(filter) [$avp(filter)]");         async( wait_for_event("E_UL_CONTACT_INSERT",$avp(filter), 40), "fork_call");
#notify_on_event("E_UL_CONTACT_INSERT",$avp(filter),"fork_call", "180");
    }


route[fork_call]
{
    xlog("callid=$ci: Route[fork_call]:user $avp(aor) registered a new contact $avp(uri), injecting\n");
    # take the contact described by the E_UL_CONTACT_INSERT
    # event and inject it as a new branch into the original
    # transaction
    t_inject_branches("event");
}


route[0]

{

...

    if (is_method("REGISTER"))
    {
        #TLS
        if (isflagset("SRC_TLS"))
        {
            setbflag("DST_TLS");
        }
        #TLS end TLS
        if (!www_authorize("", "subscriber"))
        {
            www_challenge("", "auth");
            exit;
        }

        if (!save("location")){
            sl_reply_error();
            exit;
        }
        xlog("callid=$ci: Route[0]: REGISTER comes in from fU $fU");
        exit;
    }
}

Aug 21 12:53:09 ns365555 /data/opensips/sbin/opensips[18730]: callid=AmrM407AUsLjipDqbtNFjQ..: Route[userlocation]:we call t_newtran and subscribe for E_UL_CONTACT_INSERT Aug 21 12:53:09 ns365555 /data/opensips/sbin/opensips[18730]: callid=AmrM407AUsLjipDqbtNFjQ..: Route[userlocation]: filter avp(filter) [aor=1002@46.105.105.119] Aug 21 12:53:11 ns365555 /data/opensips/sbin/opensips[18729]: callid=KFzAmny6Ot: Route[0]: REGISTER comes in from fU 1002
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to