Страница 4 из 6

Re: Сквозной linkedid

Добавлено: 19 фев 2016, 16:23
serg
:(

Re: Сквозной linkedid

Добавлено: 19 фев 2016, 16:54
april22
а там не два подчеркивания ?

Re: Сквозной linkedid

Добавлено: 19 фев 2016, 17:22
serg
как я понял одно подчеркивание - переменная наследуется для одного доп.канала, два подчеркивания переменная качует по всем доп.каналам.

с одним и с двумя подчеркиванием не алле..

Re: Сквозной linkedid

Добавлено: 19 фев 2016, 17:25
serg
когда добавляю подчеркивание, вообще пропадает возможность переадресовать вызов, с помощью символов заданных в features.conf

Re: Сквозной linkedid

Добавлено: 19 фев 2016, 21:48
Samael28
whoim писал(а):а разве кто то юзает переадресацию средствами телефона?
Тот, кто умеет пользоваться телефоном :) Переадресации, трансферы... В общем по максимуму юзать именно телефон. И да, трехсторонние конференции тоже :)

Re: Сквозной linkedid

Добавлено: 20 фев 2016, 08:13
virus_net
serg писал(а):Если так прописать в диалплане с вызываемого номера 100 перестает работать переадресация по решетке
Это же никак не связано.
serg писал(а):exten => 100,1,Set(_METKA=${uniqueid})
serg писал(а):Как эту гребаную метку передать? ?
Cпереди к имени переменной в вашем случае все же нужно ДВА символа _
Затестил:

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

exten => 6010,1,Set(__METKA=${CHANNEL(linkedid)})
exten => 6010,n,Dial(SIP/6010,15,ti)
exten => 6003,1,NoOp(METKA = ${METKA} LinkDid = ${CHANNEL(linkedid)})
== Extension Changed 6000[users] new state Idle for Notify User 6003
-- Executing [6010@users:1] Set("SIP/6000-00003e90", "__METKA=1455944809.16729") in new stack
-- Executing [6010@users:2] Dial("SIP/6000-00003e90", "SIP/6010,15,ti") in new stack
== Extension Changed 6000[users] new state InUse for Notify User 6003
-- Called SIP/6010
-- SIP/6010-00003e91 is ringing
-- SIP/6010-00003e91 answered SIP/6000-00003e90
-- Started music on hold, class 'default', on SIP/6000-00003e90
-- <SIP/6010-00003e91> Playing 'pbx-transfer.gsm' (language 'ru')
...skiped...
-- Executing [6003@users:5] NoOp("Local/6003@users-00000162;2", "METKA = 1455944809.16729 LinkDid = 1455944809.16729") in new stack
Т.е. все работает как и ожидалось. Asterisk 1.8

Отсюда возникает такой вопрос:
Вы уверены что ваш номер 100 выполняет transfer НЕ средствами своего телефона ? Если "ДА" то не удивительно. Распечатайте ${CHANNEL(linkedid)} в обоих случаях, сразу будет видно.

+ показали бы выхлоп из CLI, чтобы была видна отработка вашего dialplan

Re: Сквозной linkedid

Добавлено: 24 фев 2016, 21:34
serg
Спасибо тебе друг! Ты очень помог!!!

Re: Сквозной linkedid

Добавлено: 25 фев 2016, 08:24
virus_net
Да пожалуйста конечно, но вместо этого лучше бы вы, для потомков (тех кто найдет сей топик через гугл), рассказали чем именно я помог и как все же была вами решена ваше проблема.
Т.к. по сути я не написал ничего нового, отличающегося от того, что уже было ранее озвучено в данном топике. Только использовал другую переменную канала в кач-ве примера.

Re: Сквозной linkedid

Добавлено: 25 фев 2016, 22:37
serg
В любом случае всем спасибо!

Да, пример для потомков без проблем :)

На Астере 1

exten => 100,1,Set(__METKA=${CHANNEL(linkedid)})
exten => 100,2,Set(CDR(userfield)=${CDR(uniqueid)});
exten => 100,3,NoOp(CDR(userfield) is ${CDR(userfield)});
exten => 100,4,Queue(queue,TtHh);
exten => 100,5,Hangup();

В очереди отвечает агент 101 и переводит вызов на номер 200(Астер 2)

exten => 200,1,Set(CDR(userfield)=${METKA});
exten => 200,2,NoOp(CDR(userfield) is ${CDR(userfield)});
exten => 200,3,SIPAddHeader(X-AsterMetka: ${METKA});
exten => 200,4,Dial(SIP/aster2/200,40,TtHh);
exten => 200,5,HangUP();

На Астере 2

exten => 200,1,Set(CDR(userfield)=${SIP_HEADER(X-AsterMetka)});
exten => 200,2,NoOp(CDR(userfield) is ${CDR(userfield)});
exten => 200,3,Set(__METKA=${SIP_HEADER(X-AsterMetka)});
exten => 200,4,Dial(SIP/200,40,TtHh);
exten => 200,5,HangUP();

Если далее вызываем с номера 200 другой номер на Астере 2, например 201, то:

exten => 201,1,Set(CDR(userfield)=${METKA});
exten => 201,2,NoOp(CDR(userfield) is ${CDR(userfield)});
exten => 201,3,Set(__METKA=${METKA});
exten => 201,4,Dial(SIP/201,40,TtHh);
exten => 201,5,HangUP();

Если отправляем вызов дальше на Астер 3, например на номер 300, то:

exten => 300,1,Set(CDR(userfield)=${METKA});
exten => 300,2,NoOp(CDR(userfield) is ${CDR(userfield)});
exten => 300,3,SIPAddHeader(X-AsterMetka: ${METKA});
exten => 300,4,Dial(SIP/aster3/300,40,TtHh);
exten => 300,5,HangUP();


Вместо номеров 200,201,300 конечно можно использовать шаблоны _X. либо _XXX и для Dial ${EXTEN}

Re: Сквозной linkedid

Добавлено: 25 фев 2016, 22:46
serg
Все здорово, пока опять на граблю не наступил, но уже с трансфером.

Если делать трансфер аппаратно, на телефоне метка не передается.
Если делать программно, на астере через # в features.conf, хоть условная, хоть безусловная переадресация все работает на ура, НО грабля вот в чем:

Прилетел вызов от клиента, оператор принял его, нажал в моем случае # (т.е. трансфер астером), поставил клиента на удержание(MOH), далее при неудачной попытки перевести вызов оператор возвращается к клиенту, все как бы нормально почти :)

Что сделать чтобы оператор при неудачном условном дозвоне до сотрудника не возвращался к клиенту, а смог попытаться дозвониться до другого сотрудника, только после этого объединить вызов. Т.е. пока оператор пытается найти нужного сотрудника, который готов принять вызов, клиент слушает MOH.

?

Аппаратно на телефоне понятно, вторая линия звони оператор сколько влезет пока клиент слушает MOH.

Мужики, подскажите куда копать?