AZQ VOICE-CALL STATE AND EVENT DETERMINATION

Each point is for an input, each [Event] tells our determined output state/event.

OUTGOING CALLS

(1) Call setup/origination state from idle

  • New Chipset CALL_EVENT_ORIG (voice) while call_idle

[Event] “Call Initiation”

1.1 L3 CC Alerting

      • [Event] “Call Setup [duration]” (call setup success)

      • Go to state 2

1.2 Chipset CALL_EVENT_CONNECT (normally comes at L3 CC Connect Acknowledge and this sometimes come before/without L3 CC Alerting if the other side picks-up very quickly like some IVRs)

      • [Event] “Call Established”

      • Go to state 2

1.3 Chipset CALL_EVENT_END

      • Determine call end cause in (3) (“Call End: User Ended” or Call Block)

      • END

1.4 Call setup timed-out

      • Hangup call

      • [Event] Call Setup timed-out

      • END

(2) Post-Alerting state

2.1 Chipset CALL_EVENT_CONNECT (normally comes at L3 CC Connect Acknowledge)

  • [Event] “Call Established”

2.2 Chipset CALL_EVENT_END

    • Determine call end cause in (3) (“Call End: User Ended” or Call Drop)

    • END

2.3 Call duration completed successfully

  • Hangup call

  • [Event] “Call End”


(3) Determine call-end cause

3.1 If chipset event tells that this was commanded by the local user - then [Event] “Call End: User ended” call