Ответ, который вы ищете, зависит от пути, по которому проходит вызов через вашу систему.Самый простой способ определить ответ на ваш вопрос - это выполнить вызов и затем выполнить следующие команды из интерфейса командной строки Asterisk:
> core show channels
Это покажет вам, какие каналы активны.Найдите название канала вашего вызова.
core show channel [channel-name]
Это выведет массив сведений о канале, включая различные установленные переменные и их соответствующие значения.Найдите добавочный номер, который вы пытаетесь получить в полях значений, а затем посмотрите, каково имя соответствующей переменной.Это может быть $ {CALLERID (num)}, $ {CALLERID (dnid)}, что-то из переменной $ {CDR} или даже где-то еще.
Если вы не найдете его в выходных данных, созданных "core show channel [channel-name]", вам, возможно, придется проследить путь плана набора, который принимает вызов, и попытаться установить переменную на раннем этапе, когдаинформация DID по-прежнему доступна.