ivozprovider
ivozprovider copied to clipboard
[wip] New bouncer proxy
Type Of Change
- [ ] Small bug fix
- [x] New feature or enhancement
- [ ] Breaking change
Checklist:
- [x] Commits are named and have tag following commit rules
- [x] Commits are split per component (schema, web/admin, kamusers, agis, ..)
- [x] Changes have been tested locally
- [ ] Fixes an existing issue (Fixes #XXXX)
Description
Bouncing is the internal name of outgoing external calls to DDIs handled in the platform (a user calling to its company's DDI, or calling to a DDI of another client in the platform).
These bounced calls are special in many ways:
- They traverse routing and billing logic as if they were being routed a carrier.
- In the last moment, calls are bounced from KamTrunks to KamTrunks.
- Despite being one SIP dialog, they are treated as 2 dialogs: one outgoing external and one incoming external.
- 2 CDRs will be created.
- They are indistinguible from a normal outgoing external call from the perspective of the caller and one incoming external call from the perspective of the callee.
This PR is a POC of rewriting current logic adding one additional piece of software: bouncer proxy.
This proxy will act as a B2BUA decoupling SIP dialog into 2 different dialogs making bouncing logic in KamTrunks unnecessary.
Additional information
With this new approach, relationship among brands in same platform may change, making possible that one specific brand sells PSTN connection to another brand in the same platform.
Hi,
"making possible that one specific brand sells PSTN connection to another brand in the same platform."
Would this also make it possible for a "Brand A" to have "Brand B" as a wholesale/retail customer? e.g. for Brand B to use A as a Carrier/DDI Provider?
Yes, that's the idea behind this change:
- brandA could have a retail client used by brandB as a carrier to place outbound calls using brandA carriers.
- the same retail client could be configured in brandB as DDIProvider too to receive calls using brandA ddiProviders.