Страница 1 из 1

Странный Callerid для субрутины очереди

СообщениеДобавлено: 08 ноя 2018, 18:26
bestann
Asterisk 15.6.1
Вызываю субрутину или непосредственно из очереди, или через membergosub (никакие аргументы не передаются) для записи разговоров и конвертирования в mp3.
Не пойму как формируется CALLERID(num) и где это описано в документации. Изначально это номер мобильного или городского, с которого звонили, но в субрутине очереди номер, с которого звонили, я получаю через ${CONNECTEDLINE(num)}, а ${CALLERID(num)} по показывает номер ответившего.
Например
Код: выделить все
${MEMBERINTERFACE}
показывает PJSIP/7003, а CALLERID(num) показывает 7003, но ведь звонок приходит на 7003, а не звонят с 7003.
${MEMBERNAME} отображает имя, прописанное для оператора в queues.conf, если статический, или в конфиге агентов, CALLERID(num) показывает имя телефона из pjsip_wizard.
Или если будут неответы каких-то операторов и с одного оператора звонок перейдет на другого будет уже какое-то некорректное значение?
Просто если в названии файла использовать MEMBERINTERFACE, надо еще из него вырезать PJSIP/, чтоб остался только номер.
Код: выделить все
same = n,Set(fname=${STRFTIME(,,%Y%m%d-%H%M%S)}-${CALLERID(num)}-${CONNECTEDLINE(num)}-${QUEUENAME})

Re: Странный Callerid для субрутины очереди

СообщениеДобавлено: 09 ноя 2018, 10:30
amateur
Пора, Анна, Вам заглянуть в исходный код Asterisk :)

Re: Странный Callerid для субрутины очереди

СообщениеДобавлено: 02 дек 2018, 23:22
shader
Это страшные дебри Asterisk....
В телефонном звонке обычно участвуют 2 канала. Условно: А и Б. И у обоих каналов СВОИ переменные.Это факт. (Это еще упрощенно, даже несколько грубо)
и тот subroute который Вы вызываете, возможно применяется к Б каналу. Или же, к примеру, такие же чудеса можно наблюдать, вызвав обработку вызова в event 'after-answer' для queue.
В общем, для начала, обратите внимание на каком канале происходит обработка сценария.