Deje que un miembro de RingCentro se ins firmúe en lugar de acuñar un JWT
La pestaña de establecimientos telefónicos de un miembro pidió una credencial de JWT, y ese fue el único manera de conectarlos. Un JWT de RingCentral pertenece ...
Dile a RingCentral JWT de las credenciales de la aplicación pegaron en su caja
Un org pegaron las credenciales de su aplicación RingCentral JSON. "clientSecret": ..., "server": ... . blob la consola de desarrolladores muestra en el mismo p...
Deja que un rollo termine lo que la vieja vaina estaba haciendo
Los despliegues sustituyeron a la única cápsula de cada servicio sin nada para captar las solicitudes en vuelo. Tres ajustes, aplicados en toda la flota: - pre...
Encode JustCall valores de la consulta exactamente una vez
El cliente construyó su consulta con la construcción de la misma, que ya declara los valores codificado, así que no se escapó nada. El carácter que importa es "...
Aplicar FreePBX config después de cada escritura, o la extensión nunca llega a Asterisco
La extensión 8777 (Aiden Perry, kamocrm) fue creada a partir de KamoCRM en 2026-09-02 y nunca sonó. La mutación FreePBX GraphQL de la Qué se había escrito la mu...
Una cuenta sin número de texto es un 409, no un 500
Iniciar un texto lanzó IllegalStateException cuando ni el miembro ni el instance tenía un número de salida, que la primavera se convirtió en un 500 con una pila...
Una fuente de la verdad para la configuración de la plataforma
"Conexión de prueba" reportó "no hay identificación de cuenta maestra" en un servidor de teléfono El aprovisionamiento acababa de tener éxito, minutos antes, us...
Un servidor telefónico medio aprovisionado nunca pudo ser terminado, y dijo lo equivocado
Un servidor KamoPBX de org ha estado informando Error: No se encuentra la instancia del proveedor de teléfonos: ************* desde que fue creado. Nunca fa...
Faltaban llamadas externas de la historia de llamadas de FreePBX
En una llamada externa externa FreePBX reescribe el CDR a la tronca ID de llamada de salida - el propio DID de la org - por lo que una llamada ext 8080 se coloc...
Una grabación cuyos bytes se han ido responde 410, no 500
La misma división que el proxy de imágenes y la descarga de documentos. Una grabación de una llamada que es no está permanentemente en el almacén, y un jugador ...
El barrido de extensión ya no borra toda asignación de miembros
MiembroVoipConfigController.puta escribe una asignación a dos lugares - MIEMBROS. . . CONFIG y ******************* - y **************** entonces despereció el s...
Dale a los codificadores de las conversaciones de texto un tiebreaker para que no se dejen las marcas de tiempo atada
últimaActividadAt, por lo que una conversación que comparte esa marca de tiempo exacta fue excluida de la Perdido de la lista permanentemente, no sólo mal orden...
Puerta el nav de voz cuenta con la cuenta de VIEW-VOICEMAIL
**************** entregado a cualquier miembro autenticado con la celebración de una fila de MemberVoipConfig con el que se hace un solo leído con no hay contro...
Stop RingCentral OAuth firmando inquilinos de marca blanca fuera
Dos faltas, ambas en el mismo salto, y cada una esconde la otra. RingCentral rechaza cada valor de alcance que esta aplicación puede pedir. "invalido-ecuafa / ...
Tamaño la vaina por encima de su propio techo de púrcim JVM [suelta ci]
La imagen comienza la JVM con -XX:MaxRAMPercentaje=70 -XX:-SiemprePreTouch, por lo que el solo puede tomar el 70% del límite de contenedores y pretocar mantiene...
Trabajar con el buzón de voz toma un derecho, no sólo manejar PHI
VoipVoicemailController se requiere VIEW-CALL-LOGS en exactamente una ruta y reproducción, y Sólo cuando la organización se encarga de PHI. Listando mensajes de...
Llama aislada ingesta por fila y enlace sólo después de cometer
Dos faltas con una raíz: ingestó en la transacción del barrido. Un lanzamiento dentro de una transacción participante marca la transacción SHARED rollback-only...
Salte extensiones suaves de la historia en el barrido de la historia de la llamada
sincronizaciónExtensiones suaves deletreando el estado de la UNKNOWN en lugar de eliminar la fila, por lo que la lista acumula cada extensión que una instancia ...
Cierre un agujero de cruce de buzón y seis defectos más de Equipos
Revisión adversarial de 6df0008 confirmó 24 hallazgos. Los más importantes: CRITICAL cualquier miembro podría borrar el correo de un colega. Equipos de ids de ...
Escanear los repositorios compartidos de MFA
MfaEnrollmentService es un servicio en la biblioteca compartida de kamo, por lo que el comodín ComponentScan (com.kamo") en esta aplicación la construye, indepe...
Apreciar la descarga de kubectl contra egress escamosas [sillar ci]
dl.k8s.io sobre la egresación del corredor deja caer intermitentemente la transferencia intermedia: rl: (56) OpenSSL SSL-read: descifrado o mal registro mac q...
Deja de fijar el secreto de comodines-kamocrm-com caducado
wildcard-kamocrm-com era un secreto multi-SAN heredado que el cert-gerente huérfano cuando su certificado fue reepretable en un secreto por hulo. Nada lo renovó...
Guardia / interno/voip con InternaAuthFilter como se documenta . . . . . . . . . . . . . . . . . . . .
VoipInternalSyncController siempre documentó a InternaAuthFilter como su guardia, pero /internal/voip nunca estuvo en PROTECTED-PREFIXES ni excluido de la OTK F...
Comparación secreta de constante tiempo interno-auth (oráculo de tiempo constante)
Reemplazar String.equals con MessageDigest.isEqual so response latency no puede filtrara el X-Internal-Auth compartió secreto byte-byte. barrido de flota de la ...
Devolución 200 todosFalse para capacidades de org no configuradas
GET /api/voip/capsientes lanzó ProviderNotConfiguredException (422) cuando era un org no tenía proveedor de teléfono, iniciando un error de consola roja en cada...
Excluir /api/voip/sms/ tenlates del filtro de sesión de OTK
Los endpoints de la plantilla de SMS doc-07 son llamadas internas menos de sesión custodiadas por InternaAuthFilter (X-Internal-Auth), pero OTKValidationFilter ...
Implementar POST /api/bulktext/send interno transaccional SMS
SecurityService's BulkTextSmsClient (password-recovery - ajustes de cuentas SMS) siempre ha POSTed ********** a /api/bulktext/send, pero el controlador nunca fu...
Construir la grabación MinIO clave de objeto como flujo de imágenes
Omita la extensión cuando FILE-EXT es nulo/vacente para que el nombre del objeto coinácea RecordingImagingService e ImagingController. Cinchat Java con null pro...
Resolver la extensión de la historia de la historia de llamadas de member.voip.config, no de teléfono.extensión
**************** era NULL para algunas extensiones incluso cuando member.voip.config correctamente cartografiado el miembro a su extensión. Usando member.voip-c...
Retroceden las imágenes de la superficie cuando el proveedor no tiene antecedentes de llamadas
KamoPBXProvider.getCallHistoria devuelve ahora nulo en lugar de tirar ************* por lo que la respuesta 501 ya no elud ordena la recuperación de imágenes. L...
Resolve member.extensión antes de la mirada del proveedor de VM/CDR
CallController pasaba por miembroId donde FreePBX (y otros estilo PBX proveedores) esperar un número de extensión. listado de correo de voz devueltos vacíos por...
Capturan a nuevoNumero de Extramata como final para captura de lambda en MemberVoipConfigController
newExtNumber se reasigna condicionalmente dentro del si (isVoipEnabled && ...) bloqueo, que hace que no sea efectivamente definitivo. El bloque de sincronizació...
No borrar la asignación de miembros en sincronización de proveedores que carecen de metadatos
****************) incondicionalmente sobrecriptó PhoneExtension.assignedMemberId con lo que el proveedor devolvió. FreePBX (y cualquier proveedor que no rastree...
Utiliza extensionId como ID externo, no Relay node id
FreePBX devuelve el mismo id de Relay (ZXh0ZWW5W9uOg== = "extension:") para cada extensión porque el campo de identificación no está poblado. Usandolo causó tod...
Rescribe todas las consultas/mutaciones de GQL contra la introspección de esquemas en vivo
Verificó cada nombre de campo y tipo contra el esquema real de FreePBX 17. Corro completo de correcciones: Consultas: - conseguirAllExtensions: eliminar el cam...
Correcto nombre de campo de GraphQL para conseguirAsteriskDetails
FreePBX API devuelve "Te referías a buscarAsteriskDetails?" . renombrar la salud comprobar la consulta y su accesorio de ruta de datos en consecuencia.
Añadir encabezados XHR/Accept y análisis de respuesta de cadena al cliente de GraphQL
El mismo patrón que FreePBXTokenCache: add X-Requested-With . Aceptar: aplicación/json suprimir las respuestas de redirección HTML de FreePBX y cambiar los tres...
Añadir Cabeceras de Acepta y respuesta de cuerda cruda que se asogue para endpoint si que si no es parado de la cuerda.
FreePBX estaba devolviendo texto/html cuando se llamaba vía clúster DNS porque el El encabezado anfitrión no coin concuerda con el PBX-HOSTNAME configurado. Aña...
Corre las cadenas de alcance OAuth2 para FreePBX API
Los visdos de FreePBX son identificadores de alto nivel: 'gql' (todo Gráfico) y 'descansar' (todo REST). El formato 'gql:read' significa GQL para un módulo baut...
Incluir com.kamo.z.shared.commerce en el escaneo de repositorio
La última kamo-shared-library propagates **************** (donotmodify.dao.services) que tiene una dependencia de constructor de ******************* ********** ...
Bump kamo-shared-library-shared a 1.4.0
Docker Stage 1 construye main de biblioteca compartida de kamo (ahora 1.4.0) e instala en el local .m2; el pom de servicio todavía hacía referencia a 1.0.0 que ...
Manevar RC webhook valido token; hacer opcional el organismo para las solicitudes de verificación
Encadenan explícitamente identificaciones largas en respuestas de SmsController
******************* El enfoque de la cuerda no era haciendo efecto. Llama directamente .toString() en todas las identificaciones largas en el las respuestas de ...
Serializar Eclases Larga como cadenas para evitar la pérdida de precisión de JS
CockroachDB unique-rowid() genera números enteros de 64 bits más grandes que Número.MAX-SAFE-INTEGER (2-53-1). JS JSON.parse los rodea silenciosamente, causando...
Devuelve el mapa plano de enviar endpoint para evitar lazyInitializationException
VoipMessage.conversation is FetchType.LAZY; después de los compromisos de Transacción, Jackson serializaría la entidad lanzaría la excepción de LazyInitializati...
Volver a org mainPhoneNumber cuando miembro no tiene config VOIP
Miembros sin un miembro individual MemberVoipConfig (o no dePhoneNumber set) ahora utilice el mainPhoneNumber de VoipProviderConfig como la salida número, en lu...
Elijugue getJwtKey() de WebhookController tras la migración de OAuth
Validación de firma utilizó jwtKey como secreto HMAC que ya no existe en VoipProviderConfig. Omitir la validación por ahora consistente con *******************
Utilícelo de llave de sesión correcto para orgID y miembro
KSessionService almacena las llaves como orgID y miembroID (capital D). Ambos controladores llamaban a .get("orgId") y .get("memberId") que siempre devuelve nul...
¿Te gusta lo que ves envío?
Comienza con el plan gratuito y vuelve a leer esta página dentro de un mes para ver cómo funcionan las funciones y los beneficios.
