| Commit message (Collapse) | Author | Age | Lines |
|
|
|
| |
(Doing this ahead of time to simplify the next commit a bit.)
|
|
|
|
|
| |
These classes are about to get more complex, so let's move them ahead of
time into mutex.cpp.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`t_phone::mutex_3way` can be locked twice when hanging up a conference
call:
- `t_phone::cleanup_3way_state()` acquires a lock
- `t_audio_session::stop_3way()` is called
- `t_audio_session::get_peer_3way()` is called
- `t_phone::get_3way_peer_line()` is called
- which acquires another lock
Making that mutex recursive is a simple way to work around this issue.
|
|
|
|
|
| |
A write lock on `lines_mtx` has already been acquired at the beginning
of `end_call()`.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Since Qt 5.11, generated ui_getprofilename.h no longer includes QHeaderView
which breaks the chain that included qvalidator.h in getprofilename.cpp.
As it feels rather fragile to rely on such indirect includes, let's include
<QRegExpValidator> explicitly in each file using QRegExpValidator class.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
There's a potential ambiguity between ::bind() and std::bind() if
<functional> happens to be included beforehand (as is the case with
libc++).
|
| |
|
|\
| |
| | |
PAI Header option
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When you reject a call, either
A. the forwarding rule for User-Busy kicks in,
like an answering machine or another extension (of a personal secretary or a deputy). Or
B. the caller hears normal ringing first, and then the busy tone.
To allow case A, a SIP user-agent client (UAC) has to return the status User-Busy (486). The same should happen in case B, because the caller shall hear a busy tone on rejection. 486 is mandated for SIP clients in mobile phones by the GSMA. Furthermore, other SIP-client creators give a 486 in that case as well; I tested Acrobits, Atlinks, Counterpath, Gigaset, Grandstream, RTX, Snom, Yealink, and Vtech.
Before this change, twinkle rejected a call with the SIP-Status 603. The class 6xx requires that *all* other registered phones stop to ring. Furthermore, some SIP user-agent servers (UAS) follow RFC 3398 and map a status 603 to the cause-code 21, which is mapped back to status 403 (Forbidden). Cisco and Digium Asterisk do this. For example in Asterisk, after you rejected the call in twinkle, the caller did not get 603 or 486, but 403. However, in case of 403, the original caller is allowed to re-try the call setup. For example, I have a Nokia Symbian/S60 based phone which tries via IPv4 first, then after it received the 403, that phone tries again via IPv6. Consequently, a user of twinkle had to reject the call twice when 603 was returned.
|
| | |
|
|/ |
|
| |
|
|
|
| |
I've updated the German translation file.
|
| |
|
|
|
|
| |
(This is just cut-and-paste, also removing some trailing whitespace.)
|
|
|
|
| |
Fixes #82
|
|\
| |
| | |
Fix two issues with SelectUserForm
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Fix two issues with multiple number conversion rules in UserProfileForm
|
| | | |
|
| |/ |
|
|\ \
| | |
| | | |
Skip over the mutex field when copying t_call_info data
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
t_line::get_call_info() returns a copy of a (locked) t_call_info;
copying the mutex, aside from being undefined in POSIX, returns an
unexpectedly locked copy, possibly resulting in a deadlock.
This fix is pretty much a copy of the one applied to t_call_record in
38bb6b7, with an added check for self-assignment. Like its predecessor,
it is still susceptible to deadlock, though (as unlikely as it may be).
Fixes #73
|
|\ \
| | |
| | | |
Replace (old) FSF postal address with URL in header files
|
| | |
| | |
| | |
| | |
| | |
| | | |
Wording copied from https://www.gnu.org/licenses/gpl-howto.en.html
Fixes #25, fixes #71
|
| |/
|/|
| |
| | |
Fixes #74
|
| |
| |
| |
| |
| |
| |
| | |
The correct French term for "address book" is "carnet d'adresses", as
documented in the following term record:
http://www.gdt.oqlf.gouv.qc.ca/ficheOqlf.aspx?Id_Fiche=8365993
|
|/
|
|
|
|
| |
The confirmation prompt when deleting a contact from the local address
book (added in 57dc032) contains two new translatable strings; this
commit provides their French translation.
|
|
|
|
| |
during conversations
|
| |
|
|
|
|
|
|
|
| |
DTMF event constants handling is a bit messy as three different types
are used in different source files, triggering various compiler
warnings. Introduce t_dtmf_ev type and use it everywhere, also replace
helper macros by inline functions.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Local address book: re-sort after adding/editing, and confirm before deleting
|
| | |
|
| |
| |
| |
| |
| | |
(The proper solution is probably to create a filter proxy model, but
this nevertheless does the job.)
|
|/ |
|