2013-05-14 29 views
8

Có khả năng sử dụng SIP trong Cordova/Phonegap không? Tôi chưa tìm thấy bất kỳ plugin nào. Hỗ trợ cho WebRTC cũng không khả dụng (nhưng được lên kế hoạch ở 2.x, theo lộ trình của chúng).Hỗ trợ SIP cho Cordova/Phonegap

+0

http://stackoverflow.com/questions/15352237/does-phonegap-support-webrtc – gliptak

Trả lời

1

Bạn có thể có thể tải sipml5 trực tiếp trong ứng dụng PhoneGap của bạn nếu sự hỗ trợ WebRTC có sẵn:

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

Các giả lập Android dường như không hỗ trợ WebRTC, như tôi nhận được lỗi này:

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

tôi đã không cố gắng này trên một thiết bị thực ...

+0

Tôi đã thử nhưng hỗ trợ WebRTC không khả dụng trong PhoneGap/Cordova (đang trên lộ trình cho 3.0 AFAIK) – glutorange

+0

Lộ trình Cordova cho phiên bản 3.x bao gồm WebSockets/WebRTC theo: https://wiki.apache.org/cordova/RoadmapProjects – Zymotik

+0

@glutorange: Bạn đã thử sipml5 bây giờ Cordova có Websockets/WebRTC chưa? Chúng tôi hiện đang tìm kiếm giải pháp sử dụng WebRTC qua SIP với Cordova. Bất kỳ đề xuất? –

2

Hỗ trợ SIP hoặc WebRTC trên Android không có gì để làm với PhoneGap/Cordova, mặc dù chúng có thể được thêm dưới dạng một số tiện ích nhưng tự nhiên chúng đi kèm với trình duyệt được cung cấp cho PhoneGap bởi hệ điều hành. Ngay bây giờ bạn cần phải tìm các thư viện bên ngoài để làm điều đó cho bạn.

Bạn có thể thêm phần mở rộng vào PhoneGap (được viết bằng Java) để giao tiếp với một số máy chủ SIP. Hoặc nếu bạn muốn bạn có thể sử dụng thư viện Javascript để triển khai giao thức SIP cho bạn (như sipml5) nhưng nếu bạn chọn sử dụng giải pháp muộn này, trình duyệt của bạn cần hỗ trợ Websocket hoặc WebRTC (cả hai đều có thể áp dụng). Theo như tôi biết plugin trình duyệt được cung cấp cho PhoneGap bởi Android không hỗ trợ cả các công nghệ được đề cập, nhưng kiến ​​thức của tôi là trong 6 tháng trước. Lúc đó tôi đã thử triển khai my own Websocket PhoneGap extension để cung cấp PhoneGap với Websocket. Nhưng tôi đã không bao giờ thử nghiệm nó với sipml5 và không có ý tưởng những vấn đề bạn có thể gặp phải.

2

Có hai phần để thực hiện WerbRTC trong cordova:

  1. SIP Truyền thông để thực hiện cuộc gọi (gửi mời req) hoặc nhận cuộc gọi đến (nhận mời req)
  2. Sau đó RTP truyền thông để tạo Kênh ICE để chia sẻ phương tiện (thoại hoặc video)

Đối với phần đầu tiên tôi đã sử dụng sipjs cho IOS & nền tảng Android. Nhưng đối với phần thứ hai, tôi sử dụng plaugins khác nhau cơ bản mỗi nền tảng:

  • Đối với Android, bạn không cần bất kỳ nền tảng dành cho Android bây giờ hỗ trợ WebRTC được trong WebView tiêu chuẩn của họ hoặc bạn có thể sử dụng Crosswalk có một số tính năng như tái tự động mời khi thiết bị di động chuyển đổi giữa dữ liệu WIFI/Di động như 3G, 4G và LTE.
  • dành cho iOS, tôi khuyên bạn nên sử dụng eface2face cordova-plugin-iosrtc

Nếu bạn cần thêm thông tin cho tôi biết.

+0

Xin chào @Shadmehr, tôi đã thử sử dụng sipML5 và lối đi bộ, với cordova-plugin-websocket, sipML5 gọi điện thoại thành công trên cordova nhưng không có âm thanh, trên trình duyệt trên máy tính để bàn mọi thứ hoạt động tuyệt vời. Với cordova-plugin-iosrtc, tôi gặp lỗi khi cuộc gọi được kết nối (lỗi khi Gắn Phương tiện) – ostrichegret