Closed RicardoMDomingues closed 4 months ago
Hey @marcusspangenberg I know you are/were using SMB. I am doing this breaking change on API to support Named Telephone Events. While this requires code changes on components that communicates with SMB, I believe the changes should be pretty straight forward and it should be relatively easy if you need to support multiple SMB versions.
Please let me know if you might encounter any obstacles with this change in your project.
Hey @marcusspangenberg I know you are/were using SMB. I am doing this breaking change on API to support Named Telephone Events. While this requires code changes on components that communicates with SMB, I believe the changes should be pretty straight forward and it should be relatively easy if you need to support multiple SMB versions.
Please let me know if you might encounter any obstacles with this change in your project.
Thanks for the mention @RicardoMDomingues. Much appreciated. The change won't cause any problems for our use case.
Change API in order to support Named Telephone Events.
Currently API contains a single json object to describe the audio payload. With this change, we are making it an array of payloads instead, in the similar way we do for video payloads. The json property was then renamed from
payload-type
topayload-types
.If you need to support multiple SMB versions, then your code should be prepared to encounter
payload-type
as a single object xorpayload-types
as an array of objects when you allocate an endpoint, pseudo-code example:If you are supporting multiple SMB versions, then you need to keep in mind to use
payload-type
orpayload-types
in configuration and reconfiguration actions, depending on which SMB version you are callingMain Modifications
SsrcOutboundContext
as the code is similar. AlsoSsrcOutboundContext
it was already deciding if a packet should be forwarded or not and the rewrite was supporting (tested by unit tests) unrealistic scnarios where the packet it would be dropped earlier. The methodshouldSend
was deleted andrewriteAudio
andrewriteVideo
returns false when the packet should not be sent!