Improve TBF logging

use a format in tbf::name() which is sanitized (osmo_sanitize) and hence
can be used both in regular log as well as for its internal FSM ids.
Until now, the FSMs contained a small amount of information with
different formatting than the regular LOGPTFB(), which made it difficult
to grep or follow a TBF through its lifetime looking at logs. The new
unified format makes that a lot easier.

Extra information is now printed if available, such as IMSI.
Furthermore, the TFI is updated to include BTS and TRX, since the TFI is
unique within the scope of a TRX.

Change-Id: I3ce1f53942a2f881d0adadd6e5643f5cdf6e31da
diff --git a/tests/app_info/AppInfoTest.err b/tests/app_info/AppInfoTest.err
index 1a9fab0..13e84b7 100644
--- a/tests/app_info/AppInfoTest.err
+++ b/tests/app_info/AppInfoTest.err
@@ -19,21 +19,21 @@
 Modifying MS object, TLLI = 0xffffffff, EGPRS MS class 0 -> 11
 MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Enabled EGPRS, mode EGPRS
 [DL] algo B <multi> (suggested TRX: 0): using 4 slots
-PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
-PDCH(bts=0,trx=0,ts=5) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
-PDCH(bts=0,trx=0,ts=6) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
-PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
-MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS)
+PDCH(bts=0,trx=0,ts=4) Attaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
+PDCH(bts=0,trx=0,ts=5) Attaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
+PDCH(bts=0,trx=0,ts=6) Attaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
+PDCH(bts=0,trx=0,ts=7) Attaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
+MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Attaching DL TBF: TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS)
 ws(64)
 Creating MS object, TLLI = 0xffffffff
 Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 12
 Modifying MS object, TLLI = 0xffffffff, EGPRS MS class 0 -> 13
 MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Enabled EGPRS, mode EGPRS
 [DL] algo B <multi> (suggested TRX: 0): using 3 slots
-PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
-PDCH(bts=0,trx=0,ts=5) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
-PDCH(bts=0,trx=0,ts=6) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
-MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Attaching DL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS)
+PDCH(bts=0,trx=0,ts=4) Attaching TBF(DL:TFI-0-0-1:STATE-NEW:EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
+PDCH(bts=0,trx=0,ts=5) Attaching TBF(DL:TFI-0-0-1:STATE-NEW:EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
+PDCH(bts=0,trx=0,ts=6) Attaching TBF(DL:TFI-0-0-1:STATE-NEW:EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
+MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Attaching DL TBF: TBF(DL:TFI-0-0-1:STATE-NEW:EGPRS)
 ws(64)
 
 --- test_sched_app_info_ok ---
@@ -56,14 +56,14 @@
 Sending Packet Application Information to 2 subscribers with active TBF
 
 --- cleanup ---
-PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
-PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
-PDCH(bts=0,trx=0,ts=6) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
-PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
-MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS)
-PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 1 TBFs, USFs = 00, TFIs = 00000002.
-PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 1 TBFs, USFs = 00, TFIs = 00000002.
-PDCH(bts=0,trx=0,ts=6) Detaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS), 1 TBFs, USFs = 00, TFIs = 00000002.
-MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Detaching TBF: TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NEW EGPRS)
+PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
+PDCH(bts=0,trx=0,ts=5) Detaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
+PDCH(bts=0,trx=0,ts=6) Detaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003.
+PDCH(bts=0,trx=0,ts=7) Detaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
+MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Detaching TBF: TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS)
+PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-1:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000002.
+PDCH(bts=0,trx=0,ts=5) Detaching TBF(DL:TFI-0-0-1:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000002.
+PDCH(bts=0,trx=0,ts=6) Detaching TBF(DL:TFI-0-0-1:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000002.
+MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Detaching TBF: TBF(DL:TFI-0-0-1:STATE-NEW:EGPRS)
 MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Destroying MS object
 MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Destroying MS object