[SR-Users] serial forking calls using TSILO

Daniel-Constantin Mierla miconda at gmail.com
Fri Jan 20 16:26:15 CET 2017


Hello,

have you stored the transaction for the second account?

Cheers,
Daniel


On 20/01/2017 11:05, Tomas Zanet 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
>  
>  
> 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
>  
>  
>
>
> _______________________________________________
> 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

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - Mar 6-8 (Europe) and Mar 20-22 (USA) - www.asipto.com
Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20170120/2d0fa73e/attachment.html>


More information about the sr-users mailing list