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

Перевод звонка по таймауту на другой номер

1 2>
Сообщений: 54

Перевод звонка по таймауту на другой номер

Помогите разобраться. Звонок приходит с внешнего мира, делается Dial на определенный exten, если в течение определенного времени не поднимается трубка необходимо звонок перевести на другой номер например мобильный. Вот как я это реализовал

exten => 123,1,Dial(SIP/${EXTEN},5)
exten => 123,2,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?:3:4)
exten => 123,3,Dial(SIP/Provider/123456789)
exten => 123,4,Hangup

Если в течение 5 сек не поднимают трубку, осуществляется Dial на внешний номер. Человек поднимает трубку на мобильном слышит голос и через несколько секунд связь обрывается. В чем могут быть проблемы ? Вообще как такие задачи реализовывают ?
2009-04-16 12:43

Сообщений: 1573

Re: Перевод звонка по таймауту на другой номер

можно проще (но будет перезванивать и по другим не отвеченным статусам):

exten => 123,1,Dial(SIP/${EXTEN},5)
exten => 123,n,Dial(SIP/Provider/123456789,60)
exten => 123,n,Hangup

и попробуйте явно указать таймаут.
2009-04-16 13:10

Сообщений: 54

Re: Перевод звонка по таймауту на другой номер

Да тут дело вот в чем. Есть схема работы.
asterisk -> Audiocodes Meidant -> E1 -> PSTN
Звоним абоненту на городской номер, звонок проходит на астер.
Абонент не поднимает трубку. Звоним дальше по таймауту на другой номер (на мобильник).Абонент поднимает трубку, слышен голос. Но как я понимаю телефонная станция ожидает Connect и не получая его рвет соединение через 5-6 сек.
На консоли получаем
chan_sip.c:2110 __sip_autodestruct: Autodestruct on dialog '47e18354221cd22f57d4080c0236ee39@X.X.X.X' with owner in place (Method: INVITE)
Звонок по сипу приходит с Audiocodes, абонет не берет трубу, через таймаут мы звоним через медиант на мобильный.

Для пущей вероятности установим правильно АОН.
Set(CALLERID(number)=4951234567) перед Dial
Звонок приходит, абоненты слышат друг друга, дальше разрыв после 5-6 сек.
2009-04-16 17:08

Сообщений: 866

Re: Перевод звонка по таймауту на другой номер

Я правильно понимаю что если внутренний абонент (не на мобильном) ответил, ьо в е ок и никаких разрывов не происходит?

мне бы лично помогло если бы вы могли снять лог с core set debug 3, core set verbose 3 и sip set debug.

Но это при условии что вы можете найти время для проведения эксперимента когда активности на станции нет потому как sip debug будет сыпаться по всем звонкам и всем зарегистрированным телефонам.
Интересно собственно посмотреть что происходит в SIP'е звонка Mediant->Asterisk->SIPProvider.
2009-04-16 22:52

Сообщений: 1573

Re: Перевод звонка по таймауту на другой номер

canreinvite=no ...?
2009-04-17 00:23

Сообщений: 54

Re: Перевод звонка по таймауту на другой номер

canreinvite на Mediant стоит yes.
Сейчас уже астер под нагрузкой. Я думаю сварганить тестовый и так же подсоединить его к медианту и зарулить туда один номер, там и сниму дебаг. Маленькое уточнение. Астериск патченый. Оригинальный когда я подсоединил факс к нему при попытке передачи постоянно ругался на udptl и unknown frame. Факсовый аппарат присоединялся к 2 портовому Audiocode MP. С asteriskforum.ru я взял патчи T38 любезнопредоставленные пользователем Cache, наложил собрал, вроде как факсы пошли.
Объясню зачем я туда поставил астериск вообще. У нас клиентские шлюзы вешались на Audiocodes Mediant 1000, а от него по Е1 передавались на телефонную станцию. Все работало, никто не жаловался. Однако в Медианте ограниченное количество портов, свободные порты быстро закончились. Я как решение принял перекинуть клиентские шлюзы на астериск, а он уже будет отправлять на медиант. У клиентских шлюзов у все есть реальные номера. Может это не совсем правильное решение ? Лучше было бы поставить скажем FreeSwitch ? До этого я имел опыт только установки и реализации asterisk как офисной PBX.
2009-04-17 15:35

Сообщений: 1573

Re: Перевод звонка по таймауту на другой номер

Asterisk может все ... )
Нужно только настроить его.

canreinvite=no
2009-04-17 15:41

Сообщений: 54

Re: Перевод звонка по таймауту на другой номер

Если в sip.conf стоит canreinvite=no то при звонке я не слышу голоса.
2009-04-17 16:19

Сообщений: 54

Re: Перевод звонка по таймауту на другой номер

А это при core set verbose на консоли.
-- Native bridging SIP/4956203544-b7d22af8 and SIP/Mediant-08a26770
[Apr 17 16:16:03] WARNING[28235]: chan_sip.c:12310 handle_response_invite: RTP re-invite after T38 session not handled yet !
[Apr 17 16:16:09] WARNING[28235]: chan_sip.c:2110 __sip_autodestruct: Autodestruct on dialog '0a219bcf72f25072068f34a620b059e5@217.28.210.22' with owner in place (Method: INVITE)
== Spawn extension (internal, 89067521036, 1) exited non-zero on 'SIP/4956203544-b7d22af8'
2009-04-17 16:20

Откуда: Kiev
Сообщений: 801

Re: Перевод звонка по таймауту на другой номер

cron333:

Asterisk может все ... )
Даже не переводить звонок по таймауту на другой номер!
Лучший способ предвидеть будущее - изобрести его (Алан Кей, "Apple")
2009-04-17 16:41

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