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

Asterisk как транзитный узел для ipLDK-100

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

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

phone2user
Сообщения: 64
Зарегистрирован: 10 апр 2012, 13:07

Asterisk как транзитный узел для ipLDK-100

Сообщение phone2user »

Задача:
связать между собой АТС ipLDK-100 и Asterisk по потоку E1, при
этом Asterisk будет являться транзитным узлом для ipLDK-100.

Исходные данные:
Asterisk: 1.8.8.2
DAHDI Version: 2.5.0.2
Hardware: OpenVox DE210E
Linux kernel version: 3.2.5

Схема подключения:
провайдер E1 <----> Asterisk <----> ipLDK-100

Физически asterisk видит и провайдера и ipLDK-100, но на уровне логики
что-то не могу осуществить дозвон на абонентов ipLDK-100.

/etc/dahdi/system.conf:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
#/etc/dahdi/system.conf:
# Span 1: TE2/0/1 "T2XXP (PCI) Card 0 Span 1". Порт E1 от провайдера
span=1,1,0,ccs,hdb3
bchan=1-15,17-31
dchan=16
echocanceller=mg2,1-15,17-31

# Span 2: TE2/0/2 "T2XXP (PCI) Card 0 Span 2". Порт E1 для ipLDK-100
span=2,2,0,ccs,hdb3
bchan=32-46,48-62
dchan=47
echocanceller=mg2,32-46,48-62

# Global data
loadzone = ru
defaultzone = ru
/etc/asterisk/dahdi-channels.conf:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
;/etc/asterisk/dahdi-channels.conf
; Span 1: TE2/0/1 "T2XXP (PCI) Card 0 Span 1"
group=1
context=from-pstn
switchtype = euroisdn
signalling = pri_cpe
channel => 1-15,17-31
context = from-pstn

; Span 2: TE2/0/2 "T2XXP (PCI) Card 0 Span 2"
group=2
context=from-ipldk
switchtype = euroisdn
signalling = pri_net
channel => 32-46,48-62
context = from-ipldk
/etc/asterisk/extension.conf:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
;/etc/asterisk/extension.conf:
[from-pstn]
exten=> _NXXXXXX,1,Dial(DAHDI/g1/${EXTEN})
exten=> _NXXNXXXXXX,1,Dial(DAHDI/g1/${EXTEN})

[from-ipldk]
exten=> _NXXXXXX,1,Dial(DAHDI/g2/${EXTEN})
exten=> _NXXNXXXXXX,1,Dial(DAHDI/g2/${EXTEN})
Соответственно пытаюсь позвонить через CLI на внутреннего абонента
ipLDL-100:

channel originate DAHDI/760987 extension default@incoming_calls

/var/log/asterisk/full:
[Apr 10 12:35:48] NOTICE[3779] channel.c: Unable to request channel DAHDI/760987

Я понимаю, что диалплан совершенно не корректен (а именно группы g1 и
g2 у меня вроде как даже и не определены), но просто не могу
однозначно понять, куда их прописать и в каком виде.

Вроде как это должно быть прописано в /etc/asterisk/chan_dahdi.conf,
но там в примерах только создаются группы типа:

[phone1](phone)
callerid = "Mark Michelson" <(256)555-1212>
dahdichan = 1

и никакого намека на номер.

Астериск пока должен все входящие номера от провайдера перенаправлять
на ipLDK-100 в неизменном виде. Однако я даже через CLI не могу
осуществить тестовый звонок.

Помогите понять что я делаю не так, благодарю.
Последний раз редактировалось phone2user 10 апр 2012, 14:18, всего редактировалось 1 раз.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Asterisk как транзитный узел для ipLDK-100

Сообщение Vlad1983 »

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

[from-pstn]
exten=> _NXXXXX,1,Dial(DAHDI/g2/${EXTEN})
exten=> _NXXXXXX,1,Dial(DAHDI/g2/${EXTEN})

[from-ipldk]
exten=> _NXXXXX,1,Dial(DAHDI/g1/${EXTEN})
exten=> _NXXXXXX,1,Dial(DAHDI/g1/${EXTEN})
exten=> _8NXXXXXXXXX,1,Dial(DAHDI/g1/${EXTEN})
exten=> _810XXXXXXXXX.,1,Dial(DAHDI/g1/${EXTEN})
ЛС: @rostel
phone2user
Сообщения: 64
Зарегистрирован: 10 апр 2012, 13:07

Re: Asterisk как транзитный узел для ipLDK-100

Сообщение phone2user »

все заработало, благодарю за оперативность :)
phone2user
Сообщения: 64
Зарегистрирован: 10 апр 2012, 13:07

Re: Asterisk как транзитный узел для ipLDK-100

Сообщение phone2user »

Итак, все заработало, но астериск судя по логам не синхронизируется
с потоком провайдера (а именно из его потока он должен брать
тайминги).

На данный момент /etc/dahdi/system.conf выглядит так:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
# /etc/dahdi/system.conf

# Span 1: TE2/0/1 "T2XXP (PCI) Card 0 Span 1"
# Источник временной синхронизации - провайдер. Span 1 берет синхронизацию из потока
span=1,1,0,ccs,hdb3
bchan=1-15,17-31
dchan=16

