Начать звонок, используя Originate с пользовательским callerid на Asterisk

Попробуйте сделать простую звонилку с помощью NodeJS. Хотите начать вызов с помощью команды originate с помощью AMI, затем переместите этот вызов в очередь. Об остальном позаботится Asterisk. С помощью следующей команды я могу делать то, что хочу, но проблема в том, что параметр CallerID не работает.

Я устанавливаю callerid магистрали, когда пытаюсь сделать исходящий вызов вручную. Его рабочая, но не рабочая команда происхождения. Как я могу заставить это работать? Не рекомендуется играть с файлами конфигурации, но мы можем их отредактировать, если это необходимо.

ami.action('Originate',{
Channel: 'PJSIP/'+req.params.callee+'@'+req.params.caller,
Exten: req.params.ext,
Context: 'ext-queues',
Priority: 1,
Async: 'false',
Variable: req.params.actid,
ActionID:req.params.actid,
CallerID:req.params.callee+' <'+req.params.callee+'>'}

Канал: 'PJSIP/номер@trunkname', Exten: 1099, Контекст: 'ext-queues', Приоритет: 1, Async: 'false' ActionID: '123', CallerID: 9876543210


person Tysre    schedule 04.06.2021    source источник


Ответы (1)


Действие Asterisk Originate имеет поле CallerID, как описано в документах.

https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+ManagerAction_Originate

Обратите внимание, что библиотека, которую вы используете, может использовать другое обозначение переменной, сверьтесь с исходным кодом.

Однако настоятельно НЕ рекомендуется писать собственное ядро ​​номеронабирателя, так как под нагрузкой возникнет много других проблем. Проверьте уже созданные варианты.

person arheops    schedule 04.06.2021
comment
Спасибо за ответ. Команда Originate пока отлично работает с 'context: from-internal', но возникла другая проблема с callerid. И пользователь телефона, и добавочный номер видят один и тот же callerid. Расширение должно видеть номер вызывающего абонента по звездочке, а пользователь должен видеть идентификатор вызывающего абонента, который я отправляю с помощью исходной команды. Я пытаюсь выяснить эту проблему в команде originate. - person Tysre; 07.06.2021
comment
Протокол менеджера представляет собой обычный текст. Проверьте его с помощью tcpdump и посмотрите, есть ли здесь CID. Если это так, проверьте в звездочке, что делает ваш диалплан, проверьте, ПОДДЕРЖИВАЕТ ли провайдер изменение callerid. - person arheops; 07.06.2021