从成员 voip config而不是电话 扩展解析历史扩展名
QQ是一些扩展的 NULL, 即使当 成员 voip config 正确绘制了成员的扩展名 。 使用 成员 voip config(与 CallFeatures Captain 相同的源码) 当成员配置了VOIP时,总是找到扩展名.
Surface imaging fallback when provider has no call history
KamoPBXProvider.getCallHistory now returns null instead of throwing **************** so the 501 response no longer bypasses the imaging fallback. The provider c...
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...
Resolve member→extension before VM/CDR provider lookup
CallController was passing memberId where FreePBX (and other PBX-style providers) expect an extension number — voicemail listing returned empty because no PBX e...
记录回放、语音信箱、相接语音信箱、历史丰富
- 新记录 具有批量搜索、主音轨+每个频道音轨的射程流音频以及媒体播放器工具窗口元数据的控制器 - 呼叫Captain.getCallHistory / 获得Voicemails 以成像记录来丰富每行内容 通过新录制 LookupService——单程往返,无N+1 - Phone Provider.get Voice...
在成员VoipConfig 主计长中抓取Lambda抓取的新数量作为最终数据
如果( 是 VoipEnabled QQ... ) 内有条件地重新分配新Ext Number 。 block, 这使得它不能有效最终。 团队成员同步块读取 它来自一个可选的.ifpresent () lambda,编译者拒绝它。 在Lambda之前装上最后的拷贝,以满足语言规则,没有 改变行为.
添加调用特性 API — 调用前方 + 通过提供者抽象连接自动回答
- 添加调用FeaturesDto和SetCallFeatures 请求 POJOs - 将“Forward/autoAnswer”旗帜添加到“提供能力”中 - 将默认的调用CallFeatures/setCallFeatures添加到 PhoneProvider 接口 - Ring Central:通过回答规则RES...
不要在同步时擦去来自缺乏元数据的提供者的成员任务
**************** 无条件超音速 PhoneExtension. 指派给JemberId 提供商退回的任何东西 免费PBX (和任何不追踪卡莫成员 拥有扩展的供应商) 返回已指派的JemberId=null在列表Extensions (),所以刷新=真调用 或 一个同步可以悄悄地澄清每个成员的任务。 跳过...
WSS - 意识到浏览器软手机的 SIP 证书
/api/voip/sip/creditis 端点现在返回一个浏览器侧面的证书 SIP堆栈可以实际使用:WSS运输,公有领域,和一个wsServers URL. - Sip Captain 解决成员的VoipConfig,验证VOIP是 启用并指定扩展,然后向成员特定的路径 实例(不是蚂蚁的主要例子)。 当成员返回描...
Persist connection test result to isConnected field
- test() endpoint saves isConnected=true/false to DB after every health check - update() resets isConnected to null when configJson changes (credentials may h...
Use extensionId as external ID, not Relay node id
FreePBX returns the same Relay id (ZXh0ZW5zaW9uOg== = "extension:") for every extension because the id field is not populated. Using it caused all extensions to...
重写所有 GQL 查询/ 模拟模拟模拟
对照 FreePBX 17 schema 验证每个字段名称和类型. 全套更正: 查询 : - 获取 AllExtension : 从扩展名中删除不存在的“ voicemail” 字段 - 获取所有用户 – 所有用户 { 核心用户 { 扩展名 } } - 获取 AllEndpoints → 获取 AllCoreDevi...
正确的图形QL 字段名称以获取 AsteriskDetails
FreePBX API 返回“ 您是否指取回 AsteriskDetails ? ” — 重命名健康 。 检查查询及其数据路径访问器.
向 GraphQL 客户端添加 XHR/ Acept 信头和字符串响应解析
与 FreePBX TokenCache 相同的模式: 添加 X- requested- With + 接受: 应用程序/json 以压制 FreePBX 的 HTML 重定向回复,并切换所有三个呼叫站点 从响应实体<JsonNode>到响应实体<String> 手动对象Mapper.readTree() 所以非JSO...
添加 AcceptQHR 信头和原始字符串响应
FreePBX通过集群 DNS 调用时正在返回文本/ html, 因为 主机头与配置的 PBQHOSTNAME 不符 。 添加中 接受: 应用程序/json和 X- 请求使用: XMLHttp 请告诉 FreePBX 返回 JSON 错误,而不是重定向到 HTML 页面。 由响应实体<JsonNode> 切换为响应实...
校正 FreepBX API 的 OAuth2 范围字符串
FreePBX 瞄准镜是顶级标识符 : “ gql”( 所有 GraphQL) 和 'rest'(全为REST). 模块格式“ gql: read” 表示 GQL 名称为“ 已读 ” , 它不存在, 导致无效的 scope 400 错误 .
将 com.kamo.z. shared. commerce 纳入仓库扫描
最新卡莫共享图书馆宣传 **************** (不修改.dao.services) 建筑师依赖 **************** **************** 这个 服务通过 VOIPService 组件扫描加载,但其寄存器是 超出范围,在启动时引起不满意的依赖性例外. 将 com.kamo.z. s...
内部同步
代理资源 CRUD(扩展/用户/设备/语音邮件): - VoipExtensions Captain at QQ) 互联网档案馆的存檔,存档日期2011-12-02. - 在/api/voip/Instances/{id}/用户的用户控制器 - VoipDevices 主计长在... - VoipVoicemail C...
多功能提供者重构 + 完全 FreePBX + Flowroute 短消息
核心模型变化:一个Org → 许多VoipProviderInstances(是:每个Org一个). 每个提供者API的呼叫现在都进行实例扫描. 电话提供接口 : - 新的扩展/用户/设备CRUD+语音信箱音频/图像描述方法。 - 新能力旗(扩展管理、用户管理、设备管理; 语音邮件Transcription). 默认...
为 kamo- shared- library 更新而重建( CREATE CHILD ORG 右侧 + 应用到旗帜)
拉出新的"角色权利Type.CREATE CHILD ORG (id 131)","ChildOrg Security Model"上三个应用到旗帜,两个13-arg服务超载,以及应用ModelEnforcement Service创建者类型的帮助.
为 kamo- shared- library 更新而重建( appConfig upsert- only fix)
取出不再删除其服务类型不在呼叫者有效载荷中的AppConfig行所加的硬化的QQ——防止在收到部分有效载荷时失去静态数据.
为 kamo- share- library 更新而重建( 有效的- feature 解析器)
取出新的应用模式强制服务方法(compute AvailabilitysMap, isAppive Enabled,得到App-Enabled AppTypes, Ccompute Effective Features),因此当它查询或g特性状态时,这个服务可以使用模型化的特性解析.
Bump kamo-share-library 至 1.5.0 用于应用模型执行
将此项服务带入 kamo- share- library 1. 5.0 , 因此它可以接收新的应用模式执行服务, 儿童安全模式AppConfig实体, ServiceAvailable Type enum, Organization. (原始内容存档于2018-09-21). 是私有列,并扩展模板种子钩.
Rebuild for kamo-shared-library update (runtime force rules + DEFAULT fallback in MemberRightsAppliedService)
Triggers a rebuild so this service picks up the updated **************** that applies template force rules and DEFAULT-template fallbacks on top of the existing...
Rebuild for kamo-shared-library update (master model, default role templates, force-rule resolver)
Triggers a rebuild so this service pulls the new kamo-shared-library revision containing Organization.branchTypeID, Organization.masterModelID, ****************...
Bump kamo-shared-library to 1.4.0
Docker Stage 1 builds kamo-shared-library main (now 1.4.0) and installs it to the local .m2; the service pom still referenced 1.0.0 which Maven could not find, ...
Add InternalAuthFilter + POST /api/bulktext/send for service-to-service SMS (SP3)
Handle RC webhook validation token; make body optional for verification requests
Add MMS attachment support — multipart send, base64 storage, image display
- RingCentralProvider: override sendSms with multipart/form-data MMS path - VoipMessageService: accept attachment bytes, store base64 data URL in attachmentUrl ...