SIP对Cordova / Phonegap的支持

时间:2013-05-14 11:22:05

标签: cordova sip webrtc

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

4 个答案:

答案 0 :(得分:2)

在Android上支持SIPWebRTCPhoneGap / Cordova无关,即使它们可以添加为某些扩展程序,但它们自然会随浏览器一起提供由OS提供给PhoneGap。现在你需要寻找外部库来为你做这件事。

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

答案 1 :(得分:2)

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

  1. SIP通话以拨打电话(发送邀请请求)或接听来电(接收邀请请求)
  2. 然后进行RTP通信以建立用于共享媒体(语音或视频)的ICE频道
  3. 对于第一部分,我使用sipjs用于IOS& android平台。但是对于第二部分,我使用不同的plaugins基于每个平台:

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

    如果您需要更多信息,请与我们联系。

答案 2 :(得分:1)

如果sipml5支持可用,您可以直接在Phonegap应用中加载WebRTC

    <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);

Android模拟器似乎不支持WebRTC,因为我收到此错误:

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

我没有在真实设备上试过这个......

答案 3 :(得分:0)

概念验证Cordova应用程序,它使用SIP.js和PhoneRTC插件通过互联网进行WebRTC调用。

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