v0.23.0
Highlights
- Decoupling dialog from caching struct
DialogServer
DialogClient
by addingDialogUA
struct and simplifying API. This allows now dialog to be extended and wrapped with caller caching.DialogServer
andDialogClient
maybe moved only for TESTS in future andDialogUA
will provide handing Invites and dialog creation - Testing coverage increased to 50.1 *.
- We are forcing IPV4 either on default IP resolving and also on DNS lookups. DNS lookups need to have exported filtering mechanism in future release
- Client have now
Do
request same like stdhttp.Client
. This allows caller not to deal with transaction and just have request/reply - Dialog Client Server now have
Do
andTransactionRequest
that comply to RFC better as Dialogs need more to comply versus standard Request. It is recomended now to useDialogUA
and sub sessions when have to deal with INVITE requests. - SIP URI is now more generic (Adds SCHEME detection) to allow custom uri conversions like
tel:
#114 - BREAKING CHANGE: CANCEL handling was complex with Dialog. Now Transaction Layer and Dialog handles this correctly without need to have additional logic on caller.
ServerTransaction.Cancels
andClientTransaction.Cancel
is removed and everything is handled by transaction layer. In cases of statefull proxy this may be exposed for better control. For now it is expected that cancel terminates transaction and then proxy should terminate other end.
Per RFC CANCEL only makes sense for INVITE and this is provided with dialog management when cancelingWaitAnswer
.
What's Changed
- Prioritize IPv4 during DNS resolution by @gpi-eaglys in #124
- UAS Dialog BYE request uses wrong transport by @Odinvt in #128
New Contributors
- @gpi-eaglys made their first contribution in #124
- @Odinvt made their first contribution in #128
Full Changelog: v0.22.1...v0.23.0