Commit Graph

183 Commits (b6643e32aa9e87efdba3c1cecbbbc72bdf6b72bf)

Author SHA1 Message Date
Richard Fuchs 2872d18f43 implement call_answer
13 years ago
Richard Fuchs 5d1c2aabed support some flags passed from rtpproxy-ng module
13 years ago
Richard Fuchs 5accfd0751 dont return ipv6 address by default
13 years ago
Richard Fuchs 011e0e7e4e unify call_update_udp and call_lookup_udp
13 years ago
Richard Fuchs e5d7341bdc unify call_request and call_lookup
13 years ago
Richard Fuchs 6fd39168f1 obsolete infohash
13 years ago
Richard Fuchs ecc37e4b2a fix segfault related to null log_info
13 years ago
Richard Fuchs b66809bb8c use new struct stream_input where appropriate
13 years ago
Richard Fuchs 8fe26b2d3b obsolete the "mediatype" element
13 years ago
Richard Fuchs 9589a73b42 obsolete call{ed,ing}_agent element
13 years ago
Richard Fuchs 337167faf7 use enum stream_address_format
13 years ago
Richard Fuchs 923a7bdf5a correctly mark ip6 address
13 years ago
Richard Fuchs c75394d3cd first take on SDP rewriting
13 years ago
Richard Fuchs 2b60a82e36 more mass deployment of the new "str" object - does this thing still work? now really?
13 years ago
Richard Fuchs 60da1bc445 mass deployment of the new "str" object - does this thing still work?
13 years ago
Richard Fuchs 8db7ab6c94 introduce kamailio-style "str" data type/struct
13 years ago
Richard Fuchs ccfa304354 sdp_streams() initial implementation
13 years ago
Richard Fuchs f6a336ce89 prefer objects on stack instead of heap when possible
13 years ago
Richard Fuchs a2ac8075a9 WIP on SDP parser
13 years ago
Richard Fuchs be4a6c7d58 make my life easier with a smart_ntop_port() function
13 years ago
Richard Fuchs 5ea5dcddfa call_offer()/answer stubs
13 years ago
Richard Fuchs bca25d7700 make call_lookup_udp() remember viabranches like call_update_udp()
13 years ago
Richard Fuchs ef521030ab make viabranch in udp lookup optional
13 years ago
Richard Fuchs ed7f8dda04 remove obsolete code; add more locking
13 years ago
Richard Fuchs 644e5ba9df calculate proper "TTL"
13 years ago
Richard Fuchs bbb8327750 implement udp Q command
13 years ago
Richard Fuchs a99ada4e41 add more logging to xmlrpc call mechanism
13 years ago
Richard Fuchs eda487e579 un-shoot myself in the foot, gna
13 years ago
Richard Fuchs 8092a56761 another locking fix
13 years ago
Richard Fuchs bb054ec00b fix more locking problems
13 years ago
Richard Fuchs 3a26e9fceb fix possible race condition
13 years ago
Richard Fuchs 39207a0859 dont fail on zero port in tcp controller
13 years ago
Richard Fuchs 37013fd148 IPv6 socket requires IPv4 PKTINFO for setting source address correctly
13 years ago
Richard Fuchs 59c5ffd0da fix reference count leak
13 years ago
Richard Fuchs 08d40d8ac5 add debian buildflags and address generated warnings
13 years ago
Richard Fuchs 594297a3ea use string chunk for all the little call-related strings
13 years ago
Richard Fuchs afb1f5de95 need to lock the call a bit earlier
13 years ago
Richard Fuchs d8ef1885cc split callstream_init into callstream_new for redis module
13 years ago
Richard Fuchs c291d1220b fix logging inconsistency
13 years ago
Richard Fuchs 72840c8d1d reorder calls to redis for proper locking
13 years ago
Richard Fuchs d20d747a63 since xmlrpc is still segfaulting even in its own process, disable core dumps in the child and retry the xmlrpc call up to 3 times if the child terminates abnormally. jumping through hoops ftw!
13 years ago
Richard Fuchs 2ad1d6f65e xmlrpc still segfaulting. leaves no choice but to fork out a new process, ugh.
13 years ago
Richard Fuchs f4833f6b74 xmlrpc calls still causing segfaults, lets try with a dedicated client object per call... i'm starting to dislike this library
13 years ago
Richard Fuchs fabcb53a3b the curl xmlrpc transport isnt playing nicely - revert to default
13 years ago
Richard Fuchs 08c764c748 cant decref null references
13 years ago
Richard Fuchs 0f6d898171 add proper locking to callstream setup procedure
13 years ago
Richard Fuchs 94f2f320a6 actually the call struct needs neither linked flag nor shutdown flag due to the sequence of events and locking
13 years ago
Richard Fuchs d8776907f8 need to lock the callstream a bit earlier
13 years ago
Richard Fuchs ab3b8c60f0 fix a silly, threading-unrelated, statistics-skewing bug
13 years ago
Richard Fuchs 45f34b9784 turns out you actually have to free/destroy mutexes. who woulda thunk?
13 years ago
Richard Fuchs 54353022ff om nom nom memory leak... well, reference count leak
13 years ago
Richard Fuchs b7a68659b1 analoguous to the last race, call_destroy() must not assume that it's getting the last reference to the call
13 years ago
Richard Fuchs ddffe5eeec global xmlrpc init must be done prior to any threading
13 years ago
Richard Fuchs d1fbf9bef9 alarms arent usable in a threaded environment, so use curl internal timeout instead
13 years ago
Richard Fuchs feeeee2fab must extract needed tags for xmlrpc call teardown prior to destroying the calls
13 years ago
Richard Fuchs 973d92d9c7 moving call teardown due to timeout to a separate thread
13 years ago
Richard Fuchs 2dd6cfe68c keeping the lock hold time to a minimum in lengthy calls_status operation
13 years ago
Richard Fuchs 8c2c69f5e6 make the stats collection thread-safe
13 years ago
Richard Fuchs d9e09f33bc lets try with a lot of large, nested, naive locks
13 years ago
Richard Fuchs ae5a36f5ce getting rid of call->log_info and introducing call->lock
13 years ago
Richard Fuchs 900f76a17e make the callmaster struct private - also requires update to redis module
13 years ago
Richard Fuchs aeb5398b0d granular lock for "ports used" bit field
13 years ago
Richard Fuchs a8680cc2d9 TOS for ipv6 needs an int to work
13 years ago
Richard Fuchs 0b0b41e67f gonna need more than one lock in callmaster, so rename the one we have
13 years ago
Richard Fuchs 4588e13a76 getting rid of more global variables
13 years ago
Richard Fuchs e033d1da1c EINTR requires special handling
13 years ago
Richard Fuchs db15692f21 using thread-local-storage for eliminating constant calls to time()
13 years ago
Richard Fuchs 5f5e158d76 private structs make for safer threading
13 years ago
Richard Fuchs ebd2893e96 missing a streambuf lock here
13 years ago
Richard Fuchs 7dc00bd258 making timers thread-safe
13 years ago
Richard Fuchs de33b8da40 add basic locking to callmaster struct
13 years ago
Richard Fuchs 8e5ad59558 make the obj_ primitives more liberal to make for easier calling
13 years ago
Richard Fuchs 145bbd1f7c Prepare for multi-threaded operation
13 years ago
Richard Fuchs 2594da3b45 dont poll kernel list when table couldnt be opened
13 years ago
Richard Fuchs 8d50923508 good bye poll(), hello epoll_*()
13 years ago
Richard Fuchs 2a8c07df0e take rtcp ports into account when checking for timeouts
13 years ago
Richard Fuchs 70ac6a274c take 0-byte packets into consideration when updating peer info for NAT'd streams
13 years ago
Richard Fuchs 24cf5a0ca0 dump packet stats upon call teardown
13 years ago
Richard Fuchs b6650a9d78 increase max udp packet len to 8192 and add warning message if the limit is hit
13 years ago
Richard Fuchs e4575cf31f who knew that zero-length udp packets are valid?
13 years ago
Richard Fuchs 33b7872115 be a bit more clear in the read error message
13 years ago
Richard Fuchs 35404af428 log error code upon RTP socket error
13 years ago
Richard Fuchs dc7517121d remove uuid helper code
13 years ago