Reviewers (+ link to BA task):
- PM
- Dev
- QA
- PO
- TW
User Story
As a CSP, I want to configure an FQDN as the source identifier for a customer's inbound calls instead of manually maintaining a list of IP addresses, so that PortaSwitch can automatically resolve the FQDN to its current IP addresses and use them for call authorization, while still being able to differentiate between customers when their FQDNs resolve to the same IP address(es).
Example of use
A CSP has a customer, Aurora Retail Group, whose call center operates on a third-party cloud platform Genesys.
Genesys assigns the customer the FQDN aurora.mypurecloud.de. At the time of configuration, this FQDN resolves to four IP addresses:
192.0.2.10192.0.2.11192.0.2.12192.0.2.13
Instead of manually entering these four IP addresses in the customer's inbound call authorization configuration, the CSP configures the customer account to be identified by the FQDN aurora.mypurecloud.de.
PortaSwitch periodically performs a DNS lookup for the configured FQDN and stores the resulting IP addresses for use in inbound call authorization.
Later, the cloud provider replaces 192.0.2.13 with 192.0.2.25. During the next DNS synchronization, PortaSwitch detects that the DNS resolution result has changed and updates the IP addresses used for Aurora's inbound call authorization.
As a result, incoming calls from 192.0.2.25 are authorized without the CSP manually updating the customer's configuration.
The CSP later signs up another customer, Baltic Hotels, who also uses Genesys Cloud. Baltic is provided with the FQDN baltic.mypurecloud.de. This FQDN resolves to the same IP addresses as Aurora's FQDN.
PortaSwitch supports correct differentiation of inbound traffic when different customer FQDNs resolve to the same IP address(es).
Business model
CloudPBX, SIP Trunking
Technology
Periodic DNS resolution of a customer-supplied FQDN, performed by PortaSwitch against public DNS to obtain the domain's current DNS-record IP address(es).
Current Solution
Currently, inbound call authorization relies on manually configured IP addresses.
- The CSP obtains the IP addresses from the customer's cloud PBX/contact-center provider.
- The CSP manually configures these IP addresses as authorized source addresses for the customer's inbound calls.
- When the cloud provider changes its IP addresses, the CSP must identify the change and manually update the customer's configuration.
- If a new source IP address is used before the CSP updates the configuration, an incoming call from that IP address does not match the existing authorization configuration and may therefore fail authorization.
- Cloud providers such as Genesys Cloud or Twilio may change the IP addresses used by their infrastructure, making permanent manual IP configuration difficult to maintain.
With FQDN-based inbound call authorization, different customer FQDNs may resolve to the same IP address(es). The new solution must therefore support differentiating traffic for such customers while using their configured FQDNs for inbound call authorization.
Stakeholders and their benefits
Who are the users / whom we bring value to?
| Benefit / Stakeholders | More Comfort | Increased Efficiency | Saves Time | Tighter Control | Replaces Human | Regulatory Requirement |
|---|---|---|---|---|---|---|
| CSP | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Sales/marketing of CSP | ||||||
| Resellers / distributors | ||||||
| Network operations / Support of CSP | ✓ | ✓ | ✓ | ✓ | ||
| Developer | ||||||
| 3rd party | ||||||
| End user | ✓ |
Use Cases
Use case #1: FQDN-Based Automatic IP Resolution for Inbound Call Authorization
Roles: CSP Admin, PortaSwitch system, DNS system
Preconditions:
- CSP signs up a new customer Aurora Retail Group.
- Aurora already uses a third-party cloud communication platform, Genesys Cloud, for its call center with the FQDN
aurora.mypurecloud.deprovided by Genesys Cloud for Aurora. - At 2026-09-04 10:00, DNS resolution of
aurora.mypurecloud.dereturns:192.0.2.10192.0.2.11192.0.2.12192.0.2.13
- PortaSwitch is configured to perform periodic DNS resolution of FQDNs.
Use scenario #1.1: Configure an FQDN for a customer's inbound call authorization
- At 2026-09-04 10:00, CSP Admin configured an account for the customer "Aurora Retail Group" identified by FQDN aurora.mypurecloud.de and saves the changes.
- PortaSwitch performs a DNS lookup for
aurora.mypurecloud.deand DNS returns four IP addresses:192.0.2.10192.0.2.11192.0.2.12192.0.2.13
- PortaSwitch stores the resolved IP addresses for use in inbound call authorization.
Use scenario #1.2 Call authorization using FQDN
- At 2026-09-04 11:00, PortaSwitch receives an inbound SIP INVITE from source IP
192.0.2.11. 192.0.2.11is present in the current DNS resolution result foraurora.mypurecloud.de.- The incoming call matches Aurora's inbound call authorization configuration.
- PortaSwitch accepts the call.
Use scenario #1.3 Call authorization after IP adress change
- At 2026-09-10 02:00, the cloud provider changes its infrastructure and
aurora.mypurecloud.denow resolves to:192.0.2.10192.0.2.11192.0.2.12192.0.2.25
- At 2026-09-10 02:15 PortaSwitch performs a periodic DNS lookup and now stores the updated list of IP addresses for
aurora.mypurecloud.de. - At 2026-09-10 13:00, PortaSwitch receives an inbound SIP INVITE from
192.0.2.25. 192.0.2.25is present in the current DNS resolution result foraurora.mypurecloud.de.- The incoming call matches Aurora's inbound call authorization configuration.
- PortaSwitch accepts the call.
Use case #2: FQDN-Based Inbound Call Authorization with Overlapping IP Addresses
Roles: CSP Admin, PortaSwitch system, DNS system
Preconditions:
- CSP signs up a new customer, Baltic Hotels, who also uses Genesys Cloud for its call center with the FQDN
baltic.mypurecloud.de. - Baltic Hotels FQDNs resolve to the same IP addresses that the existing CSP's customer account
aurora.mypurecloud.de:192.0.2.10192.0.2.11192.0.2.12192.0.2.13
Use scenario #2.1: Call authorization for accounts with overlapping IP addresses
- At 2026-09-05 10:00, CSP Admin configures an account for Baltic Hotels using the FQDN
baltic.mypurecloud.deand saves the changes. - PortaSwitch performs a DNS lookup for
baltic.mypurecloud.deand stores the resolved IP addresses for inbound call authorization:192.0.2.10192.0.2.11192.0.2.12192.0.2.13
- At 2026-09-05 11:00, PortaSwitch receives an inbound SIP INVITE from source IP
192.0.2.11. - PortaSwitch identifies
192.0.2.11as one of the IP addresses currently resolved for the FQDN configured for the Baltic Hotels account, baltic.mypurecloud.de and customer Aurora Retail Group account aurora.mypurecloud.de. - PortaSwitch with the help of an additional identifier, correctly identifies this call as belonging to Baltic Hotels account
baltic.mypurecloud.de. - PortaSwitch applies Baltic Hotels' inbound call authorization configuration and accepts the call.
Wireframes
- This is an optional section.
- Wireframe is a quick illustration of an idea not the prototype itself.
- Key point is that a final prototype might look completely different after the Solution Design stage.
Non-functional requirements
Peculiarities
- What is the expected behavior when DNS lookup for FQDN fails, PortaSwitch doesn't get any IP addresses ?
- Entities required to carry FQDN identifier: account
- PortaSwitch should perform periodic DNS resolution and cache the results until the next check. The way of performing periodic DNS lookups is to be defined during the design stage ( e.g., whether the frequency would be defined by the TTL parameter from DNS, or configure PortaSwitch to perform checks with the desired frequency independent from TTL, etc.).