Kotlin

Hacer una llamada

Para iniciar la llamada después de pulsar la tecla START CALL botón: rellena el cuerpo del startCall método inside Mainctivity clase:

@SuppressLint("MissingPermission")
fun startCall() {
    client.serverCall(mapOf("to" to "PHONE_NUMBER")) {
        err, outboundCall ->
        when {
            err != null -> {
                connectionStatusTextView.text = err.localizedMessage
            }
            else -> {
                startCallButton.visibility = View.INVISIBLE
                endCallButton.visibility = View.VISIBLE
            }
        }
    }
}

Asegúrese de sustituir PHONE_NUMBER a continuación con el número de teléfono real al que desea llamar, en el campo E.164 formato (por ejemplo, 447700900000).

NOTA: Asegúrese de que el servidor webhook que construyó en los pasos anteriores sigue funcionando.

Webhooks

Mientras realizas la llamada, pasa al terminal y fíjate en el /voice/answer punto final al que se realiza la llamada para recuperar el NCCO:

NCCO request: - callee: 447700900000

Además, a medida que la llamada avanza por las distintas fases, /voice/event se envían eventos:

...
---
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'
}

NOTA: Una vez finalizada la llamada, los eventos también incluirán información sobre la duración y el coste.

El END CALL para reflejar el estado actual de la llamada:

End call