Hi, having tsilo + PUSH problem.
My probIem is no matter how I ts_store() the data, ts_append() cannot find any matching uri
ERROR: tsilo [ts_append.c:64]: ts_append(): failed to retrieve record for sip:david@voice.example.com
In route[LOCATION] { ts_store("sip:$tU@voice.example.com") }
in route[PUSHJOIN] { ts_append("location", "sip:$tU@voice.example.com") }
ts.dump looks like this { "jsonrpc": "2.0", "result": { "Size": 2048, "R-URIs": { "R-URI": "sip:david@192.168.122.7:5060;ob", "Hash": 57095964, "Transactions": { "Transaction": { "Tindex": 15146, "Tlabel": 805874386 } } }, "Stats": { "RURIs": 1, "Max-Slots": 1, "Transactions": 1 } }, "id": 43582 }
Thanks Anthony Alba
Hi, which kamailio version are you using? Which value the "use_domain" ( http://www.kamailio.org/docs/modules/devel/modules/tsilo.html#tsilo.p.use_do...) parameter has? Could you please do a test at debug level 3? Thanks.
Federico
On Wed, Nov 25, 2020 at 2:19 AM Anthony Alba ascanio.alba7@gmail.com wrote:
Hi, having tsilo + PUSH problem.
My probIem is no matter how I ts_store() the data, ts_append() cannot find any matching uri
ERROR: tsilo [ts_append.c:64]: ts_append(): failed to retrieve record for sip:david@voice.example.com
In route[LOCATION] { ts_store("sip:$tU@voice.example.com") }
in route[PUSHJOIN] { ts_append("location", "sip:$tU@voice.example.com") }
ts.dump looks like this { "jsonrpc": "2.0", "result": { "Size": 2048, "R-URIs": { "R-URI": "sip:david@192.168.122.7:5060;ob", "Hash": 57095964, "Transactions": { "Transaction": { "Tindex": 15146, "Tlabel": 805874386 } } }, "Stats": { "RURIs": 1, "Max-Slots": 1, "Transactions": 1 } }, "id": 43582 }
Thanks Anthony Alba
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
On Wed, Nov 25, 2020 at 2:23 PM Federico Cabiddu federico.cabiddu@gmail.com wrote:
Hi, which kamailio version are you using? Which value the "use_domain" (http://www.kamailio.org/docs/modules/devel/modules/tsilo.html#tsilo.p.use_do...) parameter has? Could you please do a test at debug level 3?
Face palm moment — I was using tsilo through KEMI and forgot that there were two functions 1. ts_store() 2. ts_store_uri() ///Aaaargh I should have used this one
I forgot to use the second one, sorry for the noise.
Can I segue to another question? In the example config script why is $var(hjoin) set to 0 when it is immediately set to $sht(vtp=>join::$tU) ?
route[PUSHJOIN] { $var(hjoin) = 0; lock("$tU"); $var(hjoin) = $sht(vtp=>join::$tU); $var(hstored) = $sht(vtp=>stored::$tU);
Thank you. Anthony Alba
Hi, being $var basically static variables per process , I wanted to be sure to reset its value before processing it, but it's probably not needed there (the example is old :)).
Cheers,
Federico
On Wed, 25 Nov 2020, 07:39 Anthony Alba, ascanio.alba7@gmail.com wrote:
On Wed, Nov 25, 2020 at 2:23 PM Federico Cabiddu federico.cabiddu@gmail.com wrote:
Hi, which kamailio version are you using? Which value the "use_domain" (
http://www.kamailio.org/docs/modules/devel/modules/tsilo.html#tsilo.p.use_do...) parameter has?
Could you please do a test at debug level 3?
Face palm moment — I was using tsilo through KEMI and forgot that there were two functions
- ts_store()
- ts_store_uri() ///Aaaargh I should have used this one
I forgot to use the second one, sorry for the noise.
Can I segue to another question? In the example config script why is $var(hjoin) set to 0 when it is immediately set to $sht(vtp=>join::$tU) ?
route[PUSHJOIN] { $var(hjoin) = 0; lock("$tU"); $var(hjoin) = $sht(vtp=>join::$tU); $var(hstored) = $sht(vtp=>stored::$tU);
Thank you. Anthony Alba
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
On Wed, Nov 25, 2020 at 3:29 PM Federico Cabiddu federico.cabiddu@gmail.com wrote:
Hi, being $var basically static variables per process , I wanted to be sure to reset its value before processing it, but it's probably not needed there (the example is old :)).
Is there a current version of the sample for reference. Thanks!
Cheers Anthony
Hi,
Just my 50 santīmi. If you look into whole PUSHJOIN, then it is:
route[PUSHJOIN] {
$var(hjoin) = 0; lock("$tU"); $var(hjoin) = $sht(vtp=>join::$tU); $var(hstored) = $sht(vtp=>stored::$tU); $sht(vtp=>join::$tU) = $null; unlock("$tU"); if ($var(hjoin)==0) { if ($var(hstored)) ts_append("location", "$tU"); return; } $var(id_index) = $(var(hjoin){s.select,0,:}{s.int}); $var(id_label) = $(var(hjoin){s.select,1,:}{s.int}); xdbg("resuming trasaction [$var(id_index):$var(id_label)] $tU ($var(hjoin))\n"); t_continue("$var(id_index)", "$var(id_label)", "INVRESUME"); }
You can see that at line 8 we check if $var(hjoin) is equal 0 and it is equal 0 only in this case we will resume the transaction, so we do want to make a branch for the transaction that is resumed, not one that is still suspended. So 1st registers arrive at this block and we do resume, but we do not append brench and on the second register $var(hjoin) will be 0 and in this case we do need to append branch.
At least this is my understanding, please forgive me if I mixed up something. :)
I do find that this config works for me flawlessly, but I would like to add that there might need some tweaks for it. In case if 2 Invites arrive to the same subscriber when he does not have registration, then for this config we will send to device only the latest INVITE and only the latest invite will be branch out with tsilo. Again this is my perception of how all this works and I apologize if I do mixed something. :)
Jurijs
On Wed, Nov 25, 2020 at 11:21 AM Anthony Alba ascanio.alba7@gmail.com wrote:
On Wed, Nov 25, 2020 at 3:29 PM Federico Cabiddu federico.cabiddu@gmail.com wrote:
Hi, being $var basically static variables per process , I wanted to be sure
to reset its value before processing it, but it's probably not needed there (the example is old :)).
Is there a current version of the sample for reference. Thanks!
Cheers Anthony
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Do you ever see the following in your logs in route[REGISTER] from the callee user? I think this happens when 1. All transactions have been cleaned up by tsilo, so nothing to append 2. $sht(vtp=>stored::$tU) has not timed out in the 120s 3. and $tU/callee also just happens to re-REGISTER before $sht(vtp=>stored::$tU) is removed
I guess it is harmless but it is an eyesore to my logs manager, any clever tricks
I think this code logic if ($var(hjoin)==0) { if ($var(hstored)) ts_append("location", "$tU"); return; } causes the REGISTER of the callee to happen to try to ts_append().
2020-11-25T20:30:01+08:00 127.0.0.1 tsilo.ts_append() sip:charles@voice.example.com 2020-11-25T20:30:01+08:00 127.0.0.1 ERROR: tsilo [ts_append.c:64]: ts_append(): failed to retrieve record for sip:charles@voice.zenquark.com
Hi,
I do see this in logs and this seems normal, cause we do store that $sht and in a case if call is cancelled or ended we do not clean that $sht until it resets in 120 seconds, so if any register arrives without call during that 120 seconds, this is what you will see. Let assume somebody calls a subscriber, then we do store transaction and we do this "$sht(vtp=>stored::$rU) = 1", if call ends and by some reason without any other call another register arrives from subscriber with same "$tU" within 120 seconds after ($sht(vtp=>stored::$rU) = 1;), then this register will go to PUSHJOIN and we check if transaction is stored, because there is no call it is not stored and then it checks if $sht(vtp=>stored::$rU) equal to 1, because this is not resetted yet(120 seconds do not pass), ts_append tries to append branch, but there is no branch and that why you see this error.
I would like to add that for me this error seems harmless and everything works flawlessly.
Jurijs
On Wed, Nov 25, 2020 at 2:39 PM Anthony Alba ascanio.alba7@gmail.com wrote:
Do you ever see the following in your logs in route[REGISTER] from the callee user? I think this happens when
- All transactions have been cleaned up by tsilo, so nothing to append
- $sht(vtp=>stored::$tU) has not timed out in the 120s
- and $tU/callee also just happens to re-REGISTER before
$sht(vtp=>stored::$tU) is removed
I guess it is harmless but it is an eyesore to my logs manager, any clever tricks
I think this code logic if ($var(hjoin)==0) { if ($var(hstored)) ts_append("location", "$tU"); return; } causes the REGISTER of the callee to happen to try to ts_append().
2020-11-25T20:30:01+08:00 127.0.0.1 tsilo.ts_append() sip:charles@voice.example.com 2020-11-25T20:30:01+08:00 127.0.0.1 ERROR: tsilo [ts_append.c:64]: ts_append(): failed to retrieve record for sip:charles@voice.zenquark.com
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users