В отчете CDR не указан номер получателя (присоединение - звездочка)

Я использую звездочку для подключения к Adhearsion для моей системы. Система инициирует вызов на 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'

Дополнительный вызов 1@adhearsion-redirect , 1 номер назначения.

 Executing [1@adhearsion-redirect:1] AGI("SIP/ncell-out-00000004", "agi:async") 

как я должен получить номер пункта назначения в cdr вместо 1, когда вызов исходит от adhearsion?


person achyutdev    schedule 03.07.2015    source источник


Ответы (1)


(если бы у меня было достаточно представителей для комментариев, я бы попросил вас опубликовать код вашего контроллера, чтобы я знал, как вызов попадает на 1@adhearsion-redirect).

Похоже, вы могли бы использовать вспомогательный контекст для хранения некоторых данных в CDR, прежде чем перейти к контексту перенаправления прилипания. Мне не хватает информации о том, как перенаправить существующую настройку в вспомогательный контекст.

Вот пример вспомогательного контекста. Поскольку я не знаю кода вашего контроллера, вам нужно сделать его 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 в вашем журнале, поэтому оно созрело для выбора.) Затем он перенаправляется в контекст перенаправления присоединения. Используя Dial, показанный выше, это установит для пользовательского поля CDR значение 1234567890 или любой другой номер, который вы хотите набрать.

person QuickDanger    schedule 18.07.2015