2013-04-22 25 views
5

Tôi yêu cầu tạo một ứng dụng SIP, nhưng tôi hoàn toàn bị mất ... Sau một số nghiên cứu tôi đã tìm thấy API Jain SIP trong java và tôi nghĩ rằng tôi sẽ sử dụng nó. Tuy nhiên tôi không thực sự biết những gì tôi nên sử dụng các lớp học và những gì giao diện tôi nên thực hiện hay không.Tôi nên sử dụng lớp học nào từ Jain SIP (java) để tạo ứng dụng SIP?

Tôi đã đọc bài viết này: http://www.oracle.com/technetwork/articles/entarch/introduction-jain-sip-090386.html

Và đây: http://hudson.jboss.org/hudson/job/jain-sip/lastSuccessfulBuild/artifact/javadoc/javax/sip/package-summary.html#package_description

Nhưng tôi không hiểu phần nào tôi nên thực hiện đối với một khách hàng SIP? SipListener HOẶC SipStack và SipProvider?

Cảm ơn.

+0

Đã có câu trả lời nào giúp bạn? –

Trả lời

7

Bạn cần triển khai cả hai lớp đó.

Lớp SipProvider sẽ kết nối với điểm cuối của bạn (ví dụ Aterisk). Lưu ý rằng lớp này phải ở trên một ngữ cảnh tĩnh, bởi vì chỉ có một kết nối được phép cho mỗi máy khách.

Bạn không thể tạo một cá thể SipProvider gọi một lớp SipStack, trên sipStack.createSipProvider(listeningPoint). Sau đó, bạn có thể tạo các giao dịch và gửi yêu cầu tới điểm cuối của bạn.

SipListener là lớp sẽ xử lý tất cả các phản hồi từ máy chủ của bạn. Điều này có nghĩa là mọi yêu cầu bạn gửi đến máy chủ (Via SipProvider) sẽ nhận được phản hồi trên SipListener. Vì vậy, bạn phải có người nghe này để xử lý tất cả dữ liệu được trả về bởi điểm cuối của bạn.

Cố gắng triển khai mã được mô tả trên bài viết oracle mà bạn trích dẫn. Tôi bắt đầu phát triển dựa trên bài viết này và hoạt động rất tốt!

+0

Cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn và mô tả bạn đã cho tôi, nó đã giúp tôi rất nhiều! – user2308044

+0

bạn được chào đón, bất kỳ nghi ngờ nào, đó chỉ là yêu cầu! –

+0

Tôi đang làm việc trên cùng một mã. Đối với ip, tôi đặt ip địa phương của tôi và nó đã làm việc tốt. Khi tôi cố gắng thay đổi ip để ip của máy mà trên đó một máy chủ sip đang chạy, dự án đã ném ngoại lệ nói không thể liên kết với địa chỉ. Khi tôi ping ip từ dòng lệnh, tôi đã nhận được phản hồi nhanh. Khi tôi tiếp tục sửa lỗi, tôi thấy rằng ngoại lệ được ném trên dòng này: 'sipStack.createListeningPoint'. Ai đó có thể vui lòng chỉ ra những thuộc tính nào tôi nên đặt hoặc những thay đổi nào tôi nên thực hiện để làm cho nó hoạt động? –

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