Objective-C

Recibir una llamada

En la parte superior del ViewController debajo de la clase client añada una NXMCall para mantener una referencia a cualquier llamada en curso.

Cuando la aplicación reciba una llamada querrá dar la opción de aceptar o rechazar la llamada. Para ello, añada el campo displayIncomingCallAlert a la función ViewController clase.

En displayIncomingCallAlert toma una variable NXMCall como parámetro, con esto puedes acceder a los miembros, que son del tipo NXMCallMemberde la llamada para recuperar el número de teléfono de la llamada entrante. Nota en el UIAlertAction para responder a la llamada asigna la llamada a la propiedad de antes.

Para utilizar displayIncomingCallAlert debe utilizar la función NXMClientDelegate que tiene una función que se llamará cuando el cliente reciba una entrada NXMCall.

NOTA: Además, asegúrese de que el servidor webhook que construyó en los pasos anteriores sigue funcionando.

Pulse Cmd + R para construir y ejecutar de nuevo, cuando llame al número vinculado con su aplicación desde antes se le presentará una alerta. Puedes descolgar y la llamada se conectará.

Incoming call alert

Webhooks

A medida que avanza con la llamada, por favor, cambie al terminal y observe el /voice/answer al que se llama para recuperar la NCCO:

NCCO request: - caller: 447700900000 - callee: 442038297050

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

EVENT: { headers: {}, from: '447700900000', to: '442038297050', uuid: '0779a56d002f1c7f47f82ef5fe84ab79', conversation_uuid: 'CON-8f5a100c-fbce-4218-8d4b-16341335bcd6', status: 'ringing', direction: 'inbound', timestamp: '2021-03-29T21:20:05.582Z' } --- EVENT: { headers: {}, from: '447700900000', to: '442038297050', uuid: '0779a56d002f1c7f47f82ef5fe84ab79', conversation_uuid: 'CON-8f5a100c-fbce-4218-8d4b-16341335bcd6', status: 'started', direction: 'inbound', timestamp: '2021-03-29T21:20:05.582Z' } --- EVENT: { start_time: null, headers: {}, rate: null, from: '447700900000', to: '442038297050', uuid: '0779a56d002f1c7f47f82ef5fe84ab79', conversation_uuid: 'CON-8f5a100c-fbce-4218-8d4b-16341335bcd6', status: 'answered', direction: 'inbound', network: null, timestamp: '2021-03-29T21:20:06.182Z' } --- EVENT: { from: '447700900000', to: 'Alice', uuid: '944bf4bf-8dc7-4e23-86b2-2f4234777416', conversation_uuid: 'CON-8f5a100c-fbce-4218-8d4b-16341335bcd6', status: 'started', direction: 'outbound', timestamp: '2021-03-29T21:20:13.025Z' } --- EVENT: { start_time: null, headers: {}, rate: null, from: '447700900000', to: 'Alice', uuid: '944bf4bf-8dc7-4e23-86b2-2f4234777416', conversation_uuid: 'CON-8f5a100c-fbce-4218-8d4b-16341335bcd6', status: 'answered', direction: 'outbound', network: null, timestamp: '2021-03-29T21:20:13.025Z' } --- EVENT: { headers: {}, end_time: '2021-03-29T21:20:16.000Z', uuid: '944bf4bf-8dc7-4e23-86b2-2f4234777416', network: null, duration: '5', start_time: '2021-03-29T21:20:11.000Z', rate: '0.00', price: '0', from: '447700900000', to: 'Alice', conversation_uuid: 'CON-8f5a100c-fbce-4218-8d4b-16341335bcd6', status: 'completed', direction: 'outbound', timestamp: '2021-03-29T21:20:17.574Z' } --- EVENT: { headers: {}, end_time: '2021-03-29T21:20:18.000Z', uuid: '0779a56d002f1c7f47f82ef5fe84ab79', network: 'GB-FIXED', duration: '12', start_time: '2021-03-29T21:20:06.000Z', rate: '0.00720000', price: '0.00144000', from: ' 447700900000', to: '442038297050', conversation_uuid: 'CON-8f5a100c-fbce-4218-8d4b-16341335bcd6', status: 'completed', direction: 'inbound', timestamp: '2021-03-29T21:20:17.514Z' } ---