Step 16. Calls to external networks
Case: The user dials 9 and a landline number on the phone, the landline number is called, the user hears KPV (call sending code) signals, after the outside caller answers, they are connected in a dialog.
From the previous steps we know that all calls are serviced in the B2B role, routing is performed there, callability and direction are determined.
In the current case study, routing has defined an external direction as the target. For this purpose, the domain administrator has configured the entities route and vectorrule, the latter in turn referencing the entity _provider, which the domain administrator has also previously created_.
To enable the system to integrate with telephony providers and corporate PBXs, the administrator adds the ESG role to the configuration. The domain administrator configures the entities provider and provider_callerid.
The provider entity defines a specific ESG instance that provides channel support and is the intermediate server through which all calls pass from the system to the provider and vice versa. The provider entity has a large number of settings to detail the behavior of the ESG when working with this account. Accordingly, the account can:
-
work with or without registration on the provider’s side (using direct IP addresses),
-
set username, login, password, domain name,
-
establish the use of an outbound proxy server by specifying the IP address and port,
-
set additional addresses and domain names from which packets from the ISP can come,
-
establish the use of sending ping packets in various formats on a regular basis,
-
set the use of BGMG (step 14),
-
other.
The ESG role, namely the instance that is installed in the provider account, performs and maintains its registration on the external server. The moment a call passes through ESG (in either direction), two arms of the same dialog are formed there, similar to B2BUA. Any call passing through the system always has exactly one B2BUA server in the middle. Thus, for example, in the route of a call between an external subscriber and an internal subscriber there are 3 SIP-servers: ESG, B2BUA, SG, and as a consequence this call has 3 shoulders with different identifiers.
At the same time, it is possible to store unified information about subscribers inside and outside the system, or to configure modifications From:Displayname, From:Username, To:Username. This is done using domain entities of type provider_callerid. These rules are applied similarly to routing rules: the highest priority matching rule is detected (based on the direction masks, From and To), and modifications are performed From:Displayname, From:Username, To:Username.
To reduce the number of provider_callerid rules in a domain, grouping - one provider_callerid rule per several provider accounts - and two-stage modification can be applied: first the From modifiers are applied, and then the modifiers are applied in a second pass To.
External call transfer
The peculiarity of the ESG role is that it processes REFER independently. This concept is implemented because the number plan in the external system (GTS, telephony provider, or third-party PBX of the enterprise) and the number plan inside the system are generally not synchronized.
Case: An external subscriber Alice (A, behind an ISP) and an internal user Boris (B) are communicating in a dialog. Alice transfers Boris to Catherine ©, whose number is known to her and reachable in the external network. Catherine is an external subscriber for the system and for Boris.
When a REFER is received from the ISP, ESG interprets this as a need to call another external subscriber. Routing rules are configured by domain administrators and on this basis do not guarantee the possibility of routing in the same direction to the specified external subscriber. This can be especially clear when configuring routing of only incoming calls from the provider. Therefore, when receiving a REFER from a provider ESG initiates a corresponding call in the opposite direction strictly to the same provider without unnecessary internal routing.
Case: An external subscriber Alice (A, behind an ISP) and an internal user Boris (B) are communicating in a dialog. Boris transfers Alice to Vladimir ©, whose number is known to him and reachable in the internal number plan.
Similarly, when a REFER is received from inside the system, ESG interprets this as a need to call the caller via internal routing. Indeed, under no circumstances will the external caller be able to handle this REFER properly on its own, and is likely to leave it outside rather than bring another call inside the system. If the internal user needs to transfer the call to another external caller, it will still be done through internal routing and through one of the B2B role instances, that is, keeping the dialog inside the system.
term | Determination |
---|---|
|
! |
|
! |
|
! |
|
! |