Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Общего характера / Call Waiting оповещение звонящему

Call Waiting оповещение звонящему

Сообщений: 6521

Re: Call Waiting оповещение звонящему

Я понял, но содрогнулся. Второй звонок принимать надо, но как-то оповещать что человек на месте, но говорит по другой линии. IMHO - только датчик движения вмонтированый в телефон.

Сырая непродуманная бизнес-логика сразу оказывает влияние на модель поведения, и сразу выдаёт сырые задания на программирование этих процессов.
2009-08-03 17:28

Сообщений: 866

Re: Call Waiting оповещение звонящему

ну можно наверное входящий звонок не сразу в группу включать а только когда ответили - у Dial есть какие-то опции так что можно при ответе макро выполнить.

тогда это, наверное, решит задачу учитывать только реально имеющие место разговоры... но странно это как-то...
2009-08-03 17:45

Avatara of svoy
Откуда: Киев
Сообщений: 1096

Re: Call Waiting оповещение звонящему

я имел в виду, что не стоит вообще заморачиваться все это реализовывать. Сам по себе CW на * уже не нужен(ИМХО, причины выше). Если развернуть эту мысль дальше...

Если смотреть со стороны звонящего, то ему все равно чем занят адресат, если он сразу не берет трубку, видя что у него вторая линия. А ожидать пока адресат наговориться мало кто станет.

в итоге автор ТЗ просто сделает красивую, но ненужную фишку. Надеюсь, уже понятна моя логика :)

2009-08-03 17:47

Сообщений: 866

Re: Call Waiting оповещение звонящему

Если смотреть со стороны звонящего, то ему все равно чем занят адресат,
ну вы не можете быть вкурсе административных политик в данной конкретной фирме :) Может там начальство сказало "сделать чтобы было понятно занят или нет" и особо не поспоришь... Я тоже считаю что автор хочет странную фичу но имхо это не правильно рассказывать ему что же на самом деле ему нужно :=)
2009-08-03 19:05

Сообщений: 1573

Re: Call Waiting оповещение звонящему

dimas:

ну можно наверное входящий звонок не сразу в группу включать а только когда ответили - у Dial есть какие-то опции так что можно при ответе макро выполнить.
Это идея!

А вот и решение:

exten => _1XX,1,GotoIf($[${GROUP_COUNT(CURRENT)} > 0]?:dial)
exten => _1XX,n,Playback(abonent-govorit-po-drugoi-linii)
exten => _1XX,n(dial),Goto(ext-local,${EXTEN},1)


[ext-local]
...
exten => _1XX,n,Dial(SIP/${EXTEN},60,M(check))
...

[macro-check]
exten => s,1,Set(GROUP()=CURRENT)
2009-08-03 21:49

Откуда: Хабаровск
Сообщений: 82

Re: Call Waiting оповещение звонящему

Всем БОЛЬШОЕ спасибо, все получилось именно так как и хотелось! )) Особенная благодарность cron333 и dimas

ded:

Я понял, но содрогнулся. Второй звонок принимать надо, но как-то оповещать что человек на месте, но говорит по другой линии. IMHO - только датчик движения вмонтированый в телефон.

Сырая непродуманная бизнес-логика сразу оказывает влияние на модель поведения, и сразу выдаёт сырые задания на программирование этих процессов.

ded, Вы зануда..))

Если кому-нибудь будет интересно, для FreePbx:
1. В General Settings нужно добавить опцию Dial - M(checkCW)
В Asterisk Dial command options и Asterisk Outbound Dial command options
2. В extensions_custom.conf вписать
[macro-checkCW]
exten => s,1,Set(GROUP()=CURRENT)

3. Установить модуль Dialplan Injection
4. Добавить инъекцию на внутреннюю нумерацию
GotoIf($[${GROUP_COUNT(CURRENT)} < 1]?dial)
Playback(abonent-govorit-po-drugoi-linii)
ResetCDR()
(dial),Goto(ext-local,${EXTEN},1)
2009-08-04 09:31

Откуда: Хабаровск
Сообщений: 82

Re: Call Waiting оповещение звонящему

Данное решение не корректно работает как выяснилось. До этого проверял на тестовом где было всего 3-и абонента.
Решить все таки удалось, но немного через .опу. Если кому понадобится (в чем я не уверен -)), то могу описать как.
2009-08-05 10:58

Сообщений: 1573

Re: Call Waiting оповещение звонящему

В чем проявилась некорректность? Здесь вроде бы заблудиться негде ...

P.S. Количество абонентов никак не влияет на правильность/неправильность диал.плана ...
2009-08-06 00:16

Откуда: Хабаровск
Сообщений: 82

Re: Call Waiting оповещение звонящему

Все входящие вызовы прошедшие через macro-checkCW попадают в одну кучу. Например, 5 абонентов ведут разговор, я набираю номер свободного абонента - GROUP_COUNT(CURRENT) = 6. Исходящие вообще не учитывались т.к. в macro-checkCW прилетал только набранный номер. А при тестировании на 3-х, большего одного разговора в принципе не могло быть, вот и сложилось впечатление, что все отлично. Решил так:
1. Нужно передать аргументом в macro-checkCW номер с которого звонили (вот тут пришлось попотеть т.к. у меня FreePbx)
2. Входящие и исходящие учитывать в разных группах
[macro-checkCW]
exten => s,1,Set(GROUP(tocall)=${CALLERID(number)})
exten => s,n,Set(GROUP(fromcall)=${ARG1})
3. Проверять через ${GROUP_COUNT(${EXTEN})}
2009-08-06 02:48

Сообщений: 1573

Re: Call Waiting оповещение звонящему

markt:

Все входящие вызовы прошедшие через macro-checkCW попадают в одну кучу. Например, 5 абонентов ведут разговор, я набираю номер свободного абонента - GROUP_COUNT(CURRENT) = 6.
ну так нужно сделать отдельный подсчет, например так:

exten => _1XX,1,GotoIf($[${GROUP_COUNT(CURRENT_${EXTEN})} > 0]?:dial)
exten => _1XX,n,Playback(abonent-govorit-po-drugoi-linii)
exten => _1XX,n(dial),Goto(ext-local,${EXTEN},1)

[ext-local]
...
exten => _1XX,n,Dial(SIP/${EXTEN},60,M(check^${EXTEN}))
...

[macro-check]
exten => s,1,Set(GROUP()=CURRENT_${ARG1})

markt:

Исходящие вообще не учитывались т.к. в macro-checkCW прилетал только набранный номер. А при тестировании на 3-х, большего одного разговора в принципе не могло быть, вот и сложилось впечатление, что все отлично.

Зачем вам использовать тот же макросс при исходящих? Можно устанавливать группу в контексте для исходящих:

exten => _X.,1,Set(GROUP()=CURRENT_${CALLERID(num)}))
exten => _X.,n,Dial ...

хотя можно и макросс:

exten => _X.,1,Macro(check,${CALLERID(num)})
exten => _X.,n,Dial ...
2009-08-06 12:32

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru