Здравствуйте, имеется следующая конфигурация: 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,680 раз
Обновлен: Mar 18 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.