Commit Graph

171 Commits (github/master)

Author SHA1 Message Date
Richard Fuchs fc246e64d3 cant guarantee that the call struct is still valid when the response is sent, to copy strings
12 years ago
Richard Fuchs 0230985e91 get rid of another useless variable
12 years ago
Richard Fuchs 55380807f8 tags can be NULL
12 years ago
Richard Fuchs bf4df4dff9 remove more code duplication
12 years ago
Richard Fuchs 504995e47c return call stats in NG delete message reply
12 years ago
Richard Fuchs feb3b6bde1 adding some const for good measure
12 years ago
Richard Fuchs 3c764bed52 split NG stats collection into ng_call_stats()
12 years ago
Richard Fuchs f7da33b4a7 adding a UINT64F format macro
12 years ago
Richard Fuchs b2ad672086 make call_query_udp use the new call stats function
12 years ago
Richard Fuchs 495d4cf2bd keep track of "newest" timestamp
12 years ago
Richard Fuchs 267252542b create a struct for stats collection
12 years ago
Richard Fuchs 1adef8fe7b split stream traversal for stats query into separate function
12 years ago
Richard Fuchs 8c9fa012bd lets have a totals packet/bytes counter for each call
12 years ago
Richard Fuchs e9bf80768d add more bencode convenience functions
12 years ago
Richard Fuchs 1ef1c87545 add a prelim NG query command
12 years ago
Richard Fuchs aaa3f4d116 simplify call_query_udp a bit
12 years ago
Richard Fuchs f369c9f799 more redis support functions
12 years ago
Richard Fuchs 8d3b8e310a redis support functions
12 years ago
Richard Fuchs 20f33e56ff treat zero ip/port as wildcard when matching up old streams
12 years ago
Richard Fuchs 5cebf5adbd use peer_advertised where appropriate
12 years ago
Richard Fuchs fc6fe69075 replace IN6_IS_ADDR_UNSPECIFIED because it doesnt work for mapped addresses
12 years ago
Richard Fuchs 5d726fdf84 fix some ipv6 related bugs
12 years ago
Richard Fuchs 6adda7c301 keep track of sdp stream endpoints and use them as index when rewriting
12 years ago
Richard Fuchs bac4f31489 get rid of num parameter to sdp_replace
12 years ago
Richard Fuchs 7ca74b399e use iovec based sdp rewriting
12 years ago
Richard Fuchs df1b169cba handle consecutive ports in SDP
12 years ago
Richard Fuchs a67f03d1d3 introduce struct udp_fd
12 years ago
Richard Fuchs 4c14016f9f code cosmetics
12 years ago
Richard Fuchs 7137b784e9 implement a "relays cache"
12 years ago
Richard Fuchs 061507585c variable renaming - getting confusing
12 years ago
Richard Fuchs a45a7379ed obsolete get_port_pair()
12 years ago
Richard Fuchs ce2df6d90f exclude our own listening ports from RTP
12 years ago
Richard Fuchs 9ae844040a reimplement get_port_pair() to support multiple consecutive ports
12 years ago
Richard Fuchs e22b6a04fb support trust-address flag
12 years ago
Richard Fuchs ab3a47ae41 finish renaming control.[ch] to control_tcp.[ch]
12 years ago
Richard Fuchs efdc8efeb8 rename some command implementation functions for consistency
12 years ago
Richard Fuchs 9f78c2f17a implement call_delete_ng()
12 years ago
Richard Fuchs 3069720052 fix copy-pasto
12 years ago
Richard Fuchs 2872d18f43 implement call_answer
12 years ago
Richard Fuchs 5d1c2aabed support some flags passed from rtpproxy-ng module
12 years ago
Richard Fuchs 5accfd0751 dont return ipv6 address by default
12 years ago
Richard Fuchs 011e0e7e4e unify call_update_udp and call_lookup_udp
12 years ago
Richard Fuchs e5d7341bdc unify call_request and call_lookup
12 years ago
Richard Fuchs 6fd39168f1 obsolete infohash
12 years ago
Richard Fuchs ecc37e4b2a fix segfault related to null log_info
12 years ago
Richard Fuchs b66809bb8c use new struct stream_input where appropriate
12 years ago
Richard Fuchs 8fe26b2d3b obsolete the "mediatype" element
12 years ago
Richard Fuchs 9589a73b42 obsolete call{ed,ing}_agent element
12 years ago
Richard Fuchs 337167faf7 use enum stream_address_format
12 years ago
Richard Fuchs 923a7bdf5a correctly mark ip6 address
12 years ago
Richard Fuchs c75394d3cd first take on SDP rewriting
12 years ago
Richard Fuchs 2b60a82e36 more mass deployment of the new "str" object - does this thing still work? now really?
12 years ago
Richard Fuchs 60da1bc445 mass deployment of the new "str" object - does this thing still work?
12 years ago
Richard Fuchs 8db7ab6c94 introduce kamailio-style "str" data type/struct
12 years ago
Richard Fuchs ccfa304354 sdp_streams() initial implementation
12 years ago
Richard Fuchs f6a336ce89 prefer objects on stack instead of heap when possible
12 years ago
Richard Fuchs a2ac8075a9 WIP on SDP parser
12 years ago
Richard Fuchs be4a6c7d58 make my life easier with a smart_ntop_port() function
12 years ago
Richard Fuchs 5ea5dcddfa call_offer()/answer stubs
12 years ago
Richard Fuchs bca25d7700 make call_lookup_udp() remember viabranches like call_update_udp()
12 years ago
Richard Fuchs ef521030ab make viabranch in udp lookup optional
12 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