Commit Graph

495 Commits (166aaa0c711b3666b6a0554b51efeab1a401f47c)

Author SHA1 Message Date
Frederic-Philippe Metz ee113f9998 Merge remote-tracking branch 'upstream/master'
10 years ago
Richard Fuchs ba48d7b518 fix call timeout when ICE fails
10 years ago
Frederic-Philippe Metz f8aaf358cd Implemented TOS/Traffic Class bit in received first RTP packet
10 years ago
Frederic-Philippe Metz 070212ec3a Added RTCP parsing and option to log that information
10 years ago
Frederic-Philippe Metz 5be006a3d4 Merge branch 'master' of https://github.com/1and1/rtpengine
10 years ago
Frederic-Philippe Metz a9e4c023e4 Merge branch 'dev-fmetz'
10 years ago
Richard Fuchs c0fab9b47d various fixes related to ICE negotation and rtcp-mux
10 years ago
Richard Fuchs fd99ecf98c don't close call on UDP send error
10 years ago
Richard Fuchs 0b202d821f Fall back to a different address family if the requested one is unavailable
10 years ago
Richard Fuchs 93294f8c5f don't relearn addresses if the endpoint hasn't changed
10 years ago
Frederic-Philippe Metz 6d33ef76b0 Implemented delay measurement of RTP packets in kernel.
10 years ago
Richard Fuchs 9593519483 Leave unsupported (non-RTP) protocols alone when translation is requested
10 years ago
Frederic-Philippe Metz e0f9c59274 Implemented stage 1 of measuring delay
10 years ago
Richard Fuchs 0e4e6f2f3c revamp and move timeval functions
10 years ago
Richard Fuchs 98e0b6dea5 update for redis plugin
10 years ago
Richard Fuchs f99d6d4f42 implement full ICE support
10 years ago
Richard Fuchs 956d07d42e fix erroneously reported 0.0.0.0 address when bridging from ipv6
10 years ago
Frederic-Philippe Metz 6bc7a77e9b First try of implementation of measureing delay.
10 years ago
Richard Fuchs 1f7c8a228a remove obsolete HAS_HANDLER flag
10 years ago
Richard Fuchs 91a85e6cd8 fix for skewed stats
10 years ago
Richard Fuchs 016f8b3b53 Rework logging a bit (primarily in NG)
10 years ago
Richard Fuchs b44bb288c9 segfault fix
10 years ago
Richard Fuchs 4a97bb167a attempt to work around trickle ice
10 years ago
Richard Fuchs b586fa7031 fix memory leak
10 years ago
Richard Fuchs c2ff5c3fd3 MT#9935 understand, learn, remember and report RTP payload types (codecs)
10 years ago
Richard Fuchs f7a15946dc more descriptive warning for failed kernelizing
10 years ago
Richard Fuchs 037c6aa7dd shorter locking in stats loop
10 years ago
Richard Fuchs d79c68f532 remove some unnecessary memsets
10 years ago
Richard Fuchs fb667a8dba turn tag and termination texts into array lookups
10 years ago
Richard Fuchs ca149e6b81 "long" can be 32 bits only and may truncate math
10 years ago
Richard Fuchs 787d90f004 rename atomic_uint64 to atomic64 for brevity
10 years ago
Richard Fuchs 3bc1672a0e more atomic stats, and fix average length calc
10 years ago
Richard Fuchs 20fd255acc use UINT64F instead of %llu where appropriate
10 years ago
Richard Fuchs 411a888f9b use atomic ops for stats
10 years ago
Richard Fuchs de37ac046c use TLS buffer array for temporary strings
10 years ago
Richard Fuchs 36c7141d53 change control_ng_stats into a hash and use locking and atomic ops
10 years ago
Richard Fuchs 57c0a84d81 add locking to totalstats
10 years ago
Frederic-Philippe Metz 61a72b190f Added some more statistics.
10 years ago
Frederic-Philippe Metz 2ae0e35de4 Added functionality to report statistics to graphite
10 years ago
Richard Fuchs 49d1b66bcd Merge branch 'rfuchs/variable_b2b_callback_uri'
10 years ago
Richard Fuchs 43cd3f520a reset other side's crypto params only in passthru mode
10 years ago
Richard Fuchs 02d27d5e02 MT#10583 support b2bua callback to sip proxy address
10 years ago
Eric Tamme b8b17bfa6b clear crypto for BOTH legs when in passthrough mode
10 years ago
Frederic-Philippe Metz a4168bee14 RTPENGINE-12_Fixed_Segmentation_fault_if_only_offer_received.patch
11 years ago
Richard Fuchs d79bcfe7e4 remove extraneous linefeed
11 years ago
Frederic-Philippe Metz 4882d917ba RTPENGINE-1_total_statistics_rectl.patch:
11 years ago
Frederic-Philippe Metz 59329ddd04 VOIPTEST_220_delete delay
11 years ago
Frederic-Philippe Metz 5342158811 added_information_of_from_to_tag:
11 years ago
Frederic-Philippe Metz a871cd7507 added_address_of_invoking_proxy
11 years ago
Frederic-Philippe Metz 131c9e8110 cli
11 years ago
Frederic-Philippe Metz ee655bdcc6 added_milliseconds_precision_for_CDR.patch:
11 years ago
Frederic-Philippe Metz 947b35e889 fixed_callduration_and_added_termination_reason_20141125:
11 years ago
Frederic-Philippe Metz 9886de4654 cdrpatch.dpatch:
11 years ago
Richard Fuchs 276c7c85d7 report errno in log on sendmsg() error
11 years ago
Richard Fuchs 0113991ef5 MT#9585 rename kernel module and all related items from MEDIAPROXY to RTPENGINE
11 years ago
Richard Fuchs 407722599b avoid unnecessary DTLS restarts
11 years ago
Richard Fuchs 50d1839ffe reset DTLS and crypto params when endpoints change
11 years ago
Richard Fuchs 91221ef7a6 move DTLS setup logic into separate function for readability
11 years ago
Richard Fuchs 97b472bfdb dont break legacy control protocols
11 years ago
Richard Fuchs 6757c27a46 add DTLS=passive option
11 years ago
Richard Fuchs 955de109b1 support proper DTLS shutdown and restart DTLS on FP change
11 years ago
Richard Fuchs b49f57b9ea avoid DTLS role change on reinvite
11 years ago
Richard Fuchs af9625de74 make multi-homing thread safe
11 years ago
Richard Fuchs e830bf57eb update for redis module
11 years ago
Richard Fuchs 45dee75156 support specifying interfaces to use in control protocols
11 years ago
Richard Fuchs e365572265 receive local address from kernel and use it for outgoing packets
11 years ago
Richard Fuchs 513ac44a84 incorporate new local-interface infrastructure into appropriate places
11 years ago
Richard Fuchs 0cbb4665a5 paving the way to multi-interface support
11 years ago
Camille Oudot faf3e22b9e logging: choose the log facility from the command line, or log to stderr
11 years ago
Richard Fuchs fccad69070 segfault fix for tcp status command
11 years ago
Richard Fuchs c0f8196a25 implement detection of duplicate packets to catch and avoid forwarding loops
11 years ago
Richard Fuchs 65812fa2b2 limit the number of times the receive loop can run without breaking
11 years ago
Richard Fuchs fe6567161a simple port randomizer
11 years ago
Richard Fuchs 16b42fbd62 Switch around internal fromtag/totag/endpoint representation
11 years ago
Richard Fuchs 5e129dd8f6 brevity
11 years ago
Richard Fuchs 1f4f0d6137 implement delayed call/branch deletion
11 years ago
Richard Fuchs 58940b5018 change stun log levels
11 years ago
Richard Fuchs ec21806c95 use default TOS if not using NG protocol
11 years ago
Richard Fuchs 9d001e3452 fix segfault if NG protocol is not used
11 years ago
Camille Oudot 6005d14e1a XMLRPC notifications: more formats
11 years ago
Richard Fuchs 681b2c1a24 version reporting: use git branch and commit if available
11 years ago
Richard Fuchs 964b644ecd don't skip setting stream to actpass when not using sdes
11 years ago
Richard Fuchs e883f57929 better support protocol switching within a call
11 years ago
Richard Fuchs e7aa743fce change default a=crypto: tag from zero to one
11 years ago
Richard Fuchs 759ea60b3b adding some debug messages
11 years ago
Richard Fuchs 9ecb7daf8d allow for protocol renegotiation
11 years ago
Richard Fuchs b0c7efb241 duplicate x509 in mem for delayed verification
11 years ago
Richard Fuchs 9cbe157f4f properly support the udptl protocol
11 years ago
Richard Fuchs d37d385806 properly handle unknown transport protocols
11 years ago
Richard Fuchs bd770cbab6 Merge branch 'rfuchs/configurable-tos'
11 years ago
Richard Fuchs 69dec02648 fix inappropriate locking sequenece
11 years ago
Richard Fuchs e381e107ec configurable per-call TOS value
11 years ago
Richard Fuchs 2e9ae75fb0 remove needless assertion
11 years ago
Richard Fuchs a7784f5ca3 try to fix null c= address issue
11 years ago
Richard Fuchs ba1bd04841 silence warning for kernelizing rtcp
11 years ago
Richard Fuchs e9ff918b8f make call_destroy() global
11 years ago
Richard Fuchs 3030324c0a sink must also be unlocked when peer address changes
11 years ago
Richard Fuchs 4ded03de91 implement media-handover and strict-source logic
11 years ago
Richard Fuchs b8a39bed7e avoid log message redundancy
11 years ago
Richard Fuchs eb59af9520 more verbose timeout log message
11 years ago
Richard Fuchs bb84ea5035 implement explicit warning when kernel support is missing
11 years ago
Richard Fuchs 940030d670 support kernel forward of non-rtp packets
11 years ago
Richard Fuchs 0a42f4aa26 fix timeout handling for silenced streams
11 years ago
Richard Fuchs 011a42650d restore query/stats output
11 years ago
Richard Fuchs 92cab838b3 remove unused variable
11 years ago
Richard Fuchs 88dfeee622 fix compiler warning
11 years ago
Richard Fuchs 838917b226 compile fixes for older gcc versions
11 years ago
Richard Fuchs 9f1696d2c1 use srtp<>srtp transcode if either side uses dtls
11 years ago
Richard Fuchs aa5bae9777 implement experimental passthrough relay mode
11 years ago
Richard Fuchs 5d490223f6 set media SDES flag when appropriate
11 years ago
Richard Fuchs e19ca0a66e introduce log level flags (LOG_FLAG_RESTORE)
11 years ago
Richard Fuchs 7c0cc4cec0 updates for redis support
11 years ago
Richard Fuchs f638f36bb0 replace implicit bit fields with explicit ones
11 years ago
Richard Fuchs 4c0ca278fa rename mediaproxy-ng to rtpengine
11 years ago
Richard Fuchs f8f741b584 Update to upcoming 3.0 release (2.9.9 for now)
11 years ago
Richard Fuchs bcc020eefb fix IPv4 TOS if IPv6 is enabled
11 years ago
Richard Fuchs 0597817816 update desired address family (based on "direction") when branching
12 years ago
Richard Fuchs 5c616c27af fix erroneous double lookup detection
12 years ago
Richard Fuchs b14908e59e additional debug for double lookup case
12 years ago
Richard Fuchs bda8c543b8 re-learn peer addresses after each signalling
12 years ago
Richard Fuchs 9f51161c61 fix possible segfault on incorrect sp/SP flag usage
12 years ago
Richard Fuchs b18d14eda5 Implement non-fatal warnings in NG replies and use them in "delete"
12 years ago
Richard Fuchs 7e6f1b5bfa enforce stream correlation against same-numbered old streams
12 years ago
Richard Fuchs 1a83499916 fix incorrect source address of STUN binding responses
12 years ago
Richard Fuchs bbc53398f8 implement and document ng "media address"
12 years ago
Richard Fuchs 13ad0428e6 rename some keys in the ng protocol (replace dash with space) but retain compatibility
12 years ago
Richard Fuchs bd5959140d kernelize confirmed streams after restore
12 years ago
Richard Fuchs 29789c12cb more frequent redis updates for srtp calls
12 years ago
Richard Fuchs f75bc44685 get rid of the useless ROC and keep variable naming consistent
12 years ago
Richard Fuchs a780cf7891 redis updates
12 years ago
Richard Fuchs 42efaaecec drop support for hosts without ipv6 stack
12 years ago
Richard Fuchs d9b2397712 add a compile switch to drop support for ipv4-only sockets.
12 years ago
Richard Fuchs 08e60ae2ac copy rtcp-mux state when stealing peer
12 years ago
Richard Fuchs 43764b46d4 implement support for RFC 5761
12 years ago
Richard Fuchs de5b172f32 srtp re-invite fixes
12 years ago
Richard Fuchs e3cf5d521e reverse crypto context in/out as they were backwards
12 years ago
Richard Fuchs 3c93daa015 fix some regressions and bugs
12 years ago
Richard Fuchs f6d91122af un-initialized key contexts after copying struct
12 years ago
Richard Fuchs 0a4418cd4b consistent use of existing macros
12 years ago
Richard Fuchs 09dd548e01 coredump bugfix
12 years ago
Richard Fuchs 372b81886b dont error on unsupported ciphers
12 years ago
Richard Fuchs c49ea7b403 copy back s_l number from kernel to daemon
12 years ago
Richard Fuchs 97f9c3d398 SRTP daemon<>kernel tie-in
12 years ago
Richard Fuchs f38fe3f1e0 create a dedicated session key context to save some cpu
12 years ago
Richard Fuchs d632fae1f3 copy crypto context when stealing peer
12 years ago
Richard Fuchs 3c9daae60d adding rtp/savpf transforms and tests
12 years ago
Richard Fuchs 43e9696fa9 restructure in-memory crypto contexts
12 years ago
Richard Fuchs 93092e850f must use the outgoing's side crypto context for out packets, also add some logging
12 years ago
Richard Fuchs e4d050062f bugfix for borken rtp
12 years ago
Richard Fuchs db72130792 implement srtcp encryption, decryption and authentication
12 years ago
Richard Fuchs 2b61b12c71 implement srtp decryption
12 years ago
Richard Fuchs 212df63857 implementing srtp encryption and authentication
12 years ago
Richard Fuchs 7877b7ce14 implement srtp session key generation algorithm
12 years ago
Richard Fuchs e63edeb875 parsing of the sdp crypto attribute
12 years ago
Richard Fuchs d8bc7d92a2 experimental support for RTP/AVP<>AVPF bridging
12 years ago
Richard Fuchs 589c271d52 fix the silly thing about bencoded lists being backwards
12 years ago
Richard Fuchs 48018e48d0 remove obsolete comment
12 years ago
Richard Fuchs 86240e12fd rename variables in stream_packet() -- getting confusing!
12 years ago
Richard Fuchs bfb88bd7e5 fix improper use of "other" pointer
12 years ago
Richard Fuchs 3c4dd73365 update steal_peer with new flags
12 years ago
Richard Fuchs 68a97be379 keep track of transport protocols and rtcp streams
12 years ago
Richard Fuchs b355bd350a simplify a common task by keeping more pointers
12 years ago
Richard Fuchs 0427b4baf4 handle "use-candidate" properly
12 years ago
Richard Fuchs eb05c8169a support the trust-address flag
12 years ago
Richard Fuchs 009a2029b9 remove some code duplication
12 years ago
Richard Fuchs 0be4fa311e support dual-stack ICE offers
12 years ago
Richard Fuchs 1c830108ad misinterpreted the meaning of the "trust address" flag
12 years ago
Richard Fuchs 1758e586ce generate stun errors
12 years ago
Richard Fuchs 2784cb41a3 hack to prevent stale children
12 years ago
Richard Fuchs a37bd78355 rename ARRAY_SIZE to ARRAYSIZE to avoid naming conflict
12 years ago
Richard Fuchs 7787ad3b28 reorder headers and fix resulting errors
12 years ago
Richard Fuchs 8c06d3254a start work on stun support
12 years ago
Richard Fuchs f107ab461a adding rudimentary insertion of ICE attributes
12 years ago
Richard Fuchs 30669f2cd3 support removal of ICE attributes
12 years ago
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