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

Геморой с переводом звонков

1 2>
Откуда: Таганрог
Сообщений: 12

Геморой с переводом звонков

Добрый день.
Извините за такую избитую тему как перевод звонков.
НО я с этим гемороем разбираюсь уже 4 месяца!!!
Заранне прошу прощения за мои эмоции, если кто поможет или даст дельный совет помогу материально!!!!

Опишу проблему, приложу конфиги и дебаги кто сможет помогите!!!

Ситема: FreeBSD 5.3-RELEASE
Asterisk: asterisk-1.2.12 (стояла и 1.2.1 и 1.2.4)
Железо: Сип телефон FreeSet (00103), шлюз Asotel(00101,00102) и шлюзы AddPac
Работаю по СИПУ

Трансфер работает в одностороннем режиме.
Есть три телефона № 00101, 00102 , 00103
для простоты эксперимента все они находяться в одном контексте office.


Эксперемент №1 безусловный трансфер - трансфер без подтверждения
Звоню с 00101 на 00102, далее с 00102 делаю безусловный трансфер на 00103. После нажатия на *1 Астериск говорит введите номер для перевода я ввожу 00103#. ПОСЛЕ нажатия последней цифры номера 3 чегото происходит и я сного разговариваю с номером 00101.

В логах ничего нет!

ПРИЧЕМ: если в данном эксперименте делать трансфер не с номера 00102 на который я звоню а с ПОЗВОНИВШЕГО 00101,
то трансфер срабатывает !!!!!!!

Эксперемент №2 условный трансфер - трансфер с подтверждением
Звоню с 00101 на 00102, далее с 00102 делаю условный трансфер на 00103. После нажатия на *2 Астериск говорит введите номер для перевода я ввожу 00103#. ПОСЛЕ нажатия последней цифры номера 3 чегото происходит и я сного разговариваю с номером 00101.

В логах пишется следующее
WARNING[20855] res_features.c: Did not read data.

ПРИЧЕМ: если в данном эксперименте делать трансфер не с номера 00102 на который я звоню а с ПОЗВОНИВШЕГО 00101,
то трансфер срабатывает !!!!!!!


Вот такая петрушка.
Все логи ниже.

extensions.conf :zz

[general]
static=yes
writeprotect=no
autofallthrough=yes

[globals]
All => Sip/00101@XXX.XX.XX.22&Sip/00102@XXX.XX.XX.22&Sip/00103@XXX.XX.XX.22
Mik => Sip/00101@XXX.XX.XX.22
Nata => Sip/00102@XXX.XX.XX.22
Tatiana => Sip/00103@XXX.XX.XX.22


DYNAMIC_FEATURES => hangup#play#testfeature
DYNAMIC_FEATURES => automon

[macro-stdexten];

exten => s,1,Dial(${ARG2},10,tw)
exten => s,2,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Dial(${All},15,tw)
exten => s-BUSY,1,Dial(${All},15,tw)
exten => _s-.,1,Goto(s-NOANSWER,1)

[office]

exten => _100,1, Dial(${All},15,tTwW)
exten => _101,1, Dial(${Mik},1500,tTwW)
exten => _102,1, Dial(${Nata},15,tTwW)
exten => _103,1, Dial(${Tatiana},15,tTwW)
exten => _[2457]XXXX,1, Dial(SIP/AddPac29/${EXTEN},100,WT)
exten => _[87]XXXXXXXXXX,1, Dial(SIP/Ser/${EXTEN},100,WT)

exten => _9,1,Set(GROUP=XXXXXX)
exten => _9,2,PickUp(${GROUP})
exten => _*.,1,Pickup(${EXTEN:1}) ;PickUp the extension
;exten => *8,1,PickUP()

include => parkedcalls

[outside]
exten => _XXXXXX,1,Macro(stdexten,XXXXXX,${Tatiana})

[default]
include => office
include => outside
include => parkedcalls

sip.conf :zz

[general]
context=outside
realm=XXX
bindport=5060
bindaddr=XXX.XX.XX.17
recordhistory=yes
disallow=all
allow=g723
allow=g729
allow=gsm
allow=alaw
allow=ulaw
useragent=XXX PBX
canreinvite=no
qualify=no
nat=no
dtmfmode=rfc2833
autocreatepeer=yes
subscribecontext = default
notifyringing = no
sipdebug=no


[00101]
type=friend
host=dynamic
canreinvite=no
context=office
callerid="Mik" <101>
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
;cancallforward=yes
disallow=all
allow=alaw
allow=ulaw
allow=g723
allow=g729

[00102]
type=friend
host=dynamic
canreinvite=no
context=office
callerid="Nata" <102>
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
disallow=all
allow=alaw
allow=ulaw
allow=g723
allow=g729
threewaycalling=yes
transfer=yes
cancallforward=yes

[00103]
type=friend
host=dynamic
dtmfmode=rfc2833
callerid="Tatiana" <103>
canreinvite=no
context=office
callgroup=1
pickupgroup=1
disallow=all
allow=g723


[Ser]
type=friend
host=XXX.XX.XX.2
context=outside
canreinvite=no
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
disallow=all
allow=g723
allow=g729

[AddPac29]
type=friend
host=XXX.XX.XX.29
context=office
canreinvite=no
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
disallow=all
allow=alaw
allow=ulaw
allow=g723
allow=g729

features.conf

[general]
parkext => 700
parkpos => 701-720
context => parkedcalls
parkingtime => 600
transferdigittimeout => 10
courtesytone = beep

xfersound = beep
xferfailsound = beeperr
pickupexten = *8

[featuremap]
blindxfer => *1
disconnect => *0
automon => *3
atxfer => *2


C Уважением Виталий.
2006-09-28 19:27

Откуда: Таганрог
Сообщений: 12

Re: Геморой с переводом звонков

Добрый день.
Извините за такую избитую тему как перевод звонков.
НО я с этим гемороем разбираюсь уже 4 месяца!!!
Заранне прошу прощения за мои эмоции, если кто поможет или даст дельный совет помогу материально!!!!

Опишу проблему, приложу конфиги и дебаги кто сможет помогите!!!

Ситема: FreeBSD 5.3-RELEASE
Asterisk: asterisk-1.2.12 (стояла и 1.2.1 и 1.2.4)
Железо: Сип телефон FreeSet (00103), шлюз Asotel(00101,00102) и шлюзы AddPac

Трансфер работает в одностороннем режиме.
Есть три телефона № 00101, 00102 , 00103
для простоты эксперимента все они находяться в одном контексте office.

Эксперемент №1 безусловный трансфер - трансфер без подтверждения
Звоню с 00101 на 00102, далее с 00102 делаю безусловный трансфер на 00103. После нажатия на *1 Астериск говорит

введите номер для перевода я ввожу 00103#. ПОСЛЕ нажатия последней цифры номера 3 чегото происходит и я сного

разговариваю с номером 00101.
В логах ничего нет!
ПРИЧЕМ: если в данном эксперименте делать трансфер не с номера 00102 на который я звоню а с ПОЗВОНИВШЕГО 00101,
то трансфер срабатывает !!!!!!!

Эксперемент №2 условный трансфер - трансфер с подтверждением
Звоню с 00101 на 00102, далее с 00102 делаю условный трансфер на 00103. После нажатия на *2 Астериск говорит введите

номер для перевода я ввожу 00103#. ПОСЛЕ нажатия последней цифры номера 3 чегото происходит и я сного

разговариваю с номером 00101.
В логах пишется следующее
WARNING[20855] res_features.c: Did not read data.
ПРИЧЕМ: если в данном эксперименте делать трансфер не с номера 00102 на который я звоню а с ПОЗВОНИВШЕГО 00101,
то трансфер срабатывает !!!!!!!

Вот такая петрушка.
Все логи ниже.

extensions.conf :zz

[general]
static=yes
writeprotect=no
autofallthrough=yes

[globals]
All =&gt; Sip/00101@XXX.XX.XX.22&Sip/00102@XXX.XX.XX.22&Sip/00103@XXX.XX.XX.22
Mik =&gt; Sip/00101@XXX.XX.XX.22
Nata =&gt; Sip/00102@XXX.XX.XX.22
Tatiana =&gt; Sip/00103@XXX.XX.XX.22


DYNAMIC_FEATURES =&gt; hangup#play#testfeature
DYNAMIC_FEATURES =&gt; automon

[macro-stdexten];

exten =&gt; s,1,Dial(${ARG2},10,tw)
exten =&gt; s,2,Goto(s-${DIALSTATUS},1)
exten =&gt; s-NOANSWER,1,Dial(${All},15,tw)
exten =&gt; s-BUSY,1,Dial(${All},15,tw)
exten =&gt; _s-.,1,Goto(s-NOANSWER,1)

[office]

exten =&gt; _100,1, Dial(${All},15,tTwW)
exten =&gt; _101,1, Dial(${Mik},1500,tTwW)
exten =&gt; _102,1, Dial(${Nata},15,tTwW)
exten =&gt; _103,1, Dial(${Tatiana},15,tTwW)
exten =&gt; _[2457]XXXX,1, Dial(SIP/AddPac29/${EXTEN},100,WT)
exten =&gt; _[87]XXXXXXXXXX,1, Dial(SIP/Ser/${EXTEN},100,WT)

exten =&gt; _9,1,Set(GROUP=XXXXXX)
exten =&gt; _9,2,PickUp(${GROUP})
exten =&gt; _*.,1,Pickup(${EXTEN:1}) ;PickUp the extension

include =&gt; parkedcalls

[outside]
exten =&gt; _XXXXXX,1,Macro(stdexten,XXXXXX,${Tatiana})

[default]
include =&gt; office
include =&gt; outside
include =&gt; parkedcalls

sip.conf :zz

[general]
context=outside
realm=XXX
bindport=5060
bindaddr=XXX.XX.XX.17
recordhistory=yes
disallow=all
allow=g723
allow=g729
allow=gsm
allow=alaw
allow=ulaw
useragent=XXX PBX
canreinvite=no
qualify=no
nat=no
dtmfmode=rfc2833
autocreatepeer=yes
subscribecontext = default
notifyringing = no
sipdebug=no


[00101]
type=friend
host=dynamic
canreinvite=no
context=office
callerid="Mik" &lt;101&gt;
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
;cancallforward=yes
disallow=all
allow=alaw
allow=ulaw
allow=g723
allow=g729

[00102]
type=friend
host=dynamic
canreinvite=no
context=office
callerid="Nata" &lt;102&gt;
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
disallow=all
allow=alaw
allow=ulaw
allow=g723
allow=g729
threewaycalling=yes
transfer=yes
cancallforward=yes

[00103]
type=friend
host=dynamic
dtmfmode=rfc2833
callerid="Tatiana" &lt;103&gt;
canreinvite=no
context=office
callgroup=1
pickupgroup=1
disallow=all
allow=g723


[Ser]
type=friend
host=XXX.XX.XX.2
context=outside
canreinvite=no
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
disallow=all
allow=g723
allow=g729

[AddPac29]
type=friend
host=XXX.XX.XX.29
context=office
canreinvite=no
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
disallow=all
allow=alaw
allow=ulaw
allow=g723
allow=g729

features.conf

[general]
parkext =&gt; 700
parkpos =&gt; 701-720
context =&gt; parkedcalls
parkingtime =&gt; 600
transferdigittimeout =&gt; 10
courtesytone = beep

xfersound = beep
xferfailsound = beeperr
pickupexten = *8

[featuremap]
blindxfer =&gt; *1
disconnect =&gt; *0
automon =&gt; *3
atxfer =&gt; *2


C Уважением Виталий.
2006-09-28 20:40

Сообщений: 1530

Re: Геморой с переводом звонков

Первое, что проверить -- dtmfmode и в шлюзах и в asterisk'е.
Второе -- 'T' и 't'. Их главное неперепутать. Может для начала везде указать и T и t.
У меня с transfer'ом все в порядке.
Сейчас в том числе возврат звонка обратно, если абонент занят тоже сделал -- все довольны.
http://www.telecomtechnology.net - premium терминация
2006-09-28 21:53

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Геморой с переводом звонков

tma, не хочешь howto написать?
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2006-09-28 22:46

Сообщений: 1530

Re: Геморой с переводом звонков

Плохой из меня писатель. ;(
Я тут воюю с panasonic'ами своими. Если с Linksys PAP2 я их вроде бы заставил работаь, так с D-Link DVG-2004S они нивкакую не работают. ;(
Эти D-Link'и ужасно тупые... ;( В результате проходят только 0,5,6 и 9 ;)
Единственный способ лечения -- замена телефонов на != panasonic.
http://www.telecomtechnology.net - premium терминация
2006-09-28 23:07

Откуда: Таганрог
Сообщений: 12

Re: Геморой с переводом звонков

tma спасибо за ответы.
1) смотрите внимательно конфиги!! ТАМ и t и T стоят.
2)dtmfmode у меня везде dtmfmode=rfc2833
3) внимательно посмотрите на эксперементы!!!

Если не сложно опишите что у вас за система, что за версия астериска и если можно конфиги *.

Тут ответ на вопрос мне кажется гораздо сложнее, нежели "а почему у вас машина не заводиться
ааааа вы наверное ключи в зажигание не вставили " :)

Раскажите как всетаки работает "возврат звонка обратно"??

С уважением Виталий
2006-09-29 14:15

Сообщений: 1530

Re: Геморой с переводом звонков

Да, я видел и T, и t.
Я же написал -- обратить внимание на то, чтобы стояли соответствующие флаги!



[macro-stdexten]

exten => s,1,Dial(${ARG2},10,tw) ; тут только 't'!
... skip ...

exten => _100,1, Dial(${All},15,tTwW); здесь ненужно писать '_'.

exten => _9,1,Set(GROUP=XXXXXX); здесь тоже '_' ненужно.

exten => _XXXXXX,1,Macro(stdexten,XXXXXX,${Tatiana}) ; вот этот звонок уйдет только с 't'.


Если Вы приведете лог звонка, чтобы был виден Dial с опциями, то будет проще разобраться.
Так нужно пытаться понять Вашу логику dialplan'а, а у всех и своих дел погорло...
http://www.telecomtechnology.net - premium терминация
2006-09-29 16:03

Сообщений: 1530

Re: Геморой с переводом звонков

transfer в случае неответа я реализовывал пользуясь подсказкой:
http://www.asterisk-support.ru/forums/configuration/226694982345
Только у меня звонки поступают в очередь и возвращаются обратно в очередь, т.е. выяснять обратный номер ненужно -- он всегда один.
Точнее с этим есть проблемы -- в случае с очередью, сведения о том, кто перевел звонки, не понятно где хранится... ;(
http://www.telecomtechnology.net - premium терминация
2006-09-29 16:06

Откуда: moskow
Сообщений: 26

Re: Геморой с переводом звонков

tma:

Плохой из меня писатель. ;(
Я тут воюю с panasonic'ами своими. Если с Linksys PAP2 я их вроде бы заставил работаь, так с D-Link DVG-2004S они нивкакую не работают. ;(
Эти D-Link'и ужасно тупые... ;( В результате проходят только 0,5,6 и 9 ;)
Единственный способ лечения -- замена телефонов на != panasonic.
Насчет телефонов панасоников, думаю тут есть два варианта (я в свое время с ними тоже намучался) так вот, либо длинки глухие, либо панасоники громко орать неумеют.. точнее их на шопот ставят производители )))

вобщем лечитцо это подкручиванием резисторика снизу панасоника, там есть 3 регулятора, помоему самый нижний, их назначения как раз на громкость и чувствительность динамика, микрофона и дтмфа.
2009-02-17 01:11

Откуда: moskow
Сообщений: 26

Re: Геморой с переводом звонков

с переводом тоже проблема, при вводе комбинации перевода, включается холд, а после набора первой цифры возвращаемся в разговор, в логе features.c: Did not read data.

звонок идет с пира на городской номер, а там чел должен его перевести куда потребуется
sip.conf
[general]
allowoverlap=no ; Disable overlap dialing support. (Default is yes)
bindport=5060 ; UDP Port to bind to (SIP standard port is 5060)
bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all)
srvlookup=no ; Enable DNS SRV lookups on outbound calls
rtcachefriends=yes ;кеширование
relaxdtmf=yes ; Relax dtmf handling
dtmfmode = rfc2833
subscribecontext=contr
notifybusy=yes
usereqphone = yes
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
useclientcode=yes
limitonpeers=yes
allowguest = no
subscribecontext=contr
mohinterpret=default
mohsuggest=default
[xxx]
type = friend
username=xxx
secret=xxx
fromuser = xxx
fromdomain=xxx
host = xxx
port = 5060
nat=yes
canreinvite = no
insecure=invite,port
qualify = yes
context = ext
disallow=all
allow = alaw

extensions.conf
[general]
static=yes
writeprotect=no
[ext]
exten => s,1,Dial(DAHDI/r1/xxxxxxx,360,rtT)
exten => X.,1,Dial(DAHDI/r1/${EXTEN},360,rtT)

features.conf
[general]
parkext => 700 ; What extension to dial to park
parkpos => 701-720 ; What extensions to park calls on. These needs to be
context => parkedcalls ; Which context parked calls are in
parkingtime => 120 ; Number of seconds a call can be parked for
parkedmusicclass=default ; This is the MOH class to use for the parked channel
transferdigittimeout => 999999999 ; Number of seconds to wait between digits when transferring a call
pickupexten = *8 ; Configure the pickup extension. (default is *8)
featuredigittimeout = 999999999 ; Max time (ms) between digits for
atxfernoanswertimeout = 999999999 ; Timeout for answer on attended transfer default is 15 seconds.

[featuremap]
blindxfer => *4 ; Blind transfer (default is #)
disconnect => *3 ; Disconnect (default is *)
automon => *2 ; One Touch Record a.k.a. Touch Monitor
atxfer => *# ; Attended transfer
parkcall => *1 ; Park call (one step parking)
2009-02-17 01:27

1 2>
Добавить страницу в закладки:  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