如何通过sip在android中发送短信

Muh*_*san 9 java eclipse android voip

我正在开发一个Android应用程序,我希望使用sip/xmpp(会话启动协议)发送文本消息,任何人都可以给我代码,以及任何关于它在任何免费sip提供程序上开发和测试的指南.

Joh*_*k13 -1

重新阅读后更新
抱歉,我没有意识到该问题仅与短信相关。SIP 本身不支持短信,SIMPLE 或 MSRP 扩展可以实现这一点。您需要找到一个您喜欢使用的堆栈,这里有一个示例Doubango及其演示产品IMSDroid,但 Google 'Android MSRP' 提供了大量其他选项。我仍然对 XMPP 一无所知,但请查看此线程以获取很棒的库和用途列表。
结束更新

你试过什么了?对于您问题的 SIP(​​语音)部分,这里是Android 开发人员网站上的文档,其中包含您需要了解的所有内容,这里是一个免费的 SIP 提供商:Getonsip

减少了代码示例,大部分来自 Android 开发者网站。

本质上,您需要确保 minSDK 设置为 9,因为 SIP 库直到 2.3 才添加。将服务添加到您的清单中:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_SIP" />
Run Code Online (Sandbox Code Playgroud)

uses-feature voip如果您希望应用程序不安装在无法运行的设备上,则可以选择添加该指令。

<uses-feature android:name="android.hardware.sip.voip" />
Run Code Online (Sandbox Code Playgroud)

创建 SipManager:

android.net.sip.SipManager manager = SipManager.newInstance(this);
Run Code Online (Sandbox Code Playgroud)

创建一个配置文件,用于通过您的提供商拨打/接听电话:

android.net.sip.SipProfile.Builder builder = new SipProfile.Builder(username, domain);
builder.setPassword(password);
android.net.sip.SipProfile sipProfile = builder.build();
Run Code Online (Sandbox Code Playgroud)

如果您只关心打电话:

manager.open(profile);
Run Code Online (Sandbox Code Playgroud)

要拨打电话,您需要与听众一起工作:

SipAudioCall.Listener listener = new SipAudioCall.Listener() {

    @Override
    public void onCallEstablished(SipAudioCall call) {
        call.startAudio();
        call.setSpeakerMode(true);
        call.toggleMute();
        ...
    }

    @Override
    public void onCallEnded(SipAudioCall call) {
        // Do something.
    }
};
Run Code Online (Sandbox Code Playgroud)

现在,只要您拥有对等方的 SIP 地址,您就可以使用:

SipProfile friendProfile = ...;
manager.makeAudioCall(sipProfile.getUriString(), friendAddress, listener, 30);
Run Code Online (Sandbox Code Playgroud)

这应该可以帮助你开始。不幸的是我没有使用 XMPP 的经验。

  • 标题清楚地告诉 SIP 用于文本消息传递,并且您已通过 SIP 应答语音呼叫。 (6认同)