Saltar al contenido

Empezar

GitHub

Puedes utilizar nuestra configuración asistida por IA para instalar el plugin. Agrega las Capgo habilidades a tu herramienta de IA utilizando el siguiente comando:

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

Luego utiliza 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 plugin ejecutando los siguientes comandos y sigue las instrucciones específicas del plataforma a continuación:

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

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

El token de acceso debe generarse en su servidor de backend utilizando sus credenciales de Twilio.

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

Sección titulada “Cerrar sesión”

Esta acción desconectará cualquier llamada activa y detendrá el 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);

Verificar 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 redirigirá a través de su 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.

Esta función debe ser llamada 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 ‘llamadaInvitadaRecibida’. El llamante escuchará un señal de ocupado o será dirigido a la centralita.

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 no se proporciona callSid, 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 desactivar 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 modo altavoz.

Cuando está habilitado, el audio se enviará a través del altavoz del dispositivo en lugar del altavoz del auricular.

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, el estado de espera y los identificadores de la 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 para el micrófono.

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');
}

Solicite permiso de micrófono al usuario.

En iOS y Android, esto mostrará el diálogo de permiso del sistema si el permiso no se ha concedido aún. Si el permiso se denegó anteriormente, el usuario puede necesitar tener que lo conceda 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.ts. Re-ejecuta la sincronización cuando los archivos públicos API cambian en la fuente.

Si estás utilizando Inicio para planificar operaciones de panel de control y API, conecta con Usando @capgo/capacitor-twilio-voice para la capacidad nativa en Usando @capgo/capacitor-twilio-voice, API Overview para el detalle de implementación en API Overview, Introducción para el detalle de implementación en Introducción, API Claves para el detalle de implementación en API Claves, y Dispositivos para el detalle de implementación en Dispositivos.