Saltar al contenido

Repositorio de Twilio Voice __CAPGO_KEEP_0__

GitHub

Puede utilizar nuestra configuración asistida por IA para instalar el plugin. Agregue las Capgo habilidades a su herramienta de IA utilizando el siguiente comando:

Ventana de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Luego utilice el siguiente prompt:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-twilio-voice` plugin in my project.

Si prefieres la configuración manual, instala el complemento ejecutando los siguientes comandos y sigue las instrucciones específicas de la plataforma a continuación:

ventana de terminal
bun add @capgo/capacitor-twilio-voice
bunx cap sync
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

Autentica al usuario con Twilio Voice utilizando un token de acceso.

El token de acceso debe generarse en tu servidor de backend utilizando tus credenciales de Twilio. Este token es necesario para realizar y recibir llamadas a través de Twilio Voice.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.login({
accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
});
console.log('Login successful:', result.success);

Cerrar la sesión actual del usuario y desregistrarse de Twilio Voice.

Esto desconectará cualquier llamada activa y detendrá al dispositivo de recibir nuevas notificaciones de llamadas entrantes.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.logout();
console.log('Logout successful:', result.success);

Comprobar si el usuario está actualmente conectado y tiene un token de acceso válido.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const status = await CapacitorTwilioVoice.isLoggedIn();
if (status.isLoggedIn && status.hasValidToken) {
console.log('User identity:', status.identity);
} else {
// Re-authenticate the user
}

Iniciar una llamada saliente a un número de teléfono o cliente.

El usuario debe estar conectado antes de realizar una llamada. La llamada se enrutará a través de la configuración de backend de Twilio.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Call a phone number
const result = await CapacitorTwilioVoice.makeCall({
to: '+1234567890'
});
console.log('Call SID:', result.callSid);
// Call another Twilio client with a readable name for CallKit Recents
await CapacitorTwilioVoice.makeCall({
to: 'client:alice',
displayName: 'Alice Smith'
});
// Call a PSTN number using a specific caller ID
await CapacitorTwilioVoice.makeCall({
to: '+1234567890',
callerId: '+10987654321'
});

Aceptar una llamada entrante.

Debería llamarse en respuesta a un evento ‘callInviteReceived’.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => {
console.log('Incoming call from:', data.from);
const result = await CapacitorTwilioVoice.acceptCall({
callSid: data.callSid
});
console.log('Call accepted:', result.success);
});

Rechazar una llamada entrante.

Debería llamarse en respuesta a un evento ‘callInviteReceived’. El llamante escuchará un señal de ocupado o será dirigido a la caja de voz.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => {
if (shouldRejectCall(data.from)) {
await CapacitorTwilioVoice.rejectCall({
callSid: data.callSid
});
}
});

Finalizar una llamada activa.

Si callSid no se proporciona, esto finalizará la llamada activa actual.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// End the current active call
await CapacitorTwilioVoice.endCall({});
// End a specific call
await CapacitorTwilioVoice.endCall({
callSid: 'CA1234567890abcdef'
});

Silenciar o desilenciar el micrófono durante una llamada activa.

Cuando está silenciado, la otra parte no escuchará audio de su micrófono.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Mute the microphone
await CapacitorTwilioVoice.muteCall({
muted: true
});
// Unmute the microphone
await CapacitorTwilioVoice.muteCall({
muted: false
});

Habilitar o deshabilitar el modo de altavoz.

Cuando está habilitado, el audio se redirigirá a través del altavoz del dispositivo en lugar del altavoz de oreja.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphone
await CapacitorTwilioVoice.setSpeaker({
enabled: true
});
// Disable speakerphone
await CapacitorTwilioVoice.setSpeaker({
enabled: false
});

Obtener el estado actual de la llamada activa.

Esto proporciona información en tiempo real sobre el estado de la llamada, el estado de silencio, estatus de espera y identificadores de llamada.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const status = await CapacitorTwilioVoice.getCallStatus();
if (status.hasActiveCall) {
console.log('Call SID:', status.callSid);
console.log('Call State:', status.callState);
console.log('Is Muted:', status.isMuted);
console.log('Is On Hold:', status.isOnHold);
}

Verificar si se ha concedido permiso de micrófono.

Esto no solicita permiso, solo verifica el estado de permiso actual.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.checkMicrophonePermission();
if (!result.granted) {
console.log('Microphone permission not granted');
}

Solicitar permiso de micrófono al usuario.

En iOS y Android, esto mostrará el diálogo de permiso del sistema si aún no se ha concedido permiso. Si el permiso se denegó anteriormente, el usuario puede necesitar concederlo en ajustes del sistema.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.requestMicrophonePermission();
if (result.granted) {
console.log('Microphone permission granted');
} else {
console.log('Microphone permission denied');
}

Capacitor plugin para integrar la funcionalidad de voz de Twilio en aplicaciones móviles.

export interface CallInvite {
/** Unique identifier for the incoming call invitation */
callSid: string;
/** Phone number or client identifier of the caller (may include custom caller name) */
from: string;
/** Phone number or client identifier being called */
to: string;
/** Custom parameters passed with the call invitation */
customParams: Record<string, string>;
}

Esta página se genera desde el plugin’s src/definitions.tsRe-ejecutar la sincronización cuando el público API cambie en la fuente.

Si estás utilizando Getting Started para planificar la consola y las operaciones de API, conecta con Usando @capgo/capacitor-twilio-voice para la capacidad nativa en Usando @capgo/capacitor-twilio-voice, API Resumen para los detalles de implementación en API Resumen, Introducción para los detalles de implementación en Introducción, API Claves para los detalles de implementación en API Claves, y Dispositivos para los detalles de implementación en Dispositivos.