Проблема многоканальности в софтфонах, call-limit
Сообщений: 26
|
Проблема многоканальности в софтфонах, call-limit
Пытаюсь решить проблему многоканальности в софтфонах.
Внедряем корпоративно IP телефонию, возникло большое неудобство при групповом входящем звонке. Менеджер отвечает на звонок и начинает звинеть труба во время второго звонка.
Решаю это так:
в sip.conf
call-limit=1
Если звонок на группу приходит с сип телефона, то второй звонок нормально отшивается. Но если приходит звонок с FXO шлюза, то * игнорирует эту установку и заруливает второй звонок на телефон.
Есть решения?
|
Откуда: Киев
Сообщений: 749
|
Re: Проблема многоканальности в софтфонах, call-limit
asterisk 1.2.*
exten => _X.,1,set(GROUP()=mygroup)
exten => _X.,2,gotoif($[ "${GROUP_COUNT()} >1 ]?20:10)
exten => _X.,10,DIAL(SIP/telephone,,);zdes' esli net zvonkov
....
exten => _X.,20,noop;zdes' esli est' zvonki
....
|
Сообщений: 26
|
Re: Проблема многоканальности в софтфонах, call-limit
Спасибо.
рабочая конструкция получилась такой:
exten => _X.,1,SetGroup(mygroup)
exten => _X.,2,gotoif($[${GROUP_COUNT()} >1 ]?20:10)
exten => _X.,10,DIAL(SIP/telephone,,);zdes' esli net zvonkov
....
exten => _X.,20,noop;zdes' esli est' zvonki
....
Но к сожалению это работает только для второго входящего звонка. Т.е. если человек сам кому то позвонил, то второй звонок ему все равно проходит. Как запретить звонок на телефон с которого сейчас происходит исходящий вызов - непонятно.
|
Сообщений: 569
|
Re: Проблема многоканальности в софтфонах, call-limit
а подумать?
|
Сообщений: 26
|
Re: Проблема многоканальности в софтфонах, call-limit
Очень содержательный ответ, поясняющий и объясняющий практически все...
Извините за флуд.
|
Откуда: Киев
Сообщений: 749
|
Re: Проблема многоканальности в софтфонах, call-limit
ну тогда поясним...
вот у тебя есть номер на астериске например 11111
стоит так
exten => 11111,1, DIAL(SIP/softphone)
а делаешь так
exten => 11111,1,set(group()=....
что не понятно?
или как ты между ними - напрямую что ли звонишь?
|
Сообщений: 26
|
Re: Проблема многоканальности в софтфонах, call-limit
попробую уточнить..
есть групповой вызов
exten => **2222222,1,Set(CHANNEL_NAME_CALLBACK=vozvrat2222222)
exten => **2222222,n,Dial(SIP/201&SIP/202&SIP/203&SIP/204&SIP/205&SIP/206&SIP/207&SIP/208&SIP/209&SIP/210,,rTtgj) ;звонит до поднятия трубки, либо до окончания посылок вызова
exten => **2222222,n,Goto(endcall,s,1)
exten => **2222222,103,Wait(10) ;так сделаны очереди звонков
exten => **2222222,104,Goto(**2222222,2)
правило для вернувшихся звонков:
[vozvrat2222222]
exten => s,1,Dial(SIP/201&SIP/202&SIP/203&SIP/204&SIP/205&SIP/206&SIP/207&SIP/208&SIP/209&SIP/210,60,rTtgj) ;введен таймаут для принудительного отбоя
exten => s,n,Goto(endcall,s,1)
exten => s,102,Goto(endcall,s,1)
Описаны сипы:
exten => 201,1,GotoIf($["${CALLERIDNUM:0:2}" = "**]?1000:2000)
;Номера начинаются с ** - звонок с внешней городской линии, либо на группу
exten => 201,1000,SetGroup(Gr${EXTEN})
exten => 201,n,GotoIf($[${GROUP_COUNT(Gr${EXTEN})}>1]?1100:1200)
;По телефону уже разговаривают
exten => 201,1100,Set(NoAnswerCall=${EXTEN})
exten => 201,n,Goto(vozvrat,s,1)
;Иначе если телефон свободен то:
exten => 201,1200,Dial(SIP/${EXTEN},30,rTtg)
exten => 201,n,Goto(endcall,s,1)
;Остальные, внутренние
exten => 201,2000,SetGroup(Gr${EXTEN})
exten => 201,n,GotoIf($[${GROUP_COUNT(Gr${EXTEN})}>1]?2100:2200)
;Номер занят
exten => 201,2100,Playback(add-on/number-busy)
exten => 201,n,Goto(endcall,s,1)
;Номер свободен
exten => 201,2200,Dial(SIP/${EXTEN},30,rTtg)
exten => 201,n,Goto(endcall,s,1)
Правило возврата:
[vozvrat]
exten => s,1,Playback(add-on/number-busy)
exten => s,2,CUT(BACK=DIALEDPEERNAME,-,1)
exten => s,3,SetCIDName(BO3BPAT ${CALLERIDNUM}->${BACK:-3}->${NoAnswerCall}) ;сохранение и высвечивание истории на телефоне кто звонил, кто переводил, куда переводил
exten => s,4,Dial(${BACK},30,rTtjg)
exten => s,5,Goto(endcall,s,1)
exten => s,105,Goto(${CHANNEL_NAME_CALLBACK},s,1) ;если телефон уже занят который делал перевод, звонок опять уходт на группу
Вот собственно и практически все, опускаю не существенные экстеншены типа endcall.
Задача чтобы при звонке на группу, у менеджера совершающего собственный вызов, при групповом вызове телефон у него не звонил.
|
Сообщений: 26
|
Re: Проблема многоканальности в софтфонах, call-limit
в догонку:
при установке call-limit=1,
при попытке вызова этого телефона, если он уже занят (неважно вхождящий или исходящий звонок), одним абонентом, все отрабатывается нормально, * сообщает что номер нельзя вызвать и т.д. по писанному, но если происходит групповой вызов, то второй звонок почемуто проходит.
|
Откуда: Санкт-Петербург
Сообщений: 203
|
Re: Проблема многоканальности в софтфонах, call-limit
Насчет подумать, смысл был прост.
Исходим из этого:
> рабочая конструкция получилась такой:
> exten => _X.,1,SetGroup(mygroup)
> exten => _X.,2,gotoif($[${GROUP_COUNT()} >1 ]?20:10)
Теперь подумаем, а как сделать тоже самое при исходящих звонках с этого номера...
Наверно надо тоже группу установить?
А групповой вызов на то и групповой, что занятому абоненту звонить не будем.
|
Сообщений: 26
|
Re: Проблема многоканальности в софтфонах, call-limit
>Теперь подумаем, а как сделать тоже самое при исходящих звонках с этого номера...
>Наверно надо тоже группу установить?
ответь же вы прямо наконецто....
КАК??? сделать что если сип/201 куда звонит, диал(сип/201&сип/202) звонил только на 202
>А групповой вызов на то и групповой, что занятому абоненту звонить не будем.
ктобы спорил
|
|