jain-sip寄存器收到错误消息“预期通过标头ID”

|| 我正在使用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:bob@biloxi.com ;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:9890152798caf4a47bda2f6a43187186@10.0.2.15:1:register:10.0.2.15:8888

ID expected]
ERROR - Via: SIP/2.0/UDP 10.0.2.15:8888;branch=sipstag:9890152798caf4a47bda2f6a43187186@10.0.2.15:1:register:10.0.2.15:8888

ID expected
java.text.ParseException: Via: SIP/2.0/UDP 10.0.2.15:8888;branch=sipstag:9890152798caf4a47bda2f6a43187186@10.0.2.15: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:Server@10.0.2.2;transport=udp SIP/2.0
Call-ID: 9890152798caf4a47bda2f6a43187186@10.0.2.15
CSeq: 1 REGISTER
From: \"cy\" <sip:cy@mydomain.com>;tag=sipstag
To: \"Server\" <sip:Server@10.0.2.2>
Via: SIP/2.0/UDP 10.0.2.15:8888;branch=sipstag:9890152798caf4a47bda2f6a43187186@10.0.2.15:1:register:10.0.2.15:8888
Max-Forwards: 70
Contact: \"cy\" <sip:cy@mydomain.com:8888>
Content-Length: 0

]
你能帮助我吗?     
已邀请:
        问题已经解决了。 分支设置为“ 2”,客户端可以成功向代理服务器注册。
ViaHeader viaHeader = headerFactory.createViaHeader(sipProperties.getHostIp(), sipProperties.getISipPort(), \"udp\", \"z9hG4bKbranch1\");
    

要回复问题请先登录注册