Android Sip:如何在不使用 SIP 地址的情况下进行语音通话(我想使用真实的 phone 号码)

Android Sip: How to make audio call without using SIP address (I want to use real phone number instead)

我正在使用 android.net.sip 包中的 Android sip。我有一个 SIP 凭证,可以拨打 phone 号码。下面是 android

中的 SIP 呼叫示例
SipProfile.Builder builder = null;
                builder = new SipProfile.Builder("+16674442153" +
                        "", "");
                builder.setPassword("");
            SipProfile outgoing = builder.build();
            sipManager. makeAudioCall(sipProfile.getUriString(), outgoing.getUriString(), listener, 30);

在这个 SipManager 的 makeAudiocall 函数中只接受一个 sip 地址,每当我输入一个 phone 号码时它就会抛出一个异常

java.text.ParseException: Invalid URL: sip:+16674442153@

所以有另一种方法或库可以帮助我在 android 中使用 SIP 拨打 phone 号码呼叫。

这取决于您的 SIP 提供商。如果您的 SIP 提供商允许 SIP 呼叫普通 phone 号码,他们应该记录下 SIP URI 应该是什么样子。

对于某些提供商,以下方案有效:

phonenumber@sipproviderserver.com

但这不是编程问题而是提供商问题。提供商必须允许您从 SIP 连接到 Phone 网络。必须如何配置 SIP 端点以及这是否可以自动发生取决于提供商。