Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2011-03-15 10:25:35 +0400

nubas Gravatar nubas

Отклонить входящий вызов

Здравствуйте, имеется следующая конфигурация: Asterisk 1.6.2.5-0ubuntu1.3 с OpenVox A800P (2xFXO и 4xFXS)

Настроили, всё нормально работает:

  • входящие с двух GSM-модемов на добавочный, и если не указали то на все 4ре трубки
  • исходящие на GSM-модемы
  • исходящие между 4мя трубками (Simens Gigaset SL37H)

Вот только одна проблема - при звонке нельзя отклонить входящий вызов, что когда тебе через GSM-модем звонят, что с соседней трубки. Т.е. что бы отклонить входящий вызов, надо на него сначала ответить (но при этом если DIAL был на несколько телефонов, то остальные ответить уже не смогут). Если вызывающся сторона положила трубку, то вызов прекращается.

Сам вопрос: Это телефоны такие старые или настройки DAHDI некоректные?

Отклонить входящий вызов

Здравствуйте, имеется следующая конфигурация: Asterisk 1.6.2.5-0ubuntu1.3 с OpenVox A800P (2xFXO и 4xFXS)

Настроили, всё нормально работает:

  • входящие с двух GSM-модемов на добавочный, и если не указали то на все 4ре трубки
  • исходящие на GSM-модемы
  • исходящие между 4мя трубками (Simens Gigaset SL37H)

Вот только одна проблема - при звонке нельзя отклонить входящий вызов, что когда тебе через 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()

Отклонить входящий вызов

Здравствуйте, имеется следующая конфигурация: Asterisk 1.6.2.5-0ubuntu1.3 с OpenVox A800P (2xFXO и 4xFXS)

Настроили, всё нормально работает:

  • входящие с двух GSM-модемов на добавочный, и если не указали то на все 4ре трубки
  • исходящие на GSM-модемы
  • исходящие между 4мя трубками (Simens Gigaset SL37H)

Вот только одна проблема - при звонке нельзя отклонить входящий вызов, что когда тебе через 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

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.