Commit Graph

94 Commits

Author SHA1 Message Date
Andrew Bettison
4450116472 Refactor string functions, add str_fromprint()
Move lots of non-Serval-specific string functions from "serval.h"/dataformats.c
to "str.h"/str.c.

Add str_fromprint() function that reverses the effect of toprint(): interprets
escape sequences in the source string "\n\t\r\0\xHH\\" and replaces them with a
single char in the destination string.
2012-11-07 16:42:45 +10:30
Jeremy Lakeman
760bd04189 Estimate required jitter buffering 2012-10-22 14:05:15 +10:30
Jeremy Lakeman
fa7719fbe8 Write simple vomp console client 2012-09-28 15:23:50 +09:30
Jeremy Lakeman
66e0711d6b Only send one audio block per packet, but request that it be sent multiple times
If we receive a large buffer of audio, we want to stuff the packet with multiple frames and send them together.
And we want to send redundant copies of the audio to help recover from packet loss.
But if all our redundant copies end up in the same packet, we're screwed anyway.

This is a temporary hack until the network layer implements NACK / retry for resilient multi-hop delivery
2012-09-28 15:23:49 +09:30
Jeremy Lakeman
ac3864ff20 Reuse command line parsing framework with monitor interface 2012-09-25 13:31:34 +09:30
Jeremy Lakeman
456bf3fdca Tidy up source port checking 2012-09-14 17:04:35 +09:30
Jeremy Lakeman
48c899df39 Pass remote sequence number through monitor interface 2012-08-21 13:32:55 +09:30
Jeremy Lakeman
00b1609deb Fix audio rotor buffer 2012-08-21 13:32:55 +09:30
Daniel O'Connor
d77e5b7c62 Add strlcpy as it appears some systems (Ubuntu and probably Debian) don't have it.
This is a public domain version from http://cantrip.org/strlcpy.c
2012-08-13 18:24:19 +09:30
Jeremy Lakeman
dcb2da45fa Allow for audio to arrive in variable sized blocks 2012-08-13 16:35:30 +09:30
Jeremy Lakeman
3ab79d8e5b Pass phone numbers in vomp call initiation 2012-08-13 14:01:57 +09:30
Daniel O'Connor
15013d7086 Fix bug in debug printing. 2012-08-10 10:45:01 +09:30
Jeremy Lakeman
6f9cf490dc Standardise session id format 2012-08-09 13:32:09 +09:30
Jeremy Lakeman
fb6090917a Tweak call failure timeouts 2012-08-09 13:32:08 +09:30
Jeremy Lakeman
f059546eb0 Improve monitor client interface and vomp for asterisk channel driver 2012-08-09 13:32:08 +09:30
Jeremy Lakeman
736a8f43c0 Refactor towards changing the vomp monitor interface 2012-08-09 13:32:08 +09:30
Jeremy Lakeman
fc9a9b337e Wait for vomp client to indicate that ringing has started 2012-08-09 13:30:52 +09:30
Andrew Bettison
12d8bc0c12 Use new typedef time_ms_t everywhere 2012-08-09 12:14:32 +09:30
Andrew Bettison
ee6d9d8ea3 Fix logging in vomp.c
Replace DEBUG_SIMULATION with DEBUG_VOMP

Replace all printf(...) and fprintf(stderr,...) with WHYF(...) and DEBUGF(...)

Make all debug logging conditional on DEBUG_VOMP
2012-08-02 11:29:37 +09:30
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