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

Сквозной linkedid

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

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

ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Сквозной linkedid

Сообщение ded »

Ошибся, слишком бегло посмотрел, всё верно по п. 2)
serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Сквозной linkedid

Сообщение serg »

Коллеги, есть проблема, подскажите:

На номер очереди(200) поступает вызов, например с номера 300:

exten => 200,1,Set(CDR(userfield)=${CDR(uniqueid)}) - задаем uniqueid
exten => 200,2,NoOp(CDR(userfield) is ${CDR(userfield)}) - записаваем uniqueid в CDR
exten => 200,3,SIPAddHeader(X-AsterMetka: ${CDR(uniqueid)}) - создаем метку с uniqueid, запаковываем в SIP заголовок
exten => 200,4,Queue(test) - попадаем в очередь с номером 201


Оператор(номер 201) принимает вызов, ставит 300 на удержание, далее вызывает номер 400:


exten => 400,1,Set(CDR(userfield)=${SIP_HEADER(X-AsterMetka)}) - проверяем метку
exten => 400,2,NoOp(CDR(userfield) is ${CDR(userfield)}) - записываем метку в CDR
exten => 400,3,Dial(SIP/400) - вызываем номер 400

Для агента создается новый канал, метка не передается:
exten => 400,1,Set(CDR(userfield)=${SIP_HEADER(X-AsterMetka)}) - пусто, т.к. новый канал ничего не запаковано
exten => 400,2,NoOp(CDR(userfield) is ${CDR(userfield)})


С наследование переменной не получилось:

exten => 200,1,Set(__CDR(userfield)=${CDR(uniqueid)})
exten => 200,2,NoOp(__CDR(userfield) is ${CDR(userfield)})
exten => 200,3,SIPAddHeader(X-AsterMetka: ${CDR(uniqueid)})
exten => 200,4,Queue(test)

exten => 400,1,Set(CDR(userfield)=${SIP_HEADER(X-AsterMetka)})
exten => 400,2,NoOp(CDR(userfield) is ${CDR(userfield)})
exten => 400,3,Dial(SIP/400)

Подскажите, куда копать, как ее выцепить?
Samael28
Сообщения: 1057
Зарегистрирован: 08 янв 2011, 18:32
Откуда: Киев
Контактная информация:

Re: Сквозной linkedid

Сообщение Samael28 »

Ищите другие способы передачи переменной между серверами.
Или сохраняйте в момент ответа связку "метка - ответивший" в базу, а при звонке ответившего смотрите в эту базу и подмешивайте в звонок метку. А при hangup очищайте связку.
Мой профайл на Upwork
serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Сквозной linkedid

Сообщение serg »

Одинаковая метка должна оставаться в userfield и не подмешиваться при ответе агента и дозвона агента на другой номер.
serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Сквозной linkedid

Сообщение serg »

Как же так, заявлено наследование подчеркиванием:

http://asterisk.ru/knowledgebase/Asterisk+variables

exten => 104,1,Set(FEE=${fee})
exten => 104,2,Set(_FIE=${fie})
exten => 104,3,Set(__FUM=${fum})
exten => 104,4,Dial(SIP/105)

exten => 105,1,NoOp(${FEE})
exten => 105,2,NoOp(${FIE})
exten => 105,3,NoOp(${FUM})
exten => 105,4,Dial(SIP/106)

exten => 106,1,NoOp(${FEE})
exten => 106,2,NoOp(${FIE})
exten => 106,3,NoOp(${FUM})

Делаю по примеру, выхлоп 0

не наследует, как так?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Сквозной linkedid

Сообщение ded »

При звонке на 105 и 106 цепочка присвоений
Set(FEE=${fee})
Set(_FIE=${fie})
Set(__FUM=${fum})

не задействована, поэтому выхлоп 0
В примере то не exten => 104,4,Dial(SIP/105) а Local/105

Код: Выделить всё

exten => 104,1,Set(FEE=${fee})
exten => 104,2,Set(_FIE=${fie})
exten => 104,3,Set(__FUM=${fum})
exten => 104,4,Dial(Local/105)

exten => 105,1,NoOp(${FEE})
exten => 105,2,NoOp(${FIE})
exten => 105,3,NoOp(${FUM})
exten => 105,4,Dial(Local/106)

exten => 106,1,NoOp(${FEE})
exten => 106,2,NoOp(${FIE})
exten => 106,3,NoOp(${FUM})
Samael28
Сообщения: 1057
Зарегистрирован: 08 янв 2011, 18:32
Откуда: Киев
Контактная информация:

Re: Сквозной linkedid

Сообщение Samael28 »

А разве переменная выживет, если переадресация шла средствами телефона?
Мой профайл на Upwork
whoim
Сообщения: 766
Зарегистрирован: 26 ноя 2013, 23:25
Откуда: Краснодар
Контактная информация:

Re: Сквозной linkedid

Сообщение whoim »

а разве кто то юзает переадресацию средствами телефона?
облачные и локальные сервера asterisk/freepbx/a2billing/crm с полной техподдержкой. skype: whoim2, sipuri: whoim@asterisk.ru
serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Сквозной linkedid

Сообщение serg »

Да в примере с local, но это как пример:
Если мы в команде Set присоединим спереди к имени переменной одиночный символ _ , то в этом случае эта переменная будет унаследована каналом, который будет создан основным каналом, например, при использовании команды Dial(Local/...);
Даже без переадрессации не пробрасывает, если с телефона на телефон совершить вызов:

exten => 100,1,Set(_METKA=${uniqueid})
exten => 100,2,Dial(SIP/101)

exten => 101,1,NoOp(${METKA})
exten => 101,2,Dial(SIP/101)

wtf ?
serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Сквозной linkedid

Сообщение serg »

Мужики, ну помогите разобраться.

Если так прописать в диалплане с вызываемого номера 100 перестает работать переадресация по решетке, звездочке или все что укажу в features.conf для условной или безусловной переадресации:

exten => 100,1,Set(_METKA=${uniqueid})
exten => 100,2,Dial(SIP/100)

exten => 101,1,NoOp(${METKA})
exten => 101,2,Dial(SIP/101)

Как эту гребаную метку передать? ? :x :oops: :cry: :cry:
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH