TODOs, in random order: ======================= - siproxd daemonized: looks like clashes between threads - Daemonizing: daemon() f*** up a following pthread_create - is select() really tread safe? libc bug? - lost 200 ACK immediately before RTP starts... - TERM handler - /var/run PID file - check via loop and private IP addresses can comment be used to store a unique ID in there? - multiple inbound interfaces - do I need to be aware of inbound at all? - Documentation (yeah, yeah...) - support for proxy chaining - UPNP support? - general security issues - security tests for received SIP messages (function securitycheck) - automagically create a proper config file during install - get_ip_by_host: reduce DNS timeouts (seems to be a more complex problem...) - (support for "full duplex" RTP proxying) - via loop detection: send 482 error code - support Record-Route header - feature: don't bind to 0.0.0.0 address, but only to inbound/outbound IF's (defined by IFNAME)