2012-07-06 42 views
9

Tôi đang phát triển một ứng dụng trong android mà tôi muốn gửi tin nhắn văn bản bằng sip/xmpp (giao thức bắt đầu phiên). thử nghiệm trên bất kỳ nhà cung cấp sip miễn phí nào.Làm thế nào để gửi tin nhắn văn bản trong android qua sip

+0

Tại sao SIP là một yêu cầu? Chỉ là bạn muốn gửi tin nhắn văn bản mà không cần sử dụng mạng di động? Nếu đó là trường hợp bạn có thể muốn xem SMSIfied [http://smsified.com/] cho phép bạn gửi và nhận tin nhắn văn bản qua REST API. Nó là miễn phí trong khi nó đang trong bản Beta và khi nó đi trực tiếp nó sẽ là 1 cent cho mỗi tin nhắn. –

+0

Bạn có nghĩa là SMS không? – Badal

+0

@ User1479880 bạn nhận được Gửi tin nhắn văn bản qua sip – Amitsharma

Trả lời

-1

Cập nhật đã đọc lại
Xin lỗi, tôi không nhận ra rằng câu hỏi chỉ liên quan đến nhắn tin văn bản. Bản thân SIP không hỗ trợ tin nhắn văn bản, phần mở rộng SIMPLE hoặc MSRP cho phép điều đó. Bạn cần phải tìm một chồng mà bạn đang hạnh phúc làm việc với, đây là một ví dụ Doubango và sản phẩm demo của họ IMSDroid nhưng Google 'Android MSRP' cho nhiều tùy chọn khác. Tôi vẫn không biết gì về XMPP, nhưng hãy xem this thread để biết danh sách các thư viện và sử dụng tuyệt vời.
Cập nhật kết thúc

Bạn đã thử gì cho đến nay? Đối với phần SIP (thoại) của câu hỏi của bạn ở đây là tài liệu trên Android Developers site với tất cả những gì bạn cần biết và đây là nhà cung cấp SIP miễn phí: Getonsip.

Mẫu mã giảm, phần lớn được lấy từ trang web dành cho nhà phát triển Android.

Về cơ bản, bạn cần đảm bảo minSDK được đặt thành 9 vì thư viện SIP chưa được thêm cho đến 2.3. Thêm dịch vụ cho biểu hiện của bạn:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.USE_SIP" /> 

Tùy chọn thêm chỉ thị uses-feature voip nếu bạn muốn ứng dụng của bạn để không cài đặt trên các thiết bị nơi mà nó sẽ không hoạt động.

<uses-feature android:name="android.hardware.sip.voip" /> 

Tạo một SipManager:

android.net.sip.SipManager manager = SipManager.newInstance(this); 

Tạo một hồ sơ nào đó để thực hiện/nhận cuộc gọi thông qua nhà cung cấp của bạn:

android.net.sip.SipProfile.Builder builder = new SipProfile.Builder(username, domain); 
builder.setPassword(password); 
android.net.sip.SipProfile sipProfile = builder.build(); 

Nếu tất cả các bạn quan tâm là thực hiện cuộc gọi:

manager.open(profile); 

Để thực hiện một gọi cho bạn u làm việc với một người biết lắng nghe:

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. 
    } 
}; 

Bây giờ, miễn là bạn có địa chỉ SIP của bè của bạn, bạn có thể sử dụng:

SipProfile friendProfile = ...; 
manager.makeAudioCall(sipProfile.getUriString(), friendAddress, listener, 30); 

Điều đó sẽ giúp bạn bắt đầu. Thật không may tôi không có kinh nghiệm với XMPP.

+5

Tiêu đề cho biết rõ ràng SIP cho nhắn tin văn bản và bạn đã trả lời cuộc gọi thoại qua SIP. – DroidDev

+0

Vui lòng chia sẻ mã Gửi tin nhắn văn bản cho máy chủ sip ...? – Amitsharma

Các vấn đề liên quan