Module: kamailio
Branch: master
Commit: 236fada43f610b910490f7e0c216ac9aa3d9480c
URL:
https://github.com/kamailio/kamailio/commit/236fada43f610b910490f7e0c216ac9…
Author: Donat Zenichev <dzenichev(a)sipwise.com>
Committer: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2022-02-28T09:13:21+01:00
core: add support of ICE media options to SDP parser
In the current implementation only parsing of ICE candidate
attributes is supported, which makes it Possible to work
with ICE candidates and parameters specifically related per
candidate, but makes it Impossible to work
with ICE options of the media stream level (ICE options which
have an impact on the whole specific media stream).
ICE candidate attributes and ICE media options have different
dedication.
In order to target this matter, a new linked list is introduced
to store ICE media stream options.
Additionally, now when parsing media stream's attributes,
a couple of new helper functions have been introduced to
properly extract and store ICE media options:
- extract_ice_option()
- add_sdp_ice_opt()
The following extraction approaches are supported:
- multi-valued ICE options attribute (more than one value per a= header)
- one value per attribute (multiple a= headers with ICE options present)
Also now the way how a "zeroed" on-hold is detected is improved,
in case of the ICE (re)negotiation (when the connection address is equal
to '0.0.0.0', the media port is equal to '9' and ice-option
'trickle' is
present) the SDP is Not considered as an on-hold case, and it clearly
detects it's the ICE (re)negotiation (RFC 8840), which for e.g.
leads to a proper work of other side modules' functions (which use SDP
parser's data structures),
such as 'is_audio_on_hold()' from the textops.so module.
---
Modified: src/core/parser/sdp/sdp.c
Modified: src/core/parser/sdp/sdp.h
Modified: src/core/parser/sdp/sdp_helpr_funcs.c
Modified: src/core/parser/sdp/sdp_helpr_funcs.h
---
Diff:
https://github.com/kamailio/kamailio/commit/236fada43f610b910490f7e0c216ac9…
Patch:
https://github.com/kamailio/kamailio/commit/236fada43f610b910490f7e0c216ac9…