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

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

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

спросил 2011-12-05 08:57:34 +0400

matperez Gravatar matperez

возврат после перевода звонка. parabel asteroid + elastix 2.0.3

Здравствуйте,

Есть одна инсталляция из Asterisk 1.6.2 на базе Elastix 2.0.3 + банк каналов Parabel Asteroid 8FXO/22FXS. Все работает корректно за исключением одного момента. Сбрасывается звонок при возврате после перевода звонка, если абонент оказался занят. Поясню на примере:

  1. DAHDI/18 звонит на DAHDI/1
  2. DAHDI/1 нажимает FLASH для перевода звонока на DAHDI/2
  3. DAHDI/2 оказывается занят
  4. DAHDI/1 снова нажимает FLASH, что бы продолжить разговор с DAHDI/18
  5. Происходит сброс

Логи прилагаются:

    -- DAHDI/1-1 is ringing
    -- DAHDI/1-1 answered DAHDI/18-1
    -- Started three way call on channel 1
    -- Started music on hold, class 'default', on DAHDI/18-1
    -- Starting simple switch on 'DAHDI/1-2'
    -- Stopped music on hold on DAHDI/18-1
    -- Started music on hold, class 'default', on DAHDI/18-1
    -- Executing [1504@from-internal:1] Macro("DAHDI/1-2", "exten-vm,novm,1504") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("DAHDI/1-2", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("DAHDI/1-2", "AMPUSER=1501") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("DAHDI/1-2", "0?report") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("DAHDI/1-2", "1?Set(REALCALLERIDNUM=1501)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("DAHDI/1-2", "AMPUSER=1501") in new stack
    -- Executing [s@macro-user-callerid:5] Set("DAHDI/1-2", "AMPUSERCIDNAME=Parabel FXS") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("DAHDI/1-2", "0?report") in new stack
    -- Executing [s@macro-user-callerid:7] Set("DAHDI/1-2", "AMPUSERCID=1501") in new stack
    -- Executing [s@macro-user-callerid:8] Set("DAHDI/1-2", "CALLERID(all)="Parabel FXS" <1501>") in new stack
    -- Executing [s@macro-user-callerid:9] ExecIf("DAHDI/1-2", "1?Set(CHANNEL(language)=ru)") in new stack
    -- Executing [s@macro-user-callerid:10] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:11] Set("DAHDI/1-2", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:12] GotoIf("DAHDI/1-2", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] Set("DAHDI/1-2", "CALLERID(number)=1501") in new stack
    -- Executing [s@macro-user-callerid:20] Set("DAHDI/1-2", "CALLERID(name)=Parabel FXS") in new stack
    -- Executing [s@macro-user-callerid:21] NoOp("DAHDI/1-2", "Using CallerID "Parabel FXS" <1501>") in new stack
    -- Executing [s@macro-exten-vm:2] Set("DAHDI/1-2", "RingGroupMethod=none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("DAHDI/1-2", "VMBOX=novm") in new stack
    -- Executing [s@macro-exten-vm:4] Set("DAHDI/1-2", "__EXTTOCALL=1504") in new stack
    -- Executing [s@macro-exten-vm:5] Set("DAHDI/1-2", "CFUEXT=") in new stack
    -- Executing [s@macro-exten-vm:6] Set("DAHDI/1-2", "CFBEXT=") in new stack
    -- Executing [s@macro-exten-vm:7] Set("DAHDI/1-2", "RT=""") in new stack
    -- Executing [s@macro-exten-vm:8] Macro("DAHDI/1-2", "record-enable,1504,IN") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("DAHDI/1-2", "1?check") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] ExecIf("DAHDI/1-2", "0?MacroExit()") in new stack
    -- Executing [s@macro-record-enable:5] GotoIf("DAHDI/1-2", "0?Group:OUT") in new stack
    -- Goto (macro-record-enable,s,15)
    -- Executing [s@macro-record-enable:15] GotoIf("DAHDI/1-2", "1?IN") in new stack
    -- Goto (macro-record-enable,s,20)
    -- Executing [s@macro-record-enable:20] ExecIf("DAHDI/1-2", "1?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:9] Macro("DAHDI/1-2", "dial-one,,tr,1504") in new stack
    -- Executing [s@macro-dial-one:1] Set("DAHDI/1-2", "DEXTEN=1504") in new stack
    -- Executing [s@macro-dial-one:2] Set("DAHDI/1-2", "DIALSTATUS_CW=") in new stack
    -- Executing [s@macro-dial-one:3] GosubIf("DAHDI/1-2", "0?screen,1") in new stack
    -- Executing [s@macro-dial-one:4] GosubIf("DAHDI/1-2", "0?cf,1") in new stack
    -- Executing [s@macro-dial-one:5] GotoIf("DAHDI/1-2", "1?skip1") in new stack
    -- Goto (macro-dial-one,s,8)
    -- Executing [s@macro-dial-one:8] GotoIf("DAHDI/1-2", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:9] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-dial-one:10] Set("DAHDI/1-2", "EXTHASCW=") in new stack
    -- Executing [s@macro-dial-one:11] GotoIf("DAHDI/1-2", "1?next1:cwinusebusy") in new stack
    -- Goto (macro-dial-one,s,12)
    -- Executing [s@macro-dial-one:12] GotoIf("DAHDI/1-2", "0?docfu:skip3") in new stack
    -- Goto (macro-dial-one,s,16)
    -- Executing [s@macro-dial-one:16] GotoIf("DAHDI/1-2", "1?next2:continue") in new stack
    -- Goto (macro-dial-one,s,17)
    -- Executing [s@macro-dial-one:17] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-dial-one:18] ExecIf("DAHDI/1-2", "0?Set(DIALSTATUS=BUSY)") in new stack
    -- Executing [s@macro-dial-one:19] GotoIf("DAHDI/1-2", "0?cwinusebusy") in new stack
    -- Executing [s@macro-dial-one:20] Set("DAHDI/1-2", "DEXTEN=") in new stack
    -- Executing [s@macro-dial-one:21] Set("DAHDI/1-2", "DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-dial-one:22] Goto("DAHDI/1-2", "nodial") in new stack
    -- Goto (macro-dial-one,s,41)
    -- Executing [s@macro-dial-one:41] ExecIf("DAHDI/1-2", "0?Set(DIALSTATUS=NOANSWER)") in new stack
    -- Executing [s@macro-dial-one:42] NoOp("DAHDI/1-2", "Returned from dial-one with nothing to call and DIALSTATUS: BUSY") in new stack
    -- Executing [s@macro-dial-one:43] MacroExit("DAHDI/1-2", "") in new stack
    -- Executing [s@macro-exten-vm:10] GotoIf("DAHDI/1-2", "0?exit") in new stack
   -- Executing [s@macro-exten-vm:11] Set("DAHDI/1-2", "SV_DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-exten-vm:12] GosubIf("DAHDI/1-2", "0?docfu,1") in new stack
    -- Executing [s@macro-exten-vm:13] GosubIf("DAHDI/1-2", "0?docfb,1") in new stack
    -- Executing [s@macro-exten-vm:14] Set("DAHDI/1-2", "DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-exten-vm:15] NoOp("DAHDI/1-2", "Voicemail is 'novm'") in new stack
    -- Executing [s@macro-exten-vm:16] GotoIf("DAHDI/1-2", "1?s-BUSY,1") in new stack
    -- Goto (macro-exten-vm,s-BUSY,1)
    -- Executing [s-BUSY@macro-exten-vm:1] NoOp("DAHDI/1-2", "Extension is reporting BUSY and not passing to Voicemail") in new stack
    -- Executing [s-BUSY@macro-exten-vm:2] GotoIf("DAHDI/1-2", "0?exit,1") in new stack
    -- Executing [s-BUSY@macro-exten-vm:3] PlayTones("DAHDI/1-2", "busy") in new stack
    -- Executing [s-BUSY@macro-exten-vm:4] Busy("DAHDI/1-2", "20") in new stack
    -- Building conference call with DAHDI/1-1 and DAHDI/1-2
    -- Stopped music on hold on DAHDI/18-1
    -- Hungup 'DAHDI/18-1<MASQ>'
    -- Executing [h@macro-dial-one:1] Macro("DAHDI/1-2<ZOMBIE>", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/1-2<ZOMBIE>", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] NoOp("DAHDI/1-2<ZOMBIE>", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:4] GotoIf("DAHDI/1-2<ZOMBIE>", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,7)
    -- Executing [s@macro-hangupcall:7] GotoIf("DAHDI/1-2<ZOMBIE>", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,10)
    -- Executing [s@macro-hangupcall:10] GotoIf("DAHDI/1-2<ZOMBIE>", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,12)
    -- Executing [s@macro-hangupcall:12] Hangup("DAHDI/1-2<ZOMBIE>", "") in new stack
  == Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'DAHDI/1-2<ZOMBIE>' in macro 'hangupcall'
    -- Hungup 'DAHDI/1-1'

возврат после перевода звонка. parabel asteroid + elastix 2.0.3

Здравствуйте,

Есть одна инсталляция из Asterisk 1.6.2 на базе Elastix 2.0.3 + банк каналов Parabel Asteroid 8FXO/22FXS. Все работает корректно за исключением одного момента. Сбрасывается звонок при возврате после перевода звонка, если абонент оказался занят. Поясню на примере:

  1. DAHDI/18 звонит на DAHDI/1
  2. DAHDI/1 нажимает FLASH для перевода звонока на DAHDI/2
  3. DAHDI/2 оказывается занят
  4. DAHDI/1 снова нажимает FLASH, что бы продолжить разговор с DAHDI/18
  5. Происходит сброс

Логи прилагаются:

    -- DAHDI/1-1 is ringing
    -- DAHDI/1-1 answered DAHDI/18-1
    -- Started three way call on channel 1
    -- Started music on hold, class 'default', on DAHDI/18-1
    -- Starting simple switch on 'DAHDI/1-2'
    -- Stopped music on hold on DAHDI/18-1
    -- Started music on hold, class 'default', on DAHDI/18-1
    -- Executing [1504@from-internal:1] Macro("DAHDI/1-2", "exten-vm,novm,1504") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("DAHDI/1-2", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("DAHDI/1-2", "AMPUSER=1501") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("DAHDI/1-2", "0?report") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("DAHDI/1-2", "1?Set(REALCALLERIDNUM=1501)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("DAHDI/1-2", "AMPUSER=1501") in new stack
    -- Executing [s@macro-user-callerid:5] Set("DAHDI/1-2", "AMPUSERCIDNAME=Parabel FXS") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("DAHDI/1-2", "0?report") in new stack
    -- Executing [s@macro-user-callerid:7] Set("DAHDI/1-2", "AMPUSERCID=1501") in new stack
    -- Executing [s@macro-user-callerid:8] Set("DAHDI/1-2", "CALLERID(all)="Parabel FXS" <1501>") in new stack
    -- Executing [s@macro-user-callerid:9] ExecIf("DAHDI/1-2", "1?Set(CHANNEL(language)=ru)") in new stack
    -- Executing [s@macro-user-callerid:10] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:11] Set("DAHDI/1-2", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:12] GotoIf("DAHDI/1-2", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] Set("DAHDI/1-2", "CALLERID(number)=1501") in new stack
    -- Executing [s@macro-user-callerid:20] Set("DAHDI/1-2", "CALLERID(name)=Parabel FXS") in new stack
    -- Executing [s@macro-user-callerid:21] NoOp("DAHDI/1-2", "Using CallerID "Parabel FXS" <1501>") in new stack
    -- Executing [s@macro-exten-vm:2] Set("DAHDI/1-2", "RingGroupMethod=none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("DAHDI/1-2", "VMBOX=novm") in new stack
    -- Executing [s@macro-exten-vm:4] Set("DAHDI/1-2", "__EXTTOCALL=1504") in new stack
    -- Executing [s@macro-exten-vm:5] Set("DAHDI/1-2", "CFUEXT=") in new stack
    -- Executing [s@macro-exten-vm:6] Set("DAHDI/1-2", "CFBEXT=") in new stack
    -- Executing [s@macro-exten-vm:7] Set("DAHDI/1-2", "RT=""") in new stack
    -- Executing [s@macro-exten-vm:8] Macro("DAHDI/1-2", "record-enable,1504,IN") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("DAHDI/1-2", "1?check") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] ExecIf("DAHDI/1-2", "0?MacroExit()") in new stack
    -- Executing [s@macro-record-enable:5] GotoIf("DAHDI/1-2", "0?Group:OUT") in new stack
    -- Goto (macro-record-enable,s,15)
    -- Executing [s@macro-record-enable:15] GotoIf("DAHDI/1-2", "1?IN") in new stack
    -- Goto (macro-record-enable,s,20)
    -- Executing [s@macro-record-enable:20] ExecIf("DAHDI/1-2", "1?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:9] Macro("DAHDI/1-2", "dial-one,,tr,1504") in new stack
    -- Executing [s@macro-dial-one:1] Set("DAHDI/1-2", "DEXTEN=1504") in new stack
    -- Executing [s@macro-dial-one:2] Set("DAHDI/1-2", "DIALSTATUS_CW=") in new stack
    -- Executing [s@macro-dial-one:3] GosubIf("DAHDI/1-2", "0?screen,1") in new stack
    -- Executing [s@macro-dial-one:4] GosubIf("DAHDI/1-2", "0?cf,1") in new stack
    -- Executing [s@macro-dial-one:5] GotoIf("DAHDI/1-2", "1?skip1") in new stack
    -- Goto (macro-dial-one,s,8)
    -- Executing [s@macro-dial-one:8] GotoIf("DAHDI/1-2", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:9] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-dial-one:10] Set("DAHDI/1-2", "EXTHASCW=") in new stack
    -- Executing [s@macro-dial-one:11] GotoIf("DAHDI/1-2", "1?next1:cwinusebusy") in new stack
    -- Goto (macro-dial-one,s,12)
    -- Executing [s@macro-dial-one:12] GotoIf("DAHDI/1-2", "0?docfu:skip3") in new stack
    -- Goto (macro-dial-one,s,16)
    -- Executing [s@macro-dial-one:16] GotoIf("DAHDI/1-2", "1?next2:continue") in new stack
    -- Goto (macro-dial-one,s,17)
    -- Executing [s@macro-dial-one:17] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-dial-one:18] ExecIf("DAHDI/1-2", "0?Set(DIALSTATUS=BUSY)") in new stack
    -- Executing [s@macro-dial-one:19] GotoIf("DAHDI/1-2", "0?cwinusebusy") in new stack
    -- Executing [s@macro-dial-one:20] Set("DAHDI/1-2", "DEXTEN=") in new stack
    -- Executing [s@macro-dial-one:21] Set("DAHDI/1-2", "DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-dial-one:22] Goto("DAHDI/1-2", "nodial") in new stack
    -- Goto (macro-dial-one,s,41)
    -- Executing [s@macro-dial-one:41] ExecIf("DAHDI/1-2", "0?Set(DIALSTATUS=NOANSWER)") in new stack
    -- Executing [s@macro-dial-one:42] NoOp("DAHDI/1-2", "Returned from dial-one with nothing to call and DIALSTATUS: BUSY") in new stack
    -- Executing [s@macro-dial-one:43] MacroExit("DAHDI/1-2", "") in new stack
    -- Executing [s@macro-exten-vm:10] GotoIf("DAHDI/1-2", "0?exit") in new stack
   -- Executing [s@macro-exten-vm:11] Set("DAHDI/1-2", "SV_DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-exten-vm:12] GosubIf("DAHDI/1-2", "0?docfu,1") in new stack
    -- Executing [s@macro-exten-vm:13] GosubIf("DAHDI/1-2", "0?docfb,1") in new stack
    -- Executing [s@macro-exten-vm:14] Set("DAHDI/1-2", "DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-exten-vm:15] NoOp("DAHDI/1-2", "Voicemail is 'novm'") in new stack
    -- Executing [s@macro-exten-vm:16] GotoIf("DAHDI/1-2", "1?s-BUSY,1") in new stack
    -- Goto (macro-exten-vm,s-BUSY,1)
    -- Executing [s-BUSY@macro-exten-vm:1] NoOp("DAHDI/1-2", "Extension is reporting BUSY and not passing to Voicemail") in new stack
    -- Executing [s-BUSY@macro-exten-vm:2] GotoIf("DAHDI/1-2", "0?exit,1") in new stack
    -- Executing [s-BUSY@macro-exten-vm:3] PlayTones("DAHDI/1-2", "busy") in new stack
    -- Executing [s-BUSY@macro-exten-vm:4] Busy("DAHDI/1-2", "20") in new stack
    -- Building conference call with DAHDI/1-1 and DAHDI/1-2
    -- Stopped music on hold on DAHDI/18-1
    -- Hungup 'DAHDI/18-1<MASQ>'
    -- Executing [h@macro-dial-one:1] Macro("DAHDI/1-2<ZOMBIE>", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/1-2<ZOMBIE>", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] NoOp("DAHDI/1-2<ZOMBIE>", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:4] GotoIf("DAHDI/1-2<ZOMBIE>", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,7)
    -- Executing [s@macro-hangupcall:7] GotoIf("DAHDI/1-2<ZOMBIE>", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,10)
    -- Executing [s@macro-hangupcall:10] GotoIf("DAHDI/1-2<ZOMBIE>", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,12)
    -- Executing [s@macro-hangupcall:12] Hangup("DAHDI/1-2<ZOMBIE>", "") in new stack
  == Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'DAHDI/1-2<ZOMBIE>' in macro 'hangupcall'
    -- Hungup 'DAHDI/1-1'

Настройки абонентов следующие:

[channels]
relaxdtmf=yes   ;necessary on bad lines only...
rxflash=850     ;flash is an ONHOOK < rxflash

;== busy
busydetect=yes
busycount=3

;== pulse
pulsedial=yes
pulse=yes

;== Calls handling ==
; If enabled, Asterisk will generate "call waiting pips" when
; you are already in a conversation.
callwaiting=yes
 ;{
 threewaycalling=yes
 transfer=yes
 ;}
cancallforward=yes

;== Caller ID ==
usecallerid=yes
callerid=asreceived
hidecallerid=no
;;callwaitingcallerid=yes
useincomingcalleridonzaptransfer=yes
;
cidsignalling=bell
cidstart=ring
restrictcid=no
callreturn=yes
echocancel=no
echotraining=no
echocancelwhenbridged=no

;;;;;;[1501]
type=
signalling=fxo_ls
secret=
qualify=
port=
pickupgroup=1
permit=0.0.0.0/0.0.0.0
nat=
mailbox=1501@device
immediate=no
host=
echotraining=no
echocancel=yes
dtmfmode=
deny=0.0.0.0/0.0.0.0
context=from-internal
canreinvite=
callprogress=no
callgroup=1
callerid=Parabel FXS <1501>
busydetect=no
busycount=3
channel=>1

возврат после перевода звонка. parabel asteroid + elastix 2.0.3

Здравствуйте,

Есть одна инсталляция из Asterisk 1.6.2 на базе Elastix 2.0.3 + банк каналов Parabel Asteroid 8FXO/22FXS. Все работает корректно за исключением одного момента. Сбрасывается звонок при возврате после перевода звонка, если абонент оказался занят. Поясню на примере:

  1. DAHDI/18 звонит на DAHDI/1
  2. DAHDI/1 нажимает FLASH для перевода звонока на DAHDI/2
  3. DAHDI/2 оказывается занят
  4. DAHDI/1 снова нажимает FLASH, что бы продолжить разговор с DAHDI/18
  5. Происходит сброс

Логи прилагаются:

    -- DAHDI/1-1 is ringing
    -- DAHDI/1-1 answered DAHDI/18-1
    -- Started three way call on channel 1
    -- Started music on hold, class 'default', on DAHDI/18-1
    -- Starting simple switch on 'DAHDI/1-2'
    -- Stopped music on hold on DAHDI/18-1
    -- Started music on hold, class 'default', on DAHDI/18-1
    -- Executing [1504@from-internal:1] Macro("DAHDI/1-2", "exten-vm,novm,1504") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("DAHDI/1-2", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("DAHDI/1-2", "AMPUSER=1501") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("DAHDI/1-2", "0?report") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("DAHDI/1-2", "1?Set(REALCALLERIDNUM=1501)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("DAHDI/1-2", "AMPUSER=1501") in new stack
    -- Executing [s@macro-user-callerid:5] Set("DAHDI/1-2", "AMPUSERCIDNAME=Parabel FXS") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("DAHDI/1-2", "0?report") in new stack
    -- Executing [s@macro-user-callerid:7] Set("DAHDI/1-2", "AMPUSERCID=1501") in new stack
    -- Executing [s@macro-user-callerid:8] Set("DAHDI/1-2", "CALLERID(all)="Parabel FXS" <1501>") in new stack
    -- Executing [s@macro-user-callerid:9] ExecIf("DAHDI/1-2", "1?Set(CHANNEL(language)=ru)") in new stack
    -- Executing [s@macro-user-callerid:10] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:11] Set("DAHDI/1-2", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:12] GotoIf("DAHDI/1-2", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] Set("DAHDI/1-2", "CALLERID(number)=1501") in new stack
    -- Executing [s@macro-user-callerid:20] Set("DAHDI/1-2", "CALLERID(name)=Parabel FXS") in new stack
    -- Executing [s@macro-user-callerid:21] NoOp("DAHDI/1-2", "Using CallerID "Parabel FXS" <1501>") in new stack
    -- Executing [s@macro-exten-vm:2] Set("DAHDI/1-2", "RingGroupMethod=none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("DAHDI/1-2", "VMBOX=novm") in new stack
    -- Executing [s@macro-exten-vm:4] Set("DAHDI/1-2", "__EXTTOCALL=1504") in new stack
    -- Executing [s@macro-exten-vm:5] Set("DAHDI/1-2", "CFUEXT=") in new stack
    -- Executing [s@macro-exten-vm:6] Set("DAHDI/1-2", "CFBEXT=") in new stack
    -- Executing [s@macro-exten-vm:7] Set("DAHDI/1-2", "RT=""") in new stack
    -- Executing [s@macro-exten-vm:8] Macro("DAHDI/1-2", "record-enable,1504,IN") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("DAHDI/1-2", "1?check") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] ExecIf("DAHDI/1-2", "0?MacroExit()") in new stack
    -- Executing [s@macro-record-enable:5] GotoIf("DAHDI/1-2", "0?Group:OUT") in new stack
    -- Goto (macro-record-enable,s,15)
    -- Executing [s@macro-record-enable:15] GotoIf("DAHDI/1-2", "1?IN") in new stack
    -- Goto (macro-record-enable,s,20)
    -- Executing [s@macro-record-enable:20] ExecIf("DAHDI/1-2", "1?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:9] Macro("DAHDI/1-2", "dial-one,,tr,1504") in new stack
    -- Executing [s@macro-dial-one:1] Set("DAHDI/1-2", "DEXTEN=1504") in new stack
    -- Executing [s@macro-dial-one:2] Set("DAHDI/1-2", "DIALSTATUS_CW=") in new stack
    -- Executing [s@macro-dial-one:3] GosubIf("DAHDI/1-2", "0?screen,1") in new stack
    -- Executing [s@macro-dial-one:4] GosubIf("DAHDI/1-2", "0?cf,1") in new stack
    -- Executing [s@macro-dial-one:5] GotoIf("DAHDI/1-2", "1?skip1") in new stack
    -- Goto (macro-dial-one,s,8)
    -- Executing [s@macro-dial-one:8] GotoIf("DAHDI/1-2", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:9] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-dial-one:10] Set("DAHDI/1-2", "EXTHASCW=") in new stack
    -- Executing [s@macro-dial-one:11] GotoIf("DAHDI/1-2", "1?next1:cwinusebusy") in new stack
    -- Goto (macro-dial-one,s,12)
    -- Executing [s@macro-dial-one:12] GotoIf("DAHDI/1-2", "0?docfu:skip3") in new stack
    -- Goto (macro-dial-one,s,16)
    -- Executing [s@macro-dial-one:16] GotoIf("DAHDI/1-2", "1?next2:continue") in new stack
    -- Goto (macro-dial-one,s,17)
    -- Executing [s@macro-dial-one:17] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-dial-one:18] ExecIf("DAHDI/1-2", "0?Set(DIALSTATUS=BUSY)") in new stack
    -- Executing [s@macro-dial-one:19] GotoIf("DAHDI/1-2", "0?cwinusebusy") in new stack
    -- Executing [s@macro-dial-one:20] Set("DAHDI/1-2", "DEXTEN=") in new stack
    -- Executing [s@macro-dial-one:21] Set("DAHDI/1-2", "DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-dial-one:22] Goto("DAHDI/1-2", "nodial") in new stack
    -- Goto (macro-dial-one,s,41)
    -- Executing [s@macro-dial-one:41] ExecIf("DAHDI/1-2", "0?Set(DIALSTATUS=NOANSWER)") in new stack
    -- Executing [s@macro-dial-one:42] NoOp("DAHDI/1-2", "Returned from dial-one with nothing to call and DIALSTATUS: BUSY") in new stack
    -- Executing [s@macro-dial-one:43] MacroExit("DAHDI/1-2", "") in new stack
    -- Executing [s@macro-exten-vm:10] GotoIf("DAHDI/1-2", "0?exit") in new stack
   -- Executing [s@macro-exten-vm:11] Set("DAHDI/1-2", "SV_DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-exten-vm:12] GosubIf("DAHDI/1-2", "0?docfu,1") in new stack
    -- Executing [s@macro-exten-vm:13] GosubIf("DAHDI/1-2", "0?docfb,1") in new stack
    -- Executing [s@macro-exten-vm:14] Set("DAHDI/1-2", "DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-exten-vm:15] NoOp("DAHDI/1-2", "Voicemail is 'novm'") in new stack
    -- Executing [s@macro-exten-vm:16] GotoIf("DAHDI/1-2", "1?s-BUSY,1") in new stack
    -- Goto (macro-exten-vm,s-BUSY,1)
    -- Executing [s-BUSY@macro-exten-vm:1] NoOp("DAHDI/1-2", "Extension is reporting BUSY and not passing to Voicemail") in new stack
    -- Executing [s-BUSY@macro-exten-vm:2] GotoIf("DAHDI/1-2", "0?exit,1") in new stack
    -- Executing [s-BUSY@macro-exten-vm:3] PlayTones("DAHDI/1-2", "busy") in new stack
    -- Executing [s-BUSY@macro-exten-vm:4] Busy("DAHDI/1-2", "20") in new stack
    -- Building conference call with DAHDI/1-1 and DAHDI/1-2
    -- Stopped music on hold on DAHDI/18-1
    -- Hungup 'DAHDI/18-1<MASQ>'
    -- Executing [h@macro-dial-one:1] Macro("DAHDI/1-2<ZOMBIE>", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/1-2<ZOMBIE>", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] NoOp("DAHDI/1-2<ZOMBIE>", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:4] GotoIf("DAHDI/1-2<ZOMBIE>", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,7)
    -- Executing [s@macro-hangupcall:7] GotoIf("DAHDI/1-2<ZOMBIE>", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,10)
    -- Executing [s@macro-hangupcall:10] GotoIf("DAHDI/1-2<ZOMBIE>", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,12)
    -- Executing [s@macro-hangupcall:12] Hangup("DAHDI/1-2<ZOMBIE>", "") in new stack
  == Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'DAHDI/1-2<ZOMBIE>' in macro 'hangupcall'
    -- Hungup 'DAHDI/1-1'

Настройки абонентов следующие:

[channels]
relaxdtmf=yes   ;necessary on bad lines only...
rxflash=850     ;flash is an ONHOOK < rxflash

;== busy
busydetect=yes
busycount=3

;== pulse
pulsedial=yes
pulse=yes

;== Calls handling ==
; If enabled, Asterisk will generate "call waiting pips" when
; you are already in a conversation.
callwaiting=yes
 ;{
 threewaycalling=yes
 transfer=yes
 ;}
cancallforward=yes

;== Caller ID ==
usecallerid=yes
callerid=asreceived
hidecallerid=no
;;callwaitingcallerid=yes
useincomingcalleridonzaptransfer=yes
;
cidsignalling=bell
cidstart=ring
restrictcid=no
callreturn=yes
echocancel=no
echotraining=no
echocancelwhenbridged=no

;;;;;;[1501]
type=
signalling=fxo_ls
secret=
qualify=
port=
pickupgroup=1
permit=0.0.0.0/0.0.0.0
nat=
mailbox=1501@device
immediate=no
host=
echotraining=no
echocancel=yes
dtmfmode=
deny=0.0.0.0/0.0.0.0
context=from-internal
canreinvite=
callprogress=no
callgroup=1
callerid=Parabel FXS <1501>
busydetect=no
busycount=3
channel=>1

возврат после перевода звонка. parabel asteroid + elastix 2.0.3

// UPD Сброса как такового нет. Если после появления шумов нажать снова Flash, звонок корректно возвращается. Т.е. во всей операции перевода-возврата появляется еще одно лишнее нажатие Flash после появления шумов. Шумы появляются в принципе, если поставить звонок на удержание и вернуться обратно.

Здравствуйте,

Есть одна инсталляция из Asterisk 1.6.2 на базе Elastix 2.0.3 + банк каналов Parabel Asteroid 8FXO/22FXS. Все работает корректно за исключением одного момента. Сбрасывается звонок при возврате после перевода звонка, если абонент оказался занят. Поясню на примере:

  1. DAHDI/18 звонит на DAHDI/1
  2. DAHDI/1 нажимает FLASH для перевода звонока на DAHDI/2
  3. DAHDI/2 оказывается занят
  4. DAHDI/1 снова нажимает FLASH, что бы продолжить разговор с DAHDI/18
  5. Происходит сброс

Логи прилагаются:

    -- DAHDI/1-1 is ringing
    -- DAHDI/1-1 answered DAHDI/18-1
    -- Started three way call on channel 1
    -- Started music on hold, class 'default', on DAHDI/18-1
    -- Starting simple switch on 'DAHDI/1-2'
    -- Stopped music on hold on DAHDI/18-1
    -- Started music on hold, class 'default', on DAHDI/18-1
    -- Executing [1504@from-internal:1] Macro("DAHDI/1-2", "exten-vm,novm,1504") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("DAHDI/1-2", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("DAHDI/1-2", "AMPUSER=1501") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("DAHDI/1-2", "0?report") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("DAHDI/1-2", "1?Set(REALCALLERIDNUM=1501)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("DAHDI/1-2", "AMPUSER=1501") in new stack
    -- Executing [s@macro-user-callerid:5] Set("DAHDI/1-2", "AMPUSERCIDNAME=Parabel FXS") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("DAHDI/1-2", "0?report") in new stack
    -- Executing [s@macro-user-callerid:7] Set("DAHDI/1-2", "AMPUSERCID=1501") in new stack
    -- Executing [s@macro-user-callerid:8] Set("DAHDI/1-2", "CALLERID(all)="Parabel FXS" <1501>") in new stack
    -- Executing [s@macro-user-callerid:9] ExecIf("DAHDI/1-2", "1?Set(CHANNEL(language)=ru)") in new stack
    -- Executing [s@macro-user-callerid:10] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:11] Set("DAHDI/1-2", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:12] GotoIf("DAHDI/1-2", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] Set("DAHDI/1-2", "CALLERID(number)=1501") in new stack
    -- Executing [s@macro-user-callerid:20] Set("DAHDI/1-2", "CALLERID(name)=Parabel FXS") in new stack
    -- Executing [s@macro-user-callerid:21] NoOp("DAHDI/1-2", "Using CallerID "Parabel FXS" <1501>") in new stack
    -- Executing [s@macro-exten-vm:2] Set("DAHDI/1-2", "RingGroupMethod=none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("DAHDI/1-2", "VMBOX=novm") in new stack
    -- Executing [s@macro-exten-vm:4] Set("DAHDI/1-2", "__EXTTOCALL=1504") in new stack
    -- Executing [s@macro-exten-vm:5] Set("DAHDI/1-2", "CFUEXT=") in new stack
    -- Executing [s@macro-exten-vm:6] Set("DAHDI/1-2", "CFBEXT=") in new stack
    -- Executing [s@macro-exten-vm:7] Set("DAHDI/1-2", "RT=""") in new stack
    -- Executing [s@macro-exten-vm:8] Macro("DAHDI/1-2", "record-enable,1504,IN") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("DAHDI/1-2", "1?check") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] ExecIf("DAHDI/1-2", "0?MacroExit()") in new stack
    -- Executing [s@macro-record-enable:5] GotoIf("DAHDI/1-2", "0?Group:OUT") in new stack
    -- Goto (macro-record-enable,s,15)
    -- Executing [s@macro-record-enable:15] GotoIf("DAHDI/1-2", "1?IN") in new stack
    -- Goto (macro-record-enable,s,20)
    -- Executing [s@macro-record-enable:20] ExecIf("DAHDI/1-2", "1?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:9] Macro("DAHDI/1-2", "dial-one,,tr,1504") in new stack
    -- Executing [s@macro-dial-one:1] Set("DAHDI/1-2", "DEXTEN=1504") in new stack
    -- Executing [s@macro-dial-one:2] Set("DAHDI/1-2", "DIALSTATUS_CW=") in new stack
    -- Executing [s@macro-dial-one:3] GosubIf("DAHDI/1-2", "0?screen,1") in new stack
    -- Executing [s@macro-dial-one:4] GosubIf("DAHDI/1-2", "0?cf,1") in new stack
    -- Executing [s@macro-dial-one:5] GotoIf("DAHDI/1-2", "1?skip1") in new stack
    -- Goto (macro-dial-one,s,8)
    -- Executing [s@macro-dial-one:8] GotoIf("DAHDI/1-2", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:9] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-dial-one:10] Set("DAHDI/1-2", "EXTHASCW=") in new stack
    -- Executing [s@macro-dial-one:11] GotoIf("DAHDI/1-2", "1?next1:cwinusebusy") in new stack
    -- Goto (macro-dial-one,s,12)
    -- Executing [s@macro-dial-one:12] GotoIf("DAHDI/1-2", "0?docfu:skip3") in new stack
    -- Goto (macro-dial-one,s,16)
    -- Executing [s@macro-dial-one:16] GotoIf("DAHDI/1-2", "1?next2:continue") in new stack
    -- Goto (macro-dial-one,s,17)
    -- Executing [s@macro-dial-one:17] GotoIf("DAHDI/1-2", "0?continue") in new stack
    -- Executing [s@macro-dial-one:18] ExecIf("DAHDI/1-2", "0?Set(DIALSTATUS=BUSY)") in new stack
    -- Executing [s@macro-dial-one:19] GotoIf("DAHDI/1-2", "0?cwinusebusy") in new stack
    -- Executing [s@macro-dial-one:20] Set("DAHDI/1-2", "DEXTEN=") in new stack
    -- Executing [s@macro-dial-one:21] Set("DAHDI/1-2", "DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-dial-one:22] Goto("DAHDI/1-2", "nodial") in new stack
    -- Goto (macro-dial-one,s,41)
    -- Executing [s@macro-dial-one:41] ExecIf("DAHDI/1-2", "0?Set(DIALSTATUS=NOANSWER)") in new stack
    -- Executing [s@macro-dial-one:42] NoOp("DAHDI/1-2", "Returned from dial-one with nothing to call and DIALSTATUS: BUSY") in new stack
    -- Executing [s@macro-dial-one:43] MacroExit("DAHDI/1-2", "") in new stack
    -- Executing [s@macro-exten-vm:10] GotoIf("DAHDI/1-2", "0?exit") in new stack
   -- Executing [s@macro-exten-vm:11] Set("DAHDI/1-2", "SV_DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-exten-vm:12] GosubIf("DAHDI/1-2", "0?docfu,1") in new stack
    -- Executing [s@macro-exten-vm:13] GosubIf("DAHDI/1-2", "0?docfb,1") in new stack
    -- Executing [s@macro-exten-vm:14] Set("DAHDI/1-2", "DIALSTATUS=BUSY") in new stack
    -- Executing [s@macro-exten-vm:15] NoOp("DAHDI/1-2", "Voicemail is 'novm'") in new stack
    -- Executing [s@macro-exten-vm:16] GotoIf("DAHDI/1-2", "1?s-BUSY,1") in new stack
    -- Goto (macro-exten-vm,s-BUSY,1)
    -- Executing [s-BUSY@macro-exten-vm:1] NoOp("DAHDI/1-2", "Extension is reporting BUSY and not passing to Voicemail") in new stack
    -- Executing [s-BUSY@macro-exten-vm:2] GotoIf("DAHDI/1-2", "0?exit,1") in new stack
    -- Executing [s-BUSY@macro-exten-vm:3] PlayTones("DAHDI/1-2", "busy") in new stack
    -- Executing [s-BUSY@macro-exten-vm:4] Busy("DAHDI/1-2", "20") in new stack
    -- Building conference call with DAHDI/1-1 and DAHDI/1-2
    -- Stopped music on hold on DAHDI/18-1
    -- Hungup 'DAHDI/18-1<MASQ>'
    -- Executing [h@macro-dial-one:1] Macro("DAHDI/1-2<ZOMBIE>", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/1-2<ZOMBIE>", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] NoOp("DAHDI/1-2<ZOMBIE>", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:4] GotoIf("DAHDI/1-2<ZOMBIE>", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,7)
    -- Executing [s@macro-hangupcall:7] GotoIf("DAHDI/1-2<ZOMBIE>", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,10)
    -- Executing [s@macro-hangupcall:10] GotoIf("DAHDI/1-2<ZOMBIE>", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,12)
    -- Executing [s@macro-hangupcall:12] Hangup("DAHDI/1-2<ZOMBIE>", "") in new stack
  == Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'DAHDI/1-2<ZOMBIE>' in macro 'hangupcall'
    -- Hungup 'DAHDI/1-1'

Настройки абонентов следующие:

[channels]
relaxdtmf=yes   ;necessary on bad lines only...
rxflash=850     ;flash is an ONHOOK < rxflash

;== busy
busydetect=yes
busycount=3

;== pulse
pulsedial=yes
pulse=yes

;== Calls handling ==
; If enabled, Asterisk will generate "call waiting pips" when
; you are already in a conversation.
callwaiting=yes
 ;{
 threewaycalling=yes
 transfer=yes
 ;}
cancallforward=yes

;== Caller ID ==
usecallerid=yes
callerid=asreceived
hidecallerid=no
;;callwaitingcallerid=yes
useincomingcalleridonzaptransfer=yes
;
cidsignalling=bell
cidstart=ring
restrictcid=no
callreturn=yes
echocancel=no
echotraining=no
echocancelwhenbridged=no

;;;;;;[1501]
signalling=fxo_ls
pickupgroup=1
mailbox=1501@device
immediate=no
echotraining=no
echocancel=yes
dtmfmode=
context=from-internal
callprogress=no
callgroup=1
callerid=Parabel FXS <1501>
busydetect=no
busycount=3
channel=>1

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