Hi,
I forgot a one comment about the commented code line:
o Bert Fraterman [09/21/09 13:52]:
while (!sess_stopped.get() ||
(dlg.getStatus() == AmSipDialog::/Disconnecting/)// ||
// (dlg.getUACTransPending())
){
in the beginning it was implemented this way that the dialog would stay
processing events (i.e. SIP requests and replies, too) if there was
still an UAC transaction pending (e.g. also wait until reply for BYE is
received). For many cases it turns out that this makes many sessions
hang there, especially with B2BUA scenario, and IIRC with the old SER
SIP stack, there was also the possibility to not get the error response
for requests that timed out. This is why that line was commented.
The correct teardown of sessions is probably something that can be
improved; for example it might make sense to wait for the reply to BYE,
and if the request times out, retry, and after a certain amount of
retries abort the session. OTOH, experience shows that in most cases
where BYE fails, the other end is simply not there any more, and in that
cases it does not make sense to bother much with that session.
Stefan
--
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