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
--