Здравствуйте, имеется следующая конфигурация: Asterisk 1.6.2.5-0ubuntu1.3 с OpenVox A800P (2xFXO и 4xFXS)
Настроили, всё нормально работает:
Вот только одна проблема - при звонке нельзя отклонить входящий вызов, что когда тебе через GSM-модем звонят, что с соседней трубки. Т.е. что бы отклонить входящий вызов, надо на него сначала ответить (но при этом если DIAL был на несколько телефонов, то остальные ответить уже не смогут). Если вызывающся сторона положила трубку, то вызов прекращается.
Сам вопрос: Это телефоны такие старые или настройки DAHDI некоректные?
Конфиги:
/etc/modprobe.d/dahdi
options opvxa1200 opermode=RUSSIA
/etc/dahdi/system.conf
fxsks = 1-2
fxoks = 5-8
loadzone = ru
defaultzone=ru
echocanceller=mg2,1-8
/etc/asterisk/chan_dahdi.conf
[trunkgroups]
[channels]
language=ru
signalling=fxo_ks
usecallerid=yes
hidecalleridname=yes
cidsignalling=dtmf
cidstart=polarity
hidecallerid=no
callwaiting=yes
restrictcid=no
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
relaxdtmf=yes
group=1
callgroup=1
pickupgroup=1
busydetect=yes
busycount=3
callprogress=yes
progzone=ru
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 2
signalling=fxo_ks
callerid=11
group=5
context=from-internal
channel => 5
signalling=fxo_ks
callerid=13
group=5
context=from-internal
channel => 6
signalling=fxo_ks
callerid=12
group=5
context=from-internal
channel => 7
signalling=fxo_ks
callerid=14
group=5
context=from-internal
channel => 8
/etc/extension.conf
[general]
static=yes
writeprotect=yes
autofallthrough=yes
clearglobalvars=no
[globals]
TEL11 = DAHDI/5
TEL12 = DAHDI/7
TEL13 = DAHDI/6
TEL14 = DAHDI/8
[default]
[from-internal]
exten => 600,1,Playback(demo-echotest)
exten => 600,n,Echo
exten => 600,n,Playback(demo-echodone)
exten => 600,n,Hangup()
exten = _38XXXXXXXXXX,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten = _38XXXXXXXXXX,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav49)
exten = _38XXXXXXXXXX,n,Dial(sip/sipnet/${EXTEN:0})
exten = _38XXXXXXXXXX,n,Hangup()
exten => _9XXXXXXX,1,Dial(sip/sipnet/${EXTEN:1})
exten => _9XXXXXXX,n,Hangup()
exten = _8929XXXXXXX,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten = _8929XXXXXXX,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav49)
exten = _8929XXXXXXX,n,Dial(DAHDI/2/${EXTEN:0})
exten = _8929XXXXXXX,n,Hangup()
exten = _7XXXXXXXXXX,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten = _7XXXXXXXXXX,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav49)
exten = _7XXXXXXXXXX,n,Dial(sip/sipnet/${EXTEN:0})
exten = _7XXXXXXXXXX,n,Hangup()
exten = 00,1,Dial(sip/sipnet/${EXTEN:0})
exten = 00,n,Hangup()
exten => 1000,1,Answer()
exten => 1000,2,MusicOnHold()
exten => 1000,3,Hangup()
exten = 11,1,Dial(${TEL11}/${EXTEN:0},90,tT)
exten = 11,n,Hangup()
exten = 12,1,Dial(${TEL12}/${EXTEN:0},90,tT)
exten = 12,n,Hangup()
exten = 13,1,Dial(${TEL13}/${EXTEN:0},90,tT)
exten = 13,n,Hangup()
exten = 14,1,Dial(${TEL14}/${EXTEN:0},90,tT)
exten = 14,n,Hangup()
[from-sipnet]
exten => s,1,Dial(DAHDI/5&DAHDI/6&DAHDI/7&DAHDI/8)
exten => s,n,Hangup()
[from-pstn]
exten => 11,1,Dial(${TEL11},600,tT)
exten => 11,n,Hangup()
exten => 12,1,Dial(${TEL12},600,tT)
exten => 12,n,Hangup()
exten => 13,1,Dial(${TEL13},600,tT)
exten => 13,n,Hangup()
exten => 14,1,Dial(${TEL14},600,tT)
exten => 14,n,Hangup()
exten => s,1,Answer()
exten => s,n,Set(TIMEOUT(response)=4)
exten => s,n,Set(TIMEOUT(digit)=4)
exten => s,n,Set(CHANNEL(language)=ru)
exten => s,n,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten => s,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav49)
exten => s,n,Background(zdravstujte)
exten => s,n,Background(to-call-exten)
exten => s,n,Background(dial-exten)
exten => s,n,Background(or-wait-for-receptionist)
exten => s,n,Background(thank-you-for-calling)
exten => s,n,StartMusicOnHold
exten => s,n,WaitExten(5)
exten => s,n,Dial(${TEL11}&${TEL13},15,tTr)
exten => s,n,Dial(${TEL11}&${TEL12}&${TEL13},90,tTr)
exten => s,n,Hangup()
Логи звонков с 12 на 11 и с 11 на 12. Во время вызова вызываемая сторона много раз нажимала красную кнопку на трубке, но эффекта это не давало. Оба вызова были завершены вызывающей стороной.
Asterisk 1.6.2.5-0ubuntu1.3, Copyright (C) 1999 - 2009 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 1.6.2.5-0ubuntu1.3 currently running on office (pid = 7420)
Verbosity is at least 35
Core debug is at least 35
-- Starting simple switch on 'DAHDI/7-1'
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/7-1]
<< [ TYPE: DTMF End (1) SUBCLASS: 1 (49) ] [DAHDI/7-1]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/7-1]
<< [ TYPE: DTMF End (1) SUBCLASS: 1 (49) ] [DAHDI/7-1]
-- Executing [11@from-internal:1] Dial("DAHDI/7-1", "DAHDI/5/11,90,tT") in new stack
-- Called 5/11
<< [ TYPE: Control (4) SUBCLASS: Ringing (3) ] [DAHDI/5-1]
-- DAHDI/5-1 is ringing
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/5-1]
..(много раз повторяется)..
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/5-1]
<< [ TYPE: Control (4) SUBCLASS: Ringing (3) ] [DAHDI/5-1]
-- DAHDI/5-1 is ringing
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/5-1]
..(много раз повторяется)..
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/5-1]
..(много раз повторяется)..
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/5-1]
<< [ TYPE: Control (4) SUBCLASS: Ringing (3) ] [DAHDI/5-1]
-- DAHDI/5-1 is ringing
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/5-1]
..(много раз повторяется)..
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/5-1]
<< [ TYPE: Control (4) SUBCLASS: Ringing (3) ] [DAHDI/5-1]
-- DAHDI/5-1 is ringing
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/5-1]
..(много раз повторяется)..
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/5-1]
<< [ HANGUP (NULL) ] [DAHDI/7-1]
-- Hungup 'DAHDI/5-1'
== Spawn extension (from-internal, 11, 1) exited non-zero on 'DAHDI/7-1'
-- Hungup 'DAHDI/7-1'
-- Starting simple switch on 'DAHDI/5-1'
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/5-1]
<< [ TYPE: DTMF End (1) SUBCLASS: 1 (49) ] [DAHDI/5-1]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/5-1]
<< [ TYPE: DTMF End (1) SUBCLASS: 2 (50) ] [DAHDI/5-1]
-- Executing [12@from-internal:1] Dial("DAHDI/5-1", "DAHDI/7/12,90,tT") in new stack
-- Called 7/12
<< [ TYPE: Control (4) SUBCLASS: Ringing (3) ] [DAHDI/7-1]
-- DAHDI/7-1 is ringing
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/7-1]
..(много раз повторяется)..
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/7-1]
<< [ TYPE: Control (4) SUBCLASS: Ringing (3) ] [DAHDI/7-1]
-- DAHDI/7-1 is ringing
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/7-1]
..(много раз повторяется)..
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/7-1]
<< [ TYPE: Control (4) SUBCLASS: Ringing (3) ] [DAHDI/7-1]
-- DAHDI/7-1 is ringing
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/7-1]
..(много раз повторяется)..
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/7-1]
<< [ TYPE: Control (4) SUBCLASS: Ringing (3) ] [DAHDI/7-1]
-- DAHDI/7-1 is ringing
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/7-1]
..(много раз повторяется)..
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [DAHDI/7-1]
<< [ HANGUP (NULL) ] [DAHDI/5-1]
-- Hungup 'DAHDI/7-1'
== Spawn extension (from-internal, 12, 1) exited non-zero on 'DAHDI/5-1'
-- Hungup 'DAHDI/5-1'
office*CLI>
Disconnected from Asterisk server
на аналоговых портах не получится реализовать отбой без поднятия трубки,
советую купить или базу ИП для ваших трубок Siemens или
купить одну базу SNOM M9 и 4 трубки к ней.
Ну а если этого мало то KIRK 300.
AFAIK такой вариант (отклонить вызов на аналоговой линии) не поддерживается.
вариант - переход на ip-телефонию (из недорогого с радиотрубками: или sip-dect база вроде Siemens Gigaset C470 IP или wifi-трубки вроде Welltech WP589).
Задан: 2011-03-15 10:25:35 +0400
Просмотрен: 1,573 раз
Обновлен: Mar 18 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.