8

是否有可能在 Cordova/Phonegap 中使用 SIP?我还没有找到任何插件。对 WebRTC 的支持也不可用(但根据他们的路线图计划在 2.x 中)。

4

4 回答 4

2

支持SIPor on Android 与/WebRTC无关,即使它们可以作为一些扩展添加,但它们自然是随操作系统提供给 PhoneGap 的浏览器一起提供的。现在你需要寻找外部库来为你做这件事。PhoneGapCordova

您可以自己为您的 PhoneGap(用 Java 编写)添加一个扩展,以便与某个SIP服务器通信。或者,如果您希望可以使用 Javascript 库为您实现 SIP 协议(​​如sipml5),但如果您选择使用此后期解决方案,您的浏览器需要支持WebsocketWebRTC(两者都适用)。据我所知,Android 提供给 PhoneGap 的浏览器插件不支持上述两种技术,但我的知识是 6 个月前的。那时我尝试实现自己的 Websocket PhoneGap 扩展来为 PhoneGap 提供Websocket. 但我从来没有用 sipml5 测试过,也不知道你可能会遇到什么问题。

于 2013-05-28T05:23:40.173 回答
2

在 cordova 中实现 WerbRTC 有两个部分:

  1. SIP 通信以拨打电话(发送邀请请求)或接收来电(接收邀请请求)
  2. 然后 RTP 通信,使 ICE Channel 用于共享媒体(语音或视频)

对于第一部分,我将sipjs用于 IOS 和 android 平台。但对于第二部分,我在每个平台上使用不同的 plaugins:

  • 对于 Android,您不需要任何 Android 平台现在在其标准 WebView 中支持 WebRTC,或者您可以使用Crosswalk具有一些功能,例如当移动设备在 WIFI / 移动数据(如 3G、4G 和 LTE)之间切换时自动重新邀请。
  • 对于 IO,我建议使用eface2face cordova-plugin-iosrtc

如果您需要更多信息,请告诉我。

于 2016-12-15T03:34:46.643 回答
1

You might be able to load sipml5 directly within your Phonegap application if the WebRTC support is available:

    <script type="text/javascript" src="js/SIPml.js"></script>

    var readyCallback = function(e){
        console.log('SIP initialized');
    };
    var errorCallback = function(e){
        console.error('Failed to initialize the engine: ' + e.message);
    }
    SIPml.init(readyCallback, errorCallback);

The Android emulator doesn't seem to support WebRTC, as I get this error:

Uncaught ReferenceError: tsk_utils_init_webrtc is not defined at file:///android_asset/www/js/SIPml.js:203

I haven't tried this on a real device ...

于 2013-05-26T01:05:00.013 回答
0

一个概念验证 Cordova 应用程序,它使用带有 PhoneRTC 插件的 SIP.js 通过 Internet 进行 WebRTC 调用。

https://github.com/joseph-onsip/sipjs-cordova

于 2014-08-13T00:03:00.060 回答