SIP-sipp的使用

SIP

sipp的安装与使用

安装在自己的虚拟机中

问题:虚拟机无网络,桥接或者NAT,sudo dhclient eth0
reference:虚拟机不能上网,ifconfig后只有lo

  1. 获取sipp
  2. 安装依赖
  3. 编译安装

问题:安装依赖失败?例如:Unable to locate package 可以按照以下步骤:

  1. sudo apt-get update
  2. sudo apt-get upgrade
  3. 1\2步骤失败,尝试换源

换源:

sudo cp /etc/apt/sources.ist ~#备份
sudo vim /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multivers
sudo apt-get update

获取

  1. 在虚拟机中,解压sipp-3.3.tar.gz。官网下载也行。

依赖

sudo apt-get install g++ gcc automake autoconf libtool make
sudo apt-get install libncurses5 libncurses5-dev
sudo apt-get install openssl libssl-dev
sudo apt-get install libsctp1 lksctp-tools libsctp-dev
sudo apt-get install libpcap-dev libnet1 libnet1-dev
sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl

make or make ossl,然后使用 ./sipp -h 检查是否安装完毕

使用

sipp -sf (xml的路径) -i (本机ip) -p (本机port) -s (remote num) (ip:port) -m (发送次数)

xml场景举例

400.xml
  • scenario name 场景命名
  • recv request 期待到来的报文request
  • send 要发出去的sip报文内容
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario>
<!-- sipp> sipp -p 15060 -sf 000_recvreg.xml    -->

<scenario name="Registration">
<label id="1"/>
<recv request="PING">
</recv>

<send next="1">
<![CDATA[
SIP/2.0 400 Bad Request
[last_Via:]
[last_To:];tag=asdfa312
[last_CSeq:]
[last_From:]
Allow: REGISTER,INVITE,ACK,BYE,CANCEL,REFER,OPTIONS,NOTIFY,SUBSCRIBE,MESSAGE,INFO,PRACK,UPDATE,PUBLISH
[last_Call-ID:]
WWW-Authenticate: Digest realm="Evergreen",nonce="=werewrerdfgfgfgfythhtththt", algorithm=MD5,qop="auth"
Content-Length: 0
]]>
</send>
</scenario>

“<![CDATA[" 和 “]]>” 之间的内容将会在IP替换后以sip报文的形式发送给目标。可以按需求自由修改报文。

REGISTER.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario>

<scenario name="Registration">
<recv request="REGISTER">
</recv>

<send>
	<![CDATA[
		SIP/2.0 200 OK 
		[last_From:]
		[last_To:];tag=asdfa3123w
		[last_Call-ID:]
		[last_CSeq:]
		[last_Via:]
		Expires:3600
	]]>
</send>
</scenario>
INVITE
<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!DOCTYPE scenario> 

<scenario name="Unknown Content-Type">
<recv request="INVITE">
</recv>

<send>
<![CDATA[
SIP/2.0 100 Tring
]]>
</send>

<send>
<![CDATA[
SIP/2.0 180 Ringing
[last_Via:]
[last_From:]
[last_To:];tag=[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0
]]>
</send>
<send>
<![CDATA[
  SIP/2.0 200 OK
  [last_Via:]
  [last_From:]
  [last_To:];tag=[call_number]
  [last_Call-ID:]
  [last_CSeq:]
  Contact: sip:sipp@[local_ip]:[local_port]
  Max-Forwards: 70
  Content-Type: application/sdp
  Content-Length: [len]

  v=0
  o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
  s=-
  c=IN IP[media_ip_type] [media_ip]
  t=0 0
  m=audio 22510 RTP/AVP 100 98 9 8 0 18
  a=rtpmap:100 AMR-WB/16000
  a=rtpmap:98 AMR/8000
  a=rtpmap:9 G722/8000
  a=rtpmap:8 PCMA/8000
  a=rtpmap:0 PCMU/8000
  a=rtpmap:18 G729/8000
  a=fmtp:100 mode-set=8;octet-align=1
  a=fmtp:98 mode-set=7;octet-align=1
  a=fmtp:18 annexb=no
  a=sendrecv

  ]]>
</send>
</scenario>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值