The key for an in-kernel stream is a local port, so it is really the
socket (port) that gets pushed into the kernel, not the packet_stream.
Similar to the "confirmed" state, as we expect each socket to only have
one peer address/port.
Change-Id: I34fef771cd8b01701196ffb77e17fcd229c86550
Simply take the xmlrpc-callback address as string and don't try to parse
it out. Store it in the call object as string as well.
Obsolete `created_from_addr`. The string form `created_from` is all we
need.
Change `created_from` to `str` as well.
Change-Id: Ib67b57b1d2d474d7b033f56ef8be59f71e44641b
Remove the actual hash and just keep a linked list. Always move most
recently used entries to the front of the list, which also obsoletes
tracking the last used time stamp.
Change-Id: Id277499228b538dd013a4442e9b5c5a4d247ff15
The GLib slice allocator has been obsoleted. Having a mixture of two
allocators can lead to hidden issues on systems that use different
implementations. Take the leap and replace everything with g_new/g_free.
Change-Id: I025c8383ef47b2c2472573360407fd6a6ca339b3
This mode is only supposed to be used by cases when:
- in-dialog offerer doesn't have own MoH capabilities; and
- still want the recipient to hear the MoH music; hence
- an offerer checks whether a recipient is capable of MoH,
and launches a player based on given capabilities;
- the rest functions the same as with usual MoH hold;
Other information:
- `mode=reflect` is only to be used within dialog,
so, it's not meant for a session origination,
and hence stands alone from other MoH option flags
that actually give a metadata (e.g. blob data)
- `mode=reflect` hence contradicts with `mode=sendrecv`
which in its turn serves another purpose
Usage:
- `moh => { mode => 'reflect' }`
Change-Id: I8d0d55f2711c6b47bfca17691582c1ffe66eae3d
Switch from specialised handling of config sections (used to load
signalling templates) to a more general approach using a callback
mechanism. This allows us to add more information to the config file
while keeping the details of the underlying GKeyFile hidden. Use a typed
hash table for type safety.
Change-Id: I71ddfda0202b47df363bcc5acf1725078774f8f1
Add a semicolon only for the last switch statement
going in a row.
Fixes this Coverity Scan detected defect:
*** CID 1621493: Control flow issues (MISSING_BREAK)
/daemon/call_interfaces.c: 1063 in call_ng_flags_flags()
1057 out->allow_no_codec_media = 1;
1058 break;
1059 case CSH_LOOKUP("allow-transcoding"):
1060 case CSH_LOOKUP("allow transcoding"):
1061 out->allow_transcoding = 1;
1062 break;
>>> CID 1621493: Control flow issues (MISSING_BREAK)
>>> The case for value "15" is not terminated by a "break" statement.
1063 case CSH_LOOKUP("always-transcode"):;
1064 case CSH_LOOKUP("always transcode"):;
1065 static const str str_all = STR_CONST("all");
1066 call_ng_flags_esc_str_list((str *) &str_all, 0, &out->codec_accept);
1067 break;
1068 case CSH_LOOKUP("asymmetric"):
Change-Id: I4d6bc56d8149acd2d0d69f122e420c5a8c6ae2e1
Instead of lumping all strings of a file into a single hash function,
split them up into their respective sections, as there is no point in
matching against strings that aren't part of the switch statement. This
should give a bit of a performance boost.
Nested hash sections require special handling as the wrapper script
isn't smart enough to hande them automaticaly.
Change-Id: I74863dfe6ca412d58101d37f9c9c85078826f1a4
Change old code to directly return `str` objects instead of pointers to
allocated ones. Largely a no-op change but makes some code easier and
eliminates some old kludges.
Change-Id: I2be19dd24bb7ff046d86cc32a3af235283e65dd0
Make `moh-max-duration` available for both
music-on-hold functionality as well as
for the media player.
For that to work, do the following:
- keep `moh-max-duration` config option only for MoH,
if not set (so 0) by default is 1800000ms (half an hour)
- for the play media functionality introduce flag option
`repeat-duration`, by default is disabled
Policy changes:
- duration counter can be used in common with repeats
counter, but then takes a precedence over it.
Hence if first a duration is underflown, then EOF triggered.
Otherwise if the duration counter is still positive, but
repeats are negative, then do EOF based on repeats.
- the repeats counter will always count down during each
iteration, even when used together with the duration counter
For MoH to survive, the repeats counter is simple set to 999
to let the duration counter always win over repeats one
- MoH cannot take duration disabled, since otherwise
would make no sense for it. Hence always takes internally
defined value 1800000ms (half an hour) if not defined
by the configuration option
Backwards compatibility:
- is kept in regards of repeats counter
- is kept in regards of the play media functionality
Change-Id: I48ff3c17c9bed31f80c3106b275b703a9ccb4b26