2016-05-30 1 views
1

lors du test de proxy dans mobicents, mobicents ne peut pas transférer le message bye à l'autre. quand un utilisateur envoie au revoir, il reçoit juste 481 et l'autre utilisateur reste en parler.
Une telle exception ne se produit que lorsque la durée de l'appel est> = 10s.Échec de l'envoi anticipé lors de l'utilisation de mobicents proxy

et je peux voir que la session d'application de sip est fermée avant que l'utilisateur envoie bye. Je ne sais pas comment éviter cela. s'il vous plaît aidez-moi !!!

ci-dessous est mon code de test:

@Override 
protected void doInvite(SipServletRequest request) throws ServletException, IOException { 
    List<SipURI> forks = new ArrayList<SipURI>(); 

    SipURI toURI = (SipURI) request.getTo().getURI(); 
    SipFactory sipFactory = (SipFactory) getServletContext().getAttribute(SIP_FACTORY); 
    forks.add(sipFactory.createSipURI(toURI.getUser(),"192.168.4.160:11180")); 
    forks.add(sipFactory.createSipURI("9988003","192.168.4.30:5080")); 

    //request.getProxy().setParallel(true); 
    List<ProxyBranch> branches = request.getProxy().createProxyBranches(forks); 
    for(ProxyBranch branch: branches){ 
     branch.setRecordRoute(true); 
    } 
    request.getProxy().startProxy(); 
} 

et je reçois une exception dans mon journal:

org.mobicents.servlet.sip.core.DispatcherException: Cannot find the corresponding sip application session to this subsequent request BYE sip:[email protected]:11180;transport=udp SIP/2.0 
Via: SIP/2.0/UDP 192.168.4.204:11180;rport=11180;branch=z9hG4bKBH36Ht963rXeB;received=192.168.4.204 
Max-Forwards: 70 
From: "Extension 9988001" <sip:[email protected]>;tag=KtgZ29USetpNj 
To: <sip:[email protected]>;tag=vN8t8Xm8yXg2K 
Call-ID: 0e0bee76-943b-1234-4ba8-000c29680286 
CSeq: 91266548 BYE 
Contact: <sip:[email protected]:11180> 
User-Agent: FreeSWITCH-mod_sofia/1.2.23~64bit 
Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY 
Supported: timer,path,replaces 
Reason: Q.850;cause=16;text="NORMAL_CLEARING" 
Content-Length: 0 

with the following popped route header <sip:192.168.4.89:5060;transport=udp;as=ded31d5f-500e-4c2d-84bb-370065d85c87;appname=1180947b;proxy=true;app_id=7599adf4;lr>, it may already have been invalidated or timed out 
    at org.mobicents.servlet.sip.core.dispatchers.SubsequentRequestDispatcher.dispatchMessage(SubsequentRequestDispatcher.java:248) 
    at org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl.processRequest(SipApplicationDispatcherImpl.java:861) 
    at gov.nist.javax.sip.EventScanner.deliverRequestEvent(EventScanner.java:250) 
    at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:146) 
    at gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:185) 
    at gov.nist.javax.sip.DialogFilter.processRequest(DialogFilter.java:1324) 
    at gov.nist.javax.sip.stack.SIPServerTransactionImpl.processRequest(SIPServerTransactionImpl.java:811) 
    at gov.nist.javax.sip.stack.UDPMessageChannel.processMessage(UDPMessageChannel.java:578) 
    at gov.nist.javax.sip.stack.UDPMessageChannel.processIncomingDataPacket(UDPMessageChannel.java:524) 
    at gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:319) 
    at java.lang.Thread.run(Thread.java:722) 

Répondre

0

Est-ce qui se passe uniquement pour les appels dont la durée est> 3 minutes?

La spécification des servlets sip définit la durée par défaut de la session SIP à 3 minutes. Vous pouvez le modifier dans l'attribut sip.xml session-timeout ou par programmation dans votre application.

+0

lorsque raccrue, la durée est seulement> 10 secondes. vous pouvez voir mon journal de détail: [err log] (https://groups.google.com/group/mobicents-public/attach/a5af52a063b6/proxy_error_log.txt?part=0.2&authuser=0&view=1) et [package wireshark] (https://groups.google.com/group/mobicents-public/attach/a5af52a063b6/proxy_error.pcapng?part=0.3&authuser=0&view=1) –

+0

Vos journaux DEBUG ne contiennent pas la transaction INVITE initiale. S'il vous plaît faites seulement 1 appel présentant le problème et envoyez le journal entier de DEBUG pour cela. Quelle version utilisez-vous ? Avez-vous essayé à partir du dernier de https://mobicents.ci.cloudbees.com/job/RestcommSipServlets-Release/? – jeand