[SR-Users] R: serial forking calls using TSILO
Federico Cabiddu
federico.cabiddu at gmail.com
Tue Jan 24 07:56:32 CET 2017
Hi,
the logs are not at level 3 (there are no DEBUG messages). Could you please
repeat the test?
In the meanwhile can you also try adding a branch after setting the r-uri
in the failure route?
$ru ="sip:"+$avp(group_members_db)+"@"+$fd;
append_branch();
I've also noticed that, in the failure route, the statements after
if (is_avp_set("$avp(group_members_db)"))
are not enclosed in braces, is this intentional?
Regards,
Federico
On Mon, Jan 23, 2017 at 10:01 AM, Tomas Zanet <tzanet at came.com> wrote:
> Hi, please find below what you requested.
>
> @Daniel: yes, I did ts_store() after relaying for both hops, but for the
> second call which should call account2, $ru is overwritten to account1
> after t_continue
>
> @Federico: as you requested, here is my route[LOCATION] and please the
> attached Kamailio log.
> # USER location service
> route[LOCATION]
>
> #!ifdef WITH_SPEEDDIAL
> # search for short dialing - 2-digit extension
> if($rU=~"^[0-9][0-9]$")
> if(sd_lookup("speed_dial"))
> route(SIPOUT);
> #!endif
>
> #!ifdef WITH_ALIASDB
> # search in DB-based aliases
> if(alias_db_lookup("dbaliases"))
> route(SIPOUT);
> #!endif
>
> #!ifdef WITH_FORK
> if($rU == "9999")
> route(FORK);
>
> #!endif
>
> #!ifdef WITH_PDT
> xdbg("before pdt $rU\n");
> #prefix2domain("0", "1");
> xdbg("after pdt $rU\n");
> #!endif
> #Check if domains match
>
> if($fd != $rd)
> xdbg("From domain $fd does not match request uri domain
> $rd\n");
> send_reply("488", "Not Accetable Here");
> exit;
>
>
> #$rd = $td
> $avp(oexten) = $rU;
> if (!lookup("location"))
> $var(rc) = $rc;
> t_newtran();
> switch ($var(rc))
> case -1:
> case -3:
> xlog("L_ALERT","ALERT: User not found\n");
> if (isflagset(FLT_ASTERISK_TRY))
> # Try calling with PUSH KIT
> send_reply("404", "Not Found");
> else
> # User not found, check if is an
> app based on uri prefix, then call it with pushkit
> if($(rUs.substr,0,6)=="007001")
> xlog("L_ALERT","ALERT:
> Trying calling $ru with PUSUH KIT\n");
> # device token check
> missing
> route(SUSPEND);
> route(SENDPUSH);
> else
> setflag(FLT_ASTERISK_TRY);
> route(ASTERISK);
>
>
> exit;
> case -2:
> send_reply("405", "Method Not Allowed");
> exit;
>
>
>
> # when routing via usrloc, log the missed calls also
> if (is_method("INVITE"))
> setflag(FLT_ACCMISSED);
>
> route(RELAY);
> route(STORETRAN);
> exit;
>
>
> route[STORETRAN]
> ts_store();
> $sht(vtp=>stored::$rU) = 1;
> xlog("L_ALERT", "stored transaction [$T(id_index):$T(id_label)]
> $fU => $rU\n");
>
>
>
> Thanks to both,
> Regards,
> T.
>
> *Da:* sr-users [mailto:sr-users-bounces at lists.sip-router.org
> <sr-users-bounces at lists.sip-router.org>] *Per conto di *Federico Cabiddu
> *Inviato:* domenica 22 gennaio 2017 16:24
> *A:* Kamailio (SER) - Users Mailing List <sr-users at lists.sip-router.org>
> *Oggetto:* Re: [SR-Users] serial forking calls using TSILO
>
> Hi,
> could you please provide the LOCATION route and the Kamailio's log at
> level 3?
> Thank you.
>
> Regards,
>
> Federico
>
> On Fri, Jan 20, 2017 at 11:05 AM, Tomas Zanet <*tzanet at came.com*
> <tzanet at came.com>> wrote:
> Hello,
> I’m using Kamailio 4.4.4 with TSILO module in order to support Push
> Notifications used by our voip app on Apple ios10.
> So far, everything works fine: Kamailio can get an incoming call, suspend
> it, then send push notification with an external script, receive a new app
> registration and then call it after resuming the invite.
> To do so, thanks to Mr, Cabiddu, I used all the functions described here
>
> *http://www.kamailio.org/events/2015-KamailioWorld/Day2/20-Federico.Cabiddu-Kamailio-In-A-Mobile-World.pdf*
> <http://www.kamailio.org/events/2015-KamailioWorld/Day2/20-Federico.Cabiddu-Kamailio-In-A-Mobile-World.pdf>
>
>
> Right now, I would like to support serial forking calls using push
> notification because it was already supported with legacy voip.
> To do so, I used failure_route function where, after getting the call
> destinations and setting them into an avp, I set the new SIP request uri
> $ru.
> Here is my failure_route:
> failure_route[MANAGE_FAILURE]
> route(NATMANAGE);
> if (t_is_canceled())
> exit;
>
>
> #!ifdef WITH_BLOCK3XX
> # block call redirect based on 3xx replies.
> if (t_check_status("3[0-9][0-9]"))
> t_reply("404","Not found");
> exit;
>
> #!endif
>
> if (is_avp_set("$avp(group_members_db)"))
> $ru ="sip:"+$avp(group_members_db)+"@"+$fd;
> $avp(group_members_db) = $null;
> route(LOCATION);
> exit;
>
>
>
> I am troubleshooting this scenario and this is what I see:
> 1) Kamailio receives incoming call
> 2) Suspend it
> 3) Send Push notification to account1
> 4) Kamailio receives account1 registration -> INVRESUME route is now called
> 5) Then call account1
> 6) Nobody answers the call
> 7) failure_route[MANAGE_FAILURE] is now called -> set $ru with next
> sipaccount: account2
> 8) suspend invite
> 9) send push notification to account2
> 10) account2 sends its sip registration -> INVRESUME route is now called
> 11) Kamailio calls account1 instead of account2 -> this is my issue
>
> On step 10: despite account2 is registered, I checked it using “kamctl ul
> show”, the second call is forwarded all'account1 and not to account2.
> I also checked the TSILO logs and everything seems ok. Here is the logs:
> First call:
> suspended transaction [53945:1648394094] asterisk => account1
> htable key value [53945:1648394094]
> resuming trasaction [53945:1648394094] account1 53945:1648394094)
> second call:
> suspended transaction [53945:1648394094] asterisk => account2
> htable key value [53945:1648394094]
> resuming trasaction [53945:1648394094] account2 53945:1648394094)
>
> In order to find out the issue I put some xlogs, printing $ru value: what
> I see is the $ru value is set correctly on failure_route but as soon as the
> t_continue is called, the ru overwritten back to account1
>
> Can anyone address me to find out the solution?
> Thanks in advance
>
> T.
>
>
>
>
> *Tomas Zanet *Software Design Department
> *tzanet at came.com* <tzanet at came.com>
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> *sr-users at lists.sip-router.org* <sr-users at lists.sip-router.org>
> *http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users*
> <http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>
>
>
>
>
> *Tomas Zanet *Software Design Department
> tzanet at came.com
>
>
>
> _______________________________________________
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20170124/c48a7d6b/attachment.html>
More information about the sr-users
mailing list