What's Changed
- Added Maven build.
- Split source into core modules
sip
,server
,ua
, and supporting modulesnet
,sound
, andutil
. Extracted
examples into modulesexamples
andphone
. - Replaced self-made logging with
slf4j
overtinylog
. - Clarified transaction timeout handling with separate handler methods for each timeout.
- Modernized scheduling using ScheduledThreadPoolExecutor.
- Implemented listening on
DTMF
info messages. - Implemented port pool for
RTP
media streams. - Fixed parsing of
SDP
messages with well-known formats that are not explained inrtpmap
fields. - Separated creation of concrete media streams from user agent handling. Removed audio file configuration (for steaming
and recording) from core components. - Pulled out system audio sounds played when calls are incoming, accepted, or terminated to client code.
- Added audio filter for silence stripping.
- Added IPv6 support.
- Added Java module support.
- Improved MediaDesc parsing by @hduelme in #2
- Allow to set preferIPv4 in config file by @hduelme in #11
- Improved diagnose for invalid environment/command line arguments by @hduelme in #19
- Code cleanup:
- Added type parameter,
- added override annotations,
- reduced excessive logging,
- made fields private final
- where possible removed mutable static fields, replaced lazy initialization with defined initialization order,
- reduced number of constructors,
- enhanced configuration file parsing with
args4j
, - applied Java naming conventions,
- enhanced encapsulation of fields.
- Access configuration from production code through read-only interfaces.
- System.arraycopy for copying arrays by @hduelme in #1
- Removed Vector from MediaField by @hduelme in #3
- Modernized Junit5 usage by @hduelme in #5
- Remove vector from MediaDescriptor by @hduelme in #6
- Add generics to Flags by @hduelme in #8
- use StringBuilder instead of StringBuffer in MediaSpec by @hduelme in #9
- use StringBuilder instead of StringBuffer by @hduelme in #10
- use auto resource management by @hduelme in #12
- add generics to SipTransportCO by @hduelme in #14
- implemented Closeable for classes which need to be closed to avoid resource leak by @hduelme in #13
- Add generics by @hduelme in #17
- Bug fixes
New Contributors
Full Changelog: 1.8.0...2.0.0