Showing posts with label gprs. Show all posts
Showing posts with label gprs. Show all posts

Monday, February 18, 2008

Latest Project: open-cgf - a Charging Gateway Function

This post is heavily 3GPP GPRS core network focussed. You may want to stop reading now.

I was annoyed that it is impossible to even test the CDR logging of GGSN/SGSNs without having a very expensive Charging Gateway Function server in your network. They are all expensive and yet all I wanted was something to terminate the stream of CDRs and write them to disk.

The protocol they use is GTP' (gtp prime), a bastardised version of the GPRS Tunnelling Protocol (GTP) in use between the RNCs, SGSNs and GGSNs. I use the bastardised in italics with good cause; it has all the hallmarks of a "I'll have a hack at it" protocol design, with multiple fixups and legacy mistakes. More later on that, perhaps, if I feel the need to vent.

Anyway, if you need a CGF to log your CDRs to disk, check out open-cgf. It is feature complete and implements all the functionality (up to Release 8) of a CGF. There are a few minor bugs and feature enhancements outstanding that I'm getting to slowly.

It needs some integration testing, and I need to exercise it with a better test framework, but it has served it's purpose as a small project that I can get to completion stage. I'm on call for support, just raise an issue on the site.

It is currently being tested by a 3rd party against a Cisco ITP. Who knew they could log CDRs. Not me, but when in SMSC-bypass mode they can, and must, log them. Via GTP'.

Next stop is the return to the parsing of ASN.1 CDRs, and opencdf, a similar type of server for IMS networks -- this time carried over Diameter.