확장은 더 이상 모든 회원 할당을 지우지 않습니다
MemberVoipConfigController.put은 두 곳의 할당을 작성합니다. MEMBER VOIP CONFIG 및 *********** - 및 **************** 그 다음 패스에 두 번째를 지었다. 없음 공급자 상점 Kamo 회원 ids, 그래서 listExtensi...
Text-conversations coder 에게 tiebreaker 그래서 묶인 타임스탬프는 떨어지지 않습니다
lastActivityAt, 그래서 정확한 타임스탬프가 제외 된 대화 공유 목록에서 잃어버린, 그냥 잘못. 연습에 접근 가능 lastActivityAt는 대화의 자신의 날짜로 돌아갑니다. 메시지 및 메시지 및 대화 배치는 타임스탬프를 공유 할 수 있습니다. 마이크로초. 표준 keyse...
VIEW VOICEMAIL에 voicemail nav 카운트를 엽니 다
**************** 어떤 정통 회원에게 회원 보유VoipConfig는 인스턴스 전체 읽지 않은-voicemail 카운트를 행합니다. VoipVoicemailController는 전혀 권한이 없습니다. 견적 요청 VIEW VOICEMAIL은 이 번호 배지를 매우 행합니다. 할 ...
선 창문을 읽고 쓰기
Surfaces lineWindowEnabled; PUT는 nullable Boolean으로 허용한다. absent는 ""을 의미하고 저장된 값을 보존합니다. 현재 위치 이 endpoint의 호출자 omits 필드, 그리고 거짓으로 그들을 치료 휴대폰 설정이 저장 된 모든 회원에 대한 ...
Authenticate RingCentral 와 JWT, 전화 서버
RingCentral은 Kamo-wide의 credentials가 왔습니다. 등록 플러스 두 브라우저 동의 hops — 하나에 대한 org, 하나 당 회원. 둘 다 사라집니다. 조직은 자신의 RingCentral에서 자신의 응용 프로그램을 등록 JWT auth Flow 활성화 및 클라이...
Missed-call 및 voicemail은 softphone 지표를 계산합니다
전체가 아닌 별도의 라인으로 보고: 아이콘은 합과 그를 보여줍니다. dropdown는 고장을 보여줍니다, 그래서 전섬 철사 가치는 만들 것입니다 드롭다운 불가능. Voicemails는 example당 계산되며, set the voicemail tab lists, 그래서 배지와 목록이 ...
읽지 않은 스냅 샷, 마크 읽기 및 라이브 프레임
기존 메시지가 아닌 자체 NATS 주제: 브라우저의 핸들러 /topic/voip/message/는 도착 소리를 하고 공구 창을 엽니다 모든 프레임이 얻고, 배지가 새로게 전달되었습니다. chime와 팝 각 시간마다 창을 곱합니다.
핀 kamo-shared-library 1.6.0
도서관은 1.6.0으로 이동하면서 소비자가 1.5.0에 머물렀습니다. 소비자 CI 구축 신선한 클론의 라이브러리는 감기 ~/.m2 및 ci-settings.xml 미러로 Maven Central 만, 그래서 1.5.0은 어디에서 fetchable이며 빌드는 실패 해결하기 그것은 여전히 ...
차단된 기능은 이제 오른쪽과 신 모드를 능가합니다
PhiPlaybackAuthorizer 게이트 PHI는 VIEW CALL LOGS에서 재생합니다. 그것은 전체 체크 때문에 ServiceType.VOIP는 차단 VOIP RECORDING 단위, 그래서 PHI tenant는 전화 체계가 안으로 있을 수 있었습니다 모두와이 클래스는 아무도...
Stop RingCentral OAuth 서명 화이트 라벨 10ants 아웃
두 개의 결함, 둘 다 같은 hop, 그리고 각 하나는 다른 숨깁니다. RingCentral은이 응용 프로그램을 요청할 수있는 모든 범위 값을 거부합니다. — "invalid request / Parameter [scope] 값은 유효하지 않습니다." - 포함 app demonstra...
자신의 JVM 힙 천장 위의 포드 크기 [skip ci]
이미지는 -XX를 가진 JVM를 시작합니다: MaxRAMPercentage=70 -XX:+ 항상PreTouch, 그래서 heap 혼자 걸릴 수 있습니다 70% 컨테이너 제한 및 사전 터치 모든 최선을 다하고 자주 묻는 질문 Non-heap - uncapped 메타 스페이스, 코드 캐시,...
Voicemail 작업은 PHI를 처리 할 수없는 권리가 있습니다
VoipVoicemailController 필요한 VIEW CALL LOGS 정확히 하나의 경로 — 재생, 과 조직이 PHI를 처리 할 때만. 그들의 음성 메일 목록 transcriptions, 표시 그들 읽고 그들 은 모든 것에 아무 권리도, 어떤 조직. 그 조건 검사는 좋은 것 이...
공유-library @Lob LONGVARCHAR 수정에 대한 재건
Hibernate의 PostgreSQL 방언은 getLong()를 통해 OID로 @Lob String 칼럼을 읽습니다. Affects 메모, 연락처, 달력, OAuth 토큰, IMAP 암호, 이메일 캠페인 몸, webhook 비밀, Canva 및 소셜 자격.
YugabyteDB의 포인트 및 PostgreSQLDialect 사용
CockroachDB는 YugabyteDB에 의해 대체되었습니다. 연결 문자열에서 이동 cockroachdb-public:26257 yb-tserver-service:5433, 그리고 Hibernate 방언 ...에서 *********** 에 PostgreSQLDialect.
LAN 업 링크가 손상을 방지하는 공유-library 빌드를 복원
세 가지 빌드는 오늘 "Tag mismatch"에서 jar를 당겨 - 거울은 1 시간 전에 추가하지 않았다 kbservice, mcpgatewayservice 및 ragservice가 Google에 대한 동일한 오류를 히트 거울 자체. 그래서 이것은 결코 Maven 중앙 속도 제한이 없...
Google GCS 사본을 통해 Mirror Maven Central
모든 도커 스테이지는 추운 ~ / .m2에서 시작하여 전체 종속 나무를 굴절시킵니다. 그래서 중앙은 모든 동시 서비스 구조의 전체 무게. 그것은 429s와 함께 답변, 오늘 두 번, 손상 전송: BillingService 일어난 일에 태어난 "Tag mismatch" tomcat-emb...
통합된 이미징 버킷을 위한 재건
Kamo-shared-library 3045cc3: ImageAssocType.getBucket()을 지금 반환 "imaging" 각 협회에 대 한 물통, 그래서 deduplicated 파일은 한 번 저장 됩니다. 관련 상품 객체는 이 목록의 앞에 migrated 있었습니다. 공유 라이...
공급자가 인스턴스가 될 때 확장 당 호출 내역을 다시 채우지 마십시오
RingCentral의 엔드포인트는 extension/~이며 인수를 무시하므로 반환합니다. 모든 확장에 대한 동일한 로그. 페이지가 새로운 것을 추가하면 나머지 각 값은 이미 볼 수있는 응답을위한 둥근 여행입니다. FreePBX는 진짜로 역사는 per-extension, 입니다 unaf...
행당 격리 통화 및 연결 후만 커밋
1개의 뿌리를 가진 2개의 결함: ingest는 청소의 거래에 참가했습니다. 참여 거래에서 던지고 SHARED 거래 롤백 전용. syncCallLogs 삼키기 per-entry 실패 청소, 그래서 하나 모든 통화, 음성 메일, 확장 및 장치를 조용히 분리 한 CDR 전체 진드기에서 쓰...
Call-history 청소에 부드러운 확장을 건너
syncExtensions 제거 보다는 오히려 UNKNOWN에 손가락으로 튀김 상태에 의하여 연약한 deletes 행, 그래서 목록은 모든 확장 인스턴스를 축적했습니다. 각 각 청소 당 공급자 왕복 1개의 비용 및 반환 아무것도.
Persist 통화 및 동료 통화, 텍스트 및 음성 메일 리드
통화는 어디에서나 기록되지 않았습니다. - VoipCallEventService는 NATS 이벤트를 발표했습니다. 브라우저를 위해 아무것도 유지하고, RECORDINGS는 오디오가되었을 때만 존재합니다. 다운로드 per-instance sync는 이제 PhoneProvider를 통해 통...
이제 dead mailbox 매개 변수와 로컬 드롭
C7cb180에 따라: 한 번 mailbox는 voicemail id를 왼쪽, toVoicemailEntry's mailbox 인수 및 graphReady 로컬에는 나머지 독자가 없습니다.
크로스 메일 박스 홀과 6 개의 팀 결함을 닫습니다
6df0008의 Adversarial 검토 확인 24 발견. 중요한 것: CRITICAL — 회원은 동료의 메일을 삭제할 수 있습니다. 팀 voicemail ids는 "{mailbox}로 구성|{graphMessageId}", 마크레드 / 삭제 / fetch split caller-s...
Microsoft Teams Phone as a provider
Teams is not one API, so the provider glues three control planes together: • Graph, app-only — call history (getPstnCalls), presence reads, directory and...
Phi access log에 VOIP PHI 트레일을 주장
녹음, 음성 메일 오디오 및 성적표는 로그에 감사되었습니다. 6년 §164.528 의무에 대해 14일을 유지하고 자원에 의해 정복 - 그래서 "이 호출에 듣고" unanswerable 유지 기록 된 동안도. JpaPhiAccessLogWriter를 작가로 벤탄은 PhiAccessReco...
공유 MFA 저장소 스캔
MfaEnrollmentService는 kamo-shared-library의 @서비스이므로 와일드 카드 @ComponentScan("com.kamo") 이 응용 프로그램에서 여부 또는 이지 여부를 구성 서비스는 MFA와 함께해야 할 일이 있습니다. — 그리고 그것의 constructor...
PHI-handling orgs에서 호출 재생에 대한 VIEW CALL LOGS가 필요합니다
녹음 및 음성 메일 재생 체크 된 열성 및 다른 것 : 어떤 회원 자신의 org는 그것에 어떤 통화를 당길 수, 성적 포함, 확장에 그들의 것은 아니었다. Requiring VIEW CALL LOGS outright는 옵션이 아닙니다. - 오른쪽은 할 수 있습니다. enum에 존재하고 ...
녹음, 음성메일 및 성적표
녹화 재생은 추적하지 않습니다. 기록 된 통화는 가장 오래된 PHI입니다. 플랫폼 상점 - 확실한 대화 - 그리고 "이를 듣고 전화"는 unanswerable, 이는 첫 번째 질문 §164.402 breach 평가 요청. Wires CallRecordingAuditor는 모든 것을 읽...
진행중인 탁월한 업무
단계와 헌신적인 as-is 그래서 아무것도 작동하지 나무에서 uncommitted 남아. 5개의 파일 변경, 549 삽입(+), 2개의 deletions(-)
Flaky egress에 대한 kubectl 다운로드를 Harden [skip ci]
dl.k8s.io 런너의 egress 간에 실수로 중간 전송을 삭제: 컬: (56) OpenSSL SSL read: 해독 실패 또는 나쁜 기록 맥 그렇지 않으면 녹색 빌드에 배포되지 않습니다. 반복적으로 관찰 kamo-signer-monorepo 및 카모 번역 사전. 추가 --retr...
만료 된 wildcard-kamocrm-com 비밀을 중지
wildcard-kamocrm-com은 cert-manager orphaned의 유산 멀티 산 비밀이었다 인증서가 per-host 비밀에 다시 지정되었을 때. 아무것도 그것을 갱신하고 그것은 만료 2026-07-20, 그리고 그것을 핀이 여기에 만료 된 cert를 Traefik의 기본 ...
TURN-REST credentials 모바일 소프트 폰의 엔드 포인트
GET /api/voip/turn/credentials 민트 ephemeral coturn creds (HMAC-SHA1 이상) "<expiry>:<memberId>" 와 공유된 정적-auth-secret) 그래서 native/cellular WebRTC는 47.181.8.84:3478...
REST +에 X- *** 토큰을 받아 ?st = 오디오 엔드포인트의 스트림 토큰
OTKValidation의 특징 필터 우선: X-OTK → X-***-Token → ?st= (GET, 오디오 공유 StreamTokenCodec을 통해 검증된 스트리밍 경로 internal.auth.secret; 주장은 관제사의 기존 org/member를 먹이 인증). Native 플...
Guard /internal/voip with InternalAuthFilter as documented — 세션 오스틴에 401'd
VoipInternalSyncController는 항상 내부AuthFilter를 감시로 문서화했습니다. 그러나 /internal/voip는 PROTECTED PREFIXES에서 절대로 OTK에서 제외되었다. 세션 필터 - 그래서 DaemonService의 VoipGlobalSyncJob...
해당 이용 후기에 달린 코멘트가 없습니다
Per-member RingCentral 흐름은 자체적으로 관리되었으므로 관리 관리 또 다른 회원 프로필은 "그들은 스스로 연결해야합니다." 시스템 일반적으로 회원의 RingCentral 계정을 만들고 자격 증명을 보유합니다. 회원을 대신 연결할 수 있어야 합니다. - OAuthCon...
Per-member RingCentral OAuth identity + 소프트 폰 SIP 수정
연약한 전화 SIP credential 고침: - getSipCredentials: 지도 outboundProxyBackup + stunServers (웹 전화 v2 필요 WSS의 실패 + ICE/media; throw ProviderException (502) 대신 bare Runti...
일정한 내부auth 비밀 비교 (timing oracle)
MessageDigest.isEqual로 String.equals를 대체하십시오 그래서 응답 대기시간은 할 수 없습니다 X-Internal-Auth 공유 비밀 바이트-by-byte를 누출하십시오. Fleet-wide 청소의 copy-pasted InternalAuthFilter (sam...
반환 200 모두 unconfigured org 기능을 위한 False
GET /api/voip/capabilities threw ProviderNotConfiguredException (422) 언제 org는 전화 공급자가 없었다, 모든 페이지 부하에 빨간색 콘솔 오류를 기록 전화번호 Capabilities는 자연적인 빈 대답을 가진 순수한 질문입니다, ...
OTK 세션 필터에서 /api/voip/sms/templates 제외
Doc-07 SMS 템플릿 엔드포인트는 세션이 없는 내부 통화가 보안됩니다. InternalAuthFilter (X-Internal-Auth), 하지만 OTKValidation 여과기는 아직도 그(것)들에 ran 그리고 401'd (*** 세션 없음). 접두사 목록, 미러링에 추가 /a...
Doc-07 SMS 템플렛 체계 — /api/voip/sms/templates + GSM-7/UCS-2 세그먼트 감시
*********** 공유형 SmsTemplate entities에: {{var}}을 렌더링하고 EXISTING BulkTextProvider primitive를 통해 전송합니다 (두 번째 없음) 캐리어 경로); SmsSegmentCalculator (GSM-7 160/153, UCS-...
와이어 mlos-internal-auth (INTERNAL AUTH SECRET) 배포 [skip ci]
새로운 /api/bulktext/send 엔드포인트를 가집니다. 기존의 생산 내부의 값 (mlos-internal-auth) 그래서 SecurityService의 복구 SMS 이름 * kubectl 패치를 통해 응용 프로그램 라이브; 이 persists it to git.
POST /api/bulktext/send 내부 거래 SMS 구현
SecurityService의 BulkTextSmsClient (암호복 + 계정 설정 SMS) 항상 posTed *********** 에 /api/bulktext/send, 그러나 컨트롤러는 결코 내장되지 않았다, 그래서 모든 호출 404'd - SMS 복구 죽은 에 prod. Inte...
K1m1 (clone+registry+kubeconfig from k1m1, 드롭 k2m1, 간단한 kubectl install)에 마이그레이션
Scope concurrency to build jobs, not Kubernetes deploys
Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...
MinIO object key를 녹화합니다
FILE EXT가 null/empty일 때 확장을 Omit RecordingImagingService 및 ImagingController. Java 문자열 concat 와 null {datId}.null 생성하고 softphone 미디어 플레이어에서 재생을 깨.