1. 01 Feb, 2007 1 commit
    • Pekka Pessi's avatar
      nua_session.c: fixed terminating call state machine. · d342fb90
      Pekka Pessi authored
      Fabio Margarido reported that the BYE is not sent upon certain error
      conditions. This was because state machine does not allow sending duplicate
      BYE in terminating state. Usually, the call state machine switches to
      terminating state upon sending BYE.  However, certain error conditions (like
      not receiving ACK) causes the session to terminate, and the session state is
      change to terminating state outside BYE.
      
      The fix here changes the behaviour of internally generated BYE requests,
      they do not change the session state to terminating nor they check if the
      session state is already terminating.
      
      darcs-hash:20070201200704-65a35-4efc2f1879aa86f17b20e3e400d6c5eee18cb81b.gz
      d342fb90
  2. 24 Jan, 2007 3 commits
  3. 08 Jan, 2007 3 commits
  4. 02 Jan, 2007 1 commit
    • Pekka Pessi's avatar
      nua: refactored the client side. · 69b0249d
      Pekka Pessi authored
      Now each handle has a queue of client-side requests; if a request is
      pending, a new request from API is added to the queue. After the request is
      complete, it is removed from the queue and destroyed by the default. The
      exception is the client requests bound to a dialog usage: they are saved and
      re-used when the dialog usage is refreshed (and sometimes when they are
      terminated).
      
      The client request is subclassed and its behaviour modified using virtual
      function table in nua_client_methods_t.
      
      darcs-hash:20070102121444-65a35-f1fa4d836b95611cfbc6141ff491afcb8b789a74.gz
      69b0249d
  5. 14 Dec, 2006 1 commit
  6. 12 Dec, 2006 1 commit
    • Pekka Pessi's avatar
      nua_session.c: use nua_client_request_t struct with BYE only if it is vacant · 2ce3032a
      Pekka Pessi authored
      Thanks for Anthony Minnessale for reporting this bug.
      
      Note that correct fix would involve delaying BYE until final response to the
      NOTIFY has been received. Now, we have a race condition between NOTIFY and
      BYE: if NOTIFY is lost and UAS receives BYE before NOTIFY, it will ignore
      the retransmitted NOTIFY and respond with status code 500 to it.
      
      darcs-hash:20061212014236-65a35-fb5ff30bdb713894c1b20b95d25f44ab7e75b243.gz
      2ce3032a
  7. 08 Dec, 2006 1 commit
  8. 30 Nov, 2006 1 commit
  9. 21 Nov, 2006 1 commit
  10. 20 Nov, 2006 2 commits
  11. 16 Nov, 2006 1 commit
  12. 15 Nov, 2006 1 commit
  13. 10 Nov, 2006 1 commit
  14. 01 Nov, 2006 1 commit
  15. 31 Oct, 2006 2 commits
  16. 27 Oct, 2006 3 commits
  17. 25 Oct, 2006 3 commits
  18. 21 Oct, 2006 1 commit
  19. 12 Oct, 2006 1 commit
  20. 09 Oct, 2006 2 commits
  21. 07 Oct, 2006 1 commit
  22. 04 Oct, 2006 1 commit
  23. 03 Oct, 2006 3 commits
  24. 26 Sep, 2006 2 commits
  25. 01 Oct, 2006 1 commit
  26. 27 Sep, 2006 1 commit