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

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

Проблемы Asterisk без вэб-оболочек и их решения

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

Ответить
bestann
Сообщения: 38
Зарегистрирован: 13 янв 2012, 01:03

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

Сообщение 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})
amateur
Сообщения: 453
Зарегистрирован: 30 сен 2011, 09:58

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

Сообщение amateur »

Пора, Анна, Вам заглянуть в исходный код Asterisk :)
shader
Сообщения: 117
Зарегистрирован: 09 авг 2013, 10:33

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

Сообщение shader »

Это страшные дебри Asterisk....
В телефонном звонке обычно участвуют 2 канала. Условно: А и Б. И у обоих каналов СВОИ переменные.Это факт. (Это еще упрощенно, даже несколько грубо)
и тот subroute который Вы вызываете, возможно применяется к Б каналу. Или же, к примеру, такие же чудеса можно наблюдать, вызвав обработку вызова в event 'after-answer' для queue.
В общем, для начала, обратите внимание на каком канале происходит обработка сценария.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH