Evangelos Ribeiro Tzaras
69b170ecfe
best-match: g_return_if_fail if not GeeCollection
...
Closes #254
Closes #227
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
f8a57edc6d
contacts-provider: fix docstring
...
The caller takes ownership of the returned `CallsBestMatch`, so
this should be reflected in the docstring
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
f84d3c0adf
call: g_return_if_fail: type check calls_call_get_contact ()
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
26c8bad9cc
ci: add -noreset to xvfb-run invocation
...
Fixes issues in CI `cannot open display`. Similar to 8cd90523
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
32c89ca9dd
contact-provider: remove trailing whitespaces
2021-04-06 14:27:26 +00:00
Guido Günther
e5827adb60
calls: Fix gtk-doc transfer annotation
...
Broken-by: 501d2914
2021-04-06 13:01:36 +00:00
Guido Günther
01f015a21c
provider: Fix gtk-doc transfer annotations
...
Broken-by: 9e92fb88
2021-04-06 13:01:36 +00:00
Guido Günther
443d23dd56
build: deduplicate sources
...
Shorten the needed sources from
calls_sources, calls_enum_sources, calls_resources,
wl_proto_sources, wayland_sources,
to
calls_sources
so adding new things such as generated dbus sources doesn't have to
happen in four locations but just one.
2021-04-06 14:18:06 +02:00
Guido Günther
5933a4005d
build: Move generated souces before source file list
...
This will be needed in the next commit
2021-04-06 12:50:31 +02:00
Evangelos Ribeiro Tzaras
75d32d0924
sip: Allow controlling automatic account loading via environment
2021-04-05 06:13:44 +00:00
Evangelos Ribeiro Tzaras
0b73103384
test: test-plugins: Add SIP plugin
2021-04-05 06:13:44 +00:00
Evangelos Ribeiro Tzaras
e3597f4a88
tests: use plugin load API
2021-04-05 06:13:44 +00:00
Evangelos Ribeiro Tzaras
9e92fb88af
provider: Add API for loading and unloading provider plugins
...
This is also used for our tests. In order to avoid code duplication
this is being moved to calls-provider.{c,h}.
2021-04-05 06:13:44 +00:00
Mohammed Sadiq
c30a41ffa9
Let calls-call be an abstract class
...
And adapt to changes.
A calls-mm-call IS-A calls-call (and so on)
2021-04-05 09:38:03 +05:30
Mohammed Sadiq
a30e1eaa8f
provider: Implement default methods
...
Simply return NULL when these methods are called.
If not implemented, calling these methods may result
in crash when the subclasses haven't implemented them.
2021-04-04 18:16:48 +05:30
Mohammed Sadiq
faa35e90dc
provider: Rename a variable
...
Provider is no longer an interface
2021-04-04 18:12:46 +05:30
Evangelos Ribeiro Tzaras
d67e690f33
new-call-box: Connect signals only if origins non-NULL
...
Fixes #252
2021-04-03 06:41:54 +00:00
Mohammed Sadiq
dc7c676df8
provider: Avoid private data
...
We only have a dummy variable here
2021-04-03 07:22:27 +05:30
Evangelos Ribeiro Tzaras
e6b730b805
sip: pipeline: clean up in finalize ()
2021-04-03 00:46:29 +02:00
Evangelos Ribeiro Tzaras
71cbc5c636
sip: provider: Fall back to reasonable values for local-port property
2021-04-03 00:46:29 +02:00
Evangelos Ribeiro Tzaras
5a7c22c80f
sip: provider: use g_get_user_config_dir () for account config
2021-04-03 00:46:29 +02:00
Evangelos Ribeiro Tzaras
21abfb4f37
test: Test CallsSipOrigin
2021-04-03 00:46:29 +02:00
Evangelos Ribeiro Tzaras
030313d42e
test: Add basic SIP provider tests
2021-04-03 00:46:27 +02:00
Evangelos Ribeiro Tzaras
840ffa4653
sip: do not auto load accounts when running tests
...
because `calls_sip_provider_load_accounts ()` looks at the home folder
for a configuration file.
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
19e7f8f119
sip-media: enable echo cancellation
...
by setting "filter.want" to "echo-cancel" for the pulsesink and pulsesrc
GStElement's.
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
8a6f1bb203
sip: fix infinite ringtone loop
...
by making sure the call-added signal is emitted early enough
so that all consumers (display, ringer, etc) have a chance of getting
notified when the call state changes from f.e. DIALING to DISCONNECTED
similar to how its done in 03d960ccaf
for the dummy provider.
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
17ac56fe44
sip: slightly improved authentication
...
* removed nua_callstate_authenticating as it was never hit
* move debug statement further up, because we might not reach it if no
corresponding call is found
* handle 401 and 407 the same way
note: we should record which realm we're authenticating against during
REGISTER so we can prompt the user for additional credentials when
challenged for a different realm - still happens when calling from
a sip.linphone.org account to a jmp.bwapp.bwsip.io account.
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
cadaa6a3e0
sip: use g_return_if_fail and friends only for public functions
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
685aa1950e
application: open sip uri
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
45285062ca
sip: improve connection handling by using relevant sofia tags
...
NUTAG_SUPPORTED and SIPTAG_EXPIRES_STR for instance
sip: include expire, urn uuid
sip.linphone.org accounts seems to be working!
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
de44a17fe5
sip: use ipv4 exclusively for now
...
IPv6 should work, but sofia's outbound engine keep printing
errors involving the outbound engine. Working theory:
Failing ICMPv6 (pings) can make sofia think we don't have connectivity.
Note that we also don't get any answers from the SIP servers we tried so far.
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
dcff7538f2
sip: media: improve SDP offer/answer handling
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
97a925ee39
sip: handle i_outbound 404 errors
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
c33fd53829
sip: Use app name in the user agent
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
1836c7c915
sip: allow specifying local port and use IPv6
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
37b9fe1c30
sip: rework setting SDP
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
afd5b5d6a8
sip: go offline when disposing CallsSipOrigin
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
4521033127
sip: origin: register with SIP server
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
017af5ec8b
sip: pipeline: bind sockets for RTP
...
Add debugging information for used sockets
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
a53f07dfd3
sip: origin: do not use hardcoded ports for RTP
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
6681077886
sip: origin: emit message on DNS error
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
3133f25c6b
sip: call: rework call state changes
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
706a667547
sip: origin: fix direct connection case
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
c9949a5f9f
sip: origin: get address on incoming call
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
588f70f78a
sip: origin: fix CallsSipHandles reference in sip_callback
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
e0482fc6e6
sip: initial call handling
...
* implement answering and hangup
* (de)activate media pipeline
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
Evangelos Ribeiro Tzaras
2dfa42d48d
sip: sipify provider with sofia
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
7971fb5afb
sip: Origin needs account credentials
...
Credentials can be set through a config file. The config file is parsed
by CallsSipProvider in order to add origins for each SIP account.
2021-04-03 00:08:31 +02:00