Отчет CDR не показывает номер пункта назначения (адгезия - звездочка)
Я использовал звездочку, чтобы подключиться к адгезии для моей системы. Система инициирует вызов на номер sip с помощью следующего скрипта.
Adhearsion::OutboundCall.originate number,
from: call_from,
controller: controller ,
controller_metadata: {id: @id, initiate_from:'outbound'}
и cdr звездочки используется для поддержания статуса вызова. Номер, который я набрал (номер вызывающего абонента), не отображается в отчете cdr.:
`id`, `calldate`, `clid`, `src`, `dst`, `dcontext`, `lastapp`, `lastdata`, `duration`, `billsec`, `disposition`, `channel`, `dstchannel`,`amaflags`, `accountcode`, `uniqueid`, `userfield`, `answer`, `end`
'2015-07-03 11:29:21', '9801243867', '9801243867', '1', 'adhearsion-redirect', 'Dial', 'SIP/ncell-out/playback', 5.12455, 5.89977, ' ANSWER', 'SIP/ncell-out-00000002', NULL, 'DOCUMENTATION', NULL, '1435902231.2', NULL, '0000-00-00 00:00:00', '2015-07-03 11:29:21'
'2015-07-03 11:29:26', '9801243867', '9801243867', '1', 'adhearsion-redirect', 'Dial', 'SIP/ncell-out/9771002', 0.000001, 0, 'NO ANSWER', 'SIP/ncell-out-00000003', NULL, 'DOCUMENTATION', NULL, '1435902236.3', NULL, '0000-00-00 00:00:00', '2015-07-03 11:29:26'
Adhearsion Call 1@adhearsion-redirect
, 1 номер назначения.
Executing [1@adhearsion-redirect:1] AGI("SIP/ncell-out-00000004", "agi:async")
Как я должен получить номер назначения в CDR вместо 1, когда исходящий вызов от adhearsion?
1 ответ
(если бы у меня было достаточно представителей, чтобы прокомментировать, я бы попросил вас опубликовать код вашего контроллера, чтобы я знал, как вызов переходит к 1@adhearsion-redirect).
Похоже, вы могли бы использовать вспомогательный контекст для хранения некоторых данных в CDR, прежде чем переходить к контексту adhearsion-redirect. Часть, которую я пропускаю, - это как перенаправить ваши существующие настройки в контекст помощника.
Вот пример вспомогательного контекста. Так как я не знаю ваш код контроллера, вам по сути нужно сделать его Dial(Local/1234567890@helper-context)
вместо Dial(Local/1@adheasion-redirect)
, Вот контекст:
[helper-context]
exten=_X.,1,Set(CDR(userfield)=${EXTEN})
exten=_X.,n,Goto(1,adhearsion-redirect)
По сути, это позволяет любому расширению совпадать внутри контекста помощника и устанавливает число "пользовательское поле" в CDR. (Вы можете изменить это на другие поля CDR, но это было NULL в вашем журнале, поэтому он был готов к выбору.) Затем он перешел к контексту adhearsion-redirect. С использованием Dial
Я показал выше, это установит для поля пользователя CDR значение 1234567890 или любой другой номер, который вы хотите набрать.