On Wed, 11 Jan 2006 [EMAIL PROTECTED] wrote:

It was only a straight-forward implementation in stunc.c, but I now zapped unnecessary su_root_breaks and moved NAT type and lifetime determinations to start in callback after successful stun_bind_done.

Ok great!

Btw, one pretty serious issue: the STUN code never gives up the socket - this is pretty nasty once you really start to do something with the brand new socket STUN gave you - STUN module tries to parse each incoming packet, and with RTP this results in a _lot_ of printed parse errors. ;)

Few ideas:
- add "stun_handle_release()" that unregisters the sockfds from
  root, and cleans up handle state
    - stun_handle_destroy() is not that useful, as it closes to
      sockfds
- check if the first two bits of each packet are zeroed; if not,
  do not even try to parse as STUN (and drop silently, see rfc3489bis
  draft); needed for ICE and sip-outbound use where STUN messages are
  interleaved with SIP/RTP/RTCP
- add option not to bind() the socket in stun_bind() (you can already
  pass a socket, but bind() is still always used)
- hmm, maybe still rename stun_bind() -- stun_binding_discover() ? (with
  a reference to RFC3489, sect 9.1 for clear definition of what
  discovery means here)

--
 under work: Sofia-SIP at http://sofia-sip.sf.net


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Sofia-sip-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to