причем тут аналоговая или цифровая на FXS все нормально
vladguard ( 2011-11-18 10:28:39 +0400 )редактироватьПроблема при звонке call файлом внешнему абоненту черех FXO интерфейс. Звонок проходит, однако происходит автоматическое исполнение контекста даже без снятия трубки абонентом.
Пример call файла
Channel: Local/101@internal
Callerid: 911
MaxRetries: 2
RetryTime: 30
WaitTime: 10
Context: pa-call-file
Extension: s
Set: file_alarm=pa-message
Priority: 1
Внешние линии в контексте internal
exten => _X.,1,Dial(DAHDI/g2/${EXTEN})
exten => _X.,n,Hangup()
Контекст
[pa-call-file]
exten => s,1,Answer()
exten => s,n,Set(CDR(userfield)=NO)
exten => s,n,Set(numTries=0)
exten => s,n,Wait(2)
exten => s,n,Background(zdravstujte) ;(привет)
exten => s,n,WaitExten(1)
exten => s,n,Background(followme/pls-hold-while-try) ;поступило сообщение
exten => s,n(naberite),Background(${file_alarm}) ;(текст оповещения)
exten => s,n,WaitExten(1)
exten => s,n,Set(numTries=$[${numTries}+1]) ; прибавляем 1
exten => s,n,GotoIf($[${numTries}=3]?s,ha) ; если было 3 попытки выход
exten => s,n,Goto(s,naberite) ; если небыло 3 попыток повторяем
exten => s,n(ha),Goto(pa-call-file-end,1,1)
[pa-call-file-end]
exten => 1,1,Set(CDR(userfield)=OK)
exten => 1,n,Hangup
Логи
-- Attempting call on Local/1242@alarm/n for s@pa-call-file:1 (Retry 1)
-- Executing [1242@alarm:1] Dial("Local/1242@alarm-41e4;2", "DAHDI/g2/1242") in new stack
-- Called DAHDI/g2/1242
-- DAHDI/25-1 answered Local/1242@alarm-41e4;2
> Channel Local/1242@alarm-41e4;1 was answered.
-- Executing [s@pa-call-file:1] Answer("Local/1242@alarm-41e4;1", "") in new stack
-- Executing [s@pa-call-file:2] Set("Local/1242@alarm-41e4;1", "CDR(userfield)=NO") in new stack
-- Executing [s@pa-call-file:3] Set("Local/1242@alarm-41e4;1", "numTries=0") in new stack
-- Executing [s@pa-call-file:4] Wait("Local/1242@alarm-41e4;1", "2") in new stack
-- Executing [s@pa-call-file:5] BackGround("Local/1242@alarm-41e4;1", "zdravstujte") in new stack
-- <Local/1242@alarm-41e4;1> Playing 'zdravstujte.slin' (language 'en')
-- Executing [s@pa-call-file:6] WaitExten("Local/1242@alarm-41e4;1", "1") in new stack
-- Timeout on Local/1242@alarm-41e4;1, continuing...
-- Executing [s@pa-call-file:7] BackGround("Local/1242@alarm-41e4;1", "followme/pls-hold-while-try") in new stack
-- <Local/1242@alarm-41e4;1> Playing 'followme/pls-hold-while-try.slin' (language 'en')
-- Executing [s@pa-call-file:8] BackGround("Local/1242@alarm-41e4;1", "pa-message") in new stack
-- <Local/1242@alarm-41e4;1> Playing 'pa-message.slin' (language 'en')
-- Executing [s@pa-call-file:9] WaitExten("Local/1242@alarm-41e4;1", "1") in new stack
-- Timeout on Local/1242@alarm-41e4;1, continuing...
-- Executing [s@pa-call-file:10] BackGround("Local/1242@alarm-41e4;1", "vm-repeat") in new stack
-- <Local/1242@alarm-41e4;1> Playing 'vm-repeat.slin' (language 'en')
-- Executing [s@pa-call-file:11] WaitExten("Local/1242@alarm-41e4;1", "3") in new stack
-- Timeout on Local/1242@alarm-41e4;1, continuing...
-- Executing [s@pa-call-file:12] Set("Local/1242@alarm-41e4;1", "numTries=1") in new stack
-- Executing [s@pa-call-file:13] GotoIf("Local/1242@alarm-41e4;1", "0?s,ha") in new stack
-- Executing [s@pa-call-file:14] Goto("Local/1242@alarm-41e4;1", "s,naberite") in new stack
-- Goto (pa-call-file,s,8)
-- Executing [s@pa-call-file:8] BackGround("Local/1242@alarm-41e4;1", "pa-message") in new stack
-- <Local/1242@alarm-41e4;1> Playing 'pa-message.slin' (language 'en')
-- Executing [s@pa-call-file:9] WaitExten("Local/1242@alarm-41e4;1", "1") in new stack
-- Timeout on Local/1242@alarm-41e4;1, continuing...
-- Executing [s@pa-call-file:10] BackGround("Local/1242@alarm-41e4;1", "vm-repeat") in new stack
-- <Local/1242@alarm-41e4;1> Playing 'vm-repeat.slin' (language 'en')
-- Executing [s@pa-call-file:11] WaitExten("Local/1242@alarm-41e4;1", "3") in new stack
-- Timeout on Local/1242@alarm-41e4;1, continuing...
-- Executing [s@pa-call-file:12] Set("Local/1242@alarm-41e4;1", "numTries=2") in new stack
-- Executing [s@pa-call-file:13] GotoIf("Local/1242@alarm-41e4;1", "0?s,ha") in new stack
-- Executing [s@pa-call-file:14] Goto("Local/1242@alarm-41e4;1", "s,naberite") in new stack
-- Goto (pa-call-file,s,8)
-- Executing [s@pa-call-file:8] BackGround("Local/1242@alarm-41e4;1", "pa-message") in new stack
-- <Local/1242@alarm-41e4;1> Playing 'pa-message.slin' (language 'en')
-- Executing [s@pa-call-file:9] WaitExten("Local/1242@alarm-41e4;1", "1") in new stack
-- Timeout on Local/1242@alarm-41e4;1, continuing...
-- Executing [s@pa-call-file:10] BackGround("Local/1242@alarm-41e4;1", "vm-repeat") in new stack
-- <Local/1242@alarm-41e4;1> Playing 'vm-repeat.slin' (language 'en')
-- Executing [s@pa-call-file:11] WaitExten("Local/1242@alarm-41e4;1", "3") in new stack
-- Timeout on Local/1242@alarm-41e4;1, continuing...
-- Executing [s@pa-call-file:12] Set("Local/1242@alarm-41e4;1", "numTries=3") in new stack
-- Executing [s@pa-call-file:13] GotoIf("Local/1242@alarm-41e4;1", "1?s,ha") in new stack
-- Goto (pa-call-file,s,15)
-- Executing [s@pa-call-file:15] Goto("Local/1242@alarm-41e4;1", "pa-call-file-end,1,1") in new stack
-- Goto (pa-call-file-end,1,1)
-- Executing [1@pa-call-file-end:1] Set("Local/1242@alarm-41e4;1", "CDR(userfield)=OK") in new stack
-- Executing [1@pa-call-file-end:2] Hangup("Local/1242@alarm-41e4;1", "") in new stack
== Spawn extension (pa-call-file-end, 1, 2) exited non-zero on 'Local/1242@alarm-41e4;1'
[Nov 17 17:44:31] NOTICE[3394]: pbx_spool.c:366 attempt_thread: Call completed to Local/1242@alarm/n
-- Hanging up on 'DAHDI/25-1'
-- Hungup 'DAHDI/25-1'
В чем может быть проблема, куда рыть.
Проблема в том , что это FXO . Чтобы куда-то начать звонить - нужно сначала ответить , получить гудок , а потом уже дозваниваться. Такова уж спецификация АНАЛоговой телефонии.
причем тут аналоговая или цифровая на FXS все нормально
vladguard ( 2011-11-18 10:28:39 +0400 )редактироватьРешено через AMD
Опция r в комманде Dial не помешает..
Я думаю , что можно все подряд опции засунуть в команду Dial . Вдруг появится Blue Button.
zzuz ( 2011-11-17 21:24:10 +0400 )редактироватьЗадан: 2011-11-17 17:53:28 +0400
Просмотрен: 393 раз
Обновлен: Nov 22 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.