Dylan Mikus
a714fbc462
Record RTP in PCAP files in the /tmp directory.
RTP Engine creates PCAP files for recorded calls on offer answer instead
of initial offer.
We make up bogus values for the nonessential parts of the PCAP, UDP, and
IP headers. We might be able to pull these from other parts of the RTP
Engine, but that information was unnecessary for recording calls so they
can be recorded to audio files.
If you change the packet headers, be really careful about byte order and
datatype size!
10 years ago
Eric Green
70eb6b9e81
Record raw RTP to recording files on the filesystem.
Pass in "record-call" flag over `rtpengine_offer` or `rtpengine_answer`
message. RTP Engine tracks files used to record pcaps and send them back
in the response message.
Pipes call audio (unencrypted from both ends) to recording files.
Sets up file descriptors for local files to dump RTP recordings.
A file and a file descriptor per monologue in a call.
Recorded streams will be running in user daemon mode, not in kernel mode.
This removes first 12 octets from packet to record just the rtp.
10 years ago
Richard Fuchs
351bc106be
staticize function
Change-Id: Iadbf5cdf8269a0ef996e509837981ef88d065e24
10 years ago
Stefan Mititelu
11e94c40ea
Add >= idx check for redis_list_get_idx_ptr()
10 years ago
Stefan Mititelu
2024f9e37a
Remove unused code remnants
10 years ago
Stefan Mititelu
1881fc5e58
Free call's main queues in __call_free()
Work directly on struct call's queues.
10 years ago
Stefan Mititelu
27ecb3631d
Free redis.c reply object memory leak
Call freeReplyObject() for every redis_get(); libhiredis
freeReplyObject() function does NULL check inside.
10 years ago
Richard Fuchs
ee960b7f67
dont do DTLS when in passthrough mode
Change-Id: I615042ed9121be3e2eb37718dbc642e8a46efcf5
10 years ago
Stefan Mititelu
bd7abe6409
Fix memory leak for notifications feature
Add log_info_clear() to cancel out log_info_call() from call_get*().
10 years ago
Richard Fuchs
a813ddfeae
fix compiler warnings due to conflicting int types
Change-Id: If61e59b8512357b3b3049387b2d37d67cdf5af3c
10 years ago
Stefan Mititelu
ee0216ed3f
Update obj_* debugging text
10 years ago
Richard Fuchs
0206f09b93
fix obj-debug stuff
required moving includes/headers around to avoid circular dependencies
Change-Id: Ia43e3254f252f94ec387be6b9c85fce4e727b251
10 years ago
Richard Fuchs
05f0317acf
fix the 'media address' parameter
address family string in SDP was not produced when used
Change-Id: I33f23a8f3d600ecdb9b469368ac5a8929e4b2fa1
10 years ago
Stefan Mititelu
b35a8dd9d9
Fix memory leak on redis notifications
Add obj_put() after call_destroy() because of call_get(), onRedisNotification.
10 years ago
Stefan Mititelu
ce3ae37a76
Fixes after second review
- read/write lock config_lock for keyspace operations
- read lock hashlock when iterating through the callhash
10 years ago
Stefan Mititelu
f392d9b768
Update notifications flag logic
-> is_backup_call becomes foreign_call (established via redis notifications)
-> remove active_foreign_call logic
Add only libevent-dev dependency.
10 years ago
Stefan Mititelu
1648757aa7
Fixes after first review
- don't alloc keyspaces integers
- refactor notifications event base logic
- add libevent_pthreads
10 years ago
Stefan Mititelu
9ec8ac6a47
Upgrade rtpengine-ctl tool
Add rtpengine-ctl terminate own/foreign.
Add rtpengine-ctl list sessions <callid>/all/own/foreign.
10 years ago
Richard Fuchs
29545e5434
MT#18599 use kernel socket receive timestamping
Change-Id: I6fde08be7942df7986eea39d2b233ce60d1fa862
10 years ago
Richard Fuchs
d45f928c98
MT#18599 limit Homer send queue size
Change-Id: I490b7552fbfc57c839b80e2574cb69e68758d743
10 years ago
Richard Fuchs
6187f5186e
MT#18599 support parsing of RTCP SDES fields
Change-Id: I9b56fae96bc7712d2de01d50d77afc34efcdacec
10 years ago
Richard Fuchs
b5e36c223c
MT#18599 simplify RTCP parsing
Change-Id: Ide82c1c882589f99e10cce28646b835ae3d8831c
10 years ago
Richard Fuchs
8267966569
MT#18599 use glib GString for RTCP logging
Change-Id: I32f2759c9a2aabae484715f1fec09616b66107da
10 years ago
Richard Fuchs
133e6304b3
MT#18599 support sending RTCP stats to Homer via HEP
Change-Id: Icaf28f28c910318726e446a1a2ad4c7ee5e79f85
10 years ago
smititelu
bac271b398
Add callmaster config lock
10 years ago
Stefan Mititelu
a43996fe4a
Add 'unidirectional' attribute
In order to kernelize unidirectional streams.
10 years ago
Pawel Kuzak
3f4cfffdbb
Fixed inconsistency in rtpengine-ctl list totals
10 years ago
Stefan Mititelu
57aa56616d
Add offer/answer/delete processing statistics
Add graphite offer/answer/delete min/max/avg statistics.
Print new graphite statistics in rtpengine-cli list totals.
10 years ago
Stefan Mititelu
05302c265f
Update rtpengine-cli set maxsessions
10 years ago
Stefan Mititelu
4343ff02cb
Update rtpengine-cli set maxopenfiles
10 years ago
Stefan Mititelu
ef39aa35f1
Add rtpengine-ctl list/set timeout
Setters/getter of the TIMEOUT, SILENT_TIMEOUT and FINAL_TIMEOUT.
Updated rtpengine-ctl help with the new commands.
10 years ago
Stefan Mititelu
9be68a0c2f
Add FINAL_TIMEOUT parameter
The timer that will limit the duration of a call.
Add graphite statistics for calls ended this way.
10 years ago
Lucian Balaceanu
e2d78d9003
Fix overflow of graphite call_duration statistic
In totalstats_interval_call__duration_add(), adjust the considered
graphite_interval_start value in case it is inconsistent (bigger) than
call_stop.
10 years ago
Lucian Balaceanu
2a05b85049
Take end time of call monologue from terminated field
10 years ago
Lucian Balaceanu
859a5058e6
Fix (foreign|own)_session, call_duration stats: modify call_get_or_create to set stats and foreign call state
10 years ago
Lucian Balaceanu
8fb677bccb
Fix stats foreign_sessions if redis_restore fails
10 years ago
Stefan Mititelu
763502dcb8
Add sanity checks
10 years ago
Stefan Mititelu
7377b908b7
Add/Retrieve ps->component to/from redis
Avoid segfault that happened when ps->component=0 (only when redis involved).
If redis involved, ps structure is initially 0'ed before restoring. Currently
the ps->component is not restored and leads to the above segfault.
10 years ago
smititelu
98a86d34c4
Fix segfault when ps->component=0
10 years ago
smititelu
b38f3da45c
Redis nofitications fixes
- add --subscribe_keyspace list config parameter.
- don't delete foreign calls by timers
- fix synchronization of foreign calls (use a separate redis_notify database)
- fix statistics for control channel calls.
- fix deletion of foreign calls upon del notifications
- update rtpengine-ctl tool
10 years ago
Stefan Mititelu
5e7640b4c4
Add/Retrieve ps->component to/from redis
Avoid segfault that happened when ps->component=0 (only when redis involved).
If redis involved, ps structure is initially 0'ed before restoring. Currently
the ps->component is not restored and leads to the above segfault.
10 years ago
smititelu
a6b4b86983
Fix segfault when ps->component=0
10 years ago
smititelu
eee5a65911
Update doku for REDIS_NUM_THREADS
10 years ago
smititelu
65de7932ad
Add config REDIS_NUM_THREADS param
Configurable redis restore threads.
10 years ago
smititelu
74ad505c6f
Update README.md for NO_REDIS_REQUIRED parameter
10 years ago
smititelu
04471770ce
Add NO_REDIS_REQUIRED new parameter
If set to "yes" or 1, rtpengine starts even without initial redis connections.
10 years ago
smititelu
33e72ba67a
Skip redundant log if r->ctx->err != NULL
10 years ago
smititelu
50aef804d9
Rtpengine starts even if redis is down
Rtpengine will start with a warning message if redis is configured, but is
not up and running.
10 years ago
smititelu
7d03f3da6c
Improve Redis connection logging
10 years ago
smititelu
e48252e11c
Change abort() behaviour of redis_check_conn()
Don't abort() when redis is down.
Instead, return from action (redis restore, update, delete, wipe).
Check redis connection upon new calls.
10 years ago