gcc 7 complains about possible format truncation:
mod_cdr_mongodb.c: In function 'my_on_reporting':
mod_cdr_mongodb.c:242:45: error: '%d' directive output may be truncated writing between 1 and 10 bytes into a region of size 4 [-Werror=format-truncation=]
snprintf(idx_buffer, sizeof(idx_buffer), "%d", callflow_idx);
The char * idx_buffer has a size of 4 Bytes, and according to gcc's
calculation it is possible that up to 11 Bytes might be copied into it
via int bson_idx.
This commit adds an extra 8 Bytes to char * idx_buffer, which silences
the warnings.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
In some scenarios (e.g. MetaSwitch interop) the `display` field of callee-id should be left empty instead of being overwritten with the number.
As is done in other places, we allow for `_undef_` to mean "leave the field empty".
Memory leak happening during reconnection attempt after connectivity loss with
RabbitMQ broker.
With these changes, memory leak issue has been addressed and the object has
been properly freed.
Memory allocated to hash iterators and hash tables isn't released
during module shutdown.
With these changes, memory allocated to hash iterators and hash tables
will be freed properly.
avmd_start_app flow will break if 'inbound_channel'/'outbound_channel'
both has been set and the avmd_start_app invoked for inbound call leg.
With this change, it'll be able to work even if we set
'inbound_channel'/'outbound_channel' both.
callcenter_break agent <uuid> can be called with an uuid that represents
an outbound session created to call an agent.
The current behavior of mod_callcenter is to keep watching this channel
until it is hangup, once the hangup happens the bridge-agent-end and
member-queue-end events are fired, agent is released on the database
so it can receive more calls and member is also updated on database.
If you do not want to the agent channel hangup to release the agent you can
call this app with the agent session uuid and the agent will be released and
available to receive more calls. This is useful when the agent is located on a
remote freeswitch box and transfer the call internally, the original leg between
the first FreeSWITCH and the remote box remains live and the agent will only be
Available when the original call hangup.
Currently there is no easy way for ESL and dial plan users to easily correlate
the channel UUID of the call legs involved in a nightmare transfer. This patch
adds two new channel variables, which are set to the remote server call leg
UUIDs (transfer_refer_from, transfer_refer_for).
The UUIDs are passed from the remote server in custom headers (X-FS-Refer-From
and X-FS-Refer-For).