Hey Osmocom,
I am trying to understand how to interact with the SGSN via the control interface and do a few things that I can't find documentation for. Hoping you can help explain how to:
1) Query(or push) CDRs for active data sessions
2) Terminate active PDP context (network initiated detach)
3) Manage the ACL for the PS domain (assuming via HLR?)
Thanks,
Omar
The short answer: not yet.
Somewhat longer version:
Regarding the first 2 points, the currently implemented CTRL commands and traps are documented in chapter ยง6 of osmosgsn-usermanual.pdf from https://cgit.osmocom.org/osmo-gsm-manuals/
Having said that, those can be implemented - please add tickets at https://projects.osmocom.org/projects/cellular-infrastructure/issues Also, there's similar ticket for TRAP in OsomNITB: https://projects.osmocom.org/issues/2331
As for last point (if I understood it correctly) - it does exist but not documented yet: you can use "enable-ps", "disable-ps" and "status-ps" to control the PS services for a given IMSI using OsmoHLR's CTRL interface. See https://projects.osmocom.org/issues/1645 for more details.
I've also created https://projects.osmocom.org/issues/2359 issue for missing OsmoHLR manual.
On 11.07.2017 17:01, Omar Ramadan wrote:
Hey Osmocom,
I am trying to understand how to interact with the SGSN via the control interface and do a few things that I can't find documentation for. Hoping you can help explain how to:
Query(or push) CDRs for active data sessions
Terminate active PDP context (network initiated detach)
Manage the ACL for the PS domain (assuming via HLR?)
Thanks,
Omar
Hi Omar,
On Tue, Jul 11, 2017 at 08:01:37AM -0700, Omar Ramadan wrote:
- Query(or push) CDRs for active data sessions
push (aka CTRL TRAP) is not implemented at this point.
Getting the counters should be possible, given that we have
* a complete set of 'rate_ctr' for the SGSN: ** number of {packets,bytes} {in,out} for each MM context (Subscriber) ** number of {packets,bytes} {in,out} for each PDP context * libosmocore contains a generic + automatic exposure of all rate_ctr via CTRL, see libosmocore/src/ctrl/control_if.c get_rate_ctr() & Co
The format shoudl be something like
"rate_ctr.{abs,per_sec,per_min,per_hour,per_day}.GROUP.IDX.NAME"
where GROUP is sgsn.pdpctx + IDX=NSAPI with NAME in * udata.packets.in * udata.packets.out * udata.bytes.in * udata.bytes.out
or where GROUP is sgsn.mmctx + IDX=TLLI and NAME in * udata.packets.in * udata.packets.out * udata.bytes.in * udata.bytes.out
Now the problem is that the group name contains a '.', and this is the same character used for tokenizing the individual parts of the CTRL interface command.
So what we have here is a nicely defined generic architecture for (rate) counters, and an equally generic way to export them - but they will fail in this specific example based on bad choice of naming, and no verification if invalid names (prefixes) are registered.
As a result, a lot of counters that we previously assumed to be exported automatically are thus currently unreachable from the CTRL interface :(
I've created https://osmocom.org/issues/2362 for this. Once that is fixed, the mechanism should work as expected.
Regards, Harald