我正在使用SIPP加载测试代理媒体服务器。我无法在SIPP生成的SDP上设置代理媒体服务器的IP和端口, 我得到以下错误,
./ sipp -sn uac -d 10000 -l 1000 -i 192.12.24.32 -p 50970 -mi 65.67.8.99 -mp 48321 10.12.24.32:5060 -sf uac_pcap.xml
无法绑定音频RTP套接字(IP = 65.67.8.99,端口= 48322),errno = 99(无法分配请求的地址)。
v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
t=0 0
c=IN IP[local_ip_type] [media_ip]
m=audio [auto_media_port] RTP/AVP 8
a=rtpmap:8 PCMA/8000
请帮助!!!
答案 0 :(得分:2)
我不是sdp的专家(sdp可能应该是你的标签之一,顺便说一下)或sipp但sipp文档说:
-mi:设置本地媒体IP地址(默认:本地主要主机IP地址)
-mp:设置本地RTP echo端口号。默认值为6000。
这意味着sipp尝试在由-mi设计的本地 IP上打开由-mp设计的端口。
从你所说的我理解你在-mi / -mp中提供的IP:端口组合是媒体服务器上的IP:端口组合,而不是运行sipp的机器上。这意味着sipp正在尝试在目的地拥有的IP上打开一个端口,因此它为什么不能分配所请求的地址"。
媒体服务器的IP:端口不应该是sipp生成的SDP的一部分。 Sipp应描述其媒体会话的结束,然后对INVITE的回复应包含从10.12.24.32:5060进入的SDP,其中SDP描述媒体会话的另一端,包括媒体服务器的IP:端口。
想一想。在真实的通话中,您会知道目的地SIP地址(或啜饮或......),但您不知道他们的媒体将在何处。 SIP消息的交换是通过交换SDP建立的,因此您的sipp SDP不应包含有关在真实呼叫中不会知道的远程媒体服务器的信息。
试试这个*:
./sipp -d 10000 -l 1000 -i 192.12.24.32 -p 50970 -mi 192.12.24.32 -mp 48321 10.12.24.32:5060 -sf uac_pcap.xml
*您同时使用-sn指定内置方案,使用-sf指定方案文件。换句话说,您指定了两个场景,因此我从行中删除了内置场景。也许你有充分的理由让它在这里,我什么都不知道,在这种情况下把它放回去。