I've similar problem with M3UA implementation. I received ASP Inactive Ack message on M3UA layer, although I didn't send ASP Inactive. Stack doesn't handle such transition:
2020-10-08 15:27:53 AspTrafficMaintenanceHandler [ERROR] Transition=aspinactiveack. FSM.name=ASP1_LOCAL old state=ACTIVE, current state=ACTIVE
org.mobicents.protocols.ss7.m3ua.impl.fsm.UnknownTransitionException: Transition=aspinactiveack. FSM.name=ASP1_LOCAL old state=ACTIVE, current state=ACTIVE
at org.mobicents.protocols.ss7.m3ua.impl.fsm.FSMState.signal(FSMState.java:130)
at org.mobicents.protocols.ss7.m3ua.impl.fsm.FSM.signal(FSM.java:152)
at org.mobicents.protocols.ss7.m3ua.impl.AspTrafficMaintenanceHandler.handleAspInactiveAck(AspTrafficMaintenanceHandler.java:414)
at org.mobicents.protocols.ss7.m3ua.impl.AspTrafficMaintenanceHandler.handleAspInactiveAck(AspTrafficMaintenanceHandler.java:369)
at org.mobicents.protocols.ss7.m3ua.impl.AspFactoryImpl.read(AspFactoryImpl.java:448)
at org.mobicents.protocols.ss7.m3ua.impl.AspFactoryImpl.processPayload(AspFactoryImpl.java:826)
at org.mobicents.protocols.ss7.m3ua.impl.AspFactoryImpl.onPayload(AspFactoryImpl.java:809)
at org.mobicents.protocols.sctp.AssociationImpl.read(AssociationImpl.java:501)
at org.mobicents.protocols.sctp.SelectorThread.read(SelectorThread.java:431)
at org.mobicents.protocols.sctp.SelectorThread.run(SelectorThread.java:155)
at java.lang.Thread.run(Thread.java:748)
According to RFC 4666 it shall be supported:
"If the ASP receives an ASP Inactive Ack without having sent an ASP Inactive message, the ASP should now consider itself to be in the ASP-INACTIVE state. If the ASP was previously in the ASP-ACTIVE state, the ASP should then initiate procedures to return itself to its previous state."Regards,
Jarek