Subject: [Dime] Diameter Credit-Control/3GPP Gy: FUI and Result-Code

From: Ivan Skytte Jørgensen <[email-masked]>
Date: Mon, 07 Oct 2013 15:34:57 +0200

I'm doing some integration toward Gy client (PCEF), and encountered an unclear area. I'm not sure if it is unclear in RFC 4006 or the 3GPP TS32.299 or both.

Scenario: A user logs on. The user has no credit left for a rating-group 42.

CCR-initial and CCA-initial:
Nothing interesting. In Gy it is typically just "empty" requests for the purpose of registering the user session.

The user then attempts to use rating-group 32:

CCR-update:

	Multiple-Services-Credit-Control {
		Rating-Group = 42
		Requested-Service-Unit {
		}
	}

to which the OCS (Gy server) would normally respond:

CCA-update:

	Result-Code = 2001 (success)
	Multiple-Services-Credit-Control {
		Rating-Group = 42
		Result-Code = 4012 (credit-limit-reached)
		Final-Unit-Indication {
			...
		}
	}

However, the Gy specification says that a zero-grant is needed, which to me sounds a bit odd, but nevertheless:

	Result-Code = 2001 (success)
	Multiple-Services-Credit-Control {
		Rating-Group = 42
		Result-Code = 4012 (credit-limit-reached)
		Granted-Service-Unit {
			CC-Total-Octets = 0
		}
		Final-Unit-Indication {
			...
		}
	}

Now, the Gy client vendor says that the result-code inside the MSCC must be 2001 (success). It sort of makes sense because there is a grant.

But that made me wonder: In which case would result-code=4012 make sense? Is it just 3GPP who has "mangled" diameter-credit-control in the Gy application?

Regards,
  Ivan