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

Attended Transfer

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

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

Ответить
call
Сообщения: 35
Зарегистрирован: 06 сен 2011, 13:15

Attended Transfer

Сообщение call »

Вопрос по поведению * в определенной ситуации при AT:

А звонит Б, тот отвечает и переводит (АТ) на С. Не дожидаясь ответа С, Б кладет трубку. С - не принимает вызов (сбрасывает и т.д.). Через определенный таймаут вызов возвращается к Б (идет дозвон), но Б тоже не принимает этот возврат. Вызов завершается и канал А попадает в экстен h ...

Что можно сделать, что бы вызов не завершался, а шел дальше по контексту?
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Attended Transfer

Сообщение awsswa »

Первый вариант
(Все настроено для трехзначной нумерации)

[internal]

exten => _XXX,1,Dial(SIP/${EXTEN:0:3},30,tT)

exten => _XXX,n,Goto(s-${DIALSTATUS},1)

exten => s-BUSY,1,Goto(busy-i,s,1)

exten => s-CONGESTION,1,Goto(busy-i,s,1)

exten => s-NOANSWER,1,Goto(noanswer-i,s,1)

exten => s-CHANUNAVAIL,1,Goto(nedostupen-i,s,1)

[busy-i]

exten => s,1,Background(abonent)

exten => s,n,Background(zanjat)

exten => s,n,GotoIf($["${BLINDTRANSFER}"!=""]?blind)
exten => s,n,HangUp
exten => s,n(blind),Dial(SIP/${BLINDTRANSFER:4:3},24,tT)

[noanswer-i]

exten => s,1,Background(abonent)

exten => s,n,Background(ne-otvechaet)

exten => s,n,GotoIf($["${BLINDTRANSFER}"!=""]?blind)
exten => s,n,HangUp
exten => s,n(blind),Dial(SIP/${BLINDTRANSFER:4:3},24,tT)

[nedostupen-i]
exten => s,1,Background(abonent)

exten => s,n,Background(T-is-not-available)

exten => s,n,GotoIf($["${BLINDTRANSFER}"!=""]?blind)
exten => s,n,HangUp
exten => s,n(blind),Dial(SIP/${BLINDTRANSFER:4:3},24,tT)

Второй вариант:

exten => _XXX,1,GotoIf($["${BLINDTRANSFER}"!=""]?blind,${EXTEN},1)


[blind]
exten => _XXX,1,NoOp(See for transfer from: ${BLINDTRANSFER})
exten => _XXX,n,Dial(SIP/${EXTEN},20,tT)
exten => _XXX,n,Goto(n-${DIALSTATUS})

exten => _XXX,n(n-BUSY),Playback(abonent-zanjat)
exten => _XXX,n,Dial(SIP/${BLINDTRANSFER:4:3},10,tT)
exten => _XXX,n,Hangup

exten => _XXX,n(n-NOANSWER),Playback(abonent&ne-otvechaet)
exten => _XXX,n,Dial(SIP/${BLINDTRANSFER:4:3},10,tT)
exten => _XXX,n,Hangup
платный суппорт по мере возможностей
call
Сообщения: 35
Зарегистрирован: 06 сен 2011, 13:15

Re: Attended Transfer

Сообщение call »

Спасибо. ) Но вы "говорите" о BLINDTRANSFER, а вопрос о ATTENDED TRANSFER!
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Attended Transfer

Сообщение awsswa »

Честно говоря, вопрос у вас вообще не про трансфер - после h, отправляйте снова на голосовое меню.
Пример выше, перепишите под себя как вам хочется
платный суппорт по мере возможностей
call
Сообщения: 35
Зарегистрирован: 06 сен 2011, 13:15

Re: Attended Transfer

Сообщение call »

Вопрос про трансфер (АТ)!

По поводу отправлять из h в голосовое меню - не получиться, потому, что в версии 1.8 изменено поведение системы в этом экстене, вкратце - голосовой поток закрывается (
Samael28
Сообщения: 1057
Зарегистрирован: 08 янв 2011, 18:32
Откуда: Киев
Контактная информация:

Re: Attended Transfer

Сообщение Samael28 »

При возвращении звонка в самое начало (Б) сделайте проверку, а был ли звонок оттрансферен? Какими средствами Вы это делаете?
Мой профайл на Upwork
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Attended Transfer

Сообщение awsswa »

exten => _XXXX,1,Dial(SIP/${EXTEN},20,tT)
exten => _XXXX,n,GotoIf($[ "x${BLINDTRANSFER}" = "x" ]?noBT)
exten => _XXXX,n,Set(DIALRET=${CUT(BLINDTRANSFER,-,1)});
exten => _XXXX,n,Goto(dRet)
exten => _XXXX,n(noBT),GotoIf($[ "x${TRANSFERERNAME}" = "x" ]?sai)
exten => _XXXX,n,Set(DIALRET=${CUT(TRANSFERERNAME,-,1)});
exten => _XXXX,n(dRet),Set(CALLERID(all)=RET_${EXTEN} <${CALLERID(num)}>)
exten => _XXXX,n,Dial(${DIALRET},,mTt)
exten => _XXXX,n(sai),Hangup()
платный суппорт по мере возможностей
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH