Commit Graph

125 Commits

Author SHA1 Message Date
Andrew Bettison
240be25793 Replace overlay_gettime_ms() with gettime_ms() 2012-07-30 17:22:38 +09:30
Jeremy Lakeman
27c24f377e Add deadline time for alarm prioritisation 2012-07-13 12:18:45 +09:30
Andrew Bettison
735d9a42cc Clean up compile warnings and fix bugs
In monitor_process_command() for "call" command, was not handling SID "*" case
properly, nor checking validity of hex SID.
2012-07-06 10:14:39 +09:30
Jeremy Lakeman
07c507017a Fix audio stuffing test so it doesn't repeat the same payload 2012-07-05 16:36:11 +09:30
Jeremy Lakeman
7b8e82baea Refactor vomp call processing to reduce latency 2012-07-05 16:09:33 +09:30
Andrew Bettison
72769e162b Replace overlay_render_sid_prefix() with alloca_tohex()
To eliminate timebomb bugs caused by rotor wraparound
2012-07-04 10:30:46 +09:30
Andrew Bettison
2c87039307 Replace overlay_render_sid() with alloca_tohex_sid()
To eliminate timebomb bugs caused by rotor wraparound
2012-07-03 17:59:30 +09:30
Jeremy Lakeman
3d39e92628 Setup scheduled alarm per vomp call and send keep alives 2012-07-03 15:50:05 +09:30
Jeremy Lakeman
89566e4d3d Refactor how functions are scheduled or file handes are watched 2012-07-02 13:19:54 +09:30
gardners
fb7397a51b make sure we really tell monitor clients when a call has died. 2012-06-25 17:10:29 +09:30
gardners
b40a468276 Merge branch 'eventscheduler'
Conflicts:
	monitor.c
	serval.h
2012-06-25 16:50:23 +09:30
gardners
91bccec71d various fixes related to event scheduler.
server main loop is now just fd_poll()
2012-06-22 16:05:50 +09:30
gardners
5dc6d122a5 significant progress towards clean callback scheduler for poll()
events and timed callbacks.
2012-06-22 16:05:49 +09:30
gardners
79ce37ec35 vomp calls should work again, and without the server blocking
on the mdp_client_socket.
2012-05-22 10:42:29 +09:30
Jeremy Lakeman
b91ff06a9f Reduce log spam while in call 2012-05-21 14:14:24 +09:30
gardners
d2949f1b05 Made VoMP audio packet stuffing limit configurable and larger
so that we can test preemptive audio retransmission before we
implement any codecs.
2012-05-16 11:52:22 +09:30
gardners
ed488a12c2 more debugging for Jeremy 2012-05-14 16:16:06 +09:30
Andrew Bettison
881576212c Fix all trivial compiler warnings 2012-05-10 18:08:59 +09:30
gardners
fbd19db931 stripped out lots of debugging for audio frame handling ready for
audio-streaming of call.
2012-05-09 07:38:34 +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
602c00efd7 fixed bugs in handling of audio. 2012-05-06 22:23:58 +09:30
gardners
29855e2c9d added debugging to find out why audio is not flowing on phone. 2012-05-06 21:56:40 +09:30
gardners
ad78627fb6 added PCM codec entry. 2012-05-06 21:12:31 +09:30
gardners
c59e819649 fixed call-state error related to ringing timeout. 2012-05-06 20:47:50 +09:30
gardners
a42d8aafc0 added debug for saying when we notice stale calls. 2012-05-06 20:15:46 +09:30
gardners
963e86ea42 auto-expire stale calls that have not reached in-call status. 2012-05-05 20:58:04 +09:30
gardners
eb8e34bcde make sure monitor interface announces creation of new calls. 2012-05-03 03:41:26 +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
a2880ada1e closer to dna lookup working via mdp.
Bug to be fixed in sending replies.
2012-04-25 20:14:56 +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
993412184e cleaned out some debug messages. 2012-04-24 20:58:28 +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
gardners
2831507c8d Added sample time info to audio packets.
Added codec default sample block times.
2012-04-24 20:26:16 +09:30
gardners
5abcbc7995 passing audio samples for VoMP now works. Sample times are not set. 2012-04-24 18:56:41 +09:30
gardners
8c86cf3b0e Fixed various bugs towards getting audio flow happening. 2012-04-24 18:56:41 +09:30
gardners
131a34617f work towards pushing audio sample blocks out over the network. 2012-04-24 15:27:59 +09:30
gardners
321de2b189 Disable lots of debug output, and stop vomp dtmf command expecting
to receive a response when sending.
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
Andrew Bettison
1494172da6 Trival test of dna JNI command line entry point 2012-04-23 18:25:26 +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
b3cc3eb644 changed poll behaviour in vomp monitor so that it avoids poll/select
bug on OSX and thus doesn't use 100% CPU.
2012-04-22 20:17:32 +09:30
gardners
84a237406d ending a call now works properly with both end realising it has
ended and freeing up their call descriptors.
2012-04-22 19:15:55 +09:30
gardners
40bb0ab14b monitor commandline app now basically works.
State changes get shown, and current conditions get repeated
every tick.  Eventually we may need to squelch the ticks to make
life simpler for the phone application.
2012-04-22 19:00:36 +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
gardners
28cbbb9a67 vomp status now displays nominal call information. 2012-04-22 08:31:19 +09:30
gardners
21cb1d9206 some refinement to dial request commandline utility.
MDP reply to dial request is sometimes not forthcoming, but
if tried again, does solicit a response.  very weird.
2012-04-22 07:16:18 +09:30
gardners
19538216f6 Fixed call session matching bug that was causing duplicated
call contexts when faced with retransmissions of initial call
setup stage.
2012-04-22 07:08:33 +09:30
gardners
ead3e8cb95 cleaned out some debug info. 2012-04-22 06:29:10 +09:30
gardners
9b409c2891 Got VoMP ticks to update call state running. 2012-04-21 21:21:26 +09:30
gardners
db68286426 Various VoMP state machinery fixes. Call can now progress to
ringing at each end.
2012-04-21 20:36:26 +09:30
gardners
68b2778c93 fixed bug in call state control with newly created slots not
having last activity time recorded at creation.
2012-04-21 09:09:01 +09:30
gardners
6713ff67cb progress towards VoMP. State control stuff is still up the creek. 2012-04-21 09:07:36 +09:30
gardners
30859a2bc6 fixed session number generation bug.
Some debugging added.
2012-04-21 08:15:48 +09:30
gardners
d843e59bd5 vomp status and vomp dial command line apps added.
now debugging dial operation.
2012-04-20 17:12:44 +09:30
gardners
c52e91ef46 added code to send VoMP notifications to local listeners and to the
far end.  Ready to start making command line tools to enquire and
manipulate call state.
2012-04-20 08:02:03 +09:30
gardners
1625ca24aa implemented some outstanding call state management functions. 2012-04-20 05:55:58 +09:30
gardners
a34b86d5a1 improved VOMPEVENT_CALLINFO call to return summary list even
when provided with an invalid call session token.
2012-04-20 05:47:31 +09:30
gardners
ddeb316421 Added VOMPEVENT_CALLINFO MDP message flag to get info on
specified call (if present), and summary of all valid calls
(session token + state)
2012-04-20 05:44:51 +09:30
gardners
cbb4df7c11 Added call info enquiry MDP message. 2012-04-20 05:38:45 +09:30
gardners
ea372aece2 Added VoMP call-pickup message handling. 2012-04-20 05:25:48 +09:30
gardners
57be9bef32 Further work on VoMP. MDP message to create a call should now
do something.
2012-04-20 05:19:42 +09:30
gardners
b1a7ccd32f Further work on getting VoMP together. Added MDP messages to add
and remove a client from being interested in the phone-call state.
2012-04-19 21:54:37 +09:30
gardners
a29a1283f7 More work towards integrating VoMP (creating unix domain socket
interface for call control/audio handling).
2012-04-19 21:54:36 +09:30
Andrew Bettison
930d7b5791 Use memcmp() instead of bcmp()
- bcmp() is unavailable on Linux

- all the b*() functions are deprecated, should use the mem*() equivalents
  instead
2012-04-19 11:02:14 +09:30
gardners
729ede461d Added hardwired MDP listener port for VoMP.
Moved VoMP header material into serval.h for use.
2012-04-19 07:34:12 +09:30
gardners
1a221a32b2 Begun work on VoMP implementation. 2012-04-19 07:14:51 +09:30