Java ProcessBuilder执行SIPP命令成功但通话过程中无RTP数据包发送的问题求助
Java ProcessBuilder执行SIPP命令成功但通话过程中无RTP数据包发送的问题求助
正如标题所说,我用Java ProcessBuilder成功执行了下面的SIPP命令,但是通话过程中没有RTP数据包发送出去。
ProcessBuilder processBuilder = new ProcessBuilder(); processBuilder.inheritIO(); Map<String, String> environment = processBuilder.environment(); environment.put("TERM", System.getProperty("user.dir") + File.separator + "sipp_windows" + File.separator + "xterm"); Process javap = processBuilder.command("./sipp_windows/sipp", " -sf","./scenario/xml/myscenario.xml", "-p", "10002","-t", "u1","-trace_err", "-error_file","./scenario/logs/myLogReport.error.log","-m", "1", "10.10.183.132", "-s","5555", "-inf", "./scenario/myFied.csv","-i", "10.10.190.25","-d","10000").start(); int errorCode = javap.waitFor(); PrintWriter fluxSortie = new PrintWriter("target/sippReport.txt"); InputStreamReader tempReader = new InputStreamReader(new BufferedInputStream(javap.getInputStream())); BufferedReader reader = new BufferedReader(tempReader); while (true) { String line = reader.readLine(); if (line == null) break; System.out.println(line); fluxSortie.printf(line + "\n"); } fluxSortie.close(); reader.close();
我用Wireshark抓包分析后发现,SIP会话是正常建立的,但就是没有RTP包发送。另外要说明的是,我在Cygwin命令行里执行完全相同的命令时,RTP包能正常发送,只有通过Java ProcessBuilder执行才会出现这个问题。
我想请教大家几个问题:
- Java里有没有需要开启的权限,来让RTP数据包能正常到达目的地?
- SIPP是不是需要从特定端口发送数据?我现在用的是它随机分配的6000端口。
- 有没有人遇到过和我一样的问题?
备注:内容来源于stack exchange,提问作者Mohamed Ali Annabi
相关产品推荐
相关产品推荐

