Задать вопрос

Какая переменная есть у asterisk при определении номера принявшего вызов?

Есть макрос в астериске,
exten => 123456,1,Set(fname=${STRFTIME(${EPOCH},,%H%M)}-${CALLERID(number)}-${EXTEN})

что создает нам параметры имени файла, в который будет писаться звонок. Формат файла таков:
часыминуты-номер с которого звонили-номер, на который звонили.wav
Вопрос - как в имя этого файла засунуть параметр "внутренний номер телефона, который принял вызов"? (${DIALEDPEERNUMBER} выдает пустое значение)
  • Вопрос задан
  • 4673 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
gbg
@gbg
Любые ответы на любые вопросы
Это надо ваш extensions.conf изучать, потому как у вас, видимо, после этого номер попадает куда-то, где по ${EXTEN} выбирается уже внутренний номер, а значит, в момент начала записи этот номер натурально неизвестен.
Ответ написан
Комментировать
  1. не стоит давать имена файлов записей разговоров на основе номера принявшего вызов, т.к. на момент формирования имени файла зачастую может быть неизвестен кто ответит;
  2. для app_queue ответивший в ${CHANNEL(Name)} звонящий в ${CONNECTEDLINE(number)};
  3. для app_dial можно подсмотреть вызвав DumpChan в макросе или сабе (см. параметры M и U app_dial), возможно они будут такими же что и у app_queue.
Ответ написан
sajor2006
@sajor2006
Ну я человек. )
тут описано как получить номер из заголовков
https://tech.iprock.com/?p=17039
вот ${CUT(CUT(SIP_HEADER(To),@,1),:,2)}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы