VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Где взять ID, отображающийся в логе?

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
shines2
Сообщения: 36
Зарегистрирован: 31 мар 2016, 17:53

Где взять ID, отображающийся в логе?

Сообщение shines2 »

Пример строки из лога:
[Apr 11 09:55:37] VERBOSE[21705][C-0000019d] pbx.c: -- Goto (transfer,s-ANSWER,1)
Есть какая-нибудь переменная или функция, позволяющая получить выделенное жирным значение (C-0000019d) в диалплане?
ded
Сообщения: 15630
Зарегистрирован: 26 авг 2010, 19:00

Re: Где взять ID, отображающийся в логе?

Сообщение ded »

Вставьте запрос
NoOp(Show ${DUMPCHAN})
и получите ВСЕ переменные в момент выполнения NoOp.
shines2
Сообщения: 36
Зарегистрирован: 31 мар 2016, 17:53

Re: Где взять ID, отображающийся в логе?

Сообщение shines2 »

Огромное спасибо!
В Астериск 11 просто DumpChan() без Noop
Аватара пользователя
tol_iwan
Сообщения: 273
Зарегистрирован: 11 апр 2014, 11:29
Откуда: Брянск
Контактная информация:

Re: Где взять ID, отображающийся в логе?

Сообщение tol_iwan »

Но DUMPCHAN не выдает значение Call Identifier, которое нужно судя по вопросу.
Значение можно получить из консоли командой core show channel "имя канала".
Имя канала можно получить в переменной ${CHANNEL}.
Но вот как связать эти команды, чтобы в диалплане получить Call Identifier, я не знаю.
Только если оно нужно не в диалплане.
ded
Сообщения: 15630
Зарегистрирован: 26 авг 2010, 19:00

Re: Где взять ID, отображающийся в логе?

Сообщение ded »

Думаю, что всё же можно напихать
NoOp(Channel ID is ${CHANNEL}) перед
Goto (transfer,s-ANSWER,1)
например

Код: Выделить всё

[transfer]
exten => s-ANSWER,1,NoOp(Channel ID is ${CHANNEL})
shines2
Сообщения: 36
Зарегистрирован: 31 мар 2016, 17:53

Re: Где взять ID, отображающийся в логе?

Сообщение shines2 »

DumpChan() показал, что можно использовать ${CHANNEL(LinkedID)}. Хотя это значение и не совпадает с тем, что я спрашивал, но, похоже, пределы уникальности у него такие же. Мне нужен был какой-нибудь ИД, который одинаков и более-менее уникален от момента поступления входящего и до его hangup, чтобы идентифицировать вызов при выходе из очереди, трансфере и т.п.
Samael28
Сообщения: 1057
Зарегистрирован: 08 янв 2011, 18:32
Откуда: Киев
Контактная информация:

Re: Где взять ID, отображающийся в логе?

Сообщение Samael28 »

${UNIQUEID}
Мой профайл на Upwork
shines2
Сообщения: 36
Зарегистрирован: 31 мар 2016, 17:53

Re: Где взять ID, отображающийся в логе?

Сообщение shines2 »

Samael28 писал(а):${UNIQUEID}
Не подходит.
Зашел звонок, попал в очередь (answer() у меня до очереди)
UNIQUEID: 1460394512.2728
LINKEDID: 1460394512.2728
Оператор вытащил из очереди
UNIQUEID: 1460394513.2729
LINKEDID: 1460394512.2728
Трансфер на другого абонента
UNIQUEID: 1460394526.2733
LINKEDID: 1460394512.2728
hangup
UNIQUEID: 1460394512.2728
LINKEDID: 1460394512.2728
Аватара пользователя
tol_iwan
Сообщения: 273
Зарегистрирован: 11 апр 2014, 11:29
Откуда: Брянск
Контактная информация:

Re: Где взять ID, отображающийся в логе?

Сообщение tol_iwan »

shines2 писал(а):LINKEDID: 1460394512.2728
не подходит?
${CDR(linkedid)}
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH