Status: New
Owner: ----
Labels: Type-Defect Priority-Medium Component-SS7 Roadmap-Fix

New issue 126 by [email protected]: ss7/cap not possible to get correct dialog state in CAPServiceCircuitSwitchedCallListener.onCAPMessage
http://code.google.com/p/jss7/issues/detail?id=126

ss7/cap version 2.0.0.BETA1

It is not possible to get what type of TCAP message was received (TC_Continue or TC_End) inside CAPServiceCircuitSwitchedCallListener.onCAPMessage listener method.

I tried using capDialogImpl.getState() to get the dialog state, but that gives the CAPDialogState.Active on TC_End which is incorrect in my opinion, because doing any actions with this dialog will result in error. getState() is not visible in the interface, so I had to cast the object to CapDialogImpl. May be it is intended for internal use only and should not be used externally? In that case what is the correct way of getting the dialog state?

It would be good to have one of these 2 features/fixes (the 1st one is preferred):

1. I think it would be very useful if you could provide an access to other protocol layers in onCAPMessage(CAPMessage capMessage). For example, CAPMessage could have a getter:
DialogIndication getDialogIndication()
which would return the last received TCAP message. It is important to know what type of TCAP message was received (TC_Continue or TC_End) in some use cases.

2. Another option would be to add CapDialog.getState() method to the interface so you do not need to cast it to CapDialogImpl. Also modify the
CAPProviderImpl.onTCEnd(516)
and move the
capDialogImpl.setState(CAPDialogState.Expunged);
before the
processComponents(capDialogImpl, comps);
because that gives incorrect dialog state in the onCAPMessage(CAPMessage capMessage) listener method.

Reply via email to