# Span 2: TE2/0/2 "T2XXP (PCI) Card 0 Span 2"
# Span 2 является источником временной синхронизации для ipLDK-100
span=2,2,0,ccs,hdb3
bchan=32-46,48-62
dchan=47

loadzone = ru
defaultzone = ru
Теперь я смотрю лог астериска и:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
=============================START_TRACE==============================
[Apr 11 12:58:44] NOTICE[12569] chan_dahdi.c: PRI got event: No more alarm (5) on D-channel of span 1
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 1
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 2
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 3
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 4
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 5
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 6
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 7
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 8
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 9
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 10
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 11
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 12
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 13
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 14
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 15
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 17
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 18
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 19
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 20
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 21
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 22
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 23
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 24
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 25
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 26
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 27
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 28
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 29
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 30
[Apr 11 12:58:44] NOTICE[12571] chan_dahdi.c: Alarm cleared on channel 31
[Apr 11 12:58:48] VERBOSE[12569] sig_pri.c: == Primary D-Channel on span 1 up

... здесь я вижу что вызовы проходят и далеее

[Apr 11 13:01:36] NOTICE[12569] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 1
[Apr 11 13:01:46] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:47] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:48] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:49] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:50] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:50] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:50] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:51] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:52] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Abort (6) on D-channel of span 2
[Apr 11 13:01:54] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:54] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:55] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:56] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
[Apr 11 13:01:56] NOTICE[12570] chan_dahdi.c: PRI got event: HDLC Bad FCS (8) on D-channel of span 2
Насколько я понял, источником синхронизации опять стал порт Span 1, и провайдер подтвердил,
что идет рассинхронизация (хотя звонки идут).

Смотрю в документацию:

span=<span num>,<timing source>,<line build out (LBO)>,<framing>,<coding>.

И ниже поясняется что при <timing source>=1 порт должен брать тайминги из потока, при 0 он сам должен
быть источником синхронизации, при двойке порт становится источником, только если нет источника
синхронизации на портах и в потоке...

Что же я опять сделал (или понял) не так?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Asterisk как транзитный узел для ipLDK-100

Сообщение Vlad1983 »

# Span 2: TE2/0/2 "T2XXP (PCI) Card 0 Span 2"
# Span 2 является источником временной синхронизации для ipLDK-100
span=2,0,0,ccs,hdb3
bchan=32-46,48-62
dchan=47

и
http://asteriskpbx.ru/pages/viewpage.ac ... Id=1736976
ЛС: @rostel
phone2user
Сообщения: 64
Зарегистрирован: 10 апр 2012, 13:07

Re: Asterisk как транзитный узел для ipLDK-100

Сообщение phone2user »

действительно, рассинхрон с провайдером исчезает, но почему то в логах по ночам опять замечаю рассинхрон. При разборе лога заметил, что asterisk перечитывает все основные конфиги (попросту говоря перезагружается), причем слетают настройки у dahdi.

После

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

/etc/init.d/dahdi restart
asterisk -rx "module reload chan_dahdi.so"
asterisk -rx "dahdi restart"
все становится опять идеально, но позвольте, я не вижу никаких скриптов, которые бы заставляли астер перезагружаться, в чем может быть дело?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Asterisk как транзитный узел для ipLDK-100

Сообщение Vlad1983 »

если вы не ведите скриптов, не значит что их нет
ЛС: @rostel
ded
Сообщения: 15627
Зарегистрирован: 26 авг 2010, 19:00

Re: Asterisk как транзитный узел для ipLDK-100

Сообщение ded »

Астериск не должен перегружаться.
Перечитывать логи и перегружаться - не одно и то же. Не рекомендуется делать на ходу /etc/init.d/dahdi restart (для CentOS красивее - service dahdi restart)
Это уже форс мажор, и если надо - то сначала
asterisk -rx "core stop now"
killall -9 safe_asterisk
killall -9 asterisk
чтобы никаких дочерних процессов не осталось.
Потом service dahdi stop
service dahdi start
прверяем статус - команда dahdi_tool
и толькео потом запускаем safe_asterisk
phone2user
Сообщения: 64
Зарегистрирован: 10 апр 2012, 13:07

Re: Asterisk как транзитный узел для ipLDK-100

Сообщение phone2user »

Обнаружил функцию в /etc/init.d/asterisk, называется asterisk_run_loop(). Судя по названию виновата она, не знаю, перезагружается астер или просто перечитывает конфиги, тем не менее конфигурация портов карточки при этом слетает.
phone2user
Сообщения: 64
Зарегистрирован: 10 апр 2012, 13:07

Re: Asterisk как транзитный узел для ipLDK-100

Сообщение phone2user »

Хорошо, с рассинхроном вопросов больше нет. Тогда с факсами.

Я ожидал что входящие факсы будут по такому же принципу заворачиваться на ipLDK, как и входящие/исходящие звонки, но факсы не проходят все равно, нужно ли еще что то добавить в extensions.conf для транзита факсов?


asterisk*CLI> module show like res_fax_spandsp.so
Module Description Use Count
res_fax_spandsp.so Spandsp G.711 and T.38 FAX Technologies 0
1 modules loaded
Последний раз редактировалось phone2user 25 апр 2012, 12:24, всего редактировалось 1 раз.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH