Symptom
In a Hold scenario when the existing call had n m-lines , CUBE offers n-1 in the DO 200 OK and thus violates 3264.
As per 3264 , the number of m-lines should remain same throughout the call. It can only increase but never decrease .
From CUBE perspective , for audio + video call , we need to put video codec in the dial-peer for CUBE to be in adherence with 3264 . But for "application " , since we have no CLI available , CUBE doesn't load the application m-line while loading SDP in DO 200 OK.
The actual problem is that CUBE doesn't keep a stateful track of the m-lines existing in the call. For every Offer , CUBE is considering a fresh offer and tries to load it from existing configuration.
Conditions
Impact is less unless the remote end complains of violation.
Workaround
Use end to End media re-negotiation instead of RE-INVITE consumption.