Nur ein paar zusätzliche Informationen.
Das Android-System weiß, wenn ein Anruf aus welchem Grund auch immer abgebrochen wird, z. B. Überlastung, keine Verbindung verfügbar usw. Allerdings wird keine dieser Informationen an das SDK weitergegeben. Im Quelltext püriert Android im Grunde eine ganze Reihe von telefoniebezogenen Informationen in ein paar unerträglich vage SDK-Aufrufe. Zum Beispiel ist der einzige Hinweis auf ein Gesprächsende die Änderung eines PhoneStateListeners von OffHook zu Idle. Damit ist buchstäblich jeder einzelne Grund für ein Gesprächsende erfasst.
Sogar verschiedene Zustände des Anrufs werden miteinander vermischt. Während wir in der Lage sein sollten, Informationen darüber zu erhalten, ob das Telefon den anderen Teilnehmer benachrichtigt oder tatsächlich eine aktive Verbindung hat, wird dies auf die drei verfügbaren Zustände "abgehoben", "im Leerlauf" und "klingelnd" reduziert - wohlgemerkt, "klingelnd" bedeutet nur, dass Ihr Gerät klingelt, nicht, dass die Person, die Sie anrufen, klingelt.
Es tut mir leid, ein weiterer Überbringer schlechter Nachrichten zu sein, aber leider können wir nur auf eine bessere Unterstützung in einer späteren Phase hoffen.