В Asterisk такое можно сделать аж двумя способами (как минимум):
1. dialplan
а. Можно через curl послать запрос:
https://docs.asterisk.org/Asterisk_21_Documentatio...
б. Можно заранее сопоставление входящего номера - внутреннего запихнуть в базу и потом через DB() вытаскивать
в. Обратиться к произвольной базе через ODBC()
2. рядом поставить сервер, который будет подключаться по AMI и посылать Redirect команду при поступлении звонка (какое там событие - не помню)
Оба пути достаточно тяжелы. В одном случае тебе придётся писать монструозный диалплан и как-то интегрировать внешнюю систему с астериском.
В другом - придётся учить внешнюю систему подключаться к астериску и мучаться с AMI.
Если хочется быстро и грязно, то бери диалплан. Если хочется чуть менее больно в долгосрочной перспективе, то тогда AMI.