forked from treitmayr/yeaphone
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO
More file actions
87 lines (69 loc) · 3.16 KB
/
Copy pathTODO
File metadata and controls
87 lines (69 loc) · 3.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
Proposal for Yeaphone's Configuration:
--------------------------------------
The number of text files is slowly turning configuration into a mess, so
I [thomas] propose the following:
* The main configuration file lives in $HOME/.yeaphone and contains a global
section as well as a separate section for each known phone number or SIP ID,
eg.
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
[global]
intl-access-code 00
natl-access-code 0
country-code 43
ringtone default-p1k
#history-file .. use default
phonebook-file /var/tmp/yeaphone-history
exec-on-missed send-mail-missed-call
history-merge-numbers
[023456789]
display "Bolek"
[sip:7788@sip.provider.net]
display "Ala"
dial sip:ala@home.dyndns.org << also acts as alias to 7788@..??
[*doorbell*]
display "doorbell"
dial sip:intercom@localhost:5061
exec-on-incoming ring-garden-bell
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This file would never be written by the program.
* Then there would be a phonebook and a history file (or both in one file?),
which would be updated by the program or by hand. The phonebook should be a
text file similar to the main config file, eg.
1 sip:7788@sip.provider.net
2 sip:*doorbell*@localhost:5061
99 sip:time@localhost:5061
The history file would only be appended when written to. It should probably be
a binary file (just like Rafal's) to allow easier random access when read.
This way only the required entry could be read which reduces the consumption of
main memory. It should contain the SIP URL of the caller or callee, the start
time and duration of the call, the direction (incoming/outgoing) of the call
and the status (missed/taken/rejected/error?).
Future Features:
----------------
* store the complete SIP URL for last calls and stored calls
* keep a history of incoming/outgoing calls and allow
scrolling through it with the UP/DOWN buttons; the IN/OUT marker
should tell whether it was an incoming or outgoing call, the
time/date of the call should be shown and the number (right-most)
would be an index.
Q: Where to display the duration of the call???
the calls history should be stored in a configurable file
(so it can also be placed on a RAM drive)
* allow to associate shell commands for each state change,
eg. to turn down volume when there is an incoming call or
to send an email when a call was missed.
* find out whether it is possible for an outgoing call to
distinguish between the ringing and the party actually picking up;
use this to display the correct number of seconds of the call!
* provide some menu-driven console interface for configuring the
various features and to present the calls history
* support different Yealink models
* support multiple instances of Yeaphone which involves
- If all are run by the same user, then yeaphone and liblinphone will have
to be persuaded to read a different configuration file for each yeaphone
instance.
- The Yealink devices have to be distinguished, at best by the device's
internal hardware version and serial number. An updated yealink kernel
module is required for that.
- Yeaphone would have to override linphone's soundcard settings to use the
correct ALSA card.