我编写了一个自动化脚本,我希望通过该脚本通过 SSH 连接到要发送 sipp 消息的 PC。以下是自动化脚本的一部分:
ssh `echo root@$UA_IP` "cd /opt/sipp.svn; killall -9 sipp; rm -rf registration_*.log;rm -rf receive_message_*.log; ./register.sh"
在 bash 文件 register.sh 中,我想以 while 循环格式注册不同的 UA。以下是 bash 文件:
#!bin/bash
ulimit -n 65536
p=5060;
i=1;
while [ $i -le 100 ]; do
./sipp -sf registration.xml 192.168.10.4 -m 1 -r 1 -s UA$i -p $p -i 192.168.10.1 -trace_err </dev/null >/dev/null 2>&1 -bg;
i=$(($i + 1))
p=$(($p + 1))
done
问题是只有 50 个 UA 已注册,其他 UA 则出现错误“此地址已被占用”。我不知道出了什么问题。(我每次都设置了端口!)任何想法都将不胜感激。
答案1
我找到了问题。它与 rtp 套接字有关。因此我使用 -mp 手动设置它,并且在每个循环中添加了一个 sleep 命令,因此问题已解决。但注册后,我希望我的用户在注册的端口上进行监听,因此我使用 sipp 命令进行了另一个循环。但这次我说的任何解决方案都不起作用。:( 有人知道吗?!我真的需要帮助,提前谢谢。