请帮忙。 我已经尝试使用 sip.js 或 jssip 和react-native-webrtc 进行出站呼叫了几周或几个月。 我已经从 telnyx 眩晕并打开服务器。
我有默认的 sip.js 和类似的 API 设置,但凭证数据和连接工作正常。得到 200 条回复一切都很好。然后我向我的手机拨打出站电话,当我接听或取消呼叫时,我收到以下消息:
错误 2024 年 7 月 30 日星期二 06:37:04 GMT+0100 | sip.SessionDescriptionHandler | sip.SessionDescriptionHandler | SessionDescriptionHandler.setDescription 失败 - 错误:无法设置远程应答 sdp:mid='0' 的 m= 部分无效。 RTCP-MUX 在需要时未启用。 错误 2024 年 7 月 30 日星期二 06:37:04 GMT+0100 | sip.邀请者| Session.setAnswer:SDH setDescription 被拒绝... 错误 2024 年 7 月 30 日星期二 06:37:04 GMT+0100 | sip.邀请者|无法设置远程应答 sdp:mid='0' 的 m= 部分无效。 RTCP-MUX 在需要时未启用。 错误 2024 年 7 月 30 日星期二 06:37:04 GMT+0100 | sip.邀请者|无法设置远程应答 sdp:mid='0' 的 m= 部分无效。 RTCP-MUX 在需要时未启用。
我的代码如下:
import React, { useEffect, useState } from "react";
import { registerGlobals } from "react-native-webrtc";
import { Button, Platform, StyleSheet, Text, View } from "react-native";
import { Inviter, Registerer, SIPExtension, UserAgent } from "sip.js";
// Create user agent instance (caller)
const userAgent = new UserAgent({
uri: UserAgent.makeURI("sip:[email protected]"),
transportOptions: {
server: "wss://sip.example.com"
},
});
registerGlobals()
// Connect the user agent
userAgent.start().then(() => {
// Set target destination (callee)
const target = UserAgent.makeURI("sip:[email protected]");
if (!target) {
throw new Error("Failed to create target URI.");
}
// Create a user agent client to establish a session
const inviter = new Inviter(userAgent, target, {
sessionDescriptionHandlerOptions: {
constraints: { audio: true, video: false }
}
});
// Handle outgoing session state changes
inviter.stateChange.addListener((newState) => {
switch (newState) {
case SessionState.Establishing:
// Session is establishing
break;
case SessionState.Established:
// Session has been established
break;
case SessionState.Terminated:
// Session has terminated
break;
default:
break;
}
});
// Send initial INVITE request
inviter.invite()
.then(() => {
// INVITE sent
})
.catch((error: Error) => {
// INVITE did not send
});
});
我尝试了互联网和指南中的大部分内容。
你尝试过jssip而不是sip.js吗?