Comment #6 on issue 205 by [email protected]: CAP - Implement initialDPGPRS CAP V3 Operation
http://code.google.com/p/jss7/issues/detail?id=205

Hello!

I have revised cap-gprs2.patch. Here are my remarks:

1. SGSNCapabilities - we need extra constructor (+ CAPParameterFactory):
SGSNCapabilitiesImpl(boolean aoCSupportedBySGSN)

2. DetachSpecificInformation,DisconnectSpecificInformation,PdpContextchangeOfPositionSpecificInformation,
PDPContextEstablishmentAcknowledgementSpecificInformation,PDPContextEstablishmentSpecificInformation:
please replase code like
public int getTag() throws CAPException {
        return _ID_PdpContextchangeOfPositionSpecificInformation;
}
with
public int getTag() throws CAPException {
        return Tag.SEQUENCE;
}
That is while _ID_PdpContextchangeOfPositionSpecificInformation code (and similar ones for other primitives) are only for encoding in GPRSEventSpecificInformation. Potencially it can be used in other place as a part of other primitives

3. ApplyChargingReportGPRSResponseImpl:
getMessageType():
applyChargingReportGPRS_Request -> applyChargingReportGPRS_Response (need to be created)

4. EntityReleasedGPRSResponseImpl:
getMessageType():
entityReleasedGPRS_Request -> entityReleasedGPRS_Response (need to be created)

5. EventReportGPRSResponseImpl:
getMessageType():
eventReportGPRSResponse_Request -> eventReportGPRSResponse_Response (need to be created)

6. About application context names support for different GPRS operations:
- initialDP is supported only by cap3-gprssf-scf ANC (21.3.50)
- ALL other GPRS operations are supported by both cap3-gprssf-scf ANC (21.3.50) and cap3-gsmscf-gprsssf (21.3.51) Now several operations not supported by cap3-gsmscf-gprsssf. Please update it - it is important (both in CAPDialog* and CAPService*)

7. furnishChargingInformationGPRS: still bad encoding from my point of view
Your unit test encoded data for furnishChargingInformationGPRS is:
4, 20, -96, 18, -96, 16, -128, 8, 48, 6, -128, 1, 5, -127, 1, 2, -127, 1, 2, -126, 1, 1
I think it must be:
4, 20, 48, 18, -96, 16, -128, 8, 48, 6, -128, 1, 5, -127, 1, 2, -127, 1, 2, -126, 1, 1
4, 20, OCT_STR - FCIGPRSBillingChargingCharacteristics
  48, 18, SEQ CAMEL-FCIGPRSBillingChargingCharacteristics
    -96, 16, [0] SEQ fCIBCCCAMELsequence1 - choice 0
      -128, 8, 48, 6, -128, 1, 5, -127, 1, 2, [0] OCT_STR - FreeFormatData
      -127, 1, 2, [1] OCT_STR - PDPID
      -126, 1, 1  [2] ENUM - AppendFreeFormatData
So CAMEL-FCIGPRSBillingChargingCharacteristics must be SEQUENCE UNIVERSA, not CONTEXT-SPECIFIC

8. CAPServiceGprsImpl.furnishChargingInformationGPRSRequest:
error when tag checking: tag==octetstring+primitive

9. SendChargingInformationGPRSRequestImpl:
bad encoding - the root element is SEQUENCE, not STRING_OCTET

10. activityTestGPRS operation - is not implemented at all

Please commit your patch and then fix bugs

I will public CAPFunctional test scenarios soon for implementing



--



Reply via email to