如何使用java.net.URI类创建SIP uri?

时间:2015-04-09 22:12:34

标签: java uri sip voip

服务器或您可以说VOIP提供商是ekiga.net。 我想打电话给这个联系人sip:500@ekiga.net。我已经创建了rfc3261中定义的sip标头,我想使用URI类创建一个sip uri。这是我需要帮助的。

创建uri的目的是将包含sip标头和消息的udp数据包发送到服务器。我不知道要使用哪个地址,因为DataGram类需要目标IP和端口。我知道端口是5060,但我不知道要使用哪个网址。

由于

1 个答案:

答案 0 :(得分:0)

Java没有内置的SIP支持,所以你不需要java for SIP URI。

首先,您可以首先执行DNS查找,如下所示:

InetAddress inetAddress =  InetAddress.getByName("ekiga.net");

(这将仅查找A记录。对于VoIP,您应该使用SRV DNS记录,但这需要一个单独的lib和A记录通常就好了)

然后创建一个这样的UDP套接字:

DatagramSocket socket = new DatagramSocket();

然后发送任何这样的消息(buff必须持有有效的SIP消息):

socket.send(new DatagramPacket(buf, buf.length,  InetAddress.getByName("ekigaaddresshere"), 5060));

然后阅读答案并发送其他请求。