Reviewers (YT:PMD-3859):
- 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 to PortaSwitch 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).
I also want PortaSwitch to use an FQDN as the destination for outbound calls, resolving it to the current IP addresses for call delivery while preserving the FQDN and called number in the SIP Request-URI.
Example of use
A CSP has a customer, Aurora Retail Group, that uses Genesys Cloud to send and receive calls through the CSP's PortaSwitch. Genesys provides the customer with the FQDN aurora.mypurecloud.de to identify the source of its traffic.
The DNS configuration for aurora.mypurecloud.de results in the following IP addresses being associated with the FQDN:
192.0.2.10192.0.2.11192.0.2.12192.0.2.13
Instead of manually configuring and maintaining these IP addresses, the CSP configures aurora.mypurecloud.de for the customer's account.
PortaSwitch periodically resolves the configured FQDN and uses the obtained IP addresses for inbound call authorization.
Later, Genesys Cloud changes its infrastructure, and 192.0.2.13 is replaced by 192.0.2.25. During the next DNS synchronization, PortaSwitch detects the change and updates the IP addresses used for Aurora Retail Group's inbound call authorization.
An inbound call from 192.0.2.25 is then successfully authorized without the CSP manually updating the customer's configuration.
The CSP also has another customer, Baltic Hotels, that uses the FQDN baltic.mypurecloud.de. DNS resolution of this FQDN results in the same IP addresses as for Aurora Retail Group. PortaSwitch uses an additional identifier configured for the customer to correctly determine whether an inbound call belongs to Aurora Retail Group or Baltic Hotels.
For outbound FQDN support, account aurora.mypurecloud.de is configured to forward calls to SIP URI destination aurora.mypurecloud.de, keeping the original called number. When a call arrives for Aurora’s number 2712345678, configured as an alias under this account, PortaSwitch applies the main account’s forwarding settings. It resolves the destination FQDN and sends the call to Genesys Cloud at a resolved IP address, keeping 2712345678@aurora.mypurecloud.de in the Request-URI.
Business model
CloudPBX, SIP Trunking
Technology
Periodic DNS resolution of a customer-supplied FQDN, performed by PortaSwitch against public DNS to determine the current network addresses associated with the configured FQDN.
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.
For the cases when traffic from the same IP address needs to be differentiated between customers, PortaSwitch currently supports authentication by CLI/CLD Tech-Prefix and IP.
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.
For outbound calls, CSP currently uses an SBC to deliver calls from PortaSwitch to customers’ cloud PBXs, such as Genesys Cloud. PortaSwitch forwards these calls to the SBC’s IP address. The SBC handles DNS resolution and delivers the calls to the cloud PBX using the customer-specific FQDN in the SIP Request-URI, such as 2712345678@aurora.mypurecloud.de.
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
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 configuration for
aurora.mypurecloud.deresults in the following IP addresses being associated with the FQDN: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 with alias 2712345678 and saves the changes.
- PortaSwitch resolves
aurora.mypurecloud.deand DNS returns the IP addresses currently associated with the FQDN. - PortaSwitch stores the resolved IP addresses for use in inbound call authorization.
Use scenario #1.2 Inbound call authorization using FQDN
- At 2026-09-04 11:00, an Aurora Retail Group call-center agent uses Genesys Cloud to call an external phone number.
- 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 Inbound call authorization after IP adress change
- At 2026-09-10 02:00, Genesys Cloud changes its infrastructure so that
192.0.2.13is replaced by192.0.2.25in the DNS configuration associated withaurora.mypurecloud.de. - During the next DNS synchronization, PortaSwitch resolves
aurora.mypurecloud.deand obtains the updated IP addresses. - PortaSwitch updates the IP addresses used for Aurora Retail Group's inbound call authorization.
- 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 scenario #1.4: Inbound call authorization for accounts with overlapping IP addresses
- 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
- At 2026-09-05 10:00, CSP Admin configures an account for Baltic Hotels using the FQDN
baltic.mypurecloud.deand saves the changes. - PortaSwitch resolves
baltic.mypurecloud.deand obtains and stores the IP addresses currently associated with the FQDN. - 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.
Use scenario #1.5: Outbound call delivery using FQDN
CSP Admin configures account
aurora.mypurecloud.deto forward calls to the SIP URI destinationaurora.mypurecloud.dekeeping the original CLD.An external caller calls Aurora’s number 2712345678.
PortaSwitch receives and authorizes the call according to the existing inbound call authorization rules.
PortaSwitch matches the called number to alias 2712345678, and applies its main account’s SIP URI forwarding settings - forward to
aurora.mypurecloud.de.PortaSwitch obtains the destination IP address(es) through DNS resolution of the configured FQDN.
PortaSwitch sends the SIP INVITE to Genesys Cloud at a resolved IP address, preserving the original called number and the configured FQDN in the Request-URI:
sip:2712345678@aurora.mypurecloud.de.Genesys Cloud identifies Aurora using the customer-specific domain and routes the call to the appropriate destination within Aurora’s call center.
Wireframes
N/A
Non-functional requirements
N/A
Peculiarities
- 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.).
- An FQDN can be associated with one or multiple IP addresses. For example, in the BRS use cases,
aurora.mypurecloud.deis associated with four IP addresses. The feature design must take into account how different DNS configurations (e.g., A/AAAA, SRV, or their combination) and DNS caching should be handled to obtain the IP addresses required for inbound call authorization and outbound call delivery. The behavior if DNS resolution fails is to be defined during the design stage
Performance / Clustering, Geo Redundancy/ Dual-Version, Porter / Call Control API / ESPF / Monitoring
N/A