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 serviceroute[LOCATION]#!ifdef WITH_SPEEDDIAL# search for short dialing - 2-digit extensionif($rU=~"^[0-9][0-9]$")if(sd_lookup("speed_dial"))route(SIPOUT);#!endif#!ifdef WITH_ALIASDB# search in DB-based aliasesif(alias_db_lookup("dbaliases")) route(SIPOUT);#!endif#!ifdef WITH_FORKif($rU == "9999")route(FORK);#!endif#!ifdef WITH_PDTxdbg("before pdt $rU\n");#prefix2domain("0", "1");xdbg("after pdt $rU\n");#!endif#Check if domains matchif($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 alsoif (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 ] Per conto di Federico Cabiddu
Inviato: domenica 22 gennaio 2017 16:24
A: Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Oggetto: Re: [SR-Users] serial forking calls using TSILOHi,could you please provide the LOCATION route and the Kamailio's log at level 3?Thank you.Regards,FedericoOn Fri, Jan 20, 2017 at 11:05 AM, Tomas Zanet <tzanet@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 hereRight 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;#!endifif (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 call2) Suspend it3) Send Push notification to account14) Kamailio receives account1 registration -> INVRESUME route is now called5) Then call account16) Nobody answers the call7) failure_route[MANAGE_FAILURE] is now called -> set $ru with next sipaccount: account28) suspend invite9) send push notification to account210) account2 sends its sip registration -> INVRESUME route is now called11) Kamailio calls account1 instead of account2 -> this is my issueOn 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 => account1htable key value [53945:1648394094]resuming trasaction [53945:1648394094] account1 53945:1648394094)second call:suspended transaction [53945:1648394094] asterisk => account2htable 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 account1Can anyone address me to find out the solution?Thanks in advanceT.
Tomas Zanet
Software Design Department
tzanet@came.com
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr- users
Tomas Zanet
Software Design Department
tzanet@came.com
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr- users