Delay inbound IP call answer
$inbound_delay chan delayms startrange endrange
This command is used to delay the answering of an inbound call for a short period. It is to be used when multiple nodes are registered with an ISP or PBX and only one is to answer the simultaneous calls sent to all registered nodes. If the primary node is down, another node will then answer the call after the delay period, thus providing redundancy for call answering. The ISP must be aware of the fact that the call has been answered by the first node and drop the call to the other node(s) when all are operational. You may see failed connections in the trace and log files, with outcome 7776, in these circumstances; this is normal.
The Call ID SIP parameter (this is not the 'caller ID') must be common to the concurrent calls, and is used to calculate a hash value between 0 and 99 for the incoming call. Each node is assigned a non-overlapping range between 0 and 100 and if the hash for the call lies inside the range for the node, the node will answer immediately, otherwise answering the call will be delayed.
The parameters on this command are used as follows:
| chan | the channel number or channel group(s) affected, or * for all channels. Normally this will be a nodename and the whole node will be affected. |
| delayms | the delay period in milliseconds. A value of 200 is recommended. However if more than two nodes are used for this feature, they should be given slightly different delay periods, for example 190, 200, 210. |
| startrange, endrange | the start and end of a subrange of the range 00 to 99. When an incoming call has a calculated value outside this range, the delay will be applied. See the examples below. |
When implemented, commands should be supplied for all nodes registered to handle inbound traffic for the same account.
Default:
Calls are answered immediately.
Hardware:
BladeWare SIP, and Copia VoIP ports, with an ISP or PBX which can support multiple registrations in a compatible way. Currently we have tested this feature with Cloudli as IP provider
Examples:
For two nodes:
$inbound_delay M1 200 00 49
$inbound_delay M2 200 50 99
For three nodes:
$inbound_delay M1 190 00 33
$inbound_delay M2 200 34 66
$inbound_delay M3 210 67 99