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-K...
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:
- Kamailio receives incoming call
- Suspend it
- Send Push notification to account1
- 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@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