通过SIP连接的J2ME音频流

时间:2011-12-24 06:09:11

标签: java-me audio-streaming sip rtp sdp

我正在创建一个具有 RTP SIP 连接的J2ME实时流式音频播放器。我也是这些东西的新手。我想深入了解那些事情。如果有人知道一个好的工作示例代码演示音频播放器流式传输RTP (这意味着如何通过SIP向服务器发送REGISTER消息以进行注册并发送{{1消息并获得响应和播放)。请高度赞赏地告诉我。

我也看了here

如果

  

我的服务器端口是6060
  ip 111.111.111.1
  id是myid密码123

我是否正确使用了代码?如果我错了,请让我纠正。

INVITE

我收到了public void doRegister(String username, String password, String realm) { SipClientConnection scc = null; SipConnectionNotifier scn = null; String contact = null; try { scn = (SipConnectionNotifier) Connector.open("sip:5080"); contact = new String("sip:myid:123@"+scn.getLocalAddress()+":"+scn.getLocalPort()); scc = (SipClientConnection) Connector.open("sip:111.111.111.1+"transport=tcp") ; scc.initRequest("REGISTER", scn); scc.setHeader("From", "sip:myid:123@"+scn.getLocalAddress()+":5080"); scc.setHeader("To", "sip:myid:123@111.111.111.1"); scc.setHeader("Contact", contact); scc.send(); boolean handled = false; int scode = 0; while(!handled) { SipHeader sh; scc.receive(30000); scode = scc.getStatusCode(); switch(scode){ case 401: sh = new SipHeader("WWW-Authenticate", scc.getHeader("WWW-Authenticate")); realm = sh.getParameter("realm"); scc.setCredentials(username, password, realm); break; case 407: sh = new SipHeader("Proxy-Authenticate", scc.getHeader("Proxy-Authenticate")); realm = sh.getParameter("realm"); scc.setCredentials(username, password, realm); break; case 200: handled = true; break; default: handled = true; } } scc.close(); } catch(Exception ex) { // handle Exceptions } } 消息的回复。另请告诉我这里的领域是什么。 180 Rigging

2 个答案:

答案 0 :(得分:2)

正如您在示例1中看到的here - 您意识到当您向服务器创建新的Reqeust时,服务器期望身份验证的位置首先发送401.通过查看此信息,客户端可以搜索密码或问用户。当服务器发送401响应代码时,它指定哪个安全域适用于给定的请求。这已经是您的代码所在:

realm = sh.getParameter("realm"); 

一旦失败,您需要使用凭据再次send()请求。我想setCredentials()函数只是在scc对象中设置这些参数,并且会在再次调用send()时应用它们。

可能感兴趣的一些参考文献:http://www.developer.nokia.com/Community/Discussion/showthread.php?126760-SIP-registration-401-Unauthorized- .. (这里的人有问题相关的端口号,我不确定这是否困扰你)

答案 1 :(得分:0)

许多功能和更多内容可用,并且可以找到广泛的答案here此外,诺基亚JSR180 API也有示例代码