OPUS requires own Hz frequency for telephone-event (48000Hz),
without which DTMF events using it would be not spotted.
Such an example is Auto-Attendant, which is dependent on the
supported payloads of the sems-b2b. When the caller uses
the OPUS (48kHz) then DTMFs are not spotted.
Original ticket's number: 56278
Change-Id: Ic6f4d9632e4f35e460ed7f9df03f77e829a7bd5f
- a codec may export with CODEC_WITH_FMT also a payload format negotiation function
negotiate_fmt
- transcoder adds fmt strings to transcoder codecs
- changed codec fmt_description such that the codec returns a pointer to a
description array
Conflicts:
core/plug-in/amr/amr.c
core/plug-in/speex/speex.c
(real ticket number: TT#13019)
Change-Id: I47a18a8ba13fa3c3a693f7ed6ae7f614237480d6
- static library sip_stack.a (with dependencies on the core).
- removed AmServer and moved SipCtrlInterface into the core directory.
- TODO:
- CMake support to make core/sip/sip_stack.a and link against it in the core.
- merge AmSipRequest/AmSipReply and sip_msg structures.
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1758 8eb893ce-cfd4-0310-b710-fb5ebe64c474
AmAudioFile f;
f.open("/tmp/record.wav|A-Law")
The subtypes are defined in the codec modules, currently:
- for wav:
Pcm16, A-Law, Mu-Law
- for ilbc:
iLBC30, iLBC20
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1350 8eb893ce-cfd4-0310-b710-fb5ebe64c474
- removed AmSIPEventHandler (its functionalities are now in AmEventDispatcher).
- added possibility for each plug-in to receive out-of-dialog messages (any kind).
- added possibility to handle dialogs without creating a session (=AmSession).
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1006 8eb893ce-cfd4-0310-b710-fb5ebe64c474
o added codec module init/destroy functions
o fixed re-creating codec instance on file open
o added unlimited data_size option on RO files
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@708 8eb893ce-cfd4-0310-b710-fb5ebe64c474
is now done 'automatically' by ser.
- b/f: when loading plugins, bail out at 1st raised error (the DI plugins
were missed the first time); otherwise, the 'err' var gets overwritten and
startup carries on, wrongly
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@613 8eb893ce-cfd4-0310-b710-fb5ebe64c474
- splits the interface to the outer world from the core:
- use binrpcctrl plugin for SASI interface, or
- unixsockctrl for the good old unix socket interface.
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@568 8eb893ce-cfd4-0310-b710-fb5ebe64c474
o SEMS-7: RTP extension headers may be ignored if ignore_rtpxheaders=yes set in config file
o if changing payload type fails, packet will not be processed
o minor code beautification and comments added/corrected
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@418 8eb893ce-cfd4-0310-b710-fb5ebe64c474
- changed AmArg to own the objects put into it to avoid nasty problems with pointers to short-lived objects becoming invalid
- implemented di_log plugin, a plugin able to output or dump to disk the last x lines of debug log messages
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@319 8eb893ce-cfd4-0310-b710-fb5ebe64c474
Changes
-------
1. Make the AmJitterBuffer work with variable size RTP packets. Packet size
can be changed even during session (ex. Cisco in fax passthrough mode). Also
several improvements and fixes have been made to resyncronization logic.
2. Fix made to the AmPlayoutBuffer class to avoid reading chunks of size
larger than requested. This is required in cases when RTP packets contain
more or less data than internal frame size.
3. Small fix to AmRtpPacket class - replace the pointer to internal buffer
with offset in the buffer. This eliminates the nesessity to reparse the
packet each time the packet has been copied.
4. Replace the sample size field in amci_codec_t structure with two
functions - sampes2bytes and bytes2samples as that field did not allow to
specify sample size for LBR codecs (iLBC, gsm). This also brings ability
for codecs to determine the sample size at runtime (ex. iLBC).
5. Remove the sample size from amci_file_desc_t structure as it was used as
internal attribute of WAV files only and doesn't make much sense for other
file formats. Use the codec's ability to calculate sample size instead.
6. Parameter list for amci_inoutfmt_t.on_close() has been changed to give
ability to determine sample size in this file handler (WAV write_header
procedure requires this).
7. Fix gsm, ilbc, wav plugins and AmPlugin.c to reflect changes to amci.
Add corresponding samples2bytes and bytes2samples functions.
Caveats
--------
1. AmAdaptivePlayout class needs additional checking with RTP streams with
packets containing number of samples different from internal frame size
(for example 240 samples per packet in G711). Adaptive playout class
potentially may produce big packets of audio and therefore make the Conference
application work badly. The adaptive playout is used in Conference application
only and the application is working fine now with jitter buffer and without
adaptive playout. So I turned the adaptive playout off in the Conference app
as a workaround.
Developed by: Sippy Software, Inc.
Sponsored by: Digifonica Canada Limited
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@185 8eb893ce-cfd4-0310-b710-fb5ebe64c474
AmSIPEventHandler plugin, which receives replies to requests outside of a dialog.
* events can now be passed to session factories
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@158 8eb893ce-cfd4-0310-b710-fb5ebe64c474