问题描述
||
我正在使用Jain sip在android上开发SIP客户端。我想用jain-sip-presence-proxy注册它。
我的代码:
public void register (String to) throws SipException,ParseException,InvalidArgumentException{
//create From header
//from sip URL and name adds
SipURI from = addressFactory.createSipURI(sipProperties.getSipName(),sipProperties.getSipDomain());
Address fromNameAddress = addressFactory.createAddress(from);
fromNameAddress.setDisplayName(sipProperties.getDisplayName());
FromHeader fromHeader = headerFactory.createFromHeader(fromNameAddress,\"sipstag\");//address & tag \"Bob\" sips:[email protected] ;tag=a48s
//create To header
String username = \"Server\";
String ID=\"server\";
String address = \"10.0.2.2\";
SipURI toAddress = addressFactory.createSipURI(username,address);
Address toNameAddress = addressFactory.createAddress(toAddress);
toNameAddress.setDisplayName(username);//now display name is user name
ToHeader toHeader = headerFactory.createToHeader(toNameAddress,null);
SipURI requestURI = addressFactory.createSipURI(username,address);
requestURI.setTransportParam(\"udp\");
//via header
ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
ViaHeader viaHeader = headerFactory.createViaHeader(sipProperties.getHostIp(),sipProperties.getISipPort(),\"udp\",null);
viaHeaders.add(viaHeader);
//create call id
CallIdHeader callIdHeader = sipProvider.getNewCallId();
//Cseq
CSeqHeader cSeqHeader = headerFactory.createCSeqHeader(1l,Request.REGISTER);
//MaxForwards
MaxForwardsHeader maxForwards = headerFactory.createMaxForwardsHeader(70);
Request request = messageFactory.createRequest(requestURI,Request.REGISTER,callIdHeader,cSeqHeader,fromHeader,toHeader,viaHeaders,maxForwards);
SipURI contactURI = addressFactory.createSipURI(sipProperties.getSipName(),sipProperties.getSipDomain());
contactURI.setPort(sipProperties.getISipPort());
Address contactAddress = addressFactory.createAddress(contactURI);
contactAddress.setDisplayName(sipProperties.getDisplayName());
ContactHeader contactHeader = headerFactory.createContactHeader(contactAddress);
request.addHeader(contactHeader);
sipProvider.sendRequest(request);
log.logMessage(\"send request is OK\");
}
错误消息是:
DEBUG - gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:241) [error message Via: SIP/2.0/UDP 10.0.2.15:8888;branch=sipstag:[email protected]:1:register:10.0.2.15:8888
ID expected]
ERROR - Via: SIP/2.0/UDP 10.0.2.15:8888;branch=sipstag:[email protected]:1:register:10.0.2.15:8888
ID expected
java.text.ParseException: Via: SIP/2.0/UDP 10.0.2.15:8888;branch=sipstag:[email protected]:1:register:10.0.2.15:8888
ID expected
at gov.nist.core.LexerCore.match(LexerCore.java:190)
at gov.nist.javax.sip.parser.ViaParser.parseVia(ViaParser.java:32)
at gov.nist.javax.sip.parser.ViaParser.parse(ViaParser.java:186)
at gov.nist.javax.sip.parser.StringMsgParser.parseMessage(StringMsgParser.java:555)
at gov.nist.javax.sip.parser.StringMsgParser.parseSIPMessage(StringMsgParser.java:327)
at gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:234)
at java.lang.Thread.run(Thread.java:662)
DEBUG - gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:247) [REGISTER sip:[email protected];transport=udp SIP/2.0
Call-ID: [email protected]
CSeq: 1 REGISTER
From: \"cy\" <sip:[email protected]>;tag=sipstag
To: \"Server\" <sip:[email protected]>
Via: SIP/2.0/UDP 10.0.2.15:8888;branch=sipstag:[email protected]:1:register:10.0.2.15:8888
Max-Forwards: 70
Contact: \"cy\" <sip:[email protected]:8888>
Content-Length: 0
]
你能帮助我吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)