SIPP用來生成大量對於遠程服務器的SIP呼叫,其中有在最後生成的sipp二進制可執行文件中,包含了一下幾種內置的scenario,基本上可以實現大部分的測試場景。想要使用這些內部場景,只需要指定-sn選項。下面分析一下這幾中內置的scenario:
1.UAC
SIPp UAC Remote |(1) INVITE | |------------------>| |(2) 100 (optional) | |<------------------| |(3) 180 (optional) | |<------------------| |(4) 200 | |<------------------| |(5) ACK | |------------------>| | | |(6) PAUSE | | | |(7) BYE | |------------------>| |(8) 200 | |<------------------|這裏面用PAUSE來模擬通話。
2.UAC with MEDIA
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.UAS
Remote SIPp UAS |(1) INVITE | |------------------>| |(2) 180 | |<------------------| |(3) 200 | |<------------------| |(4) ACK | |------------------>| | | |(5) PAUSE | | | |(6) BYE | |------------------>| |(7) 200 | |<------------------|4.regexp
SIPp regexp Remote |(1) INVITE | |------------------>| |(2) 100 (optional) | |<------------------| |(3) 180 (optional) | |<------------------| |(4) 200 | |<------------------| |(5) ACK | |------------------>| | | |(6) PAUSE | | | |(7) BYE | |------------------>| |(8) 200 | |<------------------|5.branch
分爲branchc 和branchs
REGISTER ----------> 200 <---------- 200 <---------- INVITE ----------> 100 <---------- 180 <---------- 403 <---------- 200 <---------- ACK ----------> [ 5000 ms] BYE ----------> 200 <----------6.out-of-call message
當UAC收到out-of-call即呼叫超時的情況時,只是簡單的回覆200。如果想要重寫這種相應,在命令行中用-oocsf or -oocsn選項來指定新的scenario文件。
SIPp UAC Remote |(1) .* | |<------------------| |(2) 200 | |------------------>|7.3PCC
第三方呼叫控制
A Controller B |(1) INVITE no SDP | | |<------------------| | |(2) 200 offer1 | | |------------------>| | | |(3) INVITE offer1 | | |------------------>| | |(4) 200 OK answer1 | | |<------------------| | |(5) ACK | | |------------------>| |(6) ACK answer1 | | |<------------------| | |(7) RTP | | |.......................................|由Controller來控制A和B的通話。