Enrich upload manifests with Asterisk CDR caller-ID data
Adds optional MySQL CDR enrichment so the softphone history tab can display who called (or was called). When ASTERISK_CDR_DSN is configured as a Forgejo repo se...
Parse CDR caller-ID fields from upload manifest
When kamo-asterisk-support includes a cdr{} section in the upload manifest (populated when ASTERISK_CDR_DSN is configured), ConversionService extracts callerIdN...
Add CDR caller-ID columns to recordings table (order 40)
Adds caller_id_num, caller_id_name, call_direction, and call_result columns to the recordings table so the softphone history tab can display who called without ...
Add CDR caller-ID fields to Recording entity
Adds callerIdNum, callerIdName, callDirection, and callResult columns to the Recording entity so kamo-asterisk-support can store Asterisk CDR metadata alongside...
Add COMP payment method option to subscription order wizard
COMP is a valid backend PaymentMethod enum value for complimentary platform-admin grants, but was missing from the frontend type and wizard UI — only INVOICE an...
Show platform kamocrm domain on custom domain entry
Surface the active *.kamocrm.com hostname on the add-domain flow and detect custom domains by excluding kamocrm URLs instead of default-flag alone.
为没有账户的 Org 拥有者设置计费按钮
当 Org 拥有者打开计费帐号时, 没有计费帐号 ,显示靴子夹提示,而不是通用的“ 与您联系 ” org owner" message. (原始内容存档于2018-09-29). 按钮调用 POST /api/ 安全/ 账户/ 然后重装成功记录 .
添加已存在的 org 的 ristballing 结束点
后 . 触发相同的 idempotent 设置为子org创建钩( BillingSetupService) .setupForSubOrgCreation),但可以由兽人所有者点名. 这个处理器是开单前创建的 因此,从未收到过账户+账户订阅.
第3波转换、倒置修正和自动翻译 CI
- 将所有硬码的英文字符串替换为t() 横跨波段 3的呼叫 组件(聊天、俱乐部、支助、笔记、管道、线索、导航等) - 将波浪3碎片合并为消息/en.json(+19键) - 在en.json(欢迎,标签, 页脚文本,账户Desc/网络Desc ICU插值) - 在page.tsx中将移动欢迎文本修复为使用t()而不是硬...
以成员. language 为本地语源的接线
在没有 URL 的情况下, 在整个 kamo- 内部添加基于下一轮的国际化 地语前缀. 活动区域读取自 kamo-locale cookie, 即 反映经认证的成员的“语言”偏好(通过 QQ区域设置卡 基础设施: - i18n/locales.ts,i18n/request.ts:22个支持的符合kamo-marke...
Fall back to imaging recordings for call history + voicemails
FreePBX 17 doesn't expose voicemail messages over REST or GraphQL on this install (the GraphQL voiceMail type returns mailbox config, not messages, and /admin/a...
由(输入,扩展,为Vm)进行分页记录检索
当上游提供商无法列出时被软手机分页作为调用录音和语音邮件的可口真言源——例如FreePBX 17没有REST/GraphQL语音邮件消息API,在此安装上Asterisk的CDR管道也断裂了(在KlusterServices中分离出ODBC的错配置修复).
在子org创建上自动提供 KamoCRM 席位; 促销- billing- 所有人端点
权限服务行走订阅 成员(不是账户成员) 计算 成员应享待遇 -- -- 活跃的领有执照的子公司之间的特征结合,加 自由基线。 Redis听众获得一个子目录:<uid>处理器。 新的 BillingSetupService 运行于两个流量: - 创建组织(KamoCRM下的子org):自动创建一个KamoCRM-org...
添加成员语言+默认值 货币列
在支持新表格的成员表格中添加两个 NOT NULL 列 成员.语言(VARCHAR DEFAULT 'ENGLISH')和成员.defaultCurrence (VARCHAR(10) DefAULT “美元” 字段。 现有行被回填入 默认值, 这样NOT NULL 约束可以在没有故障时得到满足 窗口.
添加语言步骤、 国家时区选择器、 滚动 + *** 修正
- 为巫师准备新的“我的语言”步骤,以映射国家 步骤的布局。 将22个营销支持的地方列为旗牌牌 有本地名称 + 英语工具提示; 预选自 navigator.languages. - '我的国家' 步骤现在收集一个时区 与国家,默认 从 QQ 开始,并在前可编辑 下一个 这两个领域都需要推进。 - 登记机构现在发送语言/...
向区域设置卡添加语言+默认货币
成员简介的"区域设置卡"现在曝光可编辑语言 (22个支持的地址与营销站点相仿)和默认货币 (可搜索自动完成)与时区并列. 三个一起通过 PUT/api/安全/成员/{id}。 视图模式显示本地语言名称 括号内为英文,加上货币符号和全名.
坚持成员语言/时区/货币注册
/ 注册端点现在接受语言、 时区和默认时间 与现有的国别领域并存。 登记事务组 并应用全部四个区域字段 新创立的会员,从该国 (c) 未提供时的实时绘图(又回落到美元).
Map external customer address blocks into AccountAddress on pull
添加适配器AddressMapper 帮助从任意一个 JSON 地址节点转换 提供商输入一个嵌入器,并将它作为键入账户 会计地址(SHIPPING/BILLLING)。 把帮手接入客户端点暴露的4个适配器 地址块 : - ShopifyCustomerAdapter: 默认地址为双运+提单, 剩余地址[]成为货运记录...
/账号/新副本取自牵头UX,全名字段,双人电话,地址;账级地址管理
前端 : -/账号/新:每节"从铅获取的代码"按钮+标题"从铅获取全部代码"按钮(当铅Id param) - 名称部分:前缀、先缀、中缀、后缀 - 带有扩展和“Allow文本”切换的双重电话(个人+工作) - 使用 EmbAddress 形状( 第1行, 细节、 城市、 分区、 邮政、 国家) 的地址部分, “ 也作为...
支持嵌入式名称/电子邮件/手机 数量+地址管理端点
- 账户管理员接受嵌入式名称/电子邮件/手机 POST/PUT上的JSON号码 - POST上的初始地址创建了SIPPING(以及使用AsBillingToo set时的BILLLING),设置了主要指针 - 增加5个地址终点:获取、POST、PUT、DELETE地址;PUT/地址/{id}/主地址 - 账户汇总/详细...
制作级历史 + 有媒体播放工具的语音信箱标签
历史分页(软件历史Tab.tsx): - 在面板滚动容器内通过交叉观察员进行无限滚动 - 过滤芯片:全部/入行/出行/出行/出行/入行/入行/入行/入行 - 当成像方有记录行时,在行动作中记录图标 - 每行外溢菜单(添加到联系人) - 通过现有的拨号盘点击回拨 语音邮件标签( Softphone Voicemail ...
记录提供者- 查找列 + VM 归档列的迁移运行器
添加记录S.professor instance id(UUID)和提供者 external id(VARCHAR(64)),加上软手机历史分页的批量查询端点所使用的复合idx records professor Lookup索引. 并添加手机 VOICEMAIL.is archived + 日期 archived ...
永续提供商InstanceId + 提供商 永续在摄取时记录
线索星号支持的X-Phone-Server-Id和X-Asterisk-Unique-Id(已经在未处理的记录中)被传送到新的RecordingMetadata字段,因此在成像系统中的呼叫/语音邮件行将相接键带回源提供者行. 对于语音邮件,帮助者会发送原始文件名碱名(例如:msg0000);我们剥去msg前缀并引导零...
使用 HTTP 区域支持添加 QQ
音频/视频成像资产通用流出端点,由kamo-Internal MediaPlayer工具使用. 重新使用图像服务授权( 和/ 下載/ ... 相同) 但有 Accept- Ranges + Content- Range 的流, 所以媒体元素可以不装入完整文件而刷新 .
记录回放、语音信箱、相接语音信箱、历史丰富
- 新记录 具有批量搜索、主音轨+每个频道音轨的射程流音频以及媒体播放器工具窗口元数据的控制器 - 呼叫Captain.getCallHistory / 获得Voicemails 以成像记录来丰富每行内容 通过新录制 LookupService——单程往返,无N+1 - Phone Provider.get Voice...
在录音、语音邮件存档、MinIO范围流媒体中提供搜索密钥
- 记录:将提供者InstanceId + 提供者外部Id 加入提供者调用历史 / 语音信箱行返回成像资产 - PhoneVoicemail: 添加:Archived + 日期:用于软手机列表中的软码 - 角色右侧:添加 VOIP VOICEMAIL PERMANENT DELETE (删除破坏性的门;档案仍可供所有人...
添加历史标签 — 带有搜索和过滤器的已标定的审计时间表
- 铅历史小组:粘性过滤工具栏,有已解封的搜索,QQ过滤器,有页码的MUI表格,有色码的事件芯片,任务/账户字段的成员名分辨率 - 线索 Api: 获得LeadHistory () 并获得LeadHistoryFilters () 并获得完整的查询参数支持 - 铅史入门、铅史学家、铅史学家、铅史学家、铅史学家、铅史学家...
添加 GET /{id}/ 历史和/{id}/ 历史/ 过滤端点
被贴上可过滤,可搜索的铅-历史端点有批量演员加载(无N+1). 过滤端点返回不同的已使用的字段、所有注册字段、不同的行为者和所有事件类型。 现在所有的变异端点 都通过召集成员 作为演员 到领导历史服务 为归属.
添加铅-历史审计日志——实体、登记、服务、数据交换、铅服务钩
- 铅历史实体(UUID PK,平地长FKs——没有允许铅删除/转换的FK限制) - 具有人可读标签的铅-历史晚会 - 铅历史场登记: ~55履带式铅字段的单一真相来源; 添加一字段为一行 - 领头字段描述器记录(钥匙、标签、类别、提取器) - 铅历史服务:快照/滴入管道,XQ相接+过滤后发现 - 具有巢式ActorD...
添加 ConnectType enum, 用主货币更新 ConnectType, 在账户/组织中添加货币, 在领导服务中添加领导账户任务
My 账户页面标题中的动态成员类型标签
标题现在读作“我的{成员{成员}成员}帐户” , 使用 org 配置 行为标签,在成员类型被加载后自动切换.
将创建文档按钮移动到 DocManager 工具栏
该按钮仅通过动作道具在/doc/管理器上可用. 将全部逻辑( 状态、 处理器、 DOC TYPES, 菜单) 移动到 DocManager 中 它出现在每一个嵌入式实例中。 简化后页.tsx 将 DocManager 变成没有动作的道具.