我正在使用RTP并通过SIP连接创建 J2ME 实时流音频播放器。我对这些东西也很陌生。我想深入看看那些东西。如果有人知道一个很好的工作示例代码,演示了使用 RTP 流式传输的音频播放器(这意味着如何REGISTER
通过 SIP 向服务器发送消息以进行注册并发送INVITE
消息并获得响应和播放)。请告诉我,非常感谢。
我也看过这里
如果
我的服务器端口是 6060
ip
111.111.111.1 id 是 myid 密码 123
我是否正确使用了代码?如果我错了,请纠正我。
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
消息。也让我知道 这里的领域是什么。 scc.setCredentials(username, password, realm);