Hello,

o Peter Loeppky [05/13/09 17:21]:
I have a B2B application running.  Every now and again, I am having an
issue with some threads got getting destroyed.  From what I can tell, it
appears that it is the second legs that stays open.

this happens if in your application you don't call setStopped() for all possible cases.

Usually with b2b apps that is failed calls on the second leg. IIRC you need to check whether the dialog's status changes from Pending to Disconnected in onSipReply, or, in the caller leg, you need to call terminateOtherLeg(). It's not really intuitive; do you think we should introduce onFailedCall event handler?

Stefan


From what I see the

  AmSession::sess_stopped = False;
  AmSession::detached = True;
  AmSipDialog::status = Disconnected/0;

void AmSession::run()
{
...
while (!sess_stopped.get() || (dlg.getStatus() == AmSipDialog::Disconnecting)// ||
             // (dlg.getUACTransPending())
             ){

-->  waitForEvent();
        processEvents();

        DBG("%s dlg.getUACTransPending() = %i\n",
            dlg.callid.c_str(),dlg.getUACTransPending());
      }
 ...
}

And is stuck waiting for events().  Any ideas?

Peter

_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems

--
Stefan Sayer
VoIP Services

[email protected]
www.iptego.com

IPTEGO GmbH
Wittenbergplatz 1
10789 Berlin
Germany

Amtsgericht Charlottenburg, HRB 101010
Geschaeftsfuehrer: Alexander Hoffmann
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems

Reply via email to