KSNODETYPE_TELEPHONY_BIDI
Il nodo KSNODETYPE_TELEPHONY_BIDI rappresenta entrambi i lati (bidirezionali) di una chiamata telefonica.
Se il dispositivo supporta la telefonia cellulare, è necessario un endpoint KSNODETYPE_TELEPHONY_BIDI per ogni provider (executor).
TELEFONIA CELLULARE
Lo stack di radio ha un concetto di ID provider (ID executor) e tipo di chiamata (pacchetto/circuito) per connettere l'istanza di chiamata telefonica a un percorso hardware specifico.
Il driver associa un ID provider al filtro wave. Questo ID provider verrà impostato anche sugli endpoint di streaming cellulare associati. L'ID provider per il filtro wave non deve cambiare in fase di esecuzione. Lo stack audio eseguirà una query sull'ID del provider dal driver usando KSPROPERTY_TELEPHONY_PROVIDERID. Successivamente, tutte le chiamate per l'ID provider verranno inviate al filtro d'onda specifico.
AVVIO E FINE DELLE CHIAMATE CELLULARE
L'avvio e l'arresto delle chiamate vengono eseguite inviando KSPROPERTY_TELEPHONY_CALLCONTROL al filtro wave per il provider. Questa proprietà comunicherà il tipo di chiamata (cambio di pacchetto/commutatore di circuito) e l'operazione di controllo delle chiamate (Abilita o Disabilita) al driver. Il tipo di chiamata viene ignorato quando l'operazione di controllo delle chiamate è Disable.
Quando la chiamata è Abilitata, lo stato del jack del KSNODETYPE_TELEPHONY_BIDI associato verrà reso attivo dal driver e lo stato della chiamata verrà aggiornato a TELEPHONY_CALLSTATE_ENABLED. Quando la chiamata viene terminata, lo stato del jack dell'endpoint verrà modificato in scollegato e lo stato della chiamata verrà aggiornato per TELEPHONY_CALLSTATE_DISABLED.