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(a)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@lists.sip-router.org
<sr-users-bounces(a)lists.sip-router.org>] *Per conto di *Federico Cabiddu
*Inviato:* domenica 22 gennaio 2017 16:24
*A:* Kamailio (SER) - Users Mailing List <sr-users(a)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(a)came.com*
<tzanet(a)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(a)came.com* <tzanet(a)came.com>
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
*sr-users(a)lists.sip-router.org* <sr-users(a)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(a)came.com
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users