WP Manifestindependent plugin directory
manifest / integrations / timbrazo

Timbrazo – WebRTC Click to Call

Timbrazo – WebRTC Click to Call para WordPress: botón flotante que abre una llamada de voz real (WebRTC/SIP) desde el navegador del visitante a tu propio Asterisk/FreePBX. Gratis para uso personal · licencia comercial 49,99 USD/año/sitio.

by nonosky · github.com/nonoskygt/timbrazo · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/nonoskygt/timbrazo/archive/refs/heads/main.zip

📞 Timbrazo — WebRTC Click to Call para WordPress

Botón flotante que abre una llamada de voz real (WebRTC / SIP sobre WebSocket) desde el navegador del visitante directamente a tu propio Asterisk o FreePBX. El visitante no instala nada ni marca ningún número: pulsa el botón, autoriza el micrófono y suena tu extensión.

English: floating call button for WordPress that starts a real in-browser WebRTC/SIP voice call to your own Asterisk/FreePBX. Free for personal use; commercial license USD 49.99/year/site. Docs are in Spanish; the WordPress.org readme is in English.


Características

  • Llamada real en el navegador: micrófono y altavoces del visitante, SIP sobre WebSocket con JsSIP 3.13.5 (incluido localmente, sin CDN), audio cifrado DTLS-SRTP.
  • Credenciales protegidas: la contraseña SIP nunca se imprime en el HTML público; se entrega bajo demanda por un endpoint con nonce, verificación de origen y rate-limit. Puede vivir en wp-config.php.
  • TURN con credenciales efímeras (coturn use-auth-secret, HMAC generado en el servidor, 5 min de validez).
  • Modo de respaldo sin WebRTC: WordPress pide a tu script AMI que origine la llamada.
  • Estados en tiempo real: verificando micrófono → conectando → registrando → llamando → en llamada (cronómetro) → colgar con un toque. Mensajes de error claros (micrófono denegado, línea ocupada, sin respuesta…).
  • Apariencia: 9 colores, posición, texto promocional con efecto máquina de escribir, mostrar/ocultar en móvil y escritorio. Se impone a Elementor, Divi y cualquier tema.
  • Accesible e internacionalizado (aria-live, foco visible, .pot incluido).
  • Licencia dual (claves comerciales firmadas, verificadas offline) y registro de instalaciones en una hoja de Google, con consentimiento explícito (ver más abajo).
  • Código documentado: cada archivo explica su papel; arquitectura en timbrazo-webrtc-click-to-call.php.

Instalación rápida

  1. Descarga el zip de la última release: https://github.com/nonoskygt/timbrazo/releases/latest
  2. WordPress → Plugins → Añadir nuevo → Subir plugin → activa.
  3. Acepta (o no) el registro de la instalación en el aviso que aparece.
  4. Ajustes → Timbrazo → Servidor Asterisk: URL WebSocket (wss://voip.ejemplo.com/ws), hostname del servidor, usuario SIP, contraseña y extensión de destino.
  5. (Recomendado) en wp-config.php:
    define( 'TIMBRAZO_SIP_PASSWORD', 'contraseña-del-usuario-sip' );
    define( 'TIMBRAZO_TURN_SECRET',  'secreto-compartido-de-coturn' ); // opcional
  6. Guarda: el botón aparece en cuanto hay extensión de destino.

Del lado de Asterisk necesitas un transporte WSS, un endpoint con webrtc=yes en un contexto restringido que solo pueda marcar tu extensión, y (recomendado) coturn. Guía paso a paso con archivos listos: docs/ASTERISK.md y docs/COTURN.md.

Licencia

Personal Comercial
Precio Gratis 49,99 USD / año / sitio web
Para Blogs, proyectos personales, sin fin de lucro Empresas, tiendas, profesionales, agencias
"Powered by Timbrazo" Visible Se retira
Soporte y actualizaciones Comunidad Prioritarios

El código es GPL v2 o posterior (license.txt); los términos de uso de la distribución oficial (clave, marca, soporte) están en license-commercial.txt. El plugin nunca deja de funcionar por falta de licencia.

Licencia comercial

Contacta con el autor en https://nonosky.com indicando el dominio del sitio; recibirás una clave TBZ-C-… firmada digitalmente para ese dominio (y sus subdominios de staging) con un año de validez. Pégala en Ajustes → Timbrazo → Licencia → Activar clave. La clave se verifica en tu propio servidor (firma ECDSA, dominio y caducidad): no se consulta a nadie. Términos: license-commercial.txt.

Qué datos registra el plugin

Solo con tu consentimiento (aviso de un clic al activar, o casilla al activar una clave), Timbrazo envía a la hoja de cálculo de Google del autor (vía Google Apps Script, sin servidor propio) el nombre del evento, un identificador aleatorio de la instalación, la URL y el título del sitio, el correo del administrador, las versiones de plugin/WordPress/PHP, idioma, zona horaria, multisitio, tipo de licencia y el identificador y caducidad de la clave comercial — al registrarte, una vez por semana, al retirar la clave y al desactivar. Nunca credenciales SIP, contenido, datos de visitantes ni la clave completa. El registro exacto se muestra en la pestaña Licencia. Detalles: docs/TELEMETRIA.md · cómo montar la hoja: google/README.md.

Estructura del repositorio

timbrazo-webrtc-click-to-call.php   bootstrap + mapa de la arquitectura
includes/                           helpers, admin, frontend, ajax, licencia, telemetría
assets/                             css, js (script.js + JsSIP), iconos
languages/                          plantilla .pot
docs/                               Asterisk, coturn, seguridad, telemetría, historia, publicar
google/                             Apps Script que recibe el registro en tu hoja de Google + guía
dev/                                entorno Docker (WordPress + Asterisk 20) y pruebas E2E
bin/build-zip.sh                    genera el zip distribuible
bin/timbrazo-keygen.php             emite claves comerciales firmadas (clave privada fuera del repo)

Desarrollo y pruebas

Requiere Docker. El entorno levanta WordPress, Asterisk 20 (SIP sobre WebSocket, endpoint WebRTC y extensión 101 que contesta con eco), un simulador de la hoja de Google (sheet-mock) y un Chromium con micrófono simulado que hace una llamada real y verifica REGISTER/INVITE/200 OK, ICE conectado y paquetes RTP en ambos sentidos:

bash dev/run-e2e.sh            # llamada WebRTC/SIP de extremo a extremo
bash dev/run-license-e2e.sh    # licencia (claves firmadas) + registro en la hoja simulada
node dev/sheet-mock/test-code-gs.js   # el Apps Script, simulado fuera de Google
bash bin/build-zip.sh          # dist/timbrazo-webrtc-click-to-call-<versión>.zip

Más en dev/README.md. Las evidencias de la última ejecución quedan en dev/e2e/out/.

Seguridad

Lee docs/SEGURIDAD.md. Resumen: en un softphone de navegador la credencial SIP es alcanzable por el cliente legítimo; la defensa real es un contexto de Asterisk restringido que solo permita marcar la extensión de destino. Timbrazo evita la fuga estática en HTML, limita el abuso automatizado y usa TURN efímero.

Créditos

Timbrazo © nonosky. Incluye JsSIP 3.13.5 (MIT).