The original sdp_manipulate_check's only purpose left is to check for an
attribute removal. Refactor accordingly.
Change-Id: I3be28e0a2c04461a60766afe7096ad3fb8bbe998
In order to perform a substitution we must do a lookup to the hash table
anyway. We can eliminate an extra lookup for the same key to check
whether a substitution exists by combining the two operations into one.
Change-Id: Ife8f1fbfd77ade1986a303a3a5503f4142f7de01
Operating on an empty queue is essentially a no-op, so there's no point
in doing an extra check first to see if the queue is empty. Remove this
extra check for the CMD_ADD case.
Change-Id: I3c7524cd407fb350a46bdf8d3a91014158c6bf44
Use an indexed array to generically support all possible media types
instead of hard-coding a few possible types. This makes lookup faster
and is also future-proof.
Add helper functions to allocate and lookup the appropriate object.
Change-Id: I28406b2c5a6829330f41601fa52e738d9a8ee315
Media types must be given explicitly anyway, so we don't need to warn
when we encounter a different one, as it's entirely expected that we
won't operate on it.
Change-Id: Ic6b808422ceb5ae857a4d0a99379a1c858bb6fd8
For efficiency reasons `substitute` kind of SDP manipulations
commands have been moved to the `GHashTable` instead of the `GQueue`.
Change-Id: Iec6c44109ae912ba0de440bbed6ecaee6a238b97
1) a=ice-options can be a session-level attribute. Use the correct
lookup function to check for both media-level and session-level
attributes.
2) The RTP endpoint address must be filled in before we do the trickle
ICE check, which uses 0.0.0.0:9 as determining factor.
3) Adapt a test case.
Change-Id: Ic0caffc85791131173848d28f5a652ad9d9124db
Using a pointer array instead of a linked lists allows us to directly
reference a media section by index number, without having to spool into
the linked list.
No functional changes.
Change-Id: I8b0e93f0c2e9addbcb4c938894118ed4a6aec768
Deprecate the `append_attr_to_gstring()` and combine the functionality
of it with the `append_attr_char_to_gstring()` to not have multiple
functions doing same thing.
Change-Id: Id955f79a4f3b0864427216af20b11fd4baeb2b93
Improve an efficiency of the code in terms of not checking anything
inside the function, if the `sdp_manipulation` flags are absent.
Change-Id: I2a5d8cf675a73ec7a2b4af94d5c7fe2f18fc1772
Do not use the `g_queue_is_empty()` to check the emptiness
of the `add_commands_*` GQueue. It's enough to check the pointer
and the first `->head` value.
Change-Id: Ie01f45d5f8bbaa5af3a09594cce145a0e83943c2
Do not proceed to the `g_hash_table_lookup()` if the `attr_name`
is empty.
Additonally: improve slightly the same check for the CMD_SUBST.
Change-Id: I39e34c34b458150ebae38dff5e6a46f6e8f17c66
It substitutes a specified `a=` line taken from the concerned
media attributes list. If such line has been not found,
the attributes list remains untouched.
It subsitutes one attribute at a time, so one attribute into
another attribute.
Change-Id: Ie0a48ba46a1b196fbe33b09dedc40e4498640e34
In order to improve the efficieny of the code (make lookups
faster) use GQueues for CMD_ADD manipulations and
GHashTable for CMD_REM manipulations.
This gives the following benefits:
- faster lookup (check), if any SDP command is to be applied
(no need to iterate through all values of commands, as it used to be)
- keep a sequence for CMD_ADD values given by option flag(s)
In order to keep the code more lightweight and clear,
add a separate struct ptr to queues and hash tables into
the call_interfaces header.
Change-Id: I7e45aca4062750c7b8959473edb410ed76cc04e7
New section of option flags has been introduced for SDP body
attributes manipulations.
Three levels of the SDP session are concerned:
- session level (global one)
- media level - audio
- media level - video
Three different actions are supported for now:
- add
- remove
The value of the command has a wildcard matching approach.
Other attributes apart `a=` can not be edited by this functionality.
So such headers as: `c=`, `s=`, `o=` cannot be touched.
Change-Id: I939d4582839096b2399f7ded865e91ff6eb960a4
(cherry picked from commit 3f06c18793fe95e5b070044a0291a3e1528ac6e4)
Because of the repeating code snippets, which insert attributes
into the SDP chop->output GString, it's just better to introduce
a separate function for that.
This will give one additional advantage — there will be only one
place, where we can control (for example, depending on manipulation
rules) whether to print this attribute or not.
Change-Id: I1b12f2dd2fda8475a783352678ac939267b64080
To better organizea code and not duplicate same functionality
in the future, it's better to handle an insertion of
the sdp_attribute object using a dedicated hanlder.
New handler:
attr_insert(struct sdp_attributes *attrs, struct sdp_attribute *attr)
Change-Id: I24236d81257b95ef98e0886d3ba362cc1e50dfbe
Defined in RFC 8842. If a tls-id was previously given and a the new SDP
shows a different tls-id or none at all, we must restart DTLS.
Relevant to #1585
Change-Id: I554234dfcacbd330c7a0c6aea68f24d0449cba21
In order to rewrite certain session-level SDP lines, we need to
reference a packet_stream which contains the correct information. But we
cannot simply rely on the first media section having a usable packet
stream, as the first media section could have been rejected. Iterate
media sections until we find a usable one.
Change-Id: I36594e80981fc0645a7747399bd9951fbc2e5676
Add a flag to force increasing the SDP version,
even if the SDP hasn't been changed.
And cover it with tests.
Flag name: 'force-increment-sdp-ver'
Additionally fix the name of the 'sdp-version' flag
in the 'rtpengine-ng-client' tool.
Change-Id: I466792668b0cd313b5e21b248dd14cd599333cbd
`flags` being NULL is not really a use case we have right now, but it
might be in the future. Make sure we don't crash.
Change-Id: I4400553fc0a665d94f2e1cdced855250b46d88a4
Warned-by: coverity
Explicitly copy SDP up to the format list before printing it out. This
preserves broken input SDP.
closes#1461
Change-Id: I839a200f159f25854c86add244571a948e2c90cf
Setting the mux flag when rtcp-mux is given is fine, but we must still
provide an RTCP endpoint in case rtcp-mux ends up not being used, either
through an implicit RTCP endpoint or through a=rtcp.
relevant to #1443
Change-Id: I0710a50c31974f5e06bd94b47076a272bcca7a43
(cherry picked from commit e3951449ed)
Also add a safeguard against filling the remote peer address with an
address from the wrong family
closes#1305
Change-Id: Iac18212b4d526a2f7d49a06ddcd724aa89b06060
Complete overhaul of the codec handling code:
*) obsolete flags `asymmetric codecs`, `symmetric codecs`, `reorder
codecs`
*) support proper codec offer/answer
*) split codec manipulation (strip/offer/accept/etc) into separate
functions for clarity and better code maintenance
*) fully update codec handlers in both directions after an answer
*) explicit allocation and handling of codecs and payload types in a
codec_store object
*) improve codec matchup logic during answer
*) more explicit handling of supplemental codecs (CN/DTMF)
*) remove now obsolete hacks for handling certain use cases
Change-Id: I996705ba8fe339524c2f70e6bb0fd854f9a1f4fb
If we receive an SDP with a DTLS fingerprint, by default we adopt the
hash function used for that fingerprint in subsequent communication with
that peer. However, if the SDP is an answer, and we previously used a
different hash function in the offer towards that peer, then a later
re-invite offer would be sent with a different fingerprint, causing an
unexpected DTLS restart. Instead, make sure we don't change fingerprints
if one was already sent.
Change-Id: I603bb86ce2d7121556c161749ed08128dd0b63b2
Whether a bit-field is signed or unsigned is implementation specific, so
we should be explicit about this.
Change-Id: I744df3d24bc08e95fa816ba4135f19cd3a5dcb17
Warned-by: lgtm
While these usages are not supposed to be security sensitive, it's still
best to avoid the usage altogether so that we do not need to think about
it. Add a taint macro so that this does not regress in the future.
Change-Id: Ic75861ed1b7ce9dfca4f897de8be2408204ce3cb
Warned-by: coverity
Link the attribute value to each RTP payload type and only output it if
PT is still present
Also merge PT attribute printing into a single loop
closes#1128
Change-Id: I494498ca806b795045e9e5bbb82174fa4aef8b2b
add explicit flag for fingerprint length instead of using the hash
function
restart DTLS after a shutdown due to a reset
clear fingerprint buffer when running the hash
suppress stray log message when no fingerprint was seen yet
add option to test script
closes#1095
Change-Id: Ic58ea6c5aa48a215743d6a3c1b371fc4a5ea77ce
To avoid repeated strcmp()s and make use of switch()'s optimised binary
lookup, we employ a second build step that preprocesses certain .c files
and uses gperf to substitute pseudomacros with their respective constant
hash value.
Change-Id: Id89c4728a0fc7aa911691d4dd1ba8e7b3916a983
closes#658
Squashed commit (plus docs and minor modification) of:
commit 4187cd3b2d
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Mon Nov 19 18:13:43 2018 +0000
removed unnecessary pad_crypto_def variable
commit 5c7b7c0ced
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Mon Nov 19 17:39:18 2018 +0000
add `pad-crypto` flag to not truncate trailing '==' after base64 encode
commit 98bea79902
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Fri Nov 16 10:59:47 2018 +0000
crypto containing padding should be sent within sdp for pass through
Change-Id: I1f7502f34e9492100e5c3a5a7345319ed996c22c
We should offer all crypto suites that we support. If passing through
SDES, we should amend the list of crypto suites with all additional ones
that we support that weren't included in the received offer.
closes#577
Change-Id: I9b6c16e8eadecf01cdbc8043bd8361e0f683e456
fixes#65
this also obsoletes the old loop detection
Change-Id: I850d81500c45828af2c4d50d80278ec2d599c2a0
(cherry picked from commit 3254278cfd55167fb881cc665328744183773728)
supports aliasing a local interface multiple times with the same local
address for different advertised addresses
closes#216
Change-Id: I6f98d1a17290b0bb1831e48ad89fc61d8b2d7914
This brings master up to date with branch `rfuchs/socket-rework` at
commit `b1bcc096b7`. The branches have diverged too much for a proper
merge, so this is a manual (squashed) merge.
The old master before this merge can be found in branch
`old-master-before-socket-rework` (commit `82199216b2`).
This is a complete rewrite of all socket handling routines. The most
important functional change is that sockets aren't indiscriminately
bound to INADDR_ANY (or rather in6addr_any), but instead are always
bound to their respective local interface address and with the correct
address family.
Side effects of this are that in multi-homed environments, multiple
sockets must be opened (one per interface address and family) which must
be taken into account when considering RLIMIT_NOFILE values. As a
benefit, this change allows rtpengine to utilize the full UDP port space
per interface address, instead of just one port space per machine.
The socket abstraction also makes it possible to support RTP over TCP in
the future.
Change-Id: If6cf4f42136229490186d2d2482fb4fc140c2b53
Some WebRTC clients include a=mid attributes even when BUNDLE is not in
used. This can cause problems in an answer if the offer originally used
a=mid too, as a mismatch in mid values may upset the client.
Closes#157
Squashed commit of the following:
commit 00213e66c74d402d2c3045eabeb5a10fa68f10c7
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 27 09:40:04 2015 -0500
perform ICE restart if we change ports
commit 27fbcbd6cbebdd071c1fa960c6e55f016534d171
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 15:58:12 2015 -0500
locking fixes
commit 60c1c5ae13b2c11720ee099daea1e3cdebea6317
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 15:58:06 2015 -0500
unkernelize when ICE completes
commit 1d816f9864ce31ea9a55a0bdf243a9900e597cdf
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 15:54:44 2015 -0500
relaxed locking where not needed
commit 75b58a9093d97daa5b2f4f8c1790f3b0f64117f8
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 11:46:08 2015 -0500
use atomic bitfield instead of bitfield+mutex
commit 03552eeed92aad419c1ad3cb9cfe5a7bded7f601
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 11:24:59 2015 -0500
shuffle around aux.h a bit more
commit b9b8a3aa5ef4d1a9026977465716fdbadf96917a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 11:16:12 2015 -0500
remove some code redundancy through a "state machine"
commit 0b4bfef1b18b75e22611f18e510209c743708cd6
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 10:10:41 2015 -0500
reorder to match struct
commit a2a51d81a8f02dbb0fd8afe103ae0b0fa2a28dcf
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 10:10:03 2015 -0500
clear more states for ICE restart
commit d554a2b858dc3655d72d037a16c12e7eea243e1b
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 09:58:29 2015 -0500
dont duplicate candidates on re-invite
commit 4c804652b7985046d0214e4a90e67da9cce8fd03
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 09:58:20 2015 -0500
retain ICE role across re-invites
commit 4a586dd72d9f31ba87fb82e1e0e3602b467c252a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 09:42:09 2015 -0500
eliminate duplicate log messages
commit ef0be2e308e1e3c3ce063afd2854e3fb749d813a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 26 09:32:36 2015 -0500
fix incorrect log message
commit 2544b60f00b3b03fd64ac6e4b4e8ec20423b7745
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 15:26:48 2015 -0500
better logging for ICE agents
commit c42807384efa167afa08e10296b5177526efb9ba
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 15:18:27 2015 -0500
dont run ICE checks if we dont have a password
commit 1b56cb75b5912fd5aa6e3c66bf792e56f706d249
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 15:16:19 2015 -0500
ICE pairs should go in triggered queue only once
commit d10c56f3ae6172240c2a786fcacb14e5df177f13
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 14:04:00 2015 -0500
obsolete the ICE agent running flag
commit 52237e33995d8b6ff25e898daee7d46af37992ed
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 14:02:06 2015 -0500
cease checks once ICE is completed
commit 5332d18612d5c8e068590a6b4e708b969d385844
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 13:53:57 2015 -0500
fix ICE completion logging
commit 85f5fd63aa24998d206657cabeaf3fecbe4d187a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 13:53:33 2015 -0500
make better use of bit flags
commit 796b48bb78601e98270c182e2ad60f1c5278091a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 12:09:46 2015 -0500
improved learned candidate pairing and completion logic
commit d15561072e24a842e4fc7f074ec6ecadcf96cd8e
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 11:21:45 2015 -0500
support upper case transport strings
commit 557da7b1c39807bad119f23e57c4d31d77962103
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 10:43:57 2015 -0500
use struct endpoint in ice candidates
commit 951040bfd62eb52bccb091d99b7b8289ccef2cc9
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 10:31:13 2015 -0500
more meaningful ICE log messages
commit 8ec2426bd3101c4f381e95cd0686b6b1a6fec658
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 09:54:49 2015 -0500
shut down agent if no components - limit number of candidates
commit 149260f3a6eaa5f58a6f9071e0b05a18914b987d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 25 09:44:13 2015 -0500
handle ICE restarts
commit 6a18c31f81ab94df1f5d5a701339b14be0e10ee5
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 16:29:01 2015 -0500
dont clear succeeded flag when nominating
commit 93e0861d0250f9190b16b14c3f4fe33a359d5d47
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 16:21:40 2015 -0500
use correct pwd in stun binding response
commit 32ba3ea406e30d168834f93d3e454d812820cf55
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 16:03:09 2015 -0500
use deterministic foundation for prflx cands
commit 2f2dc9151566d0bf2eebbaf02845718229be0e3d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 15:21:13 2015 -0500
handle initial ICE role
commit a6b8ad25e6c326f2a0edda12db5dff910bc3d771
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 14:43:47 2015 -0500
another ICE scheduling fix
commit c572b04e55b695af28efed4fc4dc8c798989f02d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 14:14:29 2015 -0500
make ICE aware of rtcp-mux
commit 93cd2d2560809f82e8ab9ffb2f5e2725fb439f4c
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 14:13:27 2015 -0500
print timestamp when logging to stderr
commit 22a52ffda2f21dba37c44c9e148a4cbe830be52e
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 14:13:13 2015 -0500
ICE scheduling fixes
commit 5d2d1a7739ef7d41514352fbf84deddcbd4500af
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 13:27:59 2015 -0500
increase ICE pwd length to make chrome happy
commit ceff6698db33fa7a4500cb94a4fa377a7629b8aa
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 13:09:54 2015 -0500
dont discard RTP if ICE hasnt finished yet
commit e809877d0ee0e7d60f3826be091c59145a2a9e19
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 13:06:31 2015 -0500
implement remote-candidates (untested)
commit 41670eadbbbe99a35a70158cf054b20a84c9c51b
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 11:58:13 2015 -0500
shut down ICE agent when everything fails
commit 1ca26c4a815c3f78b0c97cc6b5a5d794a64926f4
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 11:10:46 2015 -0500
fix up SDP output for ICE candidates
commit 0287d68f3330d9b2b7e61ea77ce9c77dec83d217
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 10:09:49 2015 -0500
process ICE completion and fire up DTLS if desired
commit 5b6386036b05f43ccbdbeb63ea49d8585498cfd0
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 09:37:52 2015 -0500
use a btree to schedule ice checks
commit 2bc25f1e0f5acee9262186a866fcc851d2e911ba
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 24 09:37:02 2015 -0500
convert shutdown condition into global var
commit ecf0c5587c62fcb39c8a67e510bcc7e6e3c10162
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Feb 23 14:50:46 2015 -0500
replace poller_now with timeval g_now
commit 164ecdd7ac5d37641de32c98bba7db2e23446b91
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Feb 23 13:00:15 2015 -0500
handle nominations if we're controlling
commit d013659365c33a3e802e1ec734dc45361531071d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Feb 23 12:11:40 2015 -0500
copy controlling/ed role into agent
commit 09f1cae14a2dd1aaf06b1c81ebe30ad198b96ec6
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Feb 23 12:02:54 2015 -0500
separate nominated pairs from valid pairs
commit f75f338cded413617318288ceb6a664771e9434c
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Feb 23 11:55:30 2015 -0500
organize aux.h into sections
commit d6acee1392a9cb34bd51524d11fc3d1e40f788cd
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Feb 23 11:55:17 2015 -0500
use b-tree for various ICE lists
commit af9804d139cf50c6908ac760c9179685b3a872f0
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 20 16:21:09 2015 -0500
prepare to finalize ice processing
commit 18df118375cb30015f703cfbd9ed5c5020ff122e
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 20 16:19:50 2015 -0500
prettier logging
commit 280755c61a5e014422acfd45a30e98b2ec6b9efa
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 20 15:02:14 2015 -0500
implement unfreezing of other components on success
commit 5d13657d5b7a962ebbbd96677909ba49f59492dc
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 20 15:00:24 2015 -0500
bitfield access macros
commit 71746ad6a1171234adbb274ad67159a890c59c3c
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 20 14:15:05 2015 -0500
handle ice updates and duplicate candidates
commit 02309d1b5b39333778e04ef61b61be3ba81cb9d3
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 20 12:22:29 2015 -0500
handle role conflicts
commit 52acf54ba5b2fe694f647e828ab92b0bf82bdce1
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 20 10:24:01 2015 -0500
proper pair priorities calculation
commit 307af79e8d347d703b065c5c7b7b0321f1ca82fb
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 20 09:54:18 2015 -0500
fix address family mixups
commit 7cbfd4d36a21ad917974259bcb37c5cea340bf4e
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 20 09:14:49 2015 -0500
delay dtls startup and timeout checks while ice is running
commit 2a8ab752280ebf9961137414c88c6afbf03b0df2
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 19 16:47:56 2015 -0500
process ice/stun responses
commit 92da323dcff4f725e29ab378ede1aab68d9900a1
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 19 15:14:30 2015 -0500
adding stun server script for testing
commit c5cfeb122cc8503a8f4c901e279eac2932feb3f7
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 19 13:42:40 2015 -0500
act on stun requests, learn prflx candidates
commit 1cafd35e7a5105214aa4af5b03d14054f02c668e
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 19 13:30:14 2015 -0500
fix pktinfo for ipv4 packets
commit 8e338b842606a910a34a7ced09516a0cb097b449
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 19 11:48:55 2015 -0500
rework interface handling to prepare to learn ICE candidate
commit 09e365c1429d2a1d81126661df4749567f1e109d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 18 16:24:42 2015 -0500
add some locking
commit 8fc7b75095d09f118a4febf1f3f7b75ed333751d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 18 16:05:20 2015 -0500
extend logic in response to stun req and implement triggered checks
commit 35eeb04376c5a590f8fc42fcb1083a2fa7126e13
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 18 12:46:42 2015 -0500
handle ice/stun retransmits and timeouts
commit b5637565b659350fefb63034e4146ace8c6019b0
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 18 11:19:19 2015 -0500
first implementation of sending ICE checks
commit f0c1928c05a2c87fe23494367670207805c0b096
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 17 14:39:11 2015 -0500
preliminary list and loop for ICE checks
commit c38d6e22c18285a7fb87e5d7a00ac61cb5b7df02
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 17 12:00:24 2015 -0500
pair up candidates and prepare to run checks
commit d9559b4c5935ec602fdb801ecb0bd2158b39db65
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 13 15:36:29 2015 -0500
parse and remeber basic ICE attributes
Squashed commit of the following:
commit cca40e8e311e6884204289687ba2a05d0855720b
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 12 10:17:51 2015 -0500
support per-payload-type stats in kernel module
commit dcc0dc0002bd552ae7c99aa58311af2f81336a8f
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 11 12:14:44 2015 -0500
count unknown rtp type as error
commit 941bde0df59720d1d3ef6660096cf2532a5c7e1c
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 11 12:01:55 2015 -0500
use the list of rtp formats from the m= line
This avoids dynamically altering the rtpstats hash table and makes
keeping packet stats lock free.
commit 9150fed671d8490f4c09fb3050002c7c558391df
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 6 15:06:04 2015 -0500
fix and simplify rtpmap hash table
commit 1f73741cbf2ac7d6b8d0a54d9562e9a550678e7c
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 6 13:56:07 2015 -0500
MT#9935 understand, learn, remember and report RTP payload types (codecs)
commit b0d690837c02989485cf73927a89ed860a299807
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Nov 20 13:36:25 2014 -0500
parse a=rtpmap attribute