Builds the transfer directory from telephony.transferTargets: each entry needs a name, a unique name (case
insensitive) and what its kind needs. A number (a number target, or a user target's fallback) must pass the same
E.164 + allow/block checks as an outbound dial; a user target needs an email-shaped address; an agent target needs a
name. An entry that fails any of them is DROPPED and logged, never half-kept: a typo must not turn into a forwarding
destination.
The directory is the only thing transfer_call can reach. Letting the model (and so an unverified caller) name an
arbitrary number would be free call forwarding at the operator's expense.
Builds the transfer directory from
telephony.transferTargets: each entry needs a name, a unique name (case insensitive) and what its kind needs. A number (anumbertarget, or ausertarget's fallback) must pass the same E.164 + allow/block checks as an outbound dial; ausertarget needs an email-shaped address; anagenttarget needs a name. An entry that fails any of them is DROPPED and logged, never half-kept: a typo must not turn into a forwarding destination.The directory is the only thing
transfer_callcan reach. Letting the model (and so an unverified caller) name an arbitrary number would be free call forwarding at the operator's expense.