[Devel] loop fix

Juha Heinanen jh at tutpro.com
Sun Sep 10 21:03:06 CEST 2006


i asked sip list, why the via the hash is needed for loop avoidance.  i
got only one response that made any sense:

  i can think of 3 common reasons you might want to place a hash in the Via as 
  opposed to searching local transactions, which may or may not apply
  depending on the implementation:

  (1) speed - if you have a large number of active transactions, then it's 
  almost certainly a lot faster to construct and compare a hash in X number of 
  via headers than search all the transactions received on that particular 
  transport.  any multi threaded design would require at minimum a read
  lock on a list of transactions - doesn't sound to efficient to me!

do you think that this is a valid concern for openser, i.e., does it
take too long to find out if a pending transaction with a certain
call-id/r-uri already exists?

-- juha



More information about the Devel mailing list