Commit Graph

107 Commits

Author SHA1 Message Date
Andrew Bettison
881576212c Fix all trivial compiler warnings 2012-05-10 18:08:59 +09:30
gardners
850d7b42d7 reworked shortcircuit audio code. 2012-05-10 16:58:57 +09:30
Andrew Bettison
b15e5cfee7 Improve debugging/logging macros
Replace 'WHYRETNULL();' statements with 'return WHYNULL();'
Introduce DEBUG(), DEBUGF(), DEBUG_perror() and D macros
Add logMessage() and vlogMessage() functions
Implement setReason() using vlogMessage()
2012-05-10 12:53:57 +09:30
gardners
8d2792ce74 substantial work towards playing audio on IDEOS/G1 type MSM chipset
android phones directly from C to dramatically reduce latency.
2012-05-10 03:47:18 +09:30
Andrew Bettison
d96d8ff8d6 Move signal handling to server.c
Improve diagnostic messages from signal handler

For some reason, signal handler was not being set in server process when called
from main()
2012-05-09 19:06:44 +09:30
Andrew Bettison
68cfa6218c Minor fix to WHY_perror() macro 2012-05-08 17:48:16 +09:30
Andrew Bettison
836f8332e8 Replace perror() with WHY_perror()
Puts more diagnostics to Android log
2012-05-08 14:53:34 +09:30
gardners
596b20b5e8 interactive servald monitor cli command implemented. 2012-05-08 14:41:21 +09:30
Andrew Bettison
391e8d7056 Fix broken stopfile logic
'start' command removes stopfile just before starting
'stop' command removes stopfile after stopping
2012-05-08 12:53:59 +09:30
Andrew Bettison
329189ec8c Fix bodgy server start/stop logic
Rename pidfile 'serval.pid' to 'servald.pid'
Rename stopfile 'doshutdown' to 'servald.stop'
Reinstate checking of stopfile on signals and in main loops
Correct delay loops in 'start' and 'stop' commands
Move some code from commandline.c to server.c
2012-05-08 12:19:52 +09:30
Andrew Bettison
acc5e48f4f Terminate server process if serval.pid clobbered 2012-05-08 11:23:43 +09:30
Andrew Bettison
09f8434a21 Improve "start" command
Add "start exec <exec path>" variants for background mode
Add background startup wait logic, so that pid can be reported to caller
2012-05-07 19:14:52 +09:30
Andrew Bettison
cbc367b1f5 Rewrite server start/status/stop commands
Now correctly probes for server process existence using kill(pid, 0)
Status command does not dump config (use "config get" instead)
Output uses JNI cli output fields
Stop command uses 5 Hz wakeup, not busy wait while server exits
2012-05-07 13:49:38 +09:30
gardners
7b520e7a49 fixed various bugs with priorty dispatch of voice traffic.
some debug tweaking etc.
2012-05-07 08:31:53 +09:30
gardners
ad78627fb6 added PCM codec entry. 2012-05-06 21:12:31 +09:30
gardners
6bc8f5643f better handling of disconnections by monitor clients. 2012-05-04 03:58:34 +09:30
gardners
4f09ccebdc further work towards working monitor interface.
sending DTMF works now, and DTMF packets are received back.
2012-05-04 03:44:41 +09:30
gardners
98ea86bde0 added new /proc/net/route method to find interfaces on android
(would you believe that using ifconfig to READ about interfaces
requires ROOT on android).
should also help for interfaces with multiple addresses.
2012-05-03 22:46:00 +09:30
Andrew Bettison
eab6dafcc7 Make commandline.c error messages appear on Android log 2012-05-03 14:50:14 +09:30
gardners
25f81aeaaf fixed bug with cancelling calls due to lack of listeners.
worked around poll() with accept() unix domain socket linux bug.
generally hooked in the unix domain stream socket interface for
monitoring calls (and later rhizome).
2012-05-03 03:37:03 +09:30
gardners
eb8ffeb71f progress towards monitor interface for following calls. 2012-05-03 03:00:34 +09:30
gardners
d637f31ab7 work towards stream unix domain socket to allow Android/Java
monitoring of call status and rhizome bundle arrivals.
2012-05-03 02:31:12 +09:30
gardners
14e4af6392 DNA replies now include name. "set did" now accepts name.
Keyring now stores name. "node info resolvedid" now returns name.
2012-05-01 14:38:09 +09:30
gardners
6e9d9783b8 various measures to prevent stale MDP bindings from hanging around
and causing pain.
2012-05-01 06:10:47 +09:30
gardners
c9863fe11e lots of fixes to get overlay mesh routing working on linux with
real network interfaces and no dummy interfaces.  neighbour discovery
now seems to work.
2012-04-29 11:56:47 +09:30
gardners
97c74654c1 fixed build error on centos/ubuntu linux. 2012-04-28 20:44:20 +09:30
gardners
92baae2a89 hopefully fixed acking of self-announcement frames when no route
to node exists.
2012-04-28 18:09:58 +09:30
gardners
2ab32197a7 Put new linux-specific interface listing routine in that is needed
for android, where the portable method isn't easily available.
2012-04-28 12:25:19 +09:30
gardners
88ba56b68b work towards "node info" command, and renamed stop/start etc to
drop node keyword, that in retrospect is not appropriate.
2012-04-26 07:14:01 +09:30
gardners
35f231dcb0 preparation for allowing MDP_GETADDRS to return either local IDs,
or SIDs of peers.
2012-04-26 05:58:16 +09:30
gardners
98c3b72cf4 mdp based dna lookup works now, but lacks duplicate suppression. 2012-04-25 20:33:25 +09:30
gardners
0133ea972a fixed infinite loop when responding to DNA lookups. 2012-04-25 20:24:08 +09:30
gardners
f8a1ffc4c9 dna lookup command line utility mostly done. Now to make server
respond.
2012-04-25 15:24:21 +09:30
gardners
ac6271c715 voice packets get priority queued. getting ready for dna lookups
via mdp.
2012-04-25 14:35:44 +09:30
gardners
6c044d5e8d sample times are now contiguous. DTMF tone length changed to 80ms
to be multiple of 20ms as used by most codecs.
2012-04-25 05:38:45 +09:30
gardners
30471f19ef added system for resending recent samples as a form of
preemptive retransmission to deal with wifi packet loss.
2012-04-24 20:49:59 +09:30
Andrew Bettison
f9d8536d7d JNI-ize the output of "dna rhizome list" 2012-04-24 17:50:27 +09:30
gardners
131a34617f work towards pushing audio sample blocks out over the network. 2012-04-24 15:27:59 +09:30
gardners
53504fe694 Fixed function prototypes for JNI compatability. 2012-04-24 12:14:53 +09:30
gardners
03004bcfdc added vomp dtmf command line interface to inject DTMF characters
into a call.  This will be the initial codec/audio xfer app.
2012-04-24 12:06:28 +09:30
gardners
a553eb0942 added code to vomp monitor to show when audio packets arrive. 2012-04-24 12:04:49 +09:30
Daniel O'Connor
2188c807b2 Hook up dummy phone app to commandline.c 2012-04-23 20:58:28 +09:30
Andrew Bettison
a73916e85a Implement JNI command-line interface (untested)
- argv is (const char *const *) everywhere, to avoid having to strdup() all the
  Java arg strings
- changed (char*) to (const char*) in lots of places to fix cascading compiler
  warnings as a result of argv constness
- fixed a bug in "config get" command when used without 'variable' arg
2012-04-23 17:18:15 +09:30
gardners
71c57794e6 local/remote codec hinting now in place. 2012-04-23 16:59:39 +09:30
gardners
953e836ba6 fixed bug introduced in adding codec hints. 2012-04-23 13:55:17 +09:30
gardners
0cff6b5abf making a vomp call now requires a registerest listener to call
state information.
when registering a listener you can also specify a list of codecs
that are supported.  These are included in the initial 3-way
call initiation process so that each party knows which codecs
the other supports.
2012-04-23 13:30:22 +09:30
gardners
e8eaa32227 modified neighbour structure to include record of when route metrics
were last updated, so that we can avoid excessive updating and thus
wasting of CPU/energy.
2012-04-22 20:16:48 +09:30
gardners
76a1bec84e Added initial work towards a call status monitoring commandline
option.
2012-04-22 18:47:24 +09:30
gardners
29b8454a94 vomp pickup and hangup commandline apps in place and working. 2012-04-22 12:51:58 +09:30
gardners
f45288ccc1 vomp status now shows details for each live call descriptor. 2012-04-22 08:48:23 +09:30