Evangelos Ribeiro Tzaras
2847508034
Fix missing-declarations warnings all over the codebase
...
As caught by compiling with `-Wmissing-declarations`
by either making functions static, or declaring them in the header.
2021-06-03 19:46:45 +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
dde4bd8abf
sip: provider: Don't warn when trying to add account multiple times
...
A g_debug() will suffice which will let us get rid of g_test_expect_message() to
as we don't need to guard against the warning anymore.
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras
0c966fdf83
origin: Add API to query supported protocols
...
This will allow selecting a suitable origin when placing outgoing calls.
2021-05-28 17:02:02 +02:00
Evangelos Ribeiro Tzaras
7ad0f4cdd6
provider: Add API to query supported protocols
...
These are the protocols that the provider plugin may support. The origins
must be queried independently whether or not they support any given protocol.
Example: A SIP origin/account may or may not support the "tel" protocol.
2021-05-28 17:02:02 +02:00
Evangelos Ribeiro Tzaras
53f69b06dd
call: Introduce protocol property
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
1def4c3585
plugins: provider: Use CallsOrigin instead of derived types for GListStore
...
Otherwise we run into trouble when using `g_list_store_find()`
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
fecdc1fff8
cleanup: Fix calls_origin_get_name() related memory leaks
...
Document calls_origin_get_name() correctly as transfer-full.
Additionaly fix related memory leaks.
2021-05-28 13:18:24 +02:00
Mohammed Sadiq
b1278f6140
build: Avoid building files multiple times
...
We don't have to build each source for every test, instead we could
create a static library link it with every test, which will be a lot
faster.
2021-05-17 20:00:04 +05:30
Evangelos Ribeiro Tzaras
95f16cb527
sip: provider: Implement CallsAccountProvider interface
2021-05-04 06:44:43 +02:00
Evangelos Ribeiro Tzaras
36cd9bd122
sip: provider: return origin in calls_sip_provider_add_origin()
2021-05-04 05:58:41 +02:00
Evangelos Ribeiro Tzaras
a6cb02a4c9
sip: provider: codestyle
2021-05-04 05:58:41 +02:00
Evangelos Ribeiro Tzaras
3edd6d002b
sip: origin: Implement CallsAccountsInterface
2021-05-04 05:57:42 +02:00
Evangelos Ribeiro Tzaras
781adaddee
sip: origin: Use CallsAccountState instead of SipAccountState
2021-05-04 05:57:42 +02:00
Evangelos Ribeiro Tzaras
5d0de3d299
sip: origin: Use CallsCredentials and adapt to changes
...
All parts not related to credentials are now being set when creating the nua
handles and then updated with nua_set_params() when the credentials get updated.
2021-05-04 05:57:06 +02:00
Evangelos Ribeiro Tzaras
3f72d34c49
Add CallsCredentials class and use it in CallsSipProvider
...
CallsCredentials is a dumb container to store account credentials.
This is done in preparation for the account management in the UI.
2021-05-04 05:57:06 +02:00
Evangelos Ribeiro Tzaras
d6916b3510
sip: media-pipeline: Do not set the stream properties prematurely
2021-05-04 05:57:06 +02:00
Evangelos Ribeiro Tzaras
06076a864a
sip: media-pipeline: Fix memory leak in error path
2021-05-02 02:36:31 +02:00
Evangelos Ribeiro Tzaras
9cd13ca681
sip: media-pipeline: Fix memory leak
2021-05-02 02:36:25 +02:00
Evangelos Ribeiro Tzaras
21e72c9e12
sip: origin: Fix nua_authenticate call
...
nua_* calls need TAG_END or TAG_NULL as the final parameter.
2021-05-01 13:59:32 +02:00
Evangelos Ribeiro Tzaras
5ed24c4ed7
doc: Fix gtk-doc transfer annotations
2021-04-27 11:38:26 +02:00
Evangelos Ribeiro Tzaras
d7df1a4931
Revert "sip: build: depend on config.h"
...
This reverts commit 1a35d6544b
.
This has not actually fixed the issue completely. See follow up commit
2021-04-27 01:51:05 +02:00
Evangelos Ribeiro Tzaras
70cb120951
sip: fix typos
...
Thanks to lintian for pointing it out!
2021-04-23 15:35:14 +02:00
Evangelos Ribeiro Tzaras
2ee6b23475
sip: media-pipeline: Allow overriding audio elements from environment
...
This is useful for tests where "pulsesrc" and "pulsesink" GstElements may not
be available (for example in CI).
Additionally only set the echo cancellation and buffer properties for the
pulse GstElements.
2021-04-20 09:47:16 +02:00
Evangelos Ribeiro Tzaras
e5dc3f06ce
plugins: make plugins shared modules again
...
This reverts the main part of commit 4a264252a7
.
As plugins are the prime use case for `shared_module`
getting rid of the warning from meson about linking against shared modules
weighs less heavy.
2021-04-16 16:41:18 +00:00
Evangelos Ribeiro Tzaras
367ca081a2
sip: call: Don't fail when hanging up on an incoming call
2021-04-16 00:39:42 +00:00
Evangelos Ribeiro Tzaras
f178b3546b
sip: provider: document public functions
2021-04-16 00:39:42 +00: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
765cd2ebb9
sip: pipeline: Only inform of unhandled bus massages when debugging
...
These messages are mainly useful for development. This part will be rewritten
once we introduce structured logging. For the moment this will just add noise.
2021-04-16 00:39:42 +00:00
Evangelos Ribeiro Tzaras
166ea8b21a
sip: origin: Allow using a local port of 0
...
Using a port of 0 let's the operating system decide to which port to bind to.
Additionally refuse to use priviliged ports and print a warning.
2021-04-16 00:39:42 +00:00
Evangelos Ribeiro Tzaras
f7626e532f
sip: provider: use g_clear_pointer pattern instead of emulating it
2021-04-16 00:39:42 +00:00
Evangelos Ribeiro Tzaras
6e6873432b
sip: provider: Allow overriding SIP account config via environment
...
This will make it easier for testing down the line.
2021-04-16 00:39:42 +00:00
Evangelos Ribeiro Tzaras
b3cd378704
sip: origin: Remove unnecessary code
...
Remove a remnant from early development which has no use anymore
since "direct-connection" is now a property.
2021-04-16 00:39:42 +00:00
Evangelos Ribeiro Tzaras
db63efa29f
sip: origin: Remove hardcoded display name from contact header
...
We might want to set it from the configuration later.
2021-04-16 00:39:42 +00:00
Evangelos Ribeiro Tzaras
b88d432401
sip: origin: make create_inbound a private function
...
and shuffle the functions around so that we don't need forward declarations
2021-04-16 00:39:42 +00:00
Evangelos Ribeiro Tzaras
1a35d6544b
sip: build: depend on config.h
...
Closes #257
2021-04-15 18:50:39 +02: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
d253870509
sip: gst-rfc3551: Add docstrings for public functions
2021-04-12 08:38:24 +00:00
Evangelos Ribeiro Tzaras
2cb8139094
sip: gst-rfc3551: query for plugin availability
2021-04-12 08:38:24 +00:00
Evangelos Ribeiro Tzaras
a5a9f728ae
sip: media-pipeline: only create pipeline after codec negotiation
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
4eb07148cc
sip: call: rename setup local/remote connection functions
...
Avoid ambiguity by renaming the functions. `setup_local_media ()`
could give the impression that we're setting up media codecs which
is not the case.
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
9fd43eaca8
sip: media-manager: remove unused function prototypes
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
a44c265903
sip: remove FOR_TESTING ifdef
2021-04-06 16:55:33 +00:00
Evangelos Ribeiro Tzaras
4a264252a7
plugins: build as shared library instead of shared module
2021-04-06 16:55:33 +00:00
Evangelos Ribeiro Tzaras
7d69d78b70
origin: Add country-code property
...
And add a binding in CallsManager for the default origin
2021-04-06 14:27:26 +00:00