2013-08-02 50 views
1

我想使用第三方API向兩個號碼發起呼叫。我需要確保設備在接到呼叫時響鈴,當呼叫被應答時媒體開始發送,並且掛斷時呼叫被終止。如果SIP軟電話正在響鈴,應答呼叫,斷開連接,則從JUnit進行測試

理想情況下,我想從JUnit測試中做到這一點,這樣我就可以自動完成整個過程。但任何其他工具也可以。

原來這就是我想要做的編程,

1)配置兩個SIP軟電話,解答使用測試提供了一些證書2個不同的數字。

2)使用API​​

3)置的兩個電話在振鈴狀態

4)應答該呼叫

5通話)斷言,RTP媒體正在其中發射

6)掛斷

7)斷言該呼叫現在已經成功地斷開

我對電話很陌生,所以希望能夠幫助我實現這一點的任何工具或SDK上的指針。

回答

0

查看KitCAT framework。它基於JUnit,可以支持您的所有需求。它支持多個用戶代理,它們都可以在測試用例中進行協調。它還提供與其他協議(例如RTP,HTTP)的協調。

示例代碼:

SIPAgent callee1 = createAgent("callee1"); // sip:[email protected] 
SIPAgent callee2 = createAgent("callee2"); // sip:[email protected] 

// invoke your API here 
invoke3rdPartyAPI(callee1.getSipURI(), callee2.getSipURI()); 

pause(2000); 
assertThat(callee1, is(invited())); 
assertThat(callee2, is(invited())); 

callee1.answer(); 
callee2.answer(); 

pause(500); 
assertThat(callee1, is(connectedTo(callee2))); // check for SDP match 
callee1.playAudio(audioFileName); 

pause(500); 
assertThat(callee2, has(incomingMedia()); 
callee1.disconnect(); 

pause(500); 
assertThat(callee2, is(disconnected())); 

退房的complete API here

相關問題