第一章SIPp介紹SIPp是一個測試SIP協議效能的工具軟體。這是一個GPL的開放源碼軟體。
它包含了一些基本的SipStone使用者代理程式工作流程(UAC和UAS),並可使用INVITE和B YE建立和釋放多個呼叫。它也可以讀XML的情境檔案,即描述任何效能測試的設定檔。它能動態顯示測試回合的統計資料(呼叫速率、訊號來回的延遲,以及訊息統計)。周期性地把CSV統計資料轉儲,在多個通訊端上的TCP和UDP,利用重新傳輸管理的多工。在情境定義檔案中可以使用正規運算式,動態調整呼叫速率。
SIPp可以用來測試許多真實的SIP裝置,如SIP代理,B2BUAs,SIP媒體伺服器,SIP/x網關,SIP PBX,等等,它也可以模仿上千個SIP代理呼叫你的SIP系統。 關於SIPp從google上搜尋到很多,可是關於SIPp的中文說明資料較少,或者很多都是不齊全的安裝使用說明。 SIPp的網址:
http://sipp.sourceforge.net/
SIPp的:
http://sourceforge.net/project/showfiles.php?group_id=104305&package_id=119322 (當我已經在使用rc6的時候,rc8已經出來了,|||-.-)
SIPp的四種安裝方法:1) 沒有TLS支援與密碼驗證支援:
a) # tar -xvf sipp-1.1rc6.tar.gz
b) # cd sipp-1.1.rc6
c) # make
Make出來的sipp檔案就是一個可執行檔檔案,只需要搭配情境xml檔案與csv檔案即可進行SIP測試2) 擁有TLS支援與密碼驗證支援,但是不支PCAP語音播放:
a) # tar -xvf sipp-1.1rc6.tar.gz
b) # cd sipp-1.1.rc6
c) # make ossl
這樣編譯出來的檔案就加入了TLS至於與密碼驗證支援功能sipp軟體了。3) 支援PCAP Play,但是沒有密碼驗證支援:(PCAP Play即為可以進行RTP語音,但是沒有407 AUTH驗證)
a) # tar -xvf sipp-1.1rc6.tar.gz
b) # cd sipp-1.1.rc6
c) # make pcapplay4) 支援PCAP 音效檔播放,而且支援密碼驗證支援:(支援407 auth驗證支援)a) # tar -xvf sipp-1.1rc6.tarb) # cd sipp-1.1.rc6c) # make pcapplay_ossl最新訊息:使用sipp-1.1rc6後,如果採用pcap方式發包播放後,通過抓包抓不到session的訊息體。多次嘗試與設定檔的修改均查看不到sip的session體。後來更新到sipp-1.1rc8後,抓包就可以看到sip session體了,看來其他使用者已經發現這個bug了.
第二章SIP的幾個主要呼叫流程介紹例1:invite呼叫後暫停,結束呼叫。A呼叫B,Ast返回100 tring與180 ring後,這邊回ACK訊息,然後Pause 10秒,發送Bye訊息,系統返回200 ok。 |(1) INVITE | |---------------à | |(2) 100 (optional)| |<-----------------| |(3) 180 (optional)| |<-----------------| |(4) 200 | |<-----------------| |(5) ACK | |---------------à | | | |(6) PAUSE | | | |(7) BYE | |----------------->| |(8) 200 | |<-----------------|例2:invite呼叫,建立串連然後RTP,並帶有RFC2833的DTMF,延遲幾秒後發送Bye訊息,對方返回200 OK。Scenario file: uac_pcap.xml (original XML file)SIPp UAC Remote |(1) INVITE | |------------------>| |(2) 100 (optional) | |<------------------| |(3) 180 (optional) | |<------------------| |(4) 200 | |<------------------| |(5) ACK | |------------------>| | | |(6) RTP send (8s) | |==================>| | | |(7) RFC2833 DIGIT 1| |==================>| | | |(8) BYE | |------------------>| |(9) 200 | |<------------------|例3:SIPp作為SIP 伺服器進行處理。Remote SIPp UAS |(1) INVITE | |----------------->| |(2) 180 | |<-----------------| |(3) 200 | |<-----------------| |(4) ACK | |----------------->| | | |(5) PAUSE | | | |(6) BYE | |------------------>| |(7) 200 ||<--------------------|第一章例4:典型的SIP register成功後、然後invite到AST,AST回了100與180或者403 forbidden訊息,SIPp發送ACK,延遲5000ms後,SIPp發送Bye,AST回200 OKREGISTER ----------――> 200 <---------- 200 <---------- INVITE ----------> 100 <---------- 180 <---------- 403 <---------- 200 <---------- ACK ----------> [ 5000 ms] BYE ----------> 200 <------------