2010-03-04 36 views
17

Tôi đang tìm kiếm một công cụ kiểm tra các cuộc gọi SIP. Nền tảng thực hiện cuộc gọi từ thiết bị SIP A đến thiết bị SIP B và báo cáo kết quả ...Nền tảng kiểm tra SIP

Bất kỳ ý tưởng nào? Một nền tảng mô phỏng sẽ là lý tưởng.

thnx, cateof

+0

Ngoài sự tò mò, SIP là gì? – NotMe

+0

Giao thức khởi tạo phiên, được sử dụng để báo hiệu cuộc gọi VOIP (gọi điện, treo lên, thêm người khác vào cuộc trò chuyện, v.v.) – Marius

Trả lời

9

Khám phá SIPp tại SourceForge. Nó có nhiều kịch bản khác nhau để kiểm tra chế độ UAS (máy chủ) nào có thể thú vị đối với bạn và dường như cho phép INVITE, BYE, v.v.

+0

Có vẻ đẹp. Nó có vẻ phù hợp với nhu cầu của tôi. – cateof

+0

Nếu bạn đang tìm kiếm công cụ kiểm tra sip miễn phí dựa trên GUI, bạn có thể tham khảo tải nhân (https://loadmultiplier.com). Kiểm tra chức năng SIP là miễn phí và kiểm tra tải giới hạn là miễn phí. – Kamal

-2

gì làm bạn muốn kiểm tra ngoài nếu cuộc gọi được thông qua? Bạn không thể gọi thiết bị B từ thiết bị A và xem liệu bạn có thể nói chuyện qua kết nối không? Nếu bạn muốn xem các gói đang được gửi, bạn nên xem xét wireshark.

+0

Tôi muốn thử nghiệm các tình huống phức tạp. Ví dụ: Một cuộc gọi B, và B chuyển sang C và cứ thế. Tuy nhiên tôi không muốn có 5 điện thoại mềm SIP trong máy tính để bàn của mình. – cateof

26

Có nhiều giải pháp. Một số bị hỏng nhiều hơn những người khác. Dưới đây là tóm tắt nhanh về những gì tôi đã tìm thấy trong khi tìm kiếm cơ sở cho giải pháp kiểm tra tự động thích hợp.

Đó là ok nếu bạn muốn chỉ hộp thoại duy nhất tại một thời điểm. Những gì không hoạt động ở đây là các giải pháp phức tạp mà bạn cần phải đồng bộ hóa 2 chân gọi, thực hiện đăng ký, gọi và hiện diện trong cùng một kịch bản. Nếu bạn đi theo cách này, bạn sẽ kết thúc với việc chạy nhiều kịch bản sipp cho từng phần tử hội thoại riêng biệt. Sipp cũng không mở rộng quy mô cho các phương tiện truyền thông. Mặc dù nó đa luồng, một thứ ngăn nó chạy đồng thời - nếu bạn nhìn vào htop ví dụ, bạn sẽ thấy rằng sipp không bao giờ vượt qua dòng 100%. Khoảng 50 phương tiện truyền thông gọi nó bắt đầu cắt âm thanh và lấy tất cả CPU của máy.

Đôi khi nó có thể bị mất theo dõi những gì đang xảy ra, một số gói thậm chí không thuộc về cuộc gọi thực sự, có thể thất bại trong thử nghiệm. Nó có một số lỗi ngớ ngẩn như phân biệt chữ hoa chữ thường so với các tiêu đề.

Ruby-giải pháp dựa trên nơi bạn phải viết kịch bản của riêng bạn trong Ruby. Nó có ngăn xếp SIP và rất nhiều bài kiểm tra. Trong khi nói chung là tốt và xử lý rất nhiều kịch bản phức tạp độc đáo, thiết kế của nó là khủng khiếp. Lỗi rất khó để theo dõi và sau một tuần tôi đã có> 10 bản vá mà tôi cần chỉ để làm cho nó làm những thứ cơ bản. Sau đó tôi đã học được rằng một số kịch bản chỉ được viết theo một cách khác, nhưng các nhà phát triển SIPr không thực sự đáp ứng và mất rất nhiều thời gian để tìm ra nó. Đồng bộ hóa hành động của nhiều tác nhân nếu gặp khó khăn, vì họ muốn sử dụng phiên bản dựa trên sự kiện, nhưng vẫn đơn luồng ... nó chỉ khiến bạn tập trung quá nhiều vào "thứ tự này có thể xảy ra ở đâu và tôi có xử lý nó không chính xác ", thay vì viết bài kiểm tra thực tế.

giải pháp thương mại. Không bao giờ thử nghiệm nó đúng cách kể từ khi chức năng cơ bản là mất tích từ phiên bản đánh giá và thật khó để chi tiêu mà nhiều tiền vào một cái gì đó bạn không chắc chắn công trình ...

giải pháp dựa trên nền Java tái sử dụng Jain-SIP stack. Nó có thể làm hầu như bất kỳ kịch bản nào và khá tốt. Nó cố gắng để làm cho tất cả mọi thứ không chặn/hành động dựa trên dẫn đến cùng một vấn đề SIPr có, nhưng trong trường hợp này nó tầm thường để làm cho nó song song/luồng. Nó có phần lỗi riêng của nó, vì vậy không phải mọi thứ đều hoạt động tốt trong gói vani, nhưng hầu hết các công cụ đều có thể vá được. Các nhà phát triển dường như bận rộn với các dự án khác, vì vậy nó không được cập nhật trong một thời gian dài. Nếu bạn cần chuyển, hiện diện, hộp thoại thông tin, tin nhắn tùy chỉnh, xử lý RTP, v.v. - bạn sẽ phải tự sửa đổi để hỗ trợ chúng. Nó không phải là tốt cho thử nghiệm hiệu suất.

Nếu bạn là một người ghét Java như tôi, nó có thể được sử dụng một cách đơn giản từ Jython, JRuby hoặc bất kỳ ngôn ngữ JVM nào khác.

Cuối cùng, tôi đã chọn SIPunit làm giải pháp ít bị hỏng/độc nhất/không sử dụng được. Nó không có nghĩa là hoàn hảo, nhưng ... nó hoạt động trong hầu hết các trường hợp. Nếu tôi đã làm dự án một lần nữa với tất cả kiến ​​thức này, tôi có thể sử dụng lại cấu hình SIPp và cố gắng viết giải pháp sane của riêng mình, sử dụng luồng thích hợp - nhưng đó là ít nhất một dự án for năm cho một người, để làm cho nó tốt đủ cho sản xuất.

+0

+1 để có câu trả lời hay! Tôi sử dụng SipUnit và SIPp. – Paaske

2

Hãy thử SIPInspector. Nó là một tiện ích dựa trên JAVA để tái tạo các kịch bản báo hiệu SIP khác nhau. Nó có thể chơi RTP và căng thẳng kiểm tra hệ thống của bạn quá. Kể từ khi viết bằng JAVA, nó có tính di động cao và hoạt động trên các hệ thống khác nhau. Cách dễ dàng hơn cho người dùng hơn SIPp.

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