On 06/23/2010 06:01 PM, Luca Bertoncello wrote:
Am Wed, 23 Jun 2010 17:50:19 +0800 schrieb Holger Hans Peter Freyther holger@freyther.de:
Unfortunately it does not work... If I just give "logging filter imsi XXX" OpenBSC logs nothing. I have to give "logging filter all 1", too, and then both measurements will be sent.
Well, look at src/debug.c and figure out why the imsi comparison is failing?
I'm looking now this code. But I can't understand the reason... I can only suppose, that in this Measurement Report the IMSI will not be sent.
if ((tar->filter_map & (1 << FLT_IMSI)) != 0 && subscr && strcmp(subscr->imsi, tar->filter_data[FLT_IMSI]) == 0) return 1;
the above does not evaluate to true... this can be:
a) because the filter function is not called at all.. b) tar->filter_map & .. is == 0 c) subscr is NULL d) the imsi's do not match..
Okay, after wanting to explain how the filtering is working, I remembered that I did this: 69e8f8285bf080ad2050fbc20f861bc8621e5c75 (git show that-number). You could git revert that-number and then try again.
So in the case of the measurement report the subscr is not set as context as the measurement debug is still in the abis_rsl context before it is hitting the BSC side...