Llamadas salientes para Gupshup v3
Requisitos
Contar con un proveedor de WhatsApp Gupshup v3 activo.
Los flujos (workflows) deben ser modificados para que esta funcionalidad funcione.
Los agentes deben tener la configuración de OPUS activa.
⚙️ Configuración
Crea un proveedor SIP para realizar llamadas salientes con la siguiente configuración:
Configuración | Valor |
|---|---|
Contexto | inbound. |
Host |
|
Puerto | 5061 |
Desde usuario | <Gupshup App id> |
Transporte | tls. |
Opus | seleccionado |
Después de crear el SIP, crea una campaña de voz utilizándolo como proveedor.
Luego crea o edita una campaña de SMS/WhatsApp con un proveedor Gupshup v3. En la campaña, selecciona el siguiente campo:
🔄 Ajustes a flujos
Se debe modificar el flujo utilizado por la campaña para que incluir headers de autenticación. Para ello, se debe usar la actividad SipAddHeader con los siguientes clave-valor:
X-PARTNER-ID: XXXX(ID del partner de Gupshup, 3247 si el mismo es uContact).X-PARTNER-APP-TOKEN: sk_xxxxxxxxxxxxxxxxxxxxxxtoken de acceso de la aplicación de Gupshup)Remote-Party-ID: "1001" <sip:xxxxxxxxxxxxxxxxxxxxxxxxx (app ID de Gupshup)@ip DEL SERVIDOR>;party=calling;screen=yes;privacy=off
Gupshup App Configuration
Después de crear el SIP, configure la aplicación Gupshup siguiendo esta documentación:
https://partner-docs.gupshup.io/docs/setting-up-whatsapp-voice-incoming-user-initiated-for-gupshup-tech-provider-beta
Warning
Configuración de Firewall para Llamadas
Para realizar una llamada correctamente, debe habilitar en el firewall Google Cloud Platform la siguiente configuración:
Puerto | Tipo | IP Habilitada |
|---|---|---|
5060 | UDP | 54.207.112.105 |
▶️ Uso
Después de seleccionar este campo, todas las interacciones pueden solicitar permiso para llamar.
Si una interacción proviene de una campaña que permite llamadas salientes, aparece el siguiente ícono en la bandeja de entrada:
Al hacer clic en el ícono de llamada se muestra el estado del permiso de llamada:
Granted (Concedido): El permiso para llamar se otorgó de forma indefinida o aún es válido.
Al hacer clic nuevamente en el ícono de llamada se abre un popup para cargar la información del cliente en el softphone.
Pending (Pendiente): El cliente aún no respondió a la solicitud de permiso.
Reject (Rechazado): La solicitud fue rechazada.
Si nunca se pidió permiso al cliente o el permiso expiró, al hacer clic nuevamente en el ícono de llamada se muestra este popup:
Al hacer clic en el botón de solicitar permiso de llamada se envía un mensaje interactivo al cliente para que otorgue acceso para llamarlo. El cliente puede cambiar activamente el estado del permiso en cualquier momento.
Las solicitudes de permiso para llamadas expiran a los 7 días cada vez que se conceden o se niegan. Cada vez que el estado cambia, también se actualiza nuevamente la fecha de expiración.
Para más información sobre cómo está diseñada esta funcionalidad, consulta la documentación de Meta: https://developers.facebook.com/documentation/business-messaging/whatsapp/calling/user-call-permissions/