用途:在 Flutter 应用中集成 Telnyx WebRTC SDK,实现跨平台(Android、iOS、Web)实时语音通话。前置条件:需先在 Telnyx 门户创建 WebRTC 凭据,并用服务端 SDK 生成登录令牌。
安装:在 pubspec.yaml 添加依赖 telnyx_webrtc: ^latest_version,然后运行 flutter pub get。平台配置:Android 需在 AndroidManifest.xml 声明 INTERNET、RECORD_AUDIO、MODIFY_AUDIO_SETTINGS 权限;iOS 需在 Info.plist 添加 NSMicrophoneUsageDescription。
认证:支持两种方式,凭据登录 connectWithCredential(CredentialConfig) 与令牌登录 connectWithToken(TokenConfig),可配置 callerID、notificationToken、autoReconnect、debug、logLevel、铃声路径等。
主要能力:外呼 newInvite;通过 onSocketMessageReceived 监听 CLIENT_READY、LOGIN、INVITE、ANSWER、BYE 等事件接听来电;通话控制包括挂断、拒接、静音、保持、扬声器切换、发送 DTMF。推送通知支持 Android FCM 与 iOS APNS+PushKit,含后台处理、早接听/拒接与迟到通知处理。可开启 debug 获取 MOS、抖动、RTT 等通话质量指标。还支持连接 Telnyx Voice AI Agent(匿名登录、发送文本、接收转写),以及自定义日志。
限制:推送在调试模式不生效,仅 release 模式可用;登录失败需核对 SIP 凭据;INVITE 未到达会出现 10 秒超时;FCM 项目不匹配会报 sender_id_mismatch。服务端 API 细节需参考 references/webrtc-server-api.md。