Llamadas entrantes para Gupshup v3
Prerrequisitos
Tener el
appIdy elapp_partner_tokende la aplicación en Gupshup.Contar con un troncal SIP configurado en uContact con su número de línea, usuario, contraseña y la IP del servidor.
Acceso al firewall de GCP para habilitar la IP de Gupshup.
Paso 1 — Activar Voice API en Gupshup
Ejecutar la siguiente solicitud reemplazando los valores correspondientes:
curl --location 'https://partner.gupshup.io/partner/app/{appId}/voice' \
--header 'Authorization: {app_partner_token}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'enable=true' \
--data-urlencode 'iconVisibility=DEFAULT' \
--data-urlencode 'mode=GS_SIP' \
--data-urlencode 'metaData=[
{
"is_register": false,
"user": "{numero_de_linea}",
"username": "{numero_de_troncal}",
"host": "{ip_ucontact}",
"port": "5060",
"secret_key": "{contraseña_del_troncal}",
"force_tcp": false
}
]'Variable | Descripción |
|---|---|
| ID de la aplicación en Gupshup |
| Token de autorización del partner |
| Número de la línea de WhatsApp |
| Usuario del troncal SIP en Asterisk |
| IP pública del servidor uContact |
| Contraseña del troncal SIP |
Paso 2 — Habilitar la IP de Gupshup en el firewall de GCP
Agregar una regla de entrada en el firewall de GCP que permita tráfico desde la IP 54.207.112.105 hacia el servidor uContact en el puerto 5060/UDP. En caso de no tener acceso a la console de GCP, se deberá contactar con soporte.
Paso 3 — Habilitar el codec OPUS para los agentes
Desde el portal de uContact, en la configuración de agentes, activar el codec OPUS en la lista de codecs permitidos para los agentes que usarán este proveedor.
Paso 4 — Crear el flujo de entrada
En uContact, crear un flujo con extensión {numero_de_linea} en el contexto de entrantes. Este flujo debe definir el comportamiento de las llamadas recibidas por la línea de WhatsApp Voice.
Paso 5 — Configurar el Caller ID
Dentro del flujo creado, establecer el Caller ID de la siguiente manera para que uContact reciba el número real del usuario:
${SIP_HEADER(X-WV-FROM)}