【发布时间】:2014-07-17 19:37:04
【问题描述】:
我实际上正在使用 Jain SIP 开发一个 SIP 应用程序,并且我注意到 WireShark 实际上我想在 SipProvider 对象的初始化过程中使用的端口并未用于发送请求。例如:
public SipLayer(String username, String ip, int port) 抛出 PeerUnavailableException、TransportNotSupportedException、 InvalidArgumentException、ObjectInUseException、 TooManyListenersException {
setUsername(username);
sipFactory = SipFactory.getInstance();
sipFactory.setPathName("gov.nist");
Properties properties = new Properties();
properties.setProperty("javax.sip.STACK_NAME", "MyApp");
properties.setProperty("javax.sip.IP_ADDRESS", ip);
properties.setProperty("gov.nist.javax.sip.TRACE_LEVEL", "32");
properties.setProperty("gov.nist.javax.sip.SERVER_LOG",
"textclient.txt");
properties.setProperty("gov.nist.javax.sip.DEBUG_LOG",
"textclientdebug.log");
sipStack = sipFactory.createSipStack(properties);
headerFactory = sipFactory.createHeaderFactory();
addressFactory = sipFactory.createAddressFactory();
messageFactory = sipFactory.createMessageFactory();
ListeningPoint tcp = sipStack.createListeningPoint(ip, port, "tcp");
sipProvider = sipStack.createSipProvider(tcp);
sipProvider.addSipListener(this);
}
这是我初始化 sipProvider 的构造函数。我正在使用 TCP,我想使用 5600 端口。因此,在发送无状态请求时,我在方法中使用了以下代码:
sipProvider.sendRequest(request);
在进行捕获时,我注意到正在使用的 TCP 端口不是我选择的 5600,而是像 52065 这样的端口。
谁能告诉我如何强制 sipProvider 对象使用我的 5600 TCP 端口?
感谢您的帮助:)
【问题讨论】: