You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bot Framework中用AppHostedMedia向Teams端点外呼:如何生成媒体会话配置?

关于Teams Bot发起外呼时应用托管媒体(AppHostedMedia)的媒体会话配置Blob说明

核心问题

需要开发Bot向Teams端点发起外呼并使用应用托管媒体(AppHostedMedia),但微软官方示例未明确Graph调用中"blob": "<Media Session Configuration>"的具体生成规则。推测该Blob为SDP Offer,但Graph Communications SDK或Bot Framework中无明确管理类及示例代码参考。

手动生成Blob的必要信息与实现方式

当无法依赖SDK类时,已知主机IP、端口范围、传输协议(UDP/TCP)、支持的媒体类型(如PCM),Blob本质是符合标准的SDP Offer,需包含以下关键模块:

  • 会话级基础描述:
    • 固定版本标识v=0
    • 会话相关唯一标识(用户名、会话ID、版本ID)、网络类型、地址类型、连接地址
  • 媒体级详细配置:
    • 媒体类型(如m=audio)、监听端口、传输协议、RTP负载类型
    • 属性字段(a=前缀):指定编码格式的rtpmap、对应主机IP与端口的candidate候选地址、媒体传输方向(如sendrecv双向传输)、会话标识等

示例SDP Offer结构(适配AppHostedMedia场景)

v=0
o=- 1698753210 1698753210 IN IP4 192.168.1.100
s=-
c=IN IP4 192.168.1.100
t=0 0
m=audio 50000 UDP 0
a=rtpmap:0 PCMU/8000
a=candidate:1 1 UDP 50000 192.168.1.100 0 typ host
a=sendrecv

自动生成逻辑

每次呼叫需动态生成Blob:

  1. 用随机数或时间戳生成唯一的会话ID与版本ID
  2. 替换占位符为当前呼叫的可用主机IP、端口(从预设端口范围选取)
  3. 根据支持的媒体类型配置对应rtpmap属性(如PCMU对应负载类型0、采样率8000)
  4. 确保candidate字段的IP与端口和实际媒体监听地址完全匹配

补充说明

针对呼入请求,Graph Communications SDK会自动完成SDP握手流程;但发起外呼时,需手动构造符合标准的SDP Offer作为Blob内容,目前官方文档及示例确实缺失该部分的详细指导。

内容的提问来源于stack exchange,提问作者Ennova

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 04:56:08