Kotlin

Einen Anruf tätigen

Zum Schluss wollen wir noch die Möglichkeit einrichten, von dieser Anwendung aus Anrufe zu tätigen.

In der onCreate fügen Sie den RTC-Hangup-Listener hinzu:

client.setOnCallHangupListener { callId, callQuality, isRemote ->
  onGoingCall = null
  hideUI()
  startCallButton.visibility = View.VISIBLE
  waitingForIncomingCallTextView.visibility = View.VISIBLE
}

Dieser Anrufbeobachter kümmert sich darum, wenn die andere Person im Gespräch auflegt. Wenn dies geschieht, setzen wir die App in ihren ursprünglichen Zustand zurück.

Fügen Sie den Code für den Startaufruf-Klick-Listener in onCreate auch:

Um den Anruf zu starten, nachdem Sie start call fügen Sie die Schaltfläche startCall innere Methode Mainctivity Klasse:

Die obige Methode startet den Aufruf.

Webhaken

Während Sie den Anruf tätigen, schalten Sie bitte auf das Endgerät um und beachten Sie die Anzeige /voice/answer Endpunkt, der zum Abrufen des NCCO aufgerufen wird:

NCCO request:
  - callee: 447700900000

Außerdem durchläuft der Anruf verschiedene Phasen, /voice/event werden Ereignisse gesendet:

...
---
VOICE EVENT:
{
  from: null,
  to: 'Alice',
  uuid: '2da93da3-bcac-47ee-b48e-4a18fae7db08',
  conversation_uuid: 'CON-1a28b1f8-0831-44e6-8d58-42739e7d4c77',
  status: 'started',
  direction: 'inbound',
  timestamp: '2021-03-10T10:36:21.285Z'
}
---
VOICE EVENT:
{
  headers: {},
  from: 'Alice',
  to: '447700900000',
  uuid: '8aa86e22-8d45-4201-b8d8-3dcd76e76429',
  conversation_uuid: 'CON-1a28b1f8-0831-44e6-8d58-42739e7d4c77',
  status: 'started',
  direction: 'outbound',
  timestamp: '2021-03-10T10:36:27.080Z'
}
---
...
---
VOICE EVENT:
{
  start_time: null,
  headers: {},
  rate: null,
  from: 'Alice',
  to: '447700900000',
  uuid: '8aa86e22-8d45-4201-b8d8-3dcd76e76429',
  conversation_uuid: 'CON-1a28b1f8-0831-44e6-8d58-42739e7d4c77',
  status: 'answered',
  direction: 'outbound',
  network: null,
  timestamp: '2021-03-10T10:36:31.604Z'
}
---
VOICE EVENT:
{
  headers: {},
  end_time: '2021-03-10T10:36:36.000Z',
  uuid: '8aa86e22-8d45-4201-b8d8-3dcd76e76429',
  network: '23433',
  duration: '5',
  start_time: '2021-03-10T10:36:31.000Z',
  rate: '0.10000000',
  price: '0.00833333',
  from: 'Unknown',
  to: '447700900000',
  conversation_uuid: 'CON-1a28b1f8-0831-44e6-8d58-42739e7d4c77',
  status: 'completed',
  direction: 'outbound',
  timestamp: '2021-03-10T10:36:35.585Z'
}
---
VOICE EVENT:
{
  headers: {},
  end_time: '2021-03-10T10:36:35.000Z',
  uuid: '2da93da3-bcac-47ee-b48e-4a18fae7db08',
  network: null,
  duration: '15',
  start_time: '2021-03-10T10:36:20.000Z',
  rate: '0.00',
  price: '0',
  from: null,
  to: 'Alice',
  conversation_uuid: 'CON-1a28b1f8-0831-44e6-8d58-42739e7d4c77',
  status: 'completed',
  direction: 'inbound',
  timestamp: '2021-03-10T10:36:36.187Z'
}

HINWEIS: Wenn der Anruf abgeschlossen ist, enthalten die Ereignisse auch Informationen zu Dauer und Preis.

Die end call wurde angezeigt, um den aktuellen Status des Anrufs wiederzugeben:

End call