1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-11-14 20:35:38 +00:00
Commit graph

18 commits

Author SHA1 Message Date
Evangelos Ribeiro Tzaras
876f12df95 sip: media-manager: Don't include sofia-sip/nua.h in public header
It isn't needed in the implementation either. It was only useful because it
included system headers like sys/types.h and sys/socket.h which we should now
include directly.

This will make it easier to move the media manager into the core sources.
2022-03-01 16:31:44 +01:00
Evangelos Ribeiro Tzaras
38f9e0b608 sip: media-manager: Get rid of global session IP
Since we're now passing the IP to be used to retrieve the capabilities
for the SDP message body, this has become dead code.
2022-01-08 21:25:09 +00:00
Evangelos Ribeiro Tzaras
8b126484cb sip: Use per origin IP instead of a global IP
Sofia detects a NAT by presence of the "received" parameter in the Via header in
the response to a REGISTER. Sofia will then update the Contact header to use the
IP as reported by the registrar.

The "received" parameter MUST be included in the response according to
https://datatracker.ietf.org/doc/html/rfc3261#section-18.2.1
when the registrar detects a difference between the domain part of the top Via
header and the packet source address but practice has shown that this will not
always be the case.

Addditionally this change allows us to have origins bound to different network
interfaces which would be useful when a registrar can only be accessed through a
VPN.

This also fixes an issue with SDP introduced in
36880c3d34 which was only seen on some SIP
providers:

The session name ("s=") line is not relevant for establishing a connection,
the connection data (c=") line is.

See https://datatracker.ietf.org/doc/html/rfc4566 section 5.3 and 5.7
2022-01-08 21:25:09 +00:00
Evangelos Ribeiro Tzaras
8575adf998 media-manager: Take preferred audio codecs into account for SDP
Fixes #349
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
36880c3d34 sip: Gather public IP from REGISTER response and use it in SDP
Fixes #335
2021-10-06 13:43:04 +00:00
Evangelos Ribeiro Tzaras
24040c2122 sip: media: Fix gtk-doc transfer annotation 2021-09-20 02:14:27 +00:00
Evangelos Ribeiro Tzaras
96a7d901c1 Fix old-style warnings all over the codebase
As caught by compiling with `-Wold-style-definition` and `-Wstrict-prototypes`.
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras
5ed24c4ed7 doc: Fix gtk-doc transfer annotations 2021-04-27 11:38:26 +02:00
Evangelos Ribeiro Tzaras
7ed1ee2502 sip: codestyle changes
Shuffle the code around and make use of docstrings to conform to
the newly introduced coding style as described in `HACKING.md`

This commit also introduces docstrings describing each source file.
2021-04-16 00:39:42 +00:00
Evangelos Ribeiro Tzaras
63cc6507e7 sip: media-manager: fix SDP message when there is no supported codec 2021-04-12 08:38:24 +00:00
Evangelos Ribeiro Tzaras
7d8be1d68d sip: media-manager: fix G_LOG_DOMAIN 2021-04-12 08:38:24 +00:00
Evangelos Ribeiro Tzaras
c2bd6e9344 sip: media: rework codec negotiation
introduce `calls_sip_media_manager_get_capabilities ()` which takes
a GList of MediaCodecInfo's as input to generate a SDP message.
If using in an SDP answer we simply feed it a list of the common codecs
as gathered from the SDP offer.
2021-04-12 08:38:24 +00:00
Evangelos Ribeiro Tzaras
157dc1fffb sip: media: use number types for payload id and clock rate
This is needed for the next commits where we check the received SDP
offers/answers.
2021-04-12 08:38:24 +00:00
Evangelos Ribeiro Tzaras
7d113d4180 media: manager: support multiple codecs SDP wise
static capabilities are now supporting multiple codecs and generate correct SDP
messages. This only relates to SDP offers. When we are answering an offer we
must take the offer from the other party into account when creating the answer.

Hence why we differentiate between "static" and "dynamic" (not implemented yet)
capability strings.
2021-04-12 08:38:24 +00:00
Evangelos Ribeiro Tzaras
af3cda9c5c media-manager: codestyle
move public function `get_best_codec ()` to the bottom
2021-04-12 08:38:24 +00:00
Evangelos Ribeiro Tzaras
dcff7538f2 sip: media: improve SDP offer/answer handling 2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
7b54855f5e sip: media: change default codec to PCMA 2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
967f30d688 sip: Add media manager and sipify origin
* pipeline: we should bind the used socket of our udpsink to the socket udpsrc
2021-04-03 00:08:31 +02:00