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

звонок из транка в транк

Добавлено: 10 окт 2011, 16:24
zuboskal14
Добрый день.

Есть АТС и Asterisk, соединенные следующим образом:

Провайдер1 <--E1--> Asterisk <--E1--> ipLDK-300 <--CO--> Провайдер2

Сейчас на между станциями существует общий план набора - на АТС 1ХХХ, на Asterisk - 2ХХХ, звонки между ними ходят в обе стороны, номера определяются и все работает.

Стоит задача избавиться от Провайдера2. В Inbound Routes пробовал прописывать что если DID начинается на _8ХХХХХХХХХХ или на _NXXXXXXX звонок идет в транк к Провайдеру1. Но это не помогло - при наборе номера с абонента LG в трубке отбой, в консоли:

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

localhost*CLI> 
    -- Accepting call from '1655' to 's' on channel 0/31, span 2
    -- Executing [s@from-pstn:1] NoOp("DAHDI/62-1", "No DID or CID Match") in new stack
    -- Executing [s@from-pstn:2] Answer("DAHDI/62-1", "") in new stack
    -- Executing [s@from-pstn:3] Wait("DAHDI/62-1", "2") in new stack
    -- Executing [s@from-pstn:4] Playback("DAHDI/62-1", "ss-noservice") in new stack
    -- <DAHDI/62-1> Playing 'ss-noservice.ulaw' (language 'en')
    -- Span 2: Channel 0/31 got hangup request, cause 16
  == Spawn extension (from-pstn, s, 4) exited non-zero on 'DAHDI/62-1'
    -- Executing [h@from-pstn:1] Macro("DAHDI/62-1", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/62-1", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] Hangup("DAHDI/62-1", "") in new stack
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'DAHDI/62-1' in macro 'hangupcall'
  == Spawn extension (from-pstn, h, 1) exited non-zero on 'DAHDI/62-1'
    -- Hungup 'DAHDI/62-1'
В связи с этим у меня 2 вопроса:
Первый: правильно ли я прописал DID number? Остальные я прописывал именно так, и они работают. Правда все звонки приходят на IVR.
Второй: Я вообще правильно это делаю? Вроде бы есть Custom Contexts, но я не понимаю что в нем прописать.

Re: звонок из транка в транк

Добавлено: 10 окт 2011, 16:45
zzuz
Custom context для исходящих.
DID вы прописали правильно , вот только звонок в потоке приходит неправильно.

Re: звонок из транка в транк

Добавлено: 10 окт 2011, 17:13
zuboskal14
Custom context для исходящих.
Т.е. мне надо не в trunk направлять, а в созданный мной Custom contexts?
DID вы прописали правильно , вот только звонок в потоке приходит неправильно.
Не понимаю, почему звонок приходит неправильно?
На ipLDK в Network Numbering Plan прописано, звонки начинающиеся с 2ХХХ идут в поток, и здесь все работает, номер тоже передается. А что касается выхода в город, то я просто назначил линии E1 в отдельную группу СО, и паре тестовых аппаратов назначил эту СО группу как основную. Соответственно по нажатию 9-ки звонок идет на Asterisk.

Re: звонок из транка в транк

Добавлено: 10 окт 2011, 17:53
zuboskal14
Создал Custom Context from-ipldk. Дал именно такое имя, потому что у меня trunk называется ipldk.

Я правильно понимаю, что осталось разобраться со звонком в потоке?

Re: звонок из транка в транк

Добавлено: 10 окт 2011, 18:47
ded
Ваш транк Е1 от ipLDK-300 воткнут как бы снаружи для Астерсика, а надо - как бы изнутри.
Измените для этого порта контекст на from-internal в конфиге /etc/asterisk/dahdi_channels.conf или где они у васс там сконфигурены. Тогда исходящие будут оригинироваться по правилам Outbound routes для внутренних абонентов Астериска, как и ожидается.

Re: звонок из транка в транк

Добавлено: 11 окт 2011, 16:16
zuboskal14
Прописал на транк from-internal. Теперь при наборе номера 98ХХХХХХХХ такое:

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

    -- Accepting call from '1655' to 's' on channel 0/31, span 2
    -- Executing [s@from-internal:1] Macro("DAHDI/62-1", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/62-1", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] Hangup("DAHDI/62-1", "") in new stack
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'DAHDI/62-1' in macro 'hangupcall'
  == Spawn extension (from-internal, s, 1) exited non-zero on 'DAHDI/62-1'
    -- Executing [h@from-internal:1] Hangup("DAHDI/62-1", "") in new stack
  == Spawn extension (from-internal, h, 1) exited non-zero on 'DAHDI/62-1'
    -- Hungup 'DAHDI/62-1'

Re: звонок из транка в транк

Добавлено: 11 окт 2011, 17:04
zzuz
Ну да , откуда в контексте from-internal знать о номере 's' . Пока не настроете адекватный приём DID номеров , ничего у вас не получится.

Re: звонок из транка в транк

Добавлено: 11 окт 2011, 18:56
ded
На порту Е1 от ipLDK-300 настройте En Block вместо Overlap.

Re: звонок из транка в транк

Добавлено: 12 окт 2011, 17:25
zuboskal14
Поставил ENBLK Send Yes, стало:

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

-- Going to extension s|1 because of Complete received
    -- Accepting call from '1454' to 's' on channel 0/31, span 2
    -- Executing [s@from-internal:1] Macro("DAHDI/62-1", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/62-1", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] Hangup("DAHDI/62-1", "") in new stack
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'DAHDI/62-1' in macro 'hangupcall'
  == Spawn extension (from-internal, s, 1) exited non-zero on 'DAHDI/62-1'
    -- Executing [h@from-internal:1] Hangup("DAHDI/62-1", "") in new stack
  == Spawn extension (from-internal, h, 1) exited non-zero on 'DAHDI/62-1'
    -- Hungup 'DAHDI/62-1'
Не понимаю..

Re: звонок из транка в транк

Добавлено: 12 окт 2011, 18:27
ded
Вы должны при наборе номера 98ХХХХХХХХ видеть его в командной строке Астериска. Но он не поступает из АТС вследствие неверного режима посылки номера со стороны АТС.
В платный суппорт?