Страница 1 из 2

Asterisk, 7111S и аналоговая линия

Добавлено: 01 авг 2013, 01:04
SuMiSc
Столкнулся с проблемой при наборе номера в старую ростелекомовскую аналоговую линию с пульсовым набором.
На этой линии стоит DVG-7111S, звонки принимает без проблем, позвонить с него в город тоже можно. Но вот если надо межгород или сотовый, там где надо 8-гудок, то ничего не получается.
Если включить в эту линию обычный телефонный аппарат, то набираешь 8, ждешь 3-4 секунды гудка и донабираешь все остальное, звонок идет куда надо.
Если подключить шлюз, то Dial(SIP/EXT/${EXTEN}), где EXTEN это восьмерка и 10 знаков номера, звонит куда угодно, только не на этот номер. Отвечает обычно робот, что номер не существует и т.п., или просто занято.
Очевидно, что не хватает паузы в 4 секунды после восьмерки, но команда Dial(SIP/EXT/8wwwwwwww${EXTEN:1}) сразу поднимает канал в Answer и гудит, потом секунд через 40 тишина, и еще через 30 "занято". Причем этот гудок, похоже, не из линии, поскольку существенно громче звучит.
Вариант Dial(SIP/EXT/8,,D(${EXTEN:1})), равно как и Dial(SIP/EXT/8,,D(wwwww${EXTEN:1})), набирает 8, после чего канал поднимается в Answer, слышно гудок линии, и шлюз засылает в уже поднятый канал оставшийся номер в DTMF, что, естественно, ничего не дает.
Прошу помощи уважаемого сообщества. Как можно преодолеть такой затык?

Re: Asterisk, 7111S и аналоговая линия

Добавлено: 01 авг 2013, 02:58
ded
Покажите весь кусок диал плана где Dial(SIP/EXT/8wwwwwwww${EXTEN:1})

Re: Asterisk, 7111S и аналоговая линия

Добавлено: 01 авг 2013, 11:38
SuMiSc

Код: Выделить всё

exten = _8XXXXXXXXXX,1,ChanIsAvail(SIP/EXT,s)
same = n,Dial(SIP/EXT/${EXTEN},60,T)
same = n,GotoIf($[${DIALSTATUS} = NOANSWER]?end)
same = n,GotoIf($[${DIALSTATUS} = BUSY]?end) 
same = n,GotoIf($[${DIALSTATUS} = CONGESTION]?end) 
same = n,Background(all-circuits-busy-now)
same = n,Wait(1)
same = n(end),Hangup

Re: Asterisk, 7111S и аналоговая линия

Добавлено: 01 авг 2013, 11:45
ded
В этом диал-плане нет
Dial(SIP/EXT/8wwwwwwww${EXTEN:1})

Сделайте так для теста:
exten => _8X.,1, Dial(SIP/EXT/8wwwwwwww${EXTEN:1})
CLI> core set verbose 10
и покажите вывод звонка.

Re: Asterisk, 7111S и аналоговая линия

Добавлено: 01 авг 2013, 12:02
SuMiSc
Да, "wwww" я ставил/убирал много раз, скопировал без них.

Вот с verbose 10 и экстеншном _8X. :

Код: Выделить всё

CLI> 
  == Using SIP RTP CoS mark 5
    -- Executing [89213382359@office:1] Dial("SIP/2394-00000365", "SIP/EXT/8wwwwwwww9213382359") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/EXT2/8wwwwwwww9213382359
    -- SIP/EXT2-00000366 answered SIP/2394-00000365
  == Spawn extension (office, 89213382359, 1) exited non-zero on 'SIP/2394-00000365'
Все также, как я и писал:
сразу поднимает канал в Answer и гудит, потом секунд через 40 тишина, и еще через 30 "занято". Причем этот гудок, похоже, не из линии, поскольку существенно громче звучит.

Re: Asterisk, 7111S и аналоговая линия

Добавлено: 01 авг 2013, 12:53
ded
Объясните такой парадокс: набирается якобы пир SIP/EXT
Dial("SIP/2394-00000365", "SIP/EXT/8wwwwwwww9213382359")
а вызывается пир SIP/EXT2
Called SIP/EXT2/8wwwwwwww9213382359

Сколько у вас пиров?
CLI> sip show peers ?

Re: Asterisk, 7111S и аналоговая линия

Добавлено: 01 авг 2013, 12:58
SuMiSc
Шлюзов 4 по количеству линий, EXT1-EXT4, пробую на разных, результат одинаковый.
Чтобы не путаться, я цифру удаляю, в этом случае не удалил.
В общем, вызывается все правильно.

Re: Asterisk, 7111S и аналоговая линия

Добавлено: 01 авг 2013, 13:21
zzuz
Технически 8wwwwwwww9213382359 - это номер с символами w+ . Не думаю , что шлюз понимает , что Вы хотите от него.

Код: Выделить всё

exten => _8X.,1,Dial(SIP/EXT,,D(8wwww${EXTEN:1}))

Re: Asterisk, 7111S и аналоговая линия

Добавлено: 01 авг 2013, 13:53
SuMiSc
Технически 8wwwwwwww9213382359 - это номер с символами w+ . Не думаю , что шлюз понимает , что Вы хотите от него.
Да, похоже на то.
То есть надо как-то шлюз крутить, получается...

Re: Asterisk, 7111S и аналоговая линия

Добавлено: 02 авг 2013, 17:56
SuMiSc
Получается, что вопрос переходит в тему "Настройка оборудования".
Полез копаться в шлюз.
Нашел там возможность принять номер и добавить туда паузу в разделе Digit map.
Сделал так:

Код: Выделить всё

Scan Code : 8%
VoIP Dial-out :
PSTN Dial-out : 8,,,,%
User Dial Length : Disable
Route : PSTN
Не помогло.
Астериск отправляет номер в шлюз, тот его набирает, потом ставит канал в Answer и слышно короткие гудки. Увеличение/убавление паузы ни к чему не привело, результат на выходе одинаковый.
Стал сомневаться в правильности настроек шлюза и спросил на форуме Длинка.
Посоветовали увеличить количество запятых.
То есть опять тупик.
Никто не подскажет, что точно надо настроить в Длинке?