on Call State
open fun onCallState(accountID: String, callID: Int, callStateCode: Int, callStatusCode: Int, connectTimestamp: Long)
open fun onCallState(accountID: String, callID: Int, callStateCode: Int, callStatusCode: Int, connectTimestamp: Long, completedElsewhere: Boolean)
Overload carrying the completedElsewhere flag (true when the incoming call was canceled because it was answered on another device — CANCEL with "Reason: SIP;cause=200"). This is the variant the dispatcher invokes; its default implementation delegates to the legacy 5-argument onCallState so existing subclasses that only override the legacy callback keep receiving call-state updates unchanged. Subclasses that need the flag override this overload instead